]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* configure.ac: Bump up the version to beta1.
[grub2.git] / ChangeLog
CommitLineData
559dc587
VS
12012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * configure.ac: Bump up the version to beta1.
4
1a11761f
VS
52012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
8 case when min_align = 0.
9
24539abd
VS
102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
13 and fix a case when line_start overflows.
14
32bd735b
VS
152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * util/grub-reboot.in (usage): Mention id posibility.
18 * util/grub-set-default.in (usage): Likewise.
19
1a2fd1e6
VS
202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
23 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
24 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
25 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
26 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
27 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
28 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
29
90eeab76
VS
302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/commands/menuentry.c (options): Remove
33 GRUB_ARG_OPTION_REPEATABLE.
34 Reported by: Andreas Vogel
35
5ad1be82
AV
362012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
37
38 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
39
cb055286
HE
402012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
41
42 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
43 error.
44
93b1cd79
VS
452012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
46
47 Use sort -V by the idea of Georgi Georgiev.
48
49 * util/grub-mkconfig_lib.in (version_sort): New function.
50 (version_test_numeric): Use version_sort.
51
0cdc126c
VS
522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
53
54 Use submenus in grub-mkconfig.
55
56 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
57 * util/grub-mkconfig_lib.in (grub_quote): New function.
58 (gettext_printf): Use gettext and not gettext_quoted to fix several
59 messages.
60 * util/grub.d/10_hurd.in: Use submenus.
61 * util/grub.d/10_kfreebsd.in: Likewise.
62 * util/grub.d/10_linux.in: Likewise.
63 * util/grub.d/10_netbsd.in: Likewise.
64 * util/grub.d/20_linux_xen.in: Likewise.
65 * util/grub.d/30_os-prober.in: Likewise.
66 * util/grub.d/10_illumos.in: Add missing quoting.
67 * util/grub.d/10_windows.in: Likewise.
68
d9bef9bc
VS
692012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
70
71 Fix menu title instability bug.
72
73 * grub-core/commands/menuentry.c (options): New option --id.
74 (grub_normal_add_menu_entry): New argument id. All users updated.
75 (grub_cmd_menuentry): Handle --id.
76 (grub_menu_init): Accept unknown arguments.
77 * grub-core/normal/main.c (features): Add feature_menuentry_id and
78 feature_menuentry_options.
79 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
80 saved_entry.
81 (get_entry_number): Match with id as well.
82 * include/grub/menu.h (grub_menu_entry): New member id.
83 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
84 * util/grub.d/00_header.in: Define menuentry_id_option.
85 * util/grub.d/10_hurd.in: Define id.
86 * util/grub.d/10_illumos.in: Likewise.
87 * util/grub.d/10_kfreebsd.in: Likewise.
88 * util/grub.d/10_linux.in: Likewise.
89 * util/grub.d/10_netbsd.in: Likewise.
90 * util/grub.d/10_windows.in: Likewise.
91 * util/grub.d/20_linux_xen.in: Likewise.
92 * util/grub.d/30_os-prober.in: Likewise.
93
942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
95
96 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
97 "scope" with "body".
98
7c8d0ce7
VS
992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
102 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
103 prot_size and prot_file_size.
104
49de079b
VS
1052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
108 All users updated. If easily=1 require raid-5/-6 to be full.
109 (is_node_readable): Likewise.
110 (scan_devices): Scan incomplete but readable LVs at the end.
111 (grub_diskfilter_memberlist): Pull missing devices.
112 (insert_array): Skip scanning until device is complete or scan is
113 done otherwise.
114 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
115 check.
116 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
117 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
118
aff05d45
MG
1192012-03-03 Matthew Garrett <mjg@redhat.com>
1202012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Avoid EFI boot services when loading Linux.
123
124 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
125 avoid_efi_bootservices. All users updated.
126 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
127 argument avoid_efi_bootservices. All users updated.
128 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
129 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
130 align, min_align, relocatable, prefered_address. All users updated.
131 Allocate avoiding boot services if kernel is relocatable.
132 (grub_cmd_linux): Check if kernel is relocatable.
133 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
134 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
135 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
136 avoid_efi_boot_services.
137 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
138 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
139 (linux_kernel_params): Likewise.
140
3935dde2
MG
1412012-03-03 Matthew Garrett <mjg@redhat.com>
1422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
143
144 Use EDID on EFI.
145
146 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
147 datasize_out.
148 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
149 modes. Set gop_handle.
150 (grub_video_gop_get_edid): New function.
151 (grub_gop_get_preferred_mode): Likewise.
152 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
153 (grub_video_efi_gop_adapter): Set .get_edid.
154 * include/grub/efi/edid.h: New file.
155 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
156
32107ec0
VS
1572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * util/grub-install.in: Load efivars unconditionally.
160
e70a2c50
VS
1612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * po/Rules-piglatin: Change suffix from .po-update-en to
164 .po-update-en-piglatin.
165
8f9cace1
VS
1662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
167
168 Add a pig farm.
169
170 * po/piglatin.sed: New file.
171 * po/en@piglatin.header: Likewise.
172 * po/Rules-piglatin: Likewise.
173 * po/README: Add en@piglatin to autogenerated languages.
174
8f95d002
VS
1752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
178 "Command for ...".
179 * grub-core/commands/hdparm.c (options): Use "Display" rather than
180 "Check" since we don't check anything.
181 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
182 is 64-bit one.
183 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
184 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
185 (grub_md_sha512_real): Likewise.
186
805a8dcc
VS
1872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/commands/gptsync.c: Fix typographic quoting.
190 * grub-core/commands/ieee1275/suspend.c: Likewise.
191 * grub-core/commands/parttool.c: Likewise.
192 * grub-core/commands/search_wrap.c: Likewise.
193 * grub-core/commands/videoinfo.c: Likewise.
194 * grub-core/gfxmenu/gui_label.c: Likewise.
195 * grub-core/hello/hello.c: Likewise.
196 * grub-core/kern/emu/main.c: Likewise.
197 * grub-core/net/net.c: Likewise.
198 * grub-core/normal/menu.c: Likewise.
199 * grub-core/normal/menu_text.c: Likewise.
200 * grub-core/normal/misc.c: Likewise.
201 * util/grub-editenv.c: Likewise.
202 * util/grub-install.in: Likewise.
203 * util/grub-kbdcomp.in: Likewise.
204 * util/grub-mkconfig.in: Likewise.
205 * util/grub-mknetdir.in: Likewise.
206 * util/grub-mkrescue.in: Likewise.
207 * util/grub-mkstandalone.in: Likewise.
208 * util/grub-reboot.in: Likewise.
209 * util/grub-set-default.in: Likewise.
210 * util/grub-setup.c: Likewise.
211 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
212
40211ab8
VS
2132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
216 * grub-core/commands/keystatus.c: Likewise.
217 * grub-core/commands/loadenv.c: Likewise.
218 * grub-core/commands/probe.c: Likewise.
219 * grub-core/commands/regexp.c: Likewise.
220 * grub-core/commands/true.c: Likewise.
221 * grub-core/commands/videoinfo.c: Likewise.
222 * grub-core/disk/cryptodisk.c: Likewise.
223 * grub-core/disk/ldm.c: Likewise.
224 * grub-core/disk/loopback.c: Likewise.
225 * grub-core/disk/luks.c: Likewise.
226 * grub-core/fs/zfs/zfsinfo.c: Likewise.
227 * grub-core/kern/disk.c: Likewise.
228 * grub-core/kern/emu/hostdisk.c: Likewise.
229
0c7d99c7
VS
2302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
233 * util/grub-install.in: Add missing quote in the comment.
234
e7d2559b
VS
2352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
238 * grub-core/commands/lsmmap.c: Likewise.
239 * grub-core/commands/minicmd.c: Likewise.
240 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
241 * grub-core/commands/regexp.c: Likewise.
242 * grub-core/gdb/gdb.c: Likewise.
243 * grub-core/term/gfxterm.c: Likewise.
244 * util/grub-mkconfig.in: Likewise.
245 * util/grub-mkfont.c: Likewise.
246 * util/grub-mklayout.c: Likewise.
247 * util/grub-mknetdir.in: Likewise.
248 * util/grub-mkrescue.in: Likewise.
249 * util/grub.d/30_os-prober.in: Likewise.
250
49ce9e50
VS
2512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
254 with "Direct color" and "Packed" with "Packed pixel".
255 (grub_cmd_videoinfo): Simplify legend.
256
e4b791fa
VS
2572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
260 absolutely unclear error message.
261
fd1265cb
VS
2622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * util/grub-mkstandalone.in: Remove confusing leftover print.
265
8822a8a0
VS
2662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
269 comments.
270 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
271 (GRUB_MOD_INIT): Likewise.
272 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
273 VGA mode.
274 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
275 comments.
276 * util/grub-install.in (usage): Likewise.
277 Spell ID in whole letters.
278 Add missing ending dot.
279 Quote variables.
280 * util/grub-reboot.in: Fix capitalisation.
281 * util/grub-set-default.in: Likewise.
282
937fd0cc
VS
2832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
286 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
287 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
288 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
289 Disable -Werror for -Wdeprecated-declarations.
290 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
291 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
292 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
293 (grub_util_get_grub_dev): Make luks handling dependent on
294 HAVE_DEVICE_MAPPER and not __linux__.
295 (get_win32_path): Fix format security.
296 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
297 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
298 Don't try grub_find_zpool_from_dir.
299 (grub_make_system_path_relative_to_its_root) [!__linux__]:
300 #ifdef-out paresdir.
301
1bab1ae3
VS
3022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * util/grub-pe2elf.c (usage): Add missing noreturn.
305 (write_section_data): Rename name to shname to avoid shadowing.
306 (write_symbol_table): Rename name to symname to avoid shadowing.
307 Fix write_reloc_section call.
308
ef023e42
VS
3092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
312 to ensure that it's after the last byte of .text.
313
48afcb75
VS
3142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * util/ieee1275/ofpath.c (my_isdigit): New function.
317 (trailing_digits): Use my_isdigit.
318 (strip_trailing_digits): Likewise.
319
88d51eff
VS
3202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
323 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
324
17edc2ba
VS
3252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/kern/i386/pc/startup.S: Define __start.
328
ad5518d7
VS
3292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
332 strip already transforms he format.
333
9e95e1bf
VS
3342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
337
9cc3ee5c
VS
3382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * util/grub-install.in: Add missing gettext init.
341 * util/grub-kbdcomp.in: Likewise.
342 * util/grub-mkconfig.in: Likewise.
343 * util/grub-mknetdir.in: Likewise.
344 * util/grub-mkrescue.in: Likewise.
345 * util/grub-mkstandalone.in: Likewise.
346 * util/grub-reboot.in: Likewise.
347 * util/grub-set-default.in: Likewise.
348 * util/grub.d/00_header.in: Likewise.
349 * util/grub.d/10_hurd.in: Likewise.
350 * util/grub.d/10_windows.in: Likewise.
351 * util/grub.d/30_os-prober.in: Likewise.
352 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
353
49e08a06
VS
3542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * po/Rules-swiss: Fix header comment.
357
3809cb41
AV
3582012-02-29 Andreas Vogel <anvoit>
359
360 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
361 resulted in leak of arguments.
362
fa6ec573
VS
3632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/boot/i386/pc/startup_raw.S: Use separate
366 reed_solomon_size const definition instead of computing it since
367 Apple assembler doesn't support the later.
368
22899b9c
VS
3692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * gentpl.py (kernel): Rewrite Apple part.
372
a132afc3
VS
3732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * include/grub/kernel.h (FOR_MODULES): Check module magic.
376
9d742bd4
VS
3772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * util/grub-mkimagexx.c (locate_sections): Support non-standard
380 ELF section gap.
381 (load_image): Likewise.
382
f04a9a21
VS
3832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * configure.ac: Fix a typo in previous commit.
386
46cf439c
VS
3872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
388
389 Don't add -Wl,-N on Apple platform.
390
391 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
392 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
393
c4c48c54
VS
3942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/Makefile.core.def (lzma_decompress): Use
397 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
398
31a12124
VS
3992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/genmod.sh.in: Rewrite the Apple part.
402
4f3aa1af
VS
4032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
406 comparison.
407
7bd8b0c7
VS
4082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * acinclude.m4 (grub_CHECK_PIC): New test.
411 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
412
97304d7c
VS
4132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
416 to avoid the warning.
417
fb883812
VS
4182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
421 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
422 after. All users updated.
423
a121c964
VS
4242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
425
426 Use the common size routine in hostfs so we can read disks as well.
427
428 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
429 (grub_util_get_fd_size): ... this. Return size in bytes.
430 All users updated.
431 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
432 grub_util_get_fd_size.
433
c66d6410
VS
4342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
437 Add blocksize retrieval.
438
dfc8aeb0
VS
4392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * configure.ac: Restore CFLAGS after efiemu check.
442
403e25a5
VS
4432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
446 Apple bug.
447
382775d1
VS
4482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
451
6fd4e6e4
VS
4522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
455 (grub_cmd_halt): Likewise.
456
bea359d6
VS
4572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
460 for local arithmetics.
461 Break %sp init into 2 instructions.
462 Add 0 byte at the end.
463
32eb6ee1
VS
4642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * grub-core/disk/diskfilter.c (read_segment): Initialise err
467 before loops.
468
e8377389
VS
4692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
472 for context.
473
8cb17de7
VS
4742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/disk/ldm.c (make_vg): Init part.name.
477 (grub_ldm_detect): Silence spurious warning.
478 (grub_util_is_ldm): Likewise.
479
595717e6
VS
4802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
483 sane value to avoid a spurious warning.
484
c4b7e588
VS
4852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
488 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
489
59824957
VS
4902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
493 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
494
70115b99
VS
4952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
498 hardcoding the relevant info.
499
56733740
VS
5002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
503 missing const qualifiers.
504 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
505
43481481
VS
5062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * util/getroot.c [__APPLE__]: Add missing includes.
509 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
510
3cb38f01
VS
5112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * util/grub-mkimage.c (generate_image): Silence spurious warning.
514
d9dbf11e
VS
5152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
518 avoid conflicts.
519
0c42a45d
VS
5202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
523
46c34eb0
VS
5242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
527 and grub_file_close call.
528
99ce1597
VS
5292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Add LZSS Mach-O support (needed for new xnu kernelcache).
532
533 * grub-core/Makefile.core.def (xnu): Add file lzss.c
534 * grub-core/loader/lzss.c: New file.
535 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
536 on Mach-O open failure.
537 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
538 Don't free cmdsXX in uncompressedXX is set.
539 (grub_macho_file): Init new fields.
540 New argument is_64bit. All users updated.
541 Handle compressed. Error out if no suitable architecture is found.
542 Don't close file.
543 (grub_macho_open): New argument is_64bit. All users updated.
544 * grub-core/loader/macho32.c: Add defines for new fields.
545 * grub-core/loader/macho64.c: Likewise.
546 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
547 (grub_macho_parse): Handle compressed.
548 Defer actual processing if compressed.
549 (grub_macho_cmds_iterate): Decompress if compressed. New argument
550 "filename". All users updated.
551 (grub_macho_size): New argument "filename". All users updated.
552 (grub_macho_get_entry_point): Likewise.
553 (grub_macho_load): Handle compressed.
554 * include/grub/macho.h (grub_macho_lzss_header): New struct.
555 (GRUB_MACHO_LZSS_OFFSET): New define.
556 (grub_decompress_lzss): New proto.
557 * include/grub/machoload.h (grub_macho_file): New fields to handle
558 compressed.
559 (grub_macho_contains_macho64): Remove proto.
560 (grub_macho_contains_macho32): Likewise.
561 * util/grub.d/30_os-prober.in: Use kernel cache if available.
562
ebd17d6f
VS
5632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
566
2702b4e4
VS
5672012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
568
569 Fix make dist.
570
571 * Makefile.am (starfield_theme_files): New var.
572 (starfield_DATA): Use starfield_theme_files.
573 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
574 Add bootcheck-related files.
575 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
576 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
577 and font_char_metrics.txt.
578 * grub-core/Makefile.core.def (kernel): Update extra_dist.
579 (setjmp): Add lib/ia64/longjmp.S.
580 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
581 * po/POTFILES.in: Regenerate.
582 * po/Rules-swiss: use DISTFILES.common.extra2 and not
583 DISTFILES.common.extra1.
584 * util/devicemap.c: Removed.
585 * grub-core/lib/i386/relocator_backward.S: Likewise.
586 * util/import_gcry.py: Remove unused files. Add extra_dist for
587 ChangeLog.
588
cf1adfdf
VS
5892012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/gettext/gettext.c (grub_mofile_open): Call
592 grub_gettext_delete_list before changing grub_gettext_max to avoid
593 running out of array bounds.
594
5952012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
596
597 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
598 grub_vga_text_init/grub_vga_text_fini.
599
cf1adfdf 6002012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
601
602 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
603
541d92e9
VS
6042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * configure.ac: Bump to 2.00~beta0.
607
7931dddf
VS
6082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
611 missing initialisation.
612
f1b16fa3
VS
6132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
616
83ddae23
VS
6172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
618
619 Support v2 xnu boot arguments.
620
621 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
622 New argument fsbfreq_out.
623 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
624 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
625 be used.
626 * grub-core/loader/machoXX.c (grub_macho_load): New argument
627 darwin_version.
628 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
629 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
630 (grub_xnu_boot_params): Rename to ...
631 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
632 (grub_xnu_boot_params_v2): New struct.
633
dc693fe6
VS
6342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
637 zeroing of CRC field before computing CRC.
638
5a6e39c2
VS
6392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
642 Change order of allocations to decrease fragmentation.
643
6c21f5d7
VS
6442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
647
cfe456dc
CW
6482012-02-27 Colin Watson <cjwatson@ubuntu.com>
649
650 Use write-combining MTRR to speed up video with buggy BIOSes.
651
652 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
653 (cpuid): New define.
654 (rdmsr): Likewise.
655 (wrmsr): Likewise.
656 (mtrr_base): Likewise.
657 (mtrr_mask): Likewise.
658 (grub_vbe_enable_mtrr_entry): New function.
659 (grub_vbe_enable_mtrr): Likewise.
660 (grub_vbe_disable_mtrr): Likewise.
661 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
662 control off to BIOS.
663 (grub_video_vbe_init): Fill mtrr.
664 (grub_video_vbe_fini): Disable mtrr.
665 (grub_video_vbe_get_info_and_fini): Likewise.
666 (grub_video_vbe_setup): Enable mtrr.
667
e3c78337
CW
6682012-02-27 Colin Watson <cjwatson@ubuntu.com>
669
670 * include/grub/partition.h (grub_partition_map): Change prototype of
671 embed to take a maximum value for nsectors.
672 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
673 * include/grub/fs.h (grub_fs): Likewise.
674 * grub-core/partmap/msdos.c (embed_signatures): New array.
675 (pc_partition_map_embed): Check for and avoid sectors matching any
676 of the signatures in embed_signatures, up to max_nsectors.
677 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
678 returned sector map to max_nsectors.
679 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
680 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
681 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
682 * util/grub-setup.c (setup): Allow for the embedding area being
683 split into multiple blocklists. Tell dest_partmap->embed the
684 maximum number of sectors we care about.
685
6862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
689 Specify blocklist_install and reserver_first_sector for all fs.
690 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
691 blocklists.
692
984b973f
VS
6932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * util/grub-install.in: Clarify strings.
696 Fix source dir check.
697
f122e0d6
RL
6982012-02-27 Richard Laager <rlaager@wiktel.com>
699
700 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
701 "zfs" and "fuse.zfs" as synonyms.
702
071114bb
VS
7032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * configure.ac: Put platform and target_cpu substitutions back since
706 they are used for directories.
707
817e6abc
RL
7082012-02-27 Richard Laager <rlaager@wiktel.com>
7092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * util/grub.d/10_linux.in: Add ZFS-related arguments.
712 * util/grub.d/20_linux_xen.in: Likewise.
713
897b7419
RL
7142012-02-27 Richard Laager <rlaager@wiktel.com>
715
716 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
717 with full paths.
718
a414bd15
RL
7192012-02-27 Richard Laager <rlaager@wiktel.com>
720
721 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
722 unescape.
723
30ac48c4
VS
7242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
725
726 Don't use insecure popen in getroot.
727
728 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
729 (exec_pipe): ... here.
730 (find_root_devices_from_poolname): Use exec_pipe.
731
53f13848
VS
7322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
733
734 Remove platform and target_cpu replacement.
735
736 * configure.ac: Remove platform and target_cpu substitutions.
737 * tests/util/grub-shell.in: Use modinfo.
738 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
739 explicitly.
740
90cb2803
VS
7412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
742
743 Autodetect platform in grub-install but allow override.
744
745 * util/grub-install.in: Autodetect platform. Support --target and
746 --directory. Read platform from modinfo.sh.
747
b9136427
VS
7482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
749
750 Support btrfs multi-volume probe.
751
752 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
753 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
754 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
755 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
756 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
757 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
758 grub_find_root_devices_from_btrfs if on btrfs.
759
c36e5cd1
VS
7602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
761
762 Remove any awareness of *.c util files about target.
763
764 * Makefile.util.def (grub-setup): Split to ...
765 (grub-bios-setup): ... and this.
766 (grub-sparc64-setup): ... and this.
767 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
768 * docs/man/grub-setup.h2m: Split into ...
769 * docs/man/grub-sparc64-setup.h2m: ... this.
770 * docs/man/grub-bios-setup.h2m: ... and this.
771 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
772 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
773 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
774 (grub_target_addr_t): Remove.
775 (grub_target_size_t): Remove.
776 (grub_target_ssize_t): Remove.
777 * util/grub-install.in: Use new grub-*-setup.
778 * util/grub-mkimagexx.c (Elf_Word): New define.
779 (Elf_Half): Likewise.
780 (Elf_Section): Likewise.
781 (ELF_ST_TYPE): Likewise.
782 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
783 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
784
584b2f8a
VS
7852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
786
787 Replace grub_target_addr with more appropriate types.
788
789 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
790 grub_target_addr with grub_addr.
791 * grub-core/commands/iorw.c (grub_cmd_read): Replace
792 grub_target_addr with grub_port.
793 (grub_cmd_write): Likewise.
794 * grub-core/commands/memrw.c (grub_cmd_read): Replace
795 grub_target_addr with grub_addr.
796 (grub_cmd_write): Likewise.
797 * grub-core/video/efi_uga.c (find_line_len): Likewise.
798
5a0dc6fb
VS
7992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
802 const qualifier for vendor_guid.
803
786aff6e
VS
8042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
807 const qualifier.
808 (efiemu_memequal): Likewise.
809 (find_variable): Likewise.
810
49017b17
VS
8112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Fix missing console prototype on qemu-mips.
814
815 * include/grub/mips/qemu_mips/console.h: New file.
816
c5988629
MG
8172012-02-27 Matthew Garrett <mjg@redhat.com>
8182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
821 * include/grub/efi/efi.h: Likewise.
822 * include/grub/efi/api.h: Add guid for EFI-specified variables.
823 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
824 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
825 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
826 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
827 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
828
e33f8d69
MG
8292012-02-27 Matthew Garrett <mjg@redhat.com>
830
831 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
832
fb312cd9
VS
8332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
836 error.
837
7134247c
VS
8382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * configure.ac: Remove inappropriate use of program_transform_name
841 on grubdir and bootdir but allow explicit specification of those
842 variables.
843
6a313124
VS
8442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * util/grub-mknetdir.in (grub_prefix): Removed.
847 (subdir): Use @bootdirname@ and @grubdirname@.
848
2311c5ca
VS
8492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
852
7d5d60f7
VS
8532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * po/POTFILES.in: Regenerated.
856
8151bc82
VS
8572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
858
859 Remove improper use of program_transform_name on pkglibrootdir.
860
861 * configure.ac (pkglibrootdir): Removed.
862 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
863 * util/grub-mkimage.c: Likewise.
864
b4a6a533
VS
8652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
868 warning.
869
668f304f
VS
8702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * util/grub-install.in: Use file identifier if no UUID is available
873 or user explicitly prompted for it.
874
665f2341
NP
8752012-02-27 Navdeep Parhar <nparhar@gmail.com>
876
877 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
878 (freebsd_get_zfs): New function.
879 (grub_freebsd_boot): Pass zfs UUID.
880 (grub_cmd_freebsd): Set zfs UUID.
881
8151bc82 8822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
883
884 * conf/Makefile.common (platformdir): Base on pkglibdir and not
885 pkglibrootdir.
886
e4c498a1
MG
8872012-02-27 Mike Gilbert <floppym@gentoo.org>
888
889 Add configure flag to control libzfs integration.
890
891 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
892
1e9a9a3f
VS
8932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
896 device.
897 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
898 small devices.
899
036985b8
VS
9002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
901
902 Remove grub_{modname}_init and grub_{modname}_fini. They should never
903 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
904 be used on non-modules.
905
906 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
907 Rename to grub_boot_init.
908 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
909 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
910 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
911 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
912 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
913 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
914 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
915 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
916 includes.
917 (grub_machine_init): Remove empty inits.
918 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
919 includes.
920 (grub_machine_init): Remove empty inits.
921 * grub-core/term/arc/console.c: Remove explicit proto.
922 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
923 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
924 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
925 grub_at_keyboard_fini.
926 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
927 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
928 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
929 grub_gfxterm_fini.
930 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
931 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
932 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
933 grub_vgatext_fini.
934 * grub-core/term/ieee1275/console.c: Remove explicit proto.
935 * grub-core/term/serial.c (GRUB_MOD_INIT)
936 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
937 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
938 grub_serial_fini.
939 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
940 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
941 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
942 grub_terminfo_fini.
943 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
944 (GRUB_MOD_FINI): Likewise.
945 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
946 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
947 (GRUB_MOD_FINI) [LOONGSON]: Rename to
948 grub_video_radeon_fuloong2e_fini.
949 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
950 [LOONGSON]: Rename to grub_video_sis315pro_init.
951 (GRUB_MOD_FINI) [LOONGSON]: Rename to
952 grub_video_sis315pro_fini.
953 * grub-core/video/sm712.c (GRUB_MOD_INIT)
954 [LOONGSON]: Rename to grub_video_sm712_init.
955 (GRUB_MOD_FINI) [LOONGSON]: Rename to
956 grub_video_sm712_fini.
957 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
958 (grub_at_keyboard_fini): Likewise.
959 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
960 Don't declare grub_{modname}_init.
961 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
962 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
963 New proto.
964 (grub_keylayouts_fini) [!EMU]: Likewise.
965 * include/grub/serial.h (grub_serial_init) [!EMU]:
966 New proto.
967 (grub_serial_fini) [!EMU]: Likewise.
968 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
969 New proto.
970 (grub_terminfo_fini) [!EMU]: Likewise.
971 * include/grub/video.h (grub_font_init) [!EMU]:
972 New proto.
973 (grub_font_fini) [!EMU]: Likewise.
974 (grub_gfxterm_init) [!EMU]: Likewise.
975 (grub_gfxterm_fini) [!EMU]: Likewise.
976 (grub_video_sm712_init) [!EMU]: Likewise.
977 (grub_video_sm712_fini) [!EMU]: Likewise.
978 (grub_video_sis315pro_init) [!EMU]: Likewise.
979 (grub_video_sis315pro_fini) [!EMU]: Likewise.
980 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
981 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
982
d5534665
VS
9832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
984
985 Make nand a prefix for nand devices.
986
987 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
988
10133b5f
VS
9892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
992 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
993
8e307a62
VS
9942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * include/grub/env.h (grub_env_find): Remove prototype.
997 * grub-core/kern/env.c (grub_env_find): Make static.
998 (grub_env_set): Remove useless set.
999
a4c65f34
VS
10002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * grub-core/kern/i386/realmode.S: Remove useless align.
1003
d87893d5
VS
10042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * include/grub/dl.h (grub_dl_load_file): Don't export.
1007
50159add
VS
10082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1011 grub_dprintf.
1012
b2582b84
VS
10132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1016 grub_errors.
1017 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1018 not reloading whole superblock but only the part which is really needed.
1019 Remove useless grub_errors.
1020 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1021 grub_errors.
1022
e2a83395
VS
10232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 Don't export grub_get_rtc.
1026
1027 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1028 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1029
e7d2a906
VS
10302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1033
6cf1363b
VS
10342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1037 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1038
eece3349
VS
10392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Remove prio_list.
1042
1043 * include/grub/list.h (grub_prio_list): Removed.
1044 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1045 GRUB_COMMAND_PRIO_MASK.
1046 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1047 GRUB_COMMAND_FLAG_ACTIVE.
1048 (grub_prio_list_insert): Removed.
1049 (grub_prio_list_remove): Likewise.
1050 (GRUB_AS_PRIO_LIST): Likewise.
1051 (GRUB_AS_PRIO_LIST_P): Likewise.
1052 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1053 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1054 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1055 * grub-core/kern/command.c (grub_register_command_prio): Inline
1056 the prio_list code.
1057 (grub_unregister_command): Likewise.
1058
94f064b4
VS
10592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Fix interrupt mixup from previous commit.
1062
1063 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1064 (grub_realidt): New var.
1065 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1066 Load idt.
1067 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1068 New declaration.
1069 (grub_relocator16_boot): Set grub_relocator16_idt.
1070 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1071 (LOCAL(realidt)): ... this.
1072 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1073 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1074 (grub_realidt): New variable.
1075
27317084
VS
10762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1079 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1080 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1081 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1082 Gettextize.
1083 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1084 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1085 * po/POTFILES.in: Regenerate.
1086
47b40053
VS
10872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1090 errors.
1091
2b343101
VS
10922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1095 \0.
1096 (add_length): Likewise.
1097
ff27c3dd
LK
10982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10992012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1100
1101 GDB serial and backtrace support.
1102
1103 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1104 (prot_to_real): Likewise.
1105 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1106 * grub-core/Makefile.core.def (backtrace): New module.
1107 (gdb): Likewise.
1108 * grub-core/gdb/cstub.c: New file.
1109 * grub-core/gdb/gdb.c: Likewise.
1110 * grub-core/gdb/i386/idt.c: Likewise.
1111 * grub-core/gdb/i386/machdep.S: Likewise.
1112 * grub-core/gdb/i386/signal.c: Likewise.
1113 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1114 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1115 * include/grub/backtrace.h: Likewise.
1116 * include/grub/gdb.h: Likewise.
1117 * include/grub/i386/gdb.h: Likewise.
1118
11192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1120
1121 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1122 New function.
1123 (add_length): Likewise.
1124 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1125 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1126 proto.
1127 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1128 __argp_get_display_len.
1129
ff27c3dd 11302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1131
1132 $"..." support in scripts.
1133
1134 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1135 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1136 * grub-core/script/yylex.l: Likewise.
1137 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1138 value.
1139
ff27c3dd 11402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1141
1142 * gentpl.py: Remove obsolete pkglib_DATA handling.
1143
ff27c3dd 11442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1145
1146 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1147 mailing list.
1148
1149 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1150 * util/grub-kbdcomp.in: Likewise.
1151 * util/grub-mkconfig.in: Likewise.
1152 * util/grub-mkconfig_lib.in: Likewise.
1153 * util/grub-mknetdir.in: Likewise.
1154 * util/grub-mkrescue.in: Likewise.
1155 * util/grub-mkstandalone.in: Likewise.
1156 * util/grub-reboot.in: Likewise.
1157 * util/grub-set-default.in: Likewise.
1158 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1159
ff27c3dd 11602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1161
1162 Remove GRUB_PREFIX.
1163
1164 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1165 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1166 used for backward compatibility.
1167
ff27c3dd 11682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1169
1170 Add new all_video module.
1171
1172 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1173 * grub-core/Makefile.core.def (all_video): New module.
1174 * grub-core/genmoddep.awk: Generate dependency of all_video from
1175 video.lst.
1176 * grub-core/lib/fake_module.c: New file.
1177 * grub-core/normal/main.c (features): Add feature_all_video_module.
1178 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1179 don't do explicit search again.
47454da5 1180 insmod all_video in load_video if available.
22c7ce85 1181
ff27c3dd 11822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1183
1184 Another round of string clarification and adding TRANSLATORS comments.
1185
ff27c3dd 11862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1187
1188 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1189
ff27c3dd 11902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1191
1192 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1193 to grub_ssize_t.
1194 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1195 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1196
ff27c3dd 11972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1198
1199 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1200 trailing newline implicitly. All users updated.
1201
ff27c3dd 12022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1203
1204 Implement serial on IEEE1275 and EFI.
1205
1206 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1207 on emu. Mention arc and emu as the only platforms without serial
1208 support.
1209 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1210 ieee1275 platforms.
1211 * grub-core/term/efi/serial.c: New file.
1212 * grub-core/term/ieee1275/serial.c: Likewise.
1213 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1214 specification if no ns8250 driver is available.
1215 (grub_cmd_serial): Likewise.
1216 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1217 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1218 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1219 (grub_efi_parity_type_t): New type.
1220 (grub_efi_stop_bits_t): Likewise.
1221 (grub_efi_serial_io_interface): New struct.
1222 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1223 available for all interfaces.
1224 Add EFI and IEEE1275 fields.
1225 (grub_ofserial_init): New proto.
1226 (grub_efiserial_init): Likeiwse.
1227 * util/grub.d/00_header.in: Don't check for the presence of serial
1228 module.
1229
ff27c3dd 12302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1231
1232 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1233 name as if it was an alias.
1234
114076ef
VS
12352012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/commands/lsacpi.c (options): Fix typo.
1238
6a656b0e
VS
12392012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 Convert grub-emu to argp.
1242
1243 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1244 emu.
1245 * util/argp_common.c: Rename to ...
1246 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1247 Add missing includes.
1248 * grub-core/kern/emu/main.c: Convert to argp.
1249 * po/POTFILES.in: Regenerate.
1250 * util/grub-install.in (usage): Make first letter lowcase in messages
1251 for uniformity.
1252 * util/grub-setup.c (options): Likewise.
1253
1e3f8ae8
VS
12542012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1257 Put back accidently commented-out code.
1258
ed167a80
VS
12592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1262 loop check using Brent algorithm.
1263 (grub_hfsplus_btree_search): Likewise.
1264
6753c0ec
VS
12652012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * util/grub-install.in: Fix usage of wrong device for PreP install.
1268
4e27343f
VS
12692012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * conf/Makefile.common (CFLAGS_GNULIB): Add
1272 -Wno-unsafe-loop-optimizations.
1273 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1274 on tools.
1275 * grub-core/commands/legacycfg.c: Add pragma to skip
1276 -Wunsafe-loop-optimizations.
1277 (check_password_md5_real): Fix loop counter type.
1278 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1279 reading.
1280 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1281 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1282 loop condition.
1283 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1284 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1285 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1286 condition.
1287 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1288 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1289 avoid possible infinite loops.
1290 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1291 and -Wunsafe-loop-optimizations.
1292 * grub-core/script/yylex.l: Likewise.
1293 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1294 (print_glyphs): Avoid infinite loops.
1295 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1296
697f18b0
GS
12972012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1298
1299 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1300 to avoid infinite loop.
1301 (disp_acpi_rsdt_table): Likewise.
1302
274416e8
VS
13032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/font/font.c (grub_font_load): Add support for default
1306 path for fonts ($prefix/fonts).
1307 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1308 for checking if string is a path.
1309 * grub-core/normal/main.c (features): Add feature_default_font_path.
1310 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1311 * util/grub.d/00_header.in: Use default directory if possible.
1312 * util/grub-install.in: Install unicode.pf2.
1313
b3e08622
VS
13142012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1317 * po/Rules-swiss: New file.
1318 * po/swiss.sed: Likewise.
1319
fe42ce09
VS
13202012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/fs/btrfs.c (find_device): Fix typos.
1323 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1324 * util/grub-mkrelpath.c (argp_parser): Likewise.
1325 Reported by: Yuri Chornoivan.
1326
72f1d065
DO
13272012-02-23 Dalet Omega <daletomega@gmail.com>
1328
1329 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1330 for usual informative messages.
1331
c5884973
DO
13322012-02-23 Dalet Omega <daletomega@gmail.com>
1333
1334 Starfield theme.
1335
1336 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1337 * conf/Makefile.common: Define starfielddir.
1338 * configure.ac: Configure starfield.
1339 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1340 * themes/starfield/README: Likewise.
1341 * themes/starfield/blob_w.png: Likewise.
1342 * themes/starfield/boot_menu_c.png: Likewise.
1343 * themes/starfield/boot_menu_e.png: Likewise.
1344 * themes/starfield/boot_menu_n.png: Likewise.
1345 * themes/starfield/boot_menu_ne.png: Likewise.
1346 * themes/starfield/boot_menu_nw.png: Likewise.
1347 * themes/starfield/boot_menu_s.png: Likewise.
1348 * themes/starfield/boot_menu_se.png: Likewise.
1349 * themes/starfield/boot_menu_sw.png: Likewise.
1350 * themes/starfield/boot_menu_w.png: Likewise.
1351 * themes/starfield/slider_c.png: Likewise.
1352 * themes/starfield/slider_n.png: Likewise.
1353 * themes/starfield/slider_s.png: Likewise.
1354 * themes/starfield/src/blob_nw.xcf: Likewise.
1355 * themes/starfield/src/bootmenu/: Likewise.
1356 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1357 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1358 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1359 * themes/starfield/src/slider_c.xcf: Likewise.
1360 * themes/starfield/src/slider_n.xcf: Likewise.
1361 * themes/starfield/src/slider_s.xcf: Likewise.
1362 * themes/starfield/src/terminalbox/: Likewise.
1363 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1364 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1365 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1366 * themes/starfield/starfield.png: Likewise.
1367 * themes/starfield/terminal_box_c.png: Likewise.
1368 * themes/starfield/terminal_box_e.png: Likewise.
1369 * themes/starfield/terminal_box_n.png: Likewise.
1370 * themes/starfield/terminal_box_ne.png: Likewise.
1371 * themes/starfield/terminal_box_nw.png: Likewise.
1372 * themes/starfield/terminal_box_s.png: Likewise.
1373 * themes/starfield/terminal_box_se.png: Likewise.
1374 * themes/starfield/terminal_box_sw.png: Likewise.
1375 * themes/starfield/terminal_box_w.png: Likewise.
1376 * themes/starfield/theme.txt: Likewise.
1377
17d73325
VS
13782012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * util/grub.d/00_header.in: Add missing export theme.
1381
dbebaf92
VS
13822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1385 already included.
1386 Reported by: Eren D.
1387
3d68bffb
VS
13882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * conf/Makefile.common (grubdatadir): Removed.
1391 (Makefile.am): Move eveything grubdata to pkgdata.
1392
4b59234d
VS
13932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * grub-core/commands/acpihalt.c (get_sleep_type):
1396 Remove unused variable.
1397
463dcadc
VS
13982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1401 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1402 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1403 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1404 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1405 i18n with gettext no-op.
1406 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1407 GRUB_ACPI_OPCODE_STRING_CONST.
1408 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1409 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1410
e5b90c82
VS
14112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * po/POTFILES.in: Regenerate.
1414
2a704ca9
VS
14152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1418 -Wno-error=missing-noreturn.
1419
84f9d341
VS
14202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1423 condition to avoid possibly infinite loops.
1424 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1425 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1426
d46683f9
VS
14272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1430 condition to avoid possibly infinite loops.
1431
c44866b2
VS
14322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1435 on show_error.
1436
96790539
VS
14372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1440
1ba7e295
VS
14412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1444
21ffe8f1
VS
14452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * util/bin2h.c (usage): Add missing attribute noreturn.
1448
0ccb6b3c
VS
14492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1452 if the size isn't divisible by 512.
1453
b00d7fb6
VS
14542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Make list_push and list_remove functions rather than inline functions
1457 to decrease size and avoid aliasing violations.
1458
1459 * include/grub/list.h (grub_list_push): Move to ...
1460 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1461 * include/grub/list.h (grub_list_remove): Move to ...
1462 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1463
9d369087
VS
14642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1467 and -Wunused-result.
1468
af0250d9
VS
14692012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1472 Reported by: Seth Goldberg
1473
aad32b14
VS
14742012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1477
ac96441c
ST
14782012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1479
1480 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1481 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1482 command line.
1483 * docs/grub.texi (Simple configuration): Document
1484 GRUB_CMDLINE_GNUMACH.
1485
14862012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1487
1488 * conf/Makefile.common (platform_SCRIPTS): New variable.
1489 (platform_PROGRAMS): Likewise.
1490 * gentpl.py: Mark *,module and *.image for install.
1491 * grub-core/gdb_grub.in: Add a notice of expected environment.
1492 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1493 (gmodule.pl): Likewise.
1494
ac96441c 14952012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1496
1497 Replace grub_checkkey with grub_getkey_noblock.
1498
1499 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1500 (grub_getkey_noblock): ... this. All users updated.
1501
ac96441c 15022012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1503
1504 * grub-core/kern/emu/console.c: Move to ...
1505 * grub-core/term/emu/console.c: ...here.
1506 (grub_ncurses_getkey): Fix return value if no key is detected.
1507
e51b5666
VS
15082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1511 (grub_unit_test_fini): Likewise.
1512 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1513
15142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * include/grub/test.h (GRUB_UNIT_TEST)
1517
d9a62292
VS
15182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1521 Better error handling.
1522 (grub_script_return): Likewise.
1523 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1524
77c9182f
VS
15252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1528 rimplicit redifinition.
1529
edb13cf9
VS
15302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1533 GRUB.
1534
a9e9dc7c
VS
15352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1538 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1539 prompt here.
1540
b4ba8e02
VS
15412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1544 as GRUB_ERR_BUG. Don't malloc if no device is available.
1545
dded5540
VS
15462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1549 Mark calling with invalid term as GRUB_ERR_BUG.
1550
0cf69874
VS
15512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1554 packets rather than raising an error.
1555
59bfe502
VS
15562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1559 in if.
1560
db5fc596
VS
15612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1564 diagnostic to dprintf.
1565 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1566
e4b7f404
VS
15672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1570 device name.
1571
e7b02f9e
VS
15722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1575 (grub_ntfs_iterate_dir): Likewise.
1576
0331e102
VS
15772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 Efiemu stylistic fixes and gettext.
1580
1581 * grub-core/efiemu/i386/loadcore32.c
1582 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1583 * grub-core/efiemu/i386/loadcore64.c
1584 (grub_arch_efiemu_relocate_symbols64): Likewise.
1585 * grub-core/efiemu/i386/pc/cfgtables.c
1586 (grub_machine_efiemu_init_tables): Likewise.
1587 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1588 (grub_efiemu_loadcore_initXX): Add a filename argument.
1589 All users updated.
1590 Improved error message.
1591 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1592 Add a filename argument.
1593 All users updated.
1594 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1595 Reclassify double relocation as GRUB_ERR_BUG.
1596
306fc074
VS
15972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1600 handling.
1601
794d8ef2
VS
16022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1605 on partition.
1606
16072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1608
1609 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1610
794d8ef2 16112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1612
1613 Improve string. Gettextize.
1614
78dde88e
VS
16152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1618 utils.
1619 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1620
4786a90f
VS
16212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1624 [GRUB_UTIL]: New function.
1625 (insert_array) [GRUB_UTIL]: Store partmaps.
1626 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1627 partmaps.
1628 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1629 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1630 (probe_abstraction): Print diskfilter and not raid.
1631 Reported by: Lennart Sorensen
1632
0b6225bd
VS
16332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
1636 * util/grub-mkimagexx.c (MASK3): New define.
1637 (add_value_to_slot_20b): Use MASK3.
1638 (add_value_to_slot_21): Likewise.
1639 (relocate_addresses): Fix format specification.
1640 (load_image): Explicitly init symtab_section.
1641
b055f8f6
VS
16422012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
1645 (grub_util_biosdisk_get_grub_dev): Fix format specification.
1646
b77c2fb7
VS
16472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
1650 on powerpc.
1651 Reported by: Lennart Sorensen
1652
e3ec28ab
VS
16532012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * gentpl.py: Add missing license header.
1656 * docs/grub.texi: Update copyright year.
1657
c8d9ead6
GS
16582012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1659
1660 Source grub-mkconfig_lib from the build directory at build time.
1661 Suggested by: Vladimir Serbinenko.
1662
1663 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
1664 * util/grub-install.in: Define pkgdatadir if not already set, and source
1665 grub-mkconfig_lib from there.
1666 * util/grub-kbdcomp.in: Likewise.
1667 * util/grub-mkconfig.in: Likewise.
1668 * util/grub-mknetdir.in: Likewise.
1669 * util/grub-mkrescue.in: Likewise.
1670 * util/grub-mkstandalone.in: Likewise.
1671 * util/grub-reboot.in: Likewise.
1672 * util/grub-set-default.in: Likewise.
1673 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1674
ebcecdf1
VS
16752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 Increase warning level.
1678
1679 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
1680 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
1681 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
1682 (TARGET_CFLAGS): Likewise.
1683 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
1684 * grub-core/Makefile.core.def (decompressor_xz): Add
1685 -Wno-unreachable-code.
1686 (normal): Add -Wno-redundant-decls.
1687 (xzio): Add -Wno-unreachable-code.
1688 (lzopio): Add -Wno-redundant-decls -Wno-error.
1689 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
1690 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
1691 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
1692 * grub-core/kern/dl.c: Add exception to -Wcast-align.
1693 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
1694 * grub-core/kern/i386/coreboot/init.c: Add exception to
1695 -Wsuggest-attribute=noreturn.
1696 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
1697 * grub-core/kern/ia64/dl_helper.c: Likewise.
1698 * grub-core/kern/mips/dl.c: Likewise.
1699 * grub-core/kern/sparc64/dl.c: Likewise.
1700 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
1701 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
1702 (memcmp): Likewise.
1703 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
1704 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
1705 * grub-core/loader/mips/linux.c: Likewise.
1706 * grub-core/loader/multiboot_elfxx.c: Likewise.
1707 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
1708 * grub-core/video/sm712.c: Add exception to -Wcast-align.
1709 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
1710 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
1711 fixme.
1712 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1713 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
1714 Fix prototype.
1715
37bb97fe
VS
17162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
1719 address.
1720
29a3550b
VS
17212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1724 Avoid improper use of strings.
1725 (grub_cmd_legacy_initrdnounzip): Likewise.
1726
dfdffd0d
VS
17272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * include/grub/emu/misc.h (grub_util_warn): Add missing format
1730 attribute.
1731 (grub_util_info): Likewise.
1732 (grub_util_error): Likewise.
1733
102fae4a
VS
17342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
1737 * util/grub-fstest.c (fstest): Likewise.
1738
7e94d044
VS
17392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
1742 (grub_md_sha512_real): Likewise.
1743 (grub_util_get_geli_uuid): Likewise.
1744 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
1745 (grub_util_biosdisk_open): Fix format specification.
1746 Respect format security.
1747 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
1748 (xrealloc): Likewise.
1749 (xasprintf): Likewise.
1750
5ebd9769
VS
17512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * util/import_gcry.py: Include grub/crypto.h in init.c.
1754
495fc8c1
VS
17552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
1758 (generate_image): Make prefix a const char *.
1759 Fix format specifications. Respect format security.
1760 Avoid void * arithmetics.
1761 Avoid shadowing.
1762 (argp_parser): Remove unused variable. Respect format security.
1763 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
1764 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
1765 (count_funcs): Remove unused variable.
1766 (relocate_addresses): Fix format specification.
1767 Disable x86-64 with elf32. Remove unused variables.
1768 (add_fixup_entry): Avoid shadowing.
1769 (make_reloc_section): Fix format specification.
1770 Use assert.
1771 (locate_sections): Fix format specifications.
1772 (load_image): Avoid shadowing.
1773
043c2ea3
VS
17742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
1777 Fix format specifications. Respect format security.
1778 Don't translate already translated grub_errmsg.
1779 (argp_parser): Remove unused variable
1780
3ec65a81
VS
17812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
1784
a4d9fe4a
VS
17852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
1788 (main): Likewise. Use xmalloc. Respect format security.
1789
15b81d49
VS
17902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
1793 a const char *.
1794 (argp_parser): Remove unused variable.
1795
31731fc0
VS
17962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
1799 (add_pixel): Make static.
1800 (add_font): Likewise.
1801 (write_string_section): Make name and str a const char *.
1802 (write_be16_section): Make name a const char *.
1803 (print_glyphs): Make static.
1804 (write_font_ascii_bitmap): Likewise.
1805 (write_font_width_spec): Likewise.
1806 (write_font_pf2): Likewise.
1807 (argp_parser): Remove unused variable.
1808 Respect format security.
1809 (main): Avoid shadowing. Respect format security.
1810
0809527b
VS
18112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * util/grub-editenv.c (argp_parser): Make static.
1814 (create_envblk_file): Use xmalloc.
1815 (open_envblk_file): Likewise.
1816 Resepect format security.
1817 (set_variables): Respect format security.
1818
45b0c8b7
VS
18192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * util/getroot.c (grub_find_device): Respect format security.
1822 (get_mdadm_uuid): Remove unused variable.
1823 (grub_util_pull_device): Dont call gettext on already translated
1824 grub_errmsg.
1825 (find_system_device): Remove unused variable.
1826 (grub_util_get_grub_dev): Likewise.
1827 (grub_make_system_path_relative_to_its_root): Respect format security.
1828
1b024b4e
VS
18292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * util/grub-fstest.c (execute_command): Make first argument
1832 a const char *.
1833 (read_file): Avoid shadowing.
1834 Reuse underlying error message if device open fails.
1835 (cmd_cmp): Respect format security.
1836 (root): Make const char *.
1837 (fstest): Remove args argument and use global copy.
1838 Respect format security.
1839 (argp_parser): Make static.
1840 (main): Make default_root const char *.
1841
5d1d4e28
VS
18422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * util/grub-mount.c (root): Make const char *.
1845 (execute_command): Make first argument a const char *.
1846 (fuse_init): Respect format security.
1847 (argp_parser): Make static. Remove unused variable.
1848 (main): Make default_root a const char *.
1849 Respect format security.
1850
36eb7379
VS
18512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * util/grub-probe.c (probe): Don't call gettext on already translated
1854 grub_errmsg.
1855 Remove unused variables.
1856 (argp_parser): Remove unused variable.
1857
76fb2ea9
VS
18582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * util/grub-script-check.c (argp_parser): Remove unused variable.
1861 (main): Rename read to curread to avoid shadowing.
1862
56c98584
VS
18632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * util/misc.c (grub_util_write_image_at): Fix format specification.
1866 (grub_util_write_image): Likewise.
1867 (grub_script_execute_argument_to_string): Removed (unused).
1868 (grub_script_execute_menuentry): Likewise.
1869 (grub_putchar): Likewise.
1870
164ebb48
VS
18712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
1874 (FUNCTION) [GRUB_UTIL]: Likewise.
1875 (VARIABLE) [GRUB_UTIL]: Likewise.
1876
44318d61
VS
18772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
1880 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
1881
31a26002
VS
18822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
1885 buffer.
1886
18872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
1890 (LzmaEnc_SaveState): Removed (unused).
1891 (LzmaEnc_RestoreState): Likewise.
1892 (LzmaEnc_InitPriceTables): Made static.
1893 (LzmaEnc_Construct): Likewise.
1894 (LzmaEnc_FreeLits): Likewise.
1895 (LzmaEnc_Destruct): Likewise.
1896 (LzmaEnc_Init): Likewise.
1897 (LzmaEnc_InitPrices): Likewise.
1898 (LzmaEnc_Finish): Likewise.
1899 (LzmaEnc_PrepareForLzma2): Removed (unused).
1900 (LzmaEnc_MemPrepare): Likewise.
1901 (LzmaEnc_GetNumAvailableBytes): Likewise.
1902 (LzmaEnc_GetCurBuf): Likewise.
1903 (LzmaEnc_CodeOneMemBlock): Likewise.
1904
6fa67967
VS
19052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
1908 (grub_util_ldm_embed): Likewise.
1909
9a7428e6
VS
19102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * util/grub-editenv.c (print_var): Rename name to varname to
1913 avoid shadowing.
1914 (main): Rename index to curindex to avoid shadowing.
31a26002 1915 Make filename a const char *.
9a7428e6 1916
4f96abd1
VS
19172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1920 to arg_getline to avoid shadowing.
1921
44d10dad
VS
19222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
1925 disk_ to avoid shadowing.
1926
340ba63e
VS
19272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
1930 curindex to avoid shadowing.
1931 Make static.
1932 (MatchFinder_GetNumAvailableBytes): Make static.
1933
22965bce
VS
19342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
1937 avoid shadowing.
1938
7b5784d4
VS
19392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
1942 argument from encrypt to do_encrypt to avoid shadowing.
1943
6f48ca01
VS
19442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
1947 incorrect nesting of #if's.
1948
a4ea2dff
VS
19492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
1952 checks which are always false on some platforms.
1953 (grub_cmd_lsacpi): Likewise.
1954 * grub-core/kern/misc.c (grub_strtoul): Likewise.
1955 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
1956 Likewise.
1957
def9fc1b
VS
19582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
1961 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
1962
a67b2a04
VS
19632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
1966 re_dfa_t to avoid breaking alignment invariants.
1967 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
1968 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
1969
44c6828d
VS
19702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
1973 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
1974
bebe0dd0
VS
19752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
1978 Fix declaration.
1979
a9cdb3cf
VS
19802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
1983 conserve alignment invariants.
1984 (grub_ehci_ehcc_read16): Likewise.
1985 (grub_ehci_oper_read32): Likewise.
1986 (grub_ehci_oper_write32): Likewise.
1987 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1988 Conserve alignment invariants.
1989
ccc3b1b8
VS
19902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
1993 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
1994 declarations.
1995
987fbd95
VS
19962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
1999 Remove unused variable.
2000
0df363f3
VS
20012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2004 Remove set in if.
2005
b2c0c4a6
VS
20062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * include/grub/net.h: Remove double declarations.
2009
690c531f
VS
20102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 Remove "payload" command in ia64 Linux loader since I couldn't
2013 find any evidence of it being used for anything.
2014 Replace "relocate" command with an environment variable
2015
2016 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2017 fields.
2018 (ia64_boot_payload): Removed.
2019 (last_payload): Likewise.
2020 (RELOCATE_OFF): Likewise.
2021 (RELOCATE_ON): Likewise.
2022 (RELOCATE_FORCE): Likewise.
2023 (relocate): Likewise.
2024 (free_pages): Don't free payloads.
2025 (grub_load_elf64): Use common error messages.
2026 Use "linux_relocate" variable.
2027 Increase the space after boot_params.
2028 (grub_cmd_payload): Removed.
2029 (grub_cmd_relocate): Likewise.
2030 (grub_cmd_fpswa): Improve messages.
2031 (cmd_payload): Removed.
2032 (cmd_relocate): Likewise.
2033 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2034 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2035
01783768
VS
20362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 Convert UHCI to DMA framework.
2039
2040 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2041 (grub_uhci_pci_iter): Fill new members
2042 (grub_alloc_td): Use P2V and V2P functions.
2043 (grub_free_queue): Likewise.
2044 (grub_alloc_qh): Likewise.
2045 (grub_uhci_setup_transfer): Likewise.
2046 (grub_uhci_check_transfer): Likewise.
2047
43206939
VS
20482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2051 Remove assignment in if while on it.
2052
571e140e
VS
20532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * util/grub-mkstandalone.in: Fix modules directory.
2056
a9d96eeb
VS
20572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2060 on i386-pc target.
2061 (argp_parser): Accept "auto" as compression specification.
2062
e4e37e8d
VS
20632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 Fix `help' with unloaded modules.
2066
2067 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2068 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2069 (grub_dyncmd_dispatcher): Small stylistic fix.
2070 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2071 explicit help is requested.
2072
e1ea3ade
VS
20732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2076 Explicitly init restart while on it.
2077
27556881
VS
20782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2081 uninited variable.
2082
d65f6b36
VS
20832012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * util/grub-mknetdir.in: Use . rather than source for POSIX
2086 compatibility.
2087
0a1e473c
VS
20882012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2091
ce6647c8
VS
20922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2095 variable.
2096
66747894
VS
20972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2100 without quotes.
2101
71645f6e
VS
21022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2105
0e1c1f61
VS
21062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2109 iteration of partitions.
2110
9c4b5c13
VS
21112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Improve gettext support. Stylistic fixes and error handling fixes while
2114 on it.
2115
215c90cb
VS
21162012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2119 part. Instead setup the correct stack in RM.
2120 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2121 for stack.
2122 * include/grub/i386/relocator_private.h: New file.
2123
b5c1f9bf
VS
21242012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2127 argument.
2128 * util/grub-fstest.c (options): Add missing DEVICE part.
2129
b525fd83
VS
21302012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 Clarify and unify messages.
2133
2134 * grub-core/commands/hashsum.c (options): Unify messages.
2135 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2136 literal-only message as translatable.
2137 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2138 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2139 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2140 commands.
2141 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2142 key, not the key used to unlock. Clarify what it's used for.
2143 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2144 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2145 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2146 * util/grub-editenv.c (options): Unify "verbose" message.
2147 * util/grub-fstest.c (read_file): Unify error message.
2148 (fstest): Add quotes around commands.
2149 (options): Unify "verbose" message.
2150 * util/grub-install.in: Add quotes around variable name.
2151 * util/grub-kbdcomp.in: Unify error message.
2152 * util/grub-mkfont.c (main): Likewise.
2153 * util/grub-mkrescue.in: Likewise.
2154 * util/grub-mklayout.c (options): Unify "verbose" message.
2155 * util/grub-mkstandalone.in: Unify help and verbose messages.
2156 * util/grub-mount.c (options): Unify "verbose" message.
2157 * util/grub-probe.c (options): Likewise.
2158 * util/grub-script-check.c (options): Likewise.
2159 * util/grub-setup.c (setup): Unify no-terminator message.
2160 (options): Use DEVICE and not DEV.
2161 Unify "verbose" message.
2162 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2163
0ae70393
VS
21642012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 Improve and unify messages.
2167
2168 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2169 name. All users updated.
2170 Print filename in error.
2171 (read_device_map): Print filename in error.
2172 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2173 (grub_util_get_os_disk): Likewise.
2174 (grub_util_biosdisk_get_grub_dev): Likewise.
2175 (grub_util_check_block_device): Likewise.
2176 (grub_util_check_char_device): Likewise.
2177 (grub_make_system_path_relative_to_its_root): Likewise.
2178 * util/grub-editenv.c (create_envblk_file): Likewise.
2179 (open_envblk_file): Likewise.
2180 (write_envblk): Likewise.
2181 * util/grub-fstest.c (cmd_cp): Likewise.
2182 (cmd_cat): Likewise.
2183 (cmd_cmp): Likewise.
2184 * util/grub-menulst2cfg.c (main): Likewise.
2185 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2186 (write_font_width_spec): Likewise.
2187 (write_font_pf2): Likewise.
2188 * util/grub-mkimage.c (generate_image): New argument outname.
2189 All users updated.
2190 Remove unreacheable message.
2191 (options): Unify messages.
2192 (help_filter): Likewise.
2193 * util/grub-mklayout.c (usage): Removed (unused).
2194 (main): Print filename in error.
2195 * util/grub-mkrescue.in: Fix wrong quoting.
2196 * util/grub-setup.c (setup): Print filename in error.
2197 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2198 (check_sas): Likewise.
2199 * util/misc.c (grub_util_get_fp_size): Removed.
2200 (grub_util_get_image_size): Print filename in error.
2201 (grub_util_read_at): Removed.
2202 (grub_util_read_image): Print filename in error.
2203 (grub_util_load_image): Likewise.
2204 (grub_util_write_image_at): New argument filename. All users updated.
2205 Print filename in error.
2206 (grub_util_write_image): New argument filename. All users updated.
2207 Print filename in error.
2208 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2209 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2210
0a96117d
VS
22112012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/Makefile.core.def (pxechain): New module.
2214 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2215 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2216 function.
2217 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2218 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2219
aca002f7
VS
22202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2223 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2224 * include/grub/err.h (grub_error_saved): New struct.
2225 (grub_errmsg): Make array size explicit.
2226 * include/grub/misc.h (grub_error_save): New function.
2227 (grub_error_load): Likewise.
2228 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2229 (grub_error_push): Update `errno' member name.
2230 (grub_error_pop): Likewise
2231 * grub-core/net/tftp.c (tftp_data): New member save_err.
2232 (tftp_receive): Save error.
2233 (tftp_open): Restore error.
2234
a51dab13
VS
22352012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2238 to real mode down to execute A20-related code in protected mode as
2239 intended.
2240
eb6e6649
GS
22412012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2242
2243 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2244 NULL when the argument `level' has an unexpected value.
2245
92cd0f6e
VS
22462012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 Move platform-dependent files from $prefix to $prefix/$platform.
2249
2250 * config.h.in (GRUB_TARGET_CPU): New definition.
2251 (GRUB_PLATFORM): Likewise.
2252 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2253 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2254 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2255 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2256 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2257 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2258 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2259 * grub-core/normal/term.c (read_terminal_list): Likewise.
2260 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2261 $prefix/locale.
2262 (grub_gettext_init_ext): Likewise.
2263 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2264 grub_platform.
2265 * util/grub-install.in: Update directories.
2266 * util/grub-mknetdir.in: Likewise.
2267 * util/grub-mkrescue.in: Likewise.
2268
db606889
VS
22692012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2272 grub_error framework. All users updated.
2273
c39992a4
VS
22742012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2277 lists (by always binsearching), improve caching (cache strings
2278 used for binsearch, not only results), improve
2279 maintainability (by using more structured binary search) and correct
2280 error handling.
2281
1e5ec32f
VS
22822012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/script/execute.c (grub_script_return): Fix warning.
2285
ac576cde
VS
22862012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/script/execute.c (grub_script_return): Fix potential
2289 NULL-dereference.
2290 Reported by: Jim Meyering.
2291
498453f6
VS
22922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * po/POTFILES.in: Regenerate.
2295 * util/grub-install.in: Gettextize the strings missed in first pass.
2296
8be63f2e
VS
22972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * Makefile.util.def (grub-mkdevicemap): Removed.
2300 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2301 * include/grub/util/deviceiter.h: Removed.
2302 * util/deviceiter.c: Likewise.
2303 * util/getroot.c (grub_util_get_os_disk): New function.
2304 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2305 replacement for EFI.
2306 * util/grub-mkdevicemap.c: Removed.
2307 * util/grub-probe.c (probe): Handle PRINT_DISK.
2308 (argp_parser): Handle -t disk.
2309
8e1e4e39
VS
23102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * util/grub-mkfont.c: Migrate to argp.
2313 * util/grub-mklayout.c: Likewise.
2314 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2315 * util/grub-mkrelpath.c: Likewise.
2316 * util/grub-probe.c: Likewise.
2317 * util/grub-script-check.c: Likewise.
2318
4459819a
VS
23192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * util/grub-reboot.in: Add missing datarootdir.
2322 Add missing newline.
2323 * util/grub-set-default.in: Add missing datarootdir.
2324 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2325 * util/grub-mkrescue.in: Likewise.
2326
f65741c7
VS
23272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2330
c1a33466
VS
23312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * util/grub-kbdcomp.in: Add decent help and gettextize.
2334 * docs/man/grub-kbdcomp.h2m: New file.
2335
c76899a0
VS
23362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 Migrate grub-mkimage.c to argp.
2339
2340 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2341 (grub-setup): Likewise.
2342 * util/grub-setup.c (print_version): Move to ...
2343 * util/argp_common.c (print_version): ... here.
2344 * util/grub-setup.c (argp_program_version_hook): Move to ...
2345 * util/argp_common.c (argp_program_version_hook): ... here.
2346 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2347 safety.
2348 * util/grub-mkimage.c (main): Migrate to argp.
2349
57db0757
VS
23502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * util/grub-mkrescue.in: Use same message as
2353 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2354 for better translations.
2355
18534ad9
VS
23562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2359 options with generic grub-mkrescue.in with the goal of future
2360 merge.
2361
c84ba308
VS
23622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/kern/mm.c: Add missing include of i18n.h
2365 * grub-core/lib/relocator.c: Likewise.
2366
347998c2
VS
23672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2370 error.
2371 (allocate_pages): Check return value.
2372 Replace fatal with error.
2373 (grub_linux_boot): Replace printf with dprintf.
2374 Check find_mmap_size return value.
2375 Replace fatal with error.
2376 Don't call grub_machine_fini.
2377 (grub_load_elf64): Replace printf with dprintf.
2378 (grub_cmd_linux): Likewise.
2379 (grub_cmd_initrd): Likewise.
2380 (grub_cmd_payload): Likewise.
2381
c779226e
VS
23822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2385 message.
2386 * grub-core/video/radeon_fuloong2e.c
2387 (grub_video_radeon_fuloong2e_setup): Likewise.
2388 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2389 * grub-core/video/video.c (grub_video_set_mode): Don't override
2390 standard out of memory message.
2391
dc87d45a
GS
23922012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2393
2394 NetBSD disk wedge support.
2395
2396 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2397 [__NetBSD__]: Handle NetBSD disk wedges.
2398 * util/getroot.c (convert_system_partition_to_system_disk)
2399 [__NetBSD__]: Likewise.
2400
055f856f
MW
24012012-02-03 Mark Wooding <mdw@distorted.org.uk>
2402
2403 * util/grub-mkconfig.in: Use umask rather than chmod to create
2404 grub.cfg.new to avoid insecure grub.cfg.
2405
4a9f8346
VS
24062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/commands/ls.c: Gettextize.
2409 * grub-core/commands/setpci.c: Likewise.
2410 * grub-core/commands/videotest.c: Likewise.
2411 * grub-core/disk/geli.c: Likewise.
2412 * grub-core/kern/mm.c: Likewise.
2413 * grub-core/lib/relocator.c: Likewise.
2414 * grub-core/loader/efi/appleloader.c: Likewise.
2415 * grub-core/loader/i386/xnu.c: Likewise.
2416 * grub-core/loader/ia64/efi/linux.c: Likewise.
2417 * grub-core/loader/xnu.c: Likewise.
2418 * grub-core/net/dns.c: Likewise.
2419 * grub-core/net/net.c: Likewise.
2420 * grub-core/script/lexer.c: Likewise.
2421 * grub-core/script/parser.y: Likewise.
2422 * grub-core/script/yylex.l: Likewise.
2423 * util/getroot.c: Likewise.
2424 * util/grub-setup.c: Likewise.
2425
a646a366
VS
24262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2429 number.
2430
54e2be26
VS
24312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2434
f7c71e68
VS
24352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2438 macro.
2439 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2440 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2441
a32d5c71
VS
24422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2445 * util/grub-install.in: Gettextize.
2446 * util/grub-mkconfig.in: Likewise.
2447 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2448 if not available.
2449 (grub_warn): Gettextize.
2450 * util/grub-mknetdir.in: Gettextize.
2451 * util/grub-mkrescue.in: Likewise.
2452 * util/grub-mkstandalone.in: Likewise.
2453 * util/grub-reboot.in: Likewise.
2454 * util/grub-set-default.in: Likewise.
2455 * util/grub.d/00_header.in: Likewise.
2456 * util/grub.d/10_hurd.in: Likewise.
2457 * util/grub.d/10_kfreebsd.in: Likewise.
2458 * util/grub.d/10_linux.in: Likewise.
2459 * util/grub.d/10_netbsd.in: Likewise.
2460 * util/grub.d/10_windows.in: Likewise.
2461 * util/grub.d/20_linux_xen.in: Likewise.
2462 * util/grub.d/30_os-prober.in: Likewise.
2463 * po/POTFILES-shell.in: Regenerate.
2464
69edd81a
RL
24652012-02-03 Richard Laager <rlaager@wiktel.com>
2466
2467 * util/grub-mkimage.c (main): Fix format-security warning.
2468 * util/grub-mkrelpath.c (main): Likewise.
2469 * util/grub-probe.c (main): Likewise.
2470
65f08dbf
RL
24712012-02-03 Richard Laager <rlaager@wiktel.com>
2472
2473 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2474 failure.
2475 Put back lost PRINT_DRIVE.
2476
e9084abe
RL
24772012-02-03 Richard Laager <rlaager@wiktel.com>
2478
2479 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2480 (grub_guess_root_devices): Replace strlen with sizeof.
2481 Avoid crash.
2482 (find_root_devices_from_poolname): Remove unused variable.
2483 Handle raidzN.
2484
cf5f7ee7
VS
24852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Support install on multi-device filesystems.
2488
2489 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2490 (grub_guess_root_devices): ...this. Return char **. All users updated.
2491 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2492 Removed.
2493 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2494 (find_root_devices_from_poolname): ... here.
2495 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2496 Support zfs-fuse.
2497 (grub_guess_root_device): Rename to ...
2498 (grub_guess_root_devices): ... this. Return char **. All users updated.
2499 * util/grub-install.in: Handle multi-device filesystems.
2500 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2501 argument. All users updated.
2502 Handle multi-device filesystems.
2503 Use 'delim' as separator.
2504 Remove device check to allow filesystems on file.
2505 (main): Support -0 argument. Handle multi-device.
2506 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2507 Fix a cross-device check while on it.
2508 (arguments): Remove root_dev.
2509 (argp_parser): Remove -r.
2510 (main): Remove root_dev.
2511
2f53a9ed
VS
25122012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2515
17e1d934
VS
25162012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2519 symbol.
2520 Reported by: NODA, Kai <nodakai>.
2521
d3e3fab5
VS
25222012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Fix ehci on amd64.
2525
2526 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2527 pointers.
2528 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2529 (grub_ehci_setup_qh): Likewise.
2530 (grub_ehci_find_qh): Likewise.
2531 (grub_ehci_transaction): Likewise.
2532 (grub_ehci_setup_transfer): Likewise.
2533 (grub_ehci_check_transfer): Likewise.
2534 (grub_ehci_portstatus): Likewise.
2535 (grub_ehci_detect_dev): Likewise.
2536 (grub_ehci_transfer_controller_data): New field td_last_phys.
2537 (grub_ehci_setup_transfer): Fill td_last_phys.
2538 (grub_ehci_check_transfer): Use td_last_phys.
2539
3008675b
SG
25402012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2541
2542 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2543 if no submenu is present.
2544
fc9b5652
AN
25452012-02-01 Aleš Nesrsta <starous@volny.cz>
2546
2547 CBI support.
2548
2549 * include/grub/usb.h (grub_usbms_protocol_t): New values
2550 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2551 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2552 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2553 (grub_usbms_dev): Add subclass, protocol and intrpt.
2554 Remove in_maxsz and out_maxsz.
2555 (grub_usbms_reset): Rename to ...
2556 (grub_usbms_bo_reset): .. this.
2557 (grub_usbms_cbi_cmd): New function.
2558 (grub_usbms_cbi_reset): Likewise.
2559 (grub_usbms_reset): Likewise.
2560 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2561 (grub_usbms_transfer): Rename to ...
2562 (grub_usbms_transfer_bo): ... this.
2563 (grub_usbms_transfer_cbi): Likewise.
2564 (grub_usbms_transfer): Likewise.
2565
a2b81d53
AN
25662012-02-01 Aleš Nesrsta <starous@volny.cz>
25672012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2570 the support for the CS5536 modification thereos and few bugfixes.
2571
2572 * grub-core/Makefile.core.def (ehci): New module.
2573 * grub-core/bus/usb/ehci.c: New file.
2574 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2575 port and hubaddr. All users updated.
2576 Save port and hubaddr into dev structure.
2577 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2578 define.
2579 * include/grub/pci.h (grub_dma_phys2virt): New function.
2580 (grub_dma_virt2phys): Likewise.
2581 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2582
b1d51f02
VS
25832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2586 check as some mkfs implementations omit it.
2587
fc694106
VS
25882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2591
6c0920e3
VS
25922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2595 Add new member volname2.
2596 (grub_jfs_label): Use volname2 if available.
2597
d1a46f9a
VS
25982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2601 over last_mounted as seen in image generated by mkfs.nilfs2.
2602 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2603
dec8ed14
VS
26042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2607 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2608 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2609
7397c69b
VS
26102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2613 over the sector.
2614
b3fe42ad
VS
26152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2618 subvolume name (by removing a bogus and useless check).
2619
10476bb0
VS
26202012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2623 sizeof while on it.
2624
9c08ad87
VS
26252012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2628 (grub_scsi_read_capacity10): ... this.
2629 (grub_scsi_read_capacity16): New function.
2630 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2631 0xffffffff.
2632 Fix off-by-one error.
2633 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
2634 64-bit unsigned.
2635 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
2636 (grub_scsi_read_capacity10): ... this.
2637 (grub_scsi_read_capacity_data): Rename to ...
2638 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
2639 (grub_scsi_read_capacity16): New struct.
2640 (grub_scsi_read_capacity16_data): Likewise.
2641 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
2642 grub_scsi_cmd_read_capacity10.
2643 New command grub_scsi_cmd_read_capacity16.
2644
bc8d0f45
VS
26452012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 SCSI >2TiB support.
2648
2649 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
2650 (grub_scsi_write16): Likewise.
2651 (grub_scsi_read): Use read16 when necessary.
2652 (grub_scsi_write): Likewise.
2653 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
2654 (grub_scsi_write16): Likewise.
2655 (grub_scsi_cmd_t): Add READ16 and WRITE16.
2656
cc774926
VS
26572012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 SCSI write support (for usbms mainly).
2660
2661 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
2662 a const pointer.
2663 (grub_scsi_write): Implement.
2664 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2665
67639fd7
VS
26662012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
2669 variable.
2670
9079d3ed
VS
26712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/lib/posix_wrap/string.h (memchr): New function.
2674
c6a6f204
VS
26752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * po/POTFILES.in: Regenerate.
2678
ecbf8cd1
VS
26792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
2682 with grub_printf to avoid unnecessary fatal failure.
2683
0b3b3b38
VS
26842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
2687 (INT_MAX): Likewise.
2688 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
2689 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
2690 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
2691 (strcpy): Likewise.
2692 (strstr): Likewise.
2693 (strchr): Likewise.
2694 (strncpy): Likewise.
2695 (strcat): Likewise.
2696 (strncat): Likewise.
2697 (strcoll): Likewise.
2698 * include/grub/types.h (GRUB_SHRT_MAX): New define.
2699 (GRUB_INT_MAX): Likewise.
2700
db7337a3
VS
27012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
2704 unexpected error.
2705 (optimize_utf8): Likewise.
2706 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
2707
f37c87e1
VS
27082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/boot/i386/pc/lnxboot.S: Use
2711 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
2712 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
2713 location.
2714 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
2715 definition.
2716 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
2717
63fe43f3
VS
27182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
2721 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
2722 now to avoid double free.
2723 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
2724 hostdisk.
2725 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
2726 * util/grub-probe.c (escape_of_path): Always return a new copy.
2727 (print_full_name): Escape path.
2728 (probe): Don't call grub_util_devname_to_ofpath on NULL.
2729 Fix hints on abstractions.
2730
ebe2c961
VS
27312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
2734 Don't add "root" line if no compatibility hont is available.
2735 Suggested by: Seth Goldberg.
2736
2b5336a2
VS
27372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
2740 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
2741 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
2742 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
2743
74310bd8
VS
27442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
2747
c30582ba
VS
27482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * util/grub-pe2elf.c (ehdr): Make static.
2751 (shdr): Likewise.
2752 (num_sections): Likewise.
2753 (offset): Likewise.
2754
5f47782c
VS
27552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 Eliminate ofpath limits and possible overflows.
2758
2759 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
2760 (OF_PATH_MAX): Removed.
2761 (MAX_DISK_CAT): New const.
2762 (find_obppath): Use allocated rather than preallocated buffer.
2763 Return result. Argument of_path removed. All users updated.
2764 Add missing fdstat.
2765 (xrealpath): New function.
2766 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
2767 Allocate rather than use preallocated buffer. All users updated.
2768 (__of_path_common): Use allocated rather than preallocatecd buffer.
2769 Return result. Argument of_path removed. All users updated.
2770 (vendor_is_ATA): Read only needed part form the file.
2771 (check_sas): Allocate depending on contents rather than fixed.
2772 (main) [STANDALONE]: Handle NULL result.
2773
f990cbf9
VS
27742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/normal/completion.c (iterate_dev): Close the disk.
2777
9c6e84b8
VS
27782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Cryptodisk write support.
2781
2782 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
2783 (grub_cryptodisk_decrypt): Moved logic to ...
2784 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
2785 (grub_cryptodisk_write): Implement.
2786 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
2787 (grub_util_fd_write): ... this. Make global.
2788 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
2789
87cf9744
VS
27902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * include/grub/list.h (grub_list_remove): Don't crash if element is
2793 removed twice.
2794
ca8c0baf
VS
27952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 Rename ofconsole to console.
2798
2799 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
2800 as sysnonym to console.
2801 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
2802 * grub-core/term/ieee1275/console.c: ... this. All users updated.
2803 Rename grub_ofconsole_ to grub_console_. All users updated
2804 (grub_console_term_output): Rename "ofconsole" to "console".
2805 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
2806 as "console".
2807
64c8b8f6
VS
28082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
2811 handling.
2812 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
2813 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
2814 GRUB_DISK_DEVICE_FILE_ID.
2815
f6c434d5
VS
28162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
2819 and improve performance.
2820
5858b42d
VS
28212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
2824 missing ieee1275/ prefix on whole disk.
2825
4ed3c26b
VS
28262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
2829 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
2830
df71143e
VS
28312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
2834
076e7c0f
VS
28352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 Merge common RAID and LVM logic to an abstract diskfilter.
2838 Add LDM support using the same framework.
2839
2840 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
2841 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
2842 (libgrubmods): Remove grub-core/disk/raid.c and
2843 grub-core/partmap/gpt.c.
2844 * grub-core/Makefile.core.def (ldm): New module.
2845 (raid): Renamed to diskfilter. All users updated.
2846 * grub-core/disk/raid.c: Moved to ...
2847 * grub-core/disk/diskfilter.c: ... here.
2848 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
2849 (lv_num): New var.
2850 (find_array): Renamed to ...
2851 (find_lv): ... this. Support multi-LV. Skip nameless LVs
2852 (grub_is_array_readable): Renamed to ...
2853 (grub_is_lv_readable): ... this. Support multinode hierarchy.
2854 (insert_array): New argument id.
2855 (is_node_readable): New function.
2856 (scan_device): Rename to ...
2857 (scan_disk): .. this. Restrict to one disk.
2858 (scan_devices): New function.
2859 (grub_diskfilter_iterate): Support multi-LV.
2860 Skip invisible and nameless LVs.
2861 (grub_diskfilter_memberlist): Support multi-LV.
2862 (grub_diskfilter_read_node): New function.
2863 (grub_raid_read): Most of logic moved to ...
2864 (read_segment): ... here
2865 (read_lv): New function.
2866 (grub_diskfilter_get_vg_by_uuid): New function.
2867 (grub_diskfilter_make_raid): Likewise.
2868 * grub-core/disk/ldm.c: New file.
2869 * grub-core/disk/lvm.c (vg_list): Removed.
2870 (lv_count): Likewise.
2871 (scan_depth): Likewise.
2872 (is_lv_readable): Likewise.
2873 (grub_lvm_getvalue): Advance pointer past the number.
2874 (find_lv): Removed.
2875 (do_lvm_scan): Refactored into ...
2876 (grub_lvm_detect): ... this. Support raid.
2877 (grub_lvm_iterate): Removed.
2878 (grub_lvm_memberlist): Likewise.
2879 (grub_lvm_open): Likewise.
2880 (grub_lvm_close): Likewise.
2881 (read_lv): Likewise.
2882 (read_node): Likewise.
2883 (is_node_readable): Likewise.
2884 (is_lv_readable): Likewise.
2885 (grub_lvm_read): Likewise.
2886 (grub_lvm_write): Likewise.
2887 (grub_lvm_dev): Use diskfilter
2888 (GRUB_MOD_INIT): Likewise.
2889 (GRUB_MOD_FINI): Likewise.
2890 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
2891 new interface.
2892 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
2893 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2894 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
2895 grub_diskfilter_read_node.
2896 Fix a bug with xor.
2897 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
2898 grub_diskfilter_read_node.
2899 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
2900 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
2901 (grub_disk_dev_iterate): Move from here...
2902 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
2903 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2904 Make global.
2905 (grub_hostdisk_find_partition_start): Likewise.
2906 (grub_hostdisk_os_dev_to_grub_drive): New function.
2907 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
2908 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
2909 * util/getroot.c (make_device_name): ... here.
2910 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2911 Move to ...
2912 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
2913 * grub-core/kern/emu/hostdisk.c
2914 (convert_system_partition_to_system_disk): Move to ...
2915 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
2916 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
2917 * util/getroot.c (device_is_wholedisk): ... here.
2918 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
2919 * util/getroot.c (find_system_device): ... here.
2920 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
2921 Move to ...
2922 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
2923 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2924 Move to ...
2925 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
2926 Handle LDM.
2927 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2928 Move to ...
2929 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
2930 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
2931 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
2932 DISKFILTER.
2933 * include/grub/raid.h: Renamed to ...
2934 * include/grub/diskfilter.h: ... this.
2935 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
2936 (GRUB_RAID_LAYOUT_*): Make into array.
2937 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
2938 (grub_diskfilter_vg): New struct.
2939 (grub_diskfilter_pv_id): Likewise.
2940 (grub_raid_member): Removed.
2941 (grub_raid_array): Likewise.
2942 (grub_diskfilter_pv): New struct.
2943 (grub_diskfilter_lv): Likewise.
2944 (grub_diskfilter_segment): Likewise.
2945 (grub_diskfilter_node): Likewise.
2946 (grub_diskfilter_get_vg_by_uuid): New proto.
2947 (grub_raid_register): Inline.
2948 (grub_diskfilter_unregister): Likewise.
2949 (grub_diskfilter_make_raid): New proto.
2950 (grub_diskfilter_vg_register): Likewise.
2951 (grub_diskfilter_read_node): Likewise.
2952 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
2953 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
2954 (grub_util_is_ldm): Likewise.
2955 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
2956 (grub_hostdisk_find_partition_start): Likewise.
2957 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
2958 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
2959 New definition.
2960 (grub_gpt_partition_map_iterate): New proto.
2961 * include/grub/lvm.h (grub_lvm_vg): Removed.
2962 (grub_lvm_pv): Likewise.
2963 (grub_lvm_lv): Likewise.
2964 (grub_lvm_segment): Likewise.
2965 (grub_lvm_node): Likewise.
2966 * util/getroot.c [...]
2967 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
2968 (probe_abstraction): Likewise.
2969 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
2970 (main): Remove dead logic.
2971
8a7f9b9c
VS
29722012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 Simplify root device discover and don't fail when trying to open
2975 incorrect devices.
2976
2977 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
2978 function.
2979 (get_diskname_from_path): Likewise.
2980 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
2981 of iterating.
2982
30545b85
VS
29832012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
2986
28ea58cf
VS
29872012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
2990 pastthe end.
2991
692dabca
VS
29922012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * util/grub-install.in: Add missing \.
2995 Reported by: gentoofan
2996
f6e4ea70
VS
29972012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3000 (direct_read): Use correct compressed size.
3001 (grub_squash_read_data): Likewise.
3002
30032012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3004
3005 * docs/grub.texi (Platform limitations): New section.
3006 (Platform-specific operations): Likewise.
3007 * docs/grub-dev.texi (Porting): Likewise.
3008
76261110
VS
30092012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 IEEE1275 disk write support.
3012
3013 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3014 const void *.
3015 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3016 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3017 and seek loginc to ...
3018 (grub_ofdisk_prepare): ... here.
3019 (grub_ofdisk_write): Implement.
3020
fc36d603
VS
30212012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 ARC disk write support.
3024
3025 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3026 (reopen): New argument writable. All users updated.
3027 Handle required access mode.
3028 (grub_arcdisk_write): Implement.
3029 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3030 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3031
e06c2e7a
VS
30322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3035 (read_sblock): Don't attempt to read superblocks outside the disk size.
3036
ff447958
VS
30372012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3040 first superblock to find the second one when possible.
3041
9e88df39
VS
30422012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * util/grub-install.in: Fix an ARC bug.
3045 Print a warning if no platform-specific setup is available.
3046
bb26e4ff
VS
30472012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 Use static allocation rather than scratch pointer in reed_solomon.
3050 It decreases its size significantly and avoids a variable in .text.
3051
3052 * grub-core/lib/reed_solomon.c (scratch): Removed.
3053 (chosenstat): New const or static array.
3054 (sigma): Likewise.
3055 (errpot): Likewise.
3056 (errpos): Likewise.
3057 (sy): Likewise.
3058 (mstat): Likewise.
3059 (errvals): Likewise.
3060 (eqstat): Likewise.
3061 (pol_evaluate): Replace x with log_x argument. All users updated.
3062 (syndroms): Removed.
3063 (gauss_solve): Use statically allocated arrays.
3064 (rs_recover): Likewise.
3065 Calculate syndroms directly.
3066 (decode_block): Use statically allocated arrays.
3067 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3068 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3069
2e13ede5
VS
30702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 Eliminate fixed limit on reed solomon decoder length.
3073
3074 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3075 rather than hardcoding the address.
3076 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3077 no_reed_solomon_length.
3078 Move gate_a20 to no-reed-solomon part.
3079 Don't force a particular size of no reed-solomon part.
3080 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3081 Removed.
3082 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3083 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3084
f8a9ab12
VS
30852012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * grub-core/commands/wildcard.c (match_files): Handle filenames
3088 without explicit device.
3089 (wildcard_expand): Don't add explicit device if not already present.
3090 * tests/grub_script_echo1.in: Add a new expansion test.
3091
87edb894
VS
30922012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Replace single-linked with double-linked lists. It results in more
3095 compact and more efficient code.
3096
3097 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3098 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3099 (grub_list_remove): Moved from here ...
3100 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3101 (grub_prio_list_insert): Set prev.
3102 * include/grub/list.h (grub_list): Add prev. All users updated.
3103
48b391e9
VS
31042012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 Handle newer autotools. Add some missing quotes while on it.
3107
3108 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3109 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3110 (pkgdata_DATA): ... here.
3111 * Makefile.util.def (update-grub_lib): Removed.
3112 * conf/Makefile.common (pkglib_DATA): Removed.
3113 (pkglib_SCRIPTS): Likewise.
3114 (pkgdata_DATA): New variable.
3115 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3116 needed.
3117 Add missing quotes.
3118 Remove unused variable while on it.
3119 * tests/util/grub-shell.in: Likewise.
3120 * util/grub-install.in: Likewise.
3121 * util/grub-mkconfig.in: Likewise.
3122 * util/grub-mknetdir.in: Likewise.
3123 * util/grub-mkrescue.in: Likewise.
3124 * util/grub-mkstandalone.in: Likewise.
3125 * util/grub.d/00_header.in: Likewise.
3126 * util/grub.d/10_hurd.in: Likewise.
3127 * util/grub.d/10_illumos.in: Likewise.
3128 * util/grub.d/10_kfreebsd.in: Likewise.
3129 * util/grub.d/10_linux.in: Likewise.
3130 * util/grub.d/10_netbsd.in: Likewise.
3131 * util/grub.d/10_windows.in: Likewise.
3132 * util/grub.d/20_linux_xen.in: Likewise.
3133 * util/grub.d/30_os-prober.in: Likewise.
3134 * util/update-grub_lib.in: Removed.
3135
31362012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3137
3138 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3139 a workaround for intel problem.
3140
66832792
PRP
31412012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
31422012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
31432012-01-23 pfsmorigo
3144
3145 * util/grub-install.in: Support dd'in into PreP partition.
3146 * util/grub-probe.c (probe): Support discovering partition type.
3147 (main): Support -t msdos_parttype.
3148
7816a17e
VS
31492012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3152 infinite recursion using counter.
3153 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3154 init to skip it if the magic check fails.
3155 (dec_stream_header): Init s->crc32.
3156
8f9d3a8c
ZB
31572012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31582012-01-22 Zachary Bedell <pendorbound@gmail.com>
31592012-01-22 Richard Laager <rlaager@wiktel.com>
3160
3161 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3162 All users updated.
3163 (find_bestub): Determine correct size.
3164 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3165 (scan_disk): Align the size down.
3166 Call check pool before find_bestub to have ashift.
3167
b055dd32
VS
31682012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3171 dprintf in no-malloc zone.
3172
d779e9bd
ML
31732012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3174
3175 * configure.ac: Add back in test for limits.h.
3176
b508af69
VS
31772012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 Support 4K-sector NTFS.
3180
3181 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3182 (grub_ntfs_data): Remove blocksize.
3183 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3184 Remove data argument. All users updated.
3185
dad9c8b5
VS
31862012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3189 being in .text to avoid dprel references.
3190 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3191 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3192 (grub_arch_highmemsize): Likewise.
3193 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3194 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3195 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3196
d43a777e
VS
31972012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3200
3201 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3202 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3203
34e4208f
VS
32042012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3207 GRUB_UTIL.
3208 (grub_set_datetime_cmos): Likewise.
3209
3ec0fc1c
VS
32102012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 Make XZ compression parameters dependent on target and not host CPU.
3213
3214 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3215 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3216
22489834
VS
32172012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3220 set but not used variable.
3221
8502fbca
VS
32222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3225 created when no uuid support is compiled into mkfs.reiser.
3226
76df2068
VS
32272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3230 (utf8_to_macroman): Do the opposite.
3231 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3232
64e3f8f6
VS
32332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * configure.ac: Refise build qemu_mips w/o unifont.
3236
9c271078
VS
32372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 Eliminate grub_min/grub_max prone to overflow usage.
3240
3241 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3242 (poll_nonroot_hub): Likewise.
3243 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3244 (grub_affs_label): Likewise.
3245 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3246 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3247 (grub_hfs_label): Likewise.
3248 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3249 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3250 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3251 (zap_leaf_array_get): Likewise.
3252 (dnode_get_path): Likewise.
3253 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3254 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3255 * grub-core/script/execute.c (grub_script_break): Likewise.
3256 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3257 grub_max.
3258 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3259 * include/grub/misc.h (grub_min): Removed.
3260 (grub_max): Likewise.
3261
80662dbc
VS
32622012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3263
3264 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3265 direct.inode = 0.
3266
e6da1467
VS
32672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3270
b1ac4cb1
VS
32712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3274
b4bf7c3b
VS
32752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3278 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3279
8ee1101a
VS
32802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3283 rather than a hack for grub_strncasemap.
3284
32852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 Support multiple initrds
3288 Note: part of this was accidently committed in r3739.
3289
3290 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3291 initrd.
3292 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3293 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3294 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3295 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3296 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3297
4d1e2bc9
VS
32982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3301 disks with unknown size.
3302 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3303
75b49ebe
VS
33042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 Remove defines pertaining to arbitrary limits not affecting GRUB
3307 anymore.
3308
3309 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3310 (EXT2_MAX_SYMLINKCNT): Likewise.
3311 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3312 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3313 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3314 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3315 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3316 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3317 (DN_MAX_OBJECT_SHIFT): Likewise.
3318 (DN_MAX_OFFSET_SHIFT): Likewise.
3319 (DN_MAX_OBJECT): Likewise.
3320 (DNODES_PER_LEVEL_SHIFT): Likewise.
3321 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3322 (SPA_MAXBLOCKSIZE): Likewise.
3323 (SPA_BLOCKSIZES): Likewise.
3324 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3325 (MZAP_MAX_BLKSZ): Likewise.
3326
74a1dce7
VS
33272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3330 handle NULL appropriately.
3331 Remove MIN.
3332
30c7d3ce
VS
33332012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 Fix efiemu.
3336
3337 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3338 cpu/types.h.
3339 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3340 * configure.ac: Fix efiemu check.
3341
3c76ea0c
VS
33422012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3345 grub_probe.
3346 Reported by: adamwill
3347
7e532280
SG
33482012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3349
3350 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3351
30492374
VS
33522012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 Fix handling of wide characters in gfxterm.
3355
3356 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3357 (clear_char): Likewise.
3358 (paint_char): Skip code == NULL chars.
3359 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3360
e70cb72f
VS
33612012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/normal/charset.c: Move comment to right place.
3364
5c827cf9
VS
33652012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3368 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3369 (grub_affs_mount): Revert the correct version checking.
3370
53603892
VS
33712012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * docs/grub.texi (Unicode): Mention several other unsupported features.
3374
ff094b9b
VS
33752011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3378 case statements as compile-time one.
3379 (direct_read): Prevent spurious warnings.
3380 (grub_squash_read_data): Likewise.
3381
c029da8a
VS
33822011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 Various squash4 fixes and LZO and XZ support.
3385
3386 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3387 Add xzembed source files.
3388 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3389 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3390 (grub_squash_inode): New subtype long_dir.
3391 (SQUASH_TYPE_LONG_DIR): New inode type.
3392 (COMPRESSION): New enum.
3393 (XZBUFSIZ): New const.
3394 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3395 (read_chunk): Use data->decompress.
3396 (zlib_decompress): New function.
3397 (lzo_decompress): Likewise.
3398 (xz_decompress): Likewise.
3399 (squash_mount): Set new data fields.
3400 (grub_squash_iterate_dir): Handle long dir.
3401 (squash_unmount): Free xzdec and xzbuf.
3402 (grub_squash_open): Check ino type.
3403 (direct_read): Stylistic fixes. Use data->decompress.
3404 (grub_squash_read_data): Likewise.
3405 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3406 (get_byte): Likewise.
3407 (grub_zlib_disk_read): Removed.
3408 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3409 (GRUB_POSIX_BOOL_DEFINED): New define.
3410 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3411 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3412 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3413 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3414
7a45a539
VS
34152011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 Don't override more informative errors.
3418
3419 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3420 * grub-core/font/font.c (open_section): Likewise.
3421 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3422 filename. Don't override errors.
3423 (grub_cmd_openbsd_ramdisk): Don't override errors.
3424 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3425 (grub_cmd_initrd): Likewise.
3426 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3427 (grub_cmd_initrd): Likewise.
3428 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3429 (grub_cmd_linux): Likewise.
3430 (grub_cmd_initrd): Likewise.
3431 (grub_cmd_payload): Likewise.
3432 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3433 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3434 (grub_cmd_module): Likewise.
3435 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3436 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3437 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3438 (grub_cmd_xnu_mkext): Likewise.
3439 (grub_cmd_xnu_ramdisk): Likewise.
3440 (grub_xnu_check_os_bundle_required): Likewise.
3441 (grub_xnu_load_kext_from_dir): Likewise.
3442 (grub_cmd_xnu_kextdir): Likewise.
3443 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3444
b2d004db
VS
34452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3448 as 1024 in block size field. Found on one of my test images.
3449 Small optimisation while on it.
3450
ec000eac
VS
34512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3454 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3455 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3456 performance fixes while on it.
3457 (grub_sfs_close): Fix memory leak while on it.
3458 (grub_sfs_label): Convert Latin1 to UTF-8.
3459
f50e1165
VS
34602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3463 space to avoid overflows.
3464 (grub_hfs_label): Convert from macroman to UTF-8.
3465
2ae254de
VS
34662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3469
0108f491
VS
34702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3473
f45f5f89
VS
34742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * unicode: Import Unicode 6.0 data.
3477
4d8c4765
VS
34782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3479
63fa8ef9
VS
3480 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3481 outside of range.
3482
34832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3486
3487 * include/grub/charset.h (grub_getend): New function.
3488 * grub-core/script/function.c (grub_script_function_find): Use
3489 grub_getend.
3490 * grub-core/normal/completion.c (add_completion): Likewise.
3491
f3cb4a4e
VS
34922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3495 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3496 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3497 (GRUB_UNICODE_TAG_END): Likewise.
3498 (GRUB_UNICODE_LAST_VALID): Likewise.
3499
5da8dbc5
VS
35002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3503 len and make it smaller. All users updated.
3504 * util/import_unicode.py: Put length and not end character.
3505 Check length.
3506
8569f13d
VS
35072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 Make better Unicode-compliant and unify some UTF-8 code pathes.
3510
3511 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3512 valid character.
3513 (grub_is_valid_utf8): Use grub_utf8_process.
3514 Check resulting code range.
3515 (grub_utf8_to_ucs4): Use grub_utf8_process.
3516 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3517 valid character.
3518
cc4fddf5
VS
35192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3522
bbc47747
VS
35232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * docs/grub.texi (Filesystems): Mention AFS.
3526
f63d6bf4
VS
35272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * docs/grub.texi (Filesystems): Clarify restrictions.
3530 (Regexp): Mention non-Unicode regexp behaviour.
3531 (Other): Mention non-Unicode matching behaviour.
3532
74bbf0db
VS
35332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3534
f63d6bf4 3535 Make HFS implementation use MacRoman.
74bbf0db
VS
3536
3537 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3538 (macroman): New const array.
3539 (macroman_to_utf8): New function.
3540 (utf8_to_macroman): Likewise.
3541 (grub_hfs_find_dir): Use utf8_to_macroman.
3542 (grub_hfs_dir): Use macroman_to_utf8.
3543 Set case_insensitive.
3544
4ea0316e
VS
35452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3548
d3c13cbd
VS
35492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 Integrate hints into autogeneration scripts.
3552
3553 * docs/grub.texi (Filesystems): Add a hostdisk example.
3554 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3555 (grub-probe): Add ofpath.
3556 * gentpl.py: Remove group nosparc64.
3557 * grub-core/commands/search.c (cache_entry): New struct.
3558 (cache): New var.
3559 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3560 * grub-core/commands/search_wrap.c (options): Add platform-specific
3561 hint options.
3562 (grub_cmd_search): Handle platform-specific hints.
3563 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3564 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3565 (grub_util_biosdisk_data): Likewise.
3566 (grub_util_biosdisk_open): Set device_map.
3567 (read_device_map): Handle "" as indication of no map.
3568 Set device_map.
3569 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3570 (grub_util_biosdisk_get_compatibility_hint): New function.
3571 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3572 * include/grub/emu/hostdisk.h
3573 (grub_util_biosdisk_get_compatibility_hint): New proto.
3574 * util/grub-install.in: Don't call grub-mkdevicemap.
3575 Add platform-specific hint to load.cfg.
3576 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3577 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3578 hints. Set root preliminary to compatibility hint, not to OS name.
3579 * util/grub-probe.c (PRINT_*): Add hints.
3580 (print): Make static.
3581 (escape_of_path): New function.
3582 (guess_bios_drive): Likewise.
3583 (guess_efi_drive): Likewise.
3584 (guess_baremetal_drive): Likewise.
3585 (print_full_name): Likewise.
3586 (probe): Handle hints.
3587 (main): Likewise.
3588 * util/ieee1275/devicemap.c: Removed.
3589 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3590 updated.
3591 (grub_util_devname_to_ofpath): Return NULL on failure.
3592
3593 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3594 resource leak.
3595 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3596
3597 * po/POTFILES.in: Regenerated.
3598
3599 Allow purely long options
3600
3601 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3602 (SHORT_ARG_USAGE): Likewise.
3603 (grub_arg_show_help): Compare opt with help_options.
3604 (parse_option): Receive opt as argument. If makes big simplificatons.
3605 All users updated
3606
00ce2df3
VS
36072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3610 Restructure to avoid warning.
3611
e77e325f
VS
36122011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * util/grub-install.in: Account for possible escaped comma in device
3615 name.
3616
165099ea
VS
36172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3620 channel.
3621
ce4a999d
VS
36222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3625 allocation and zero-setting.
3626 (grub_ieee1275_get_devname): Check that alias is complete.
3627
379586ad
VS
36282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3631 unaligned segments.
3632
9197b0ad
VS
36332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
3636 prefix.
3637 (grub_ofdisk_open): Check and discard ieee1275 prefix.
3638 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3639 Add ieee1275 prefix.
3640
edddb7f9
VS
36412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * docs/grub.texi (Filesystems): Update.
3644
a1a8b1b9
VS
36452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 Support odc, newc and bigendian cpio formats.
3648
3649 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
3650 * grub-core/Makefile.core.def (newc): New module.
3651 (odc): Likewise.
3652 (cpio_be): Likewise.
3653 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
3654 (MAGIC): Likewise.
3655 (MAGIC2): Likewise.
3656 (head) [MODE_ODC]: Adapt for the format.
3657 (head) [MODE_NEWC]: Likewise.
3658 (head) [!MODE_*]: Write fields of interest as arrays.
3659 (MAGIC_USTAR): Removed.
3660 (read_number) [MODE_NEWC]: Change to hex.
3661 (read_number) [!MODE_*]: Parse binary arrays.
3662 (grub_cpio_find_file): Factor out the code for better structure and
3663 always use read_number.
3664 (grub_cpio_mount): Use MAGIC and MAGIC2.
3665 (grub_cpio_dir): Exit on first hook non-0 return.
3666 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
3667 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
3668 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
3669 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
3670 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
3671 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
3672 * grub-core/fs/newc.c: New file.
3673 * grub-core/fs/odc.c: Likewise.
3674 * grub-core/fs/cpio_be.c: Likewise.
3675
58eba9ee
VS
36762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 Fix handling of tar numbers occupying the whole field.
3679
3680 * grub-core/fs/cpio.c (read_number): New function.
3681 (grub_cpio_find_file): Use read_number instead of strtoull.
3682
a54a0e12
VS
36832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
3686 occupying the whole field size.
3687
a6120aca
LA
36882011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
3689
3690 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
3691
a93964ce
VS
36922011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
3695
3ea1ca46
SG
36962011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
3697
3698 * grub-core/Makefile.core.def (lzma_decompress): Add missing
3699 TARGET_IMG_LDFLAGS.
3700
b87f7ef2
VS
37012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * util/getroot.c (ESCAPED_PATH_MAX): New define.
3704 (mountinfo_entry): Increase the field size to take escaping into
3705 account.
3706 (find_root_device_from_libzfs): Add one byte to size of strings for
3707 security.
3708
62092395
VS
37092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
3712 an assert.
3713 * util/grub-setup.c (setup): Likewise.
3714
1f0b1a77
VS
37152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
3718 _LzmaDecodeA.
3719
8eba9997
VS
37202011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * docs/grub.texi (Internationalisation): New section.
3723
dd0c91e9
VS
37242011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * docs/grub.texi (Loopback booting): New section.
3727
37282011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
3729
3730 * util/grub-mkstandalone.in: Fix minor typo errors.
3731
198e150a
VS
37322011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
3735
3736 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
3737 net/icmp.c and net/icmp6.c.
3738 (http): New module.
3739 (priority_queue): Likewise.
3740 * grub-core/io/bufio.c: Rewritten.
3741 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
3742 TYPE_WITH_CONFIGFILE_OPTION.
3743 (legacy_commands): Add bootp and dhcp.
3744 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
3745 (grub_legacy_parse): Likewise.
3746 * grub-core/lib/priority_queue.c: New file.
3747 * grub-core/net/arp.c: Add missing license header.
3748 (arp_find_entry): Removed.
3749 (arp_find_entry): Likewise.
3750 (grub_net_arp_resolve): Rename to ...
3751 (grub_net_arp_send_request): ...this.
3752 (grub_net_arp_receive): New card argument.
3753 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
3754 Set router and DNS server.
3755 (grub_net_configure_by_dhcp_ack): Handle routing information.
3756 (grub_cmd_bootp): Set checksum.
3757 (grub_bootp_init): Remove net_dhcp.
3758 * grub-core/net/dns.c: New file.
3759 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
3760 completion.
3761 (get_card_packet): Handle allocation.
3762 (grub_efinet_findcards): Set mtu.
3763 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
3764 (get_card_packet): Handle allocation.
3765 (emucard): Set mtu.
3766 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
3767 (GRUB_MOD_INIT): Set mtu.
3768 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
3769 mtu.
3770 (get_card_packet): Handle allocation.
3771 (grub_ofnet_findcards): Set mtu.
3772 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
3773 assert.
3774 (grub_net_recv_ethernet_packet): Handle IPv6.
3775 * grub-core/net/http.c: New file.
3776 * grub-core/net/icmp.c: Likewise.
3777 * grub-core/net/icmp6.c: Likewise.
3778 * grub-core/net/ip.c (ip6addr): New type.
3779 (ip6hdr): Likewise.
3780 (reassemble): Likewise.
3781 (cmp): New function.
3782 (reassembles): New variable.
3783 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
3784 (id): New variable.
3785 (send_fragmented): New function.
3786 (grub_net_send_ip_packet): Rename to ...
3787 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
3788 Handle non-UDP.
3789 (grub_net_recv_ip_packets): Rename to ...
3790 (handle_dgram): ... this. Check checksum. Handle non-UDP.
3791 (free_rsm): New function.
3792 (free_old_fragments): Likewise.
3793 (grub_net_recv_ip4_packets): New function.
3794 (grub_net_send_ip6_packet): Likewise.
3795 (grub_net_send_ip_packet): Likewise.
3796 (grub_net_recv_ip6_packets): Likewise.
3797 (grub_net_recv_ip_packets): Likewise.
3798 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
3799 (LINK_LAYER_CACHE_SIZE): New const.
3800 (link_layer_find_entry): New function.
3801 (grub_net_link_layer_add_address): Likewise.
3802 (grub_net_link_layer_resolve_check): Likewise.
3803 (grub_net_link_layer_resolve): Likewise.
3804 (grub_net_ipv6_get_slaac): Likewise.
3805 (grub_net_ipv6_get_link_local): Likewise.
3806 (grub_cmd_ipv6_autoconf): Likewise.
3807 (parse_ip): Handle one number representation.
3808 (parse_ip6): New functoion.
3809 (match_net): Handle IPv6.
3810 (grub_net_resolve_address): Handle IPv6 and DNS.
3811 (grub_net_resolve_net_address): Handle IPv6.
3812 (route_cmp): New function.
3813 (grub_net_route_address): Find best route.
3814 (grub_net_addr_to_str): Handle IPv6.
3815 (grub_net_addr_cmp): New function.
3816 (grub_net_add_addr): Register local route.
3817 (print_net_address): Handle net address.
3818 (grub_net_poll_cards): Retransmit TCP.
3819 (grub_net_poll_cards_idle_real): Likewise.
3820 (have_ahead): New function.
3821 (grub_net_seek_real): Use underlying seek.
3822 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
3823 * grub-core/net/tcp.c: New file.
3824 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
3825 (cmp): New function.
3826 (ack): Likewise.
3827 (tftp_receive): Handle unordered input.
3828 (destroy_pq): New function.
3829 (tftp_close): Close pq.
3830 * grub-core/net/udp.c: Put missing license header.
3831 (grub_net_udp_socket): New function.
3832 (udp_socket_register): Likewise.
3833 (grub_net_udp_close): Likewise.
3834 (grub_net_recv_udp_packet): Check checksum.
3835 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
3836 * include/grub/misc.h (grub_memchr): New function.
3837 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
3838 (grub_net_card_driver): Return buf in recv.
3839 (grub_net_slaac_mac_list): New struct.
3840 (grub_network_level_protocol_id): Add ipv6.
3841 (grub_net_network_level_addr): Likewise.
3842 (grub_net_network_level_net_addr): Likewise.
3843 (grub_net_app_protocol): Add seek.
3844 (grub_net_socket): Removed.
3845 (grub_net_sockets): Likewise.
3846 (grub_net_socket_register): Likewise.
3847 (grub_net_socket_unregister): Likewise.
3848 (FOR_NET_SOCKETS): Likewise.
3849 (grub_net_add_addr): Add const.
3850 (GRUB_NET_BOOTP_*): New enum.
3851 (grub_net_addr_cmp): New proto.
3852 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
3853 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
3854 (grub_net_hwaddr_to_str): NEw proto.
3855 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
3856 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
3857 (grub_dns_init): New proto.
3858 (grub_dns_fini): Likewise.
3859 (grub_net_tcp_retransmit): Likewise.
3860 (grub_net_link_layer_add_address): Likewise.
3861 (grub_net_link_layer_resolve_check): Likewise.
3862 (grub_net_link_layer_resolve): Likewise.
3863 (grub_net_dns_lookup): Likewise.
3864 (grub_net_add_dns_server): Likewise.
3865 (grub_net_remove_dns_server): Likewise.
3866 (GRUB_NET_TRIES): New const.
3867 (GRUB_NET_INTERVAL): Likewise.
3868 * include/grub/net/arp.h: Mostly rewritten.
3869 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
3870 * include/grub/net/ip.h: Mostly rewritten.
3871 * include/grub/net/netbuff.h: Indent.
3872 * include/grub/net/tcp.h: New file.
3873 * include/grub/net/udp.h: Mostly rewritten.
3874 * include/grub/priority_queue.h: New file.
3875 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
3876 (grub_swap_bytes64_compile_time): Likewise.
3877 (grub_cpu_to_be16_compile_time): Likewise.
3878 (grub_cpu_to_be32_compile_time): Likewise.
3879 (grub_cpu_to_be64_compile_time): Likewise.
3880 (grub_be_to_cpu64_compile_time): Likewise.
3881
215c1800
VS
38822011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
3885 UINT_TO_PTR with cast.
3886
c17e546c
VS
38872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
3890 don't use them.
3891
ff6b18b6
VS
38922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
3895 already there.
3896
70ffcc93
VS
38972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
3900 confusing ipxe.
3901
e5f4d260
VS
39022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
3905 Add missing const attribute.
3906 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
3907 Likewise.
3908 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
3909 Likewise.
3910
8e54b4b7
VS
39112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
3914 misaligned access.
3915 (serpent_setkey): Likewise.
3916 (serpent_encrypt_internal): Likewise.
3917 (serpent_decrypt_internal): Likewise.
3918 (serpent_encrypt): Don't put an alignment-increasing cast.
3919 (serpent_decrypt): Likewise.
3920 (serpent_test): Likewise.
3921
813c0a2b
VS
39222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
3925
f2b60fbd
VS
39262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
3929
3930 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
3931 grub_addr_t casts.
3932 (PTR_TO_UINT64): Likewise.
3933 (PTR_TO_UINT32): Likewise.
3934
5ef5c511
VS
39352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * util/grub-mkimage.c (generate_image): Decrease the higher limit
3938 because of stack.
3939 * util/grub-setup.c (setup): Don't add redundancy past the higher load
3940 limit.
3941
c476e6df
VS
39422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
3945 text_width > available width a bit more gracefully.
3946
384ad7cc
VS
39472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
3950 current address calculation.
3951
96f8caf8
VS
39522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
3955 stack.
3956 (encode_block): Likewise.
3957
276b7a8b
VS
39582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
3961 certainety.
3962
e3fd394a
VS
39632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
3966 non-RS part to avoid RS messing with GDT.
3967 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3968 Increase to suit in realmode routines.
3969
39702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * grub-core/kern/i386/realmode.S: Increase alignment.
3973 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
3974
ee9c2e7a
VS
39752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
3978 be deterministic.
3979 (syndroms): Compute 0 syndrom.
3980 (rs_recover): Use 0 syndrom.
3981
7a7f7cc9
VS
39822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
3985
a14b16d1
VS
39862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
3989 brackets.
3990
9f59e9fc
VS
39912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3992
ca1b552c
VS
3993 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
3994 account.
3995 (get_top_pad): Likewise.
3996 (get_right_pad): Likewise.
3997 (get_bottom_pad): Likewise.
3998
39992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4002
e739d698
VS
40032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4006 attribute as the structure isn't guaranteed to be properly aligned.
4007 (grub_efi_pci_device_path): Likewise.
4008 (grub_efi_pccard_device_path): Likewise.
4009 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4010 specify the size of `memory_type'.
4011 (grub_efi_vendor_device_path): Likewise.
4012 (grub_efi_controller_device_path): Likewise.
4013 (grub_efi_acpi_device_path): Likewise.
4014 (grub_efi_expanded_acpi_device_path): Likewise.
4015 (grub_efi_atapi_device_path): Likewise.
4016 (grub_efi_scsi_device_path): Likewise.
4017 (grub_efi_fibre_channel_device_path): Likewise.
4018 (grub_efi_1394_device_path): Likewise.
4019 (grub_efi_usb_device_path): Likewise.
4020 (grub_efi_usb_class_device_path): Likewise.
4021 (grub_efi_i2o_device_path): Likewise.
4022 (grub_efi_mac_address_device_path): Likewise.
4023 (grub_efi_ipv4_device_path): Likewise.
4024 (grub_efi_ipv6_device_path): Likewise.
4025 (grub_efi_infiniband_device_path): Likewise.
4026 (grub_efi_uart_device_path): Likewise.
4027 (grub_efi_vendor_messaging_device_path): Likewise.
4028 (grub_efi_hard_drive_device_path): Likewise.
4029 (grub_efi_cdrom_device_path): Likewise.
4030 (grub_efi_vendor_media_device_path): Likewise.
4031 (grub_efi_file_path_device_path): Likewise.
4032 (grub_efi_protocol_device_path): Likewise.
4033 (grub_efi_piwg_device_path): Likewise.
4034 (grub_efi_bios_device_path): Likewise.
4035
cb8f88ea
VS
40362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4039 (grub_ucs4_to_utf8_alloc): Likewise.
4040 (grub_ucs4_to_utf8): Likewise.
4041 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4042 (grub_ucs4_to_utf8_alloc): Likewise.
4043
309e5352
VS
40442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 AFFS never uses unicode.
4047
4048 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4049 (grub_latin1_to_utf8): New inline function.
4050 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4051
e7987e1b
VS
40522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4055 overflow.
4056
efc2616e
VS
40572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4060 (grub_squash_dirent_header): Likewise.
4061 (read_chunk): Don't double swap.
4062 (grub_squash_iterate_dir): Fix swap sizes.
4063
3c349f5a
VS
40642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4067
b453412d
VS
40682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4071 (grub_hfs_iterate_dir): Likewise.
4072
12e9d4d1
VS
40732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 Fix video on platforms where unaligned access is forbidden.
4076 Make several optimisations while on it.
4077
4078 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4079 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4080 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4081 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4082 Disable.
4083 (grub_video_fbblit_replace_16bit_1bit):
4084 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4085 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4086 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4087 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4088 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4089 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4090 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4091 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4092 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4093 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4094 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4095 (grub_video_fbblit_replace_index_RGB888): Likewise.
4096 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4097 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4098 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4099 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4100 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4101 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4102 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4103 Disable.
4104 (grub_video_fbblit_blend_XXX565_1bit):
4105 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4106 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4107 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4108 void *.
4109 * grub-core/video/fb/video_fb.c (common_blitter)
4110 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4111 (grub_video_fb_create_render_target_from_pointer)
4112 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4113 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4114 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4115 definition.
4116 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4117
ace96609
VS
41182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4121 HH22 and HM10 relocations.
4122
fd261d73
VS
41232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4126
e59b7857
VS
41272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4130 allocation succeeded.
4131
9b4baaa4
VS
41322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4135 argument a u8 pointer. All users updated.
4136 Handle unaligned buffers.
4137
dc713193
VS
41382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4141 add_part to workaround compiler bug.
4142
30dd48c2
VS
41432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4146
0c6087a8
VS
41472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4150 Reserve alignment invariants.
4151 (grub_multiboot_load): Likewise.
4152 (retrieve_video_parameters): Likewise.
4153 (grub_multiboot_make_mbi): Likewise.
4154
c2e77777
VS
41552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4158 incorrect pointer.
4159
b70b6d11
VS
41602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4163 (grub_pata_pio_write): Likewise.
4164
02a2bf83
VS
41652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 Add noreturn attributes and remove unreachable code.
4168
4169 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4170 code.
4171 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4172 code. Mark as noreturn.
4173 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4174 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4175 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4176 unreachable code.
4177 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4178 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4179 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4180 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4181 * include/grub/kernel.h (grub_main): Mark as noreturn.
4182 * include/grub/reader.h (grub_rescue_run): Likewise.
4183
2019d09e
VS
41842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4187 redundant declaration.
4188
d1c501ee
VS
41892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4192 redundant declaration.
4193 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4194
61664420
VS
41952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4198 to ensure alignment.
4199 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4200 alignment. Ensure tmp alignment.
4201 (grub_cmd_hdparm): Ensure buf alignment.
4202 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4203 to ensure alignment.
4204 (grub_ata_dumpinfo): Ensure text alignment.
4205 (grub_atapi_identify): Preserve alignment invariant.
4206 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4207
0d51ee20
VS
42082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4211 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4212 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4213 * include/grub/misc.h (grub_reboot)
4214 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4215 (grub_halt) [__mips__]: Likewise.
4216
753ef8c1
VS
42172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4220 Remove redundant declaration.
4221 (grub_mmap_get_post64): Likewise.
4222 (grub_mmap_get_upper): Likewise.
4223 (grub_mmap_get_lower): Likewise.
4224
85c85365
VS
42252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4228 uint32_t * to ensure alignment.
4229 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4230
a23f2cc4
VS
42312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4232
93018f64
VS
4233 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4234 uint16_t * to ensure alignment.
4235 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4236 alignment.
4237
42382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4241 to ensure alignment.
4242 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4243
58acccd6
VS
42442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4247 Handle unaligned pointers.
4248 (u32at): Likewise.
4249 (u64at): Likewise.
4250 (fixup): Use byte access instead of v16at.
4251 (find_attr): Fix imporper usage of v32at.
4252 (read_data): Likewise.
4253 (list_file): Handle byte-swapping and unaligned strings.
4254 (grub_ntfs_label): Likewise.
4255
9b05cad7
VS
42562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4259 as it's not necessarily aligned.
4260
b3950b84
VS
42612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4264 redundant declaration.
4265 (grub_serial_init): Likewise.
4266 (grub_terminfo_init): Likewise.
4267
fcd232b7
VS
42682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4271 function.
4272 (ZAP_HASH_IDX): Likewise.
4273 (ZAP_LEAF_HASH_SHIFT): Likewise.
4274 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4275 (LEAF_HASH): Likewise.
4276 (ZAP_LEAF_NUMCHUNKS): Likewise.
4277 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4278 alignment invariants. Return pointer. All users updated.
4279 (ZAP_LEAF_ENTRY): Make into inline function.
4280 (NBBY): Removed.
4281 (xor): LIkewise.
4282 (xor_out): Use grub_crypto_xor.
4283 (dnode_get_path): Use grub_get_unaligned.
4284 (nvlist_find_value): Likewise.
4285 (grub_zfs_nvlist_lookup_uint64): Likewise.
4286 (grub_zfs_nvlist_lookup_string): Likewise.
4287 (get_nvlist_size): Likewise.
4288 (grub_zfs_open): Likewise.
4289 (fill_fs_info): Likewise.
4290 (grub_zfs_dir): Likewise.
4291 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4292 alignment invariants.
4293 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4294 necessarily aligned.
4295
f138623a
VS
42962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4299
564840dc
VS
43002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4303 arithmetic to conserve alignment invariants.
4304
9b40df20
VS
43052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4308 redundant declaration.
4309 (grub_efiemu_mm_obtain_request): Likewise.
4310 (grub_efiemu_prepare): Likewise.
4311
d1c930f9
VS
43122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4315 to match types.
4316
4c5f3056
VS
43172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4320 case of aunaligned recptr.
4321 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4322 alignment.
4323 (grub_hfsplus_btree_search): Handle unaligned index.
4324
728cba91
VS
43252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4328 to get freetag and skip.
4329
eb561f31
VS
43302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4333 array.
4334 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4335 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4336
20993fbb
VS
43372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4340 name for checksum and fix allocation algorithm.
4341
1f313b94
VS
43422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * include/grub/types.h (grub_properly_aligned_t): New type.
4345 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4346 (grub_get_unaligned16): Add explicit casts.
4347 (grub_get_unaligned32): Likewise.
4348 (grub_get_unaligned64): Likewise.
4349 (grub_set_unaligned16): New function.
4350 (grub_set_unaligned32): Likewise.
4351
47ae27ec
VS
43522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4355
78c2cd1c
VS
43562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4359 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4360 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4361
53072f9b
VS
43622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4365 conditionals.
4366
055dc239
VS
43672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4370 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4371
496bd074
VS
43722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 Unify and improve RAID and crypto xor.
4375
4376 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4377 changed to grub_crypto_xor
4378 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4379 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4380 Use bigger types when possible.
4381
ef6e4335
VS
43822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * grub-core/disk/raid.c (scan_devices): Fix condition.
4385
5d048bf2
VS
43862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4389 Make name a const ptr.
4390
ee533335
VS
43912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4394 first argument a const pointer.
4395 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4396 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4397 proto.
4398 (grub_children_iterate): Likewise.
4399 (grub_machine_mmap_iterate): Remove redundant declaration.
4400
cc8f3668
VS
44012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4404 (grub_cmd_acpi) [!x86]: Disable EBDA.
4405
c5fc563a
VS
44062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 Enable UTF8 in gnulib regexp.
4409
4410 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4411 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4412 (isupper): Use grub_isupper.
4413 (isascii): New inline function.
4414 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4415 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4416 * grub-core/normal/charset.c (grub_utf8_process): New function.
4417 (grub_utf8_to_utf16): Use grub_utf8_process.
4418 (grub_encode_utf8_character): New function.
4419 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4420 * include/grub/charset.h (grub_utf8_process): New declaration.
4421 (grub_encode_utf8_character): Likewise.
4422 * include/grub/misc.h (grub_islower): New inline function.
4423 (grub_isupper): Likewise.
4424 (grub_strchrsub): Moved down to fix the definitions.
4425
0af2346f
VS
44262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4429 specification.
4430
74dbd244
VS
44312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * include/grub/loader.h (grub_loader_register_preboot_hook):
4434 Use struct preboot * and not void * for handle. All users updated.
4435 (grub_loader_unregister_preboot_hook): Likewise.
4436
1bc8f60d
VS
44372011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4440 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4441 UTF-16-BE. All users updated.
4442 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4443 (grub_hfsplus_iterate_dir): Likewise.
4444 (grub_hfsplus_label): Likewise.
4445
48d6e456
VS
44462011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4449
bf3a3857
VS
44502011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 Add missing const qualifiers.
4453
4454 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4455 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4456 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4457 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4458 (grub_lvm_check_flag): Likewise.
4459 * grub-core/efiemu/i386/coredetect.c
4460 (grub_efiemu_get_default_core_name): Likewise
4461 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4462 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4463 * grub-core/fs/ntfs.c (fixup): Likewise.
4464 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4465 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4466 (fzap_lookup): Likewise.
4467 (zap_lookup): Likewise.
4468 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4469 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4470 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4471 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4472 (grub_freebsd_add_meta_module): Likewise.
4473 (grub_cmd_freebsd_module): Likewise.
4474 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4475 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4476 (grub_xnu_writetree_get_size): Likewise.
4477 (grub_xnu_writetree_toheap_real): Likewise.
4478 (grub_xnu_find_key): Likewise.
4479 (grub_xnu_create_key): Likewise.
4480 (grub_xnu_create_value): Likewise.
4481 (grub_xnu_register_memory): Likewise.
4482 (grub_xnu_check_os_bundle_required): Likewise.
4483 (grub_xnu_scan_dir_for_kexts): Likewise.
4484 (grub_xnu_load_kext_from_dir): Likewise.
4485 * grub-core/normal/color.c (color_list): Likewise.
4486 * grub-core/normal/completion.c (current_word): Likewise.
4487 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4488 * grub-core/term/serial.c (grub_serial_find): Likewise.
4489 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4490 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4491 Likewise.
4492 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4493 (grub_freebsd_add_meta_module): Likewise.
4494 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4495 * include/grub/net.h (grub_net_card_driver): Likewise.
4496 (grub_net_card): Likewise.
4497 (grub_net_app_protocol): Likewise.
4498 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4499 * include/grub/serial.h (grub_serial_find): Likewise.
4500 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4501 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4502 (grub_xnu_create_value): Likewise.
4503 (grub_xnu_find_key): Likewise.
4504 (grub_xnu_scan_dir_for_kexts): Likewise.
4505 (grub_xnu_load_kext_from_dir): Likewise.
4506
4507 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4508 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4509 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4510 Moved from here ...
4511 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4512
112b4837
CW
45132011-11-28 Colin Watson <cjwatson@ubuntu.com>
4514
4515 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4516
49e891ac
VS
45172011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4520 (read_device): Fix size calculation.
4521
fd258e5c
RM
45222011-11-25 Robert Millan <rmh@gnu.org>
4523
4524 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4525 (find_root_device_from_libzfs): Add zpool output parser to be used
4526 as fallback when libzfs isn't available.
4527
78845dc2
SG
45282011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4529
4530 * po/Makefile.in.in: Add missing escape-continuation.
4531
adac5211
VS
45322011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4535
10b64f1c
VS
45362011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4539
bb416954
VS
45402011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4543
bdfe9eeb
VS
45442011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4547
581ffa8a
VS
45482011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * grub-core/lib/adler32.c: Add missing license specification.
4551 * grub-core/lib/crc64.c: Likewise.
4552 * grub-core/loader/i386/pc/plan9.c: Likewise.
4553 * grub-core/partmap/plan.c: Likewise.
4554
2536cf64
LK
45552011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4556
4557 Add facility to debug GRUB with gdb under qemu.
4558
4559 * grub-core/gdb_grub.in: New file.
4560 * grub-core/gmodule.pl.in: Likewise.
4561 * grub-core/Makefile.core.def (gmodule.pl): New script.
4562 (gdb_grub): Likewise.
4563
bc108a4a
VS
45642011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * util/grub-mount.c (argp_parser): Accept relative pathes.
4567 * util/grub-fstest.c (argp_parser): Likewise.
4568
111c1778
VS
45692011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Plan9 support.
4572
4573 * Makefile.util.def (libgrubmods): Add
4574 grub-core/partmap/plan.c.
4575 * docs/grub.texi: Notice Plan9 support.
4576 * grub-core/Makefile.core.def (plan9): New module.
4577 (part_plan): Likewise.
4578 * grub-core/loader/i386/pc/plan9.c: New file.
4579 * grub-core/partmap/plan.c: Likewise.
4580 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4581 define.
4582 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4583 * include/grub/mm.h (grub_extend_alloc): New inline function.
4584
c30be3b6
VS
45852011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 Make Reed-Solomon faster by using power of generator representation of
4588 GF(256)*.
4589
4590 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4591 (gf_double_t): Likewise.
4592 (gf_invert): Removed.
4593 (gf_powx): New array.
4594 (gf_powx_inv): Likewise.
4595 (scratch): Move higher.
4596 (gf_reduce): Removed.
4597 (gf_mul): Use powx.
4598 (gf_invert): Likewise.
4599 (init_inverts): Replaced with ...
4600 (init_powx): ...this. All users updated.
4601 (pol_evaluate): Replace multiplications with additions.
4602 (rs_encode): Likewise.
4603 (gauss_eliminate): Call gf_invert.
4604 (grub_reed_solomon_add_redundancy): Call init_powx.
4605 (grub_reed_solomon_recover): Call init_powx unconditionally.
4606
fa5aeffc
VS
46072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4610
a346b81c
VS
46112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4614 disk->partiton for safety.
4615
d89ee414
VS
46162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4619 Fix a memory leak.
4620 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4621
91ee7b6d
VS
46222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4625
91e5a33d
VS
46262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4629
9edd7be2
VS
46302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 Fix spaces handling in proc/self/mountinfo.
4633
4634 * util/getroot.c (unescape): New function.
4635 (grub_find_root_device_from_mountinfo): Use unescape.
4636
ba102053
VS
46372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 Support ZFS embedding.
4640
4641 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
4642 (grub_zfs_fs): Register grub_zfs_embed.
4643
aa94b870
VS
46442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 Fix MIPS compilation.
4647
4648 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
4649 * include/grub/offsets.h: Rename decompressor fields from
4650 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
4651 * util/grub-mkimage.c (image_targets): Use new names.
4652
5fbdac14
VS
46532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 Defer multiboot device parsing until we're in compressed part.
4656
4657 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
4658 bsd_part. setdevice has fallen into disuse.
4659 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
4660 (bsd_part): Likewise.
4661 (boot_dev): New variable.
4662 (multiboot_trampoline): Don't parse multiboot device.
4663 Pass multiboot device in %edx.
4664 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
4665 grub_boot_device.
4666 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
4667 Likewise.
4668 * grub-core/kern/i386/pc/startup.S: Save edx.
4669 (grub_boot_drive): Removed.
4670 (grub_install_dos_part): Likewise.
4671 (grub_install_bsd_part): Likewise.
4672 (grub_boot_device): New variable.
4673 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
4674 (grub_install_bsd_part): Likewise.
4675 (grub_boot_drive): Likewise.
4676 (grub_boot_device): New variable.
4677 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
4678 Removed.
4679 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4680 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
4681 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
4682 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
4683 * util/grub-install.in: Remove redundant condition.
4684
691cbb58
VS
46852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 Fix bug introduced by previous commit.
4688
4689 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
4690
60240b8b
VS
46912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 Use decompressors framework on i386-pc. It increases core size
4694 by 46 bytes but improves compatibility and maintainability.
4695
4696 * grub-core/Makefile.core.def (lzma_decompress): New image.
4697 (kernel): Add i386_pc_ldflags.
4698 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
4699 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
4700 to real_to_prot, prot_to_real and device info.
4701 * include/grub/offsets.h: Renamed decompressor offsets.
4702 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
4703 (image_target_desc): Remove raw_size and rename decompressor fields.
4704 (compress_kernel): Handle lzma.
4705 (generate_image): Handle decompressors on i386-pc.
4706
e9d3421c
VS
47072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * configure.ac: Add -fno-asynchronous-unwind-tables.
4710
2b23074a
VS
47112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 Move assembly code to C by using intwrap. It increases core size
4714 by 88 bytes but improves compatibility and maintainability.
4715
4716 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
4717 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
4718 ... here. Translated to C.
4719 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
4720 * grub-core/term/i386/pc/console.c (grub_console_getkey):
4721 ... here. Translated to C.
4722 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
4723 * grub-core/term/i386/pc/console.c (grub_console_getxy):
4724 ... here. Translated to C.
4725 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
4726 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
4727 ... here. Translated to C.
4728 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
4729 * grub-core/term/i386/pc/console.c (grub_console_cls):
4730 ... here. Translated to C.
4731 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
4732 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
4733 ... here. Translated to C.
4734 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
4735 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
4736 Translated to C.
4737 * grub-core/term/i386/pc/console.c (int10_9): New function.
4738 (grub_console_putchar): Likewise.
4739 * include/grub/i386/pc/console.h: Removed the not anymore shared
4740 functions.
4741
678f4b67
VS
47422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 Move grub_chainloader_real_boot out of the kernel.
4745
4746 * grub-core/Makefile.am: Remove machine/loader.h.
4747 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4748 Removed.
4749 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
4750 variable.
4751 (grub_relocator16_keep_a20_enabled): Likewise.
4752 (grub_relocator16_boot): Fill new variables.
4753 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
4754 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
4755 relocator.
4756 (grub_chainloader_unload): Likewise.
4757 (grub_chainloader_cmd): Likewise.
4758 * include/grub/i386/pc/loader.h: Removed.
4759 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
4760 and esi. All initialisers updated.
4761
4626edf6
VS
47622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
47632011-11-12 Colin Watson <cjwatson@ubuntu.com>
4764
4765 * Makefile.util.def (grub-mount): New util.
4766 * .bzrignore: Add grub-mount.
4767 * configure.ac: Check for fuse and enable grub-mount if available.
4768 * docs/man/grub-mount.h2m: New file.
4769 * util/grub-mount.c: Likewise.
4770
10f0117b
VS
47712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/commands/efi/fixvideo.c: Gettextize.
4774 * grub-core/commands/hashsum.c: Likewise.
4775 * grub-core/commands/i386/cmostest.c: Likewise.
4776 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4777 * grub-core/commands/i386/pc/lsapm.c: Likewise.
4778 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4779 * grub-core/commands/lsmmap.c: Likewise.
4780 * grub-core/commands/menuentry.c: Likewise.
4781 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4782 * grub-core/commands/setpci.c: Likewise.
4783 * grub-core/loader/i386/bsd.c: Likewise.
4784 * grub-core/loader/i386/linux.c: Likewise.
4785 * util/getroot.c: Likewise.
4786 * util/grub-editenv.c: Likewise.
4787 * util/grub-fstest.c: Likewise.
4788 * util/grub-mkfont.c: Likewise.
4789 * util/grub-mkimage.c: Likewise.
4790 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4791 * util/grub-pe2elf.c: Likewise.
4792 * util/grub-probe.c: Likewise.
4793 * util/grub-setup.c: Likewise.
4794 * util/ieee1275/ofpath.c: Likewise.
4795 * util/misc.c: Likewise.
4796 * util/raid.c: Likewise.
4797
566f779b
RM
47982011-11-11 Robert Millan <rmh@gnu.org>
4799
4800 * util/getroot.c (grub_util_get_geom_abstraction): Remove
4801 __attribute__((unused)) from `os_dev', which *is* being used.
4802
b50787de
VS
48032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
4806 forgotten define.
4807 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
4808 GRUB_IA64_DL_GOT_ALIGN.
4809 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
4810 GRUB_IA64_DL_TRAMP_ALIGN.
4811
119d11c8
VS
48122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Replace grub_fatal with normal errors in i386 linux loader.
4815
4816 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
4817 (allocate_pages): Check find_efi_mmap_size return value.
4818 (grub_e820_add_region): Return error.
4819 (grub_linux_boot): Check mmap return value.
4820
6e0632e2
VS
48212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/commands/acpihalt.c: Gettextized.
4824 * grub-core/commands/cacheinfo.c: Likewise.
4825 * grub-core/commands/cmp.c: Likewise.
4826 * grub-core/commands/efi/loadbios.c: Likewise.
4827 * grub-core/commands/gptsync.c: Likewise.
4828 * grub-core/commands/ieee1275/suspend.c: Likewise.
4829 * grub-core/commands/legacycfg.c: Likewise.
4830 * grub-core/commands/memrw.c: Likewise.
4831 * grub-core/commands/minicmd.c: Likewise.
4832 * grub-core/commands/parttool.c: Likewise.
4833 * grub-core/commands/time.c: Likewise.
4834 * grub-core/commands/videoinfo.c: Likewise.
4835 * grub-core/disk/geli.c: Likewise.
4836 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
4837 * grub-core/disk/luks.c: Likewise.
4838 * grub-core/disk/lvm.c: Likewise.
4839 * grub-core/font/font_cmd.c: Likewise.
4840 * grub-core/fs/zfs/zfscrypt.c: Likewise.
4841 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4842 * grub-core/gfxmenu/view.c: Likewise.
4843 * grub-core/kern/emu/hostdisk.c: Likewise.
4844 * grub-core/kern/emu/main.c: Likewise.
4845 * grub-core/kern/emu/misc.c: Likewise.
4846 * grub-core/kern/emu/mm.c: Likewise.
4847 * grub-core/kern/mips/arc/init.c: Likewise.
4848 * grub-core/kern/mips/loongson/init.c: Likewise.
4849 * grub-core/kern/partition.c: Likewise.
4850 * grub-core/lib/i386/halt.c: Likewise.
4851 * grub-core/lib/mips/arc/reboot.c: Likewise.
4852 * grub-core/lib/mips/loongson/reboot.c: Likewise.
4853 * grub-core/loader/i386/pc/chainloader.c: Likewise.
4854 * grub-core/loader/i386/xnu.c: Likewise.
4855 * grub-core/loader/multiboot.c: Likewise.
4856 * grub-core/net/bootp.c: Likewise.
4857 * grub-core/net/net.c: Likewise.
4858 * grub-core/normal/term.c: Likewise.
4859 * grub-core/partmap/bsdlabel.c: Likewise.
4860 * grub-core/parttool/msdospart.c: Likewise.
4861 * grub-core/term/gfxterm.c: Likewise.
4862 * grub-core/term/terminfo.c: Likewise.
4863 * grub-core/video/i386/pc/vbe.c: Likewise.
4864 * util/grub-menulst2cfg.c: Likewise.
4865 * util/grub-mkdevicemap.c: Likewise.
4866 * util/grub-mklayout.c: Likewise.
4867 * util/grub-mkrelpath.c: Likewise.
4868 * util/grub-script-check.c: Likewise.
4869 * util/ieee1275/grub-ofpathname.c: Likewise.
4870 * util/resolve.c: Likewise.
4871
073aa7a9
VS
48722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 Support %1$d syntax.
4875
4876 * tests/printf_unit_test.c: New file.
4877 * Makefile.util.def (printf_test): New test.
4878 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
4879
c76b5417
VS
48802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
4883 fix.
4884
df067ad1
VS
48852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
4888 dprintf.
4889 * grub-core/font/font.c (grub_font_load): Likewise.
4890
5b289bc5
VS
48912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * util/grub-macho2img.c: Add comment concerning gettext.
4894 * grub-core/lib/legacy_parse.c: Likewise.
4895
c1860f87
VS
48962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
4899 (grub_xvasprintf): Likewise.
4900
d35d0d37
VS
49012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 Add const keyword to grub_env_get and gettextize week days.
4904
4905 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
4906 (grub_read_hook_datetime): Return const char *.
4907 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
4908 updated.
4909 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4910 Mark for gettext.
4911 (grub_get_weekday_name): Return const char *. Call gettext.
4912 * grub-core/script/argv.c (grub_script_argv_append): Receive const
4913 char * and len as the argument. All users updated.
4914 (grub_script_argv_split_append): Receive const char *.
4915 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
4916 * include/grub/env.h (grub_env_get): Likewise.
4917 (grub_env_read_hook_t): Return const char *.
4918 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
4919 (grub_script_argv_split_append): Likewise.
4920
9aed8a71
VS
49212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
4924
067fdf00
VS
49252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
4928 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
4929
a8bd9d39
VS
49302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
4933 Fix prototype.
4934
f7ce5baf
VS
49352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Fix mips compilation.
4938
4939 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
4940 normal decoder.
4941 (hashes): Use in embed decoder as well (for sizes).
4942 (dec_stream_header): Fix embed decompressor logic.
4943 (dec_stream_footer): Likewise.
4944
9bb182f3
VS
49452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
4948 an error and not a fatal on unrecognised relocation types.
4949
63a9e6f6
VS
49502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4953 Issue error rather than printf on unknown arguments.
4954
4c458569
VS
49552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
4958 Make buf a const.
4959
e2d22baf
VS
49602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
4963 Fix module name.
4964
53dc8590
VS
49652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
4968 leftover debug printf.
4969
6c189294
VS
49702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
4973
f7688369
VS
49742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
4977 A stylistic fix.
4978
11a775a3
VS
49792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
4982
33f784e8
SL
49832011-11-10 Shea Levy <slevy@tieronedesign.com>
4984
4985 Allow all modules to perform serial IO
4986
4987 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
4988 * include/grub/serial.h (grub_serial_port_configure): New inline
4989 function.
4990 (grub_serial_port_fetch): Likewise.
4991 (grub_serial_port_put): Likewise.
4992 (grub_serial_port_fini): Likewise.
4993 (grub_serial_find): New proto.
4994
f6276525
VS
49952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 Put symlink at the end of the node and fix a potential
4998 memory corruption.
4999
5000 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5001 Make symlink into an array.
5002 (set_rockridge): Set have_symlink and alloc_dirents.
5003 (grub_iso9660_read_symlink): Use new layout.
5004 (grub_iso9660_iterate_dir): Fix memory corruption.
5005 Use new layout.
5006 (grub_iso9660_dir): Set have_symlink.
5007 (grub_iso9660_open): Likewise.
5008
c3591189
VS
50092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 Remove local keyword.
5012
5013 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5014 (version_test_gt): Likewise.
5015 (version_find_latest): Likewise.
5016 (gettext_printf): Likewise.
5017 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5018
cb544caa
VS
50192011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5022
45bd824d
VS
50232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 Fix ZFS memory and resource leaks.
5026
5027 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5028 All users updated.
5029 Free type on exit.
5030 (fill_vdev_info): New parameter inserted. All users updated.
5031 (check_pool_label): Likewise.
5032 (scan_disk): Likewise.
5033 (scan_devices): Close non-inserted disks.
5034 (fzap_iterate): Free l.
5035 (unmount_device): Free children descripto memory.
5036
ad9a2f44
VS
50372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5040 argument (access out of bounds).
5041
6b68db81
VS
50422011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5045 >= 6 drives.
5046
28840fda
VS
50472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5050 Fix declaration.
5051
8a5a3a5b
VS
50522011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 Fix several memory leaks.
5055
5056 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5057 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5058 (grub_cpio_dir): Likewise.
5059 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5060 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5061 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5062 (grub_romfs_label): Likewise.
5063 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5064 (squash_unmount): New function.
5065 (grub_squash_dir): Fix memory leak.
5066 (grub_squash_open): Likewise.
5067 (grub_squash_read): Likewise.
5068 (grub_squash_mtime): Likewise.
5069 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5070 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5071 * util/grub-fstest.c (fstest): Likewise.
5072
57b01250
VS
50732011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5076 avoid accessing beyond the array.
5077
19e81ba7
VS
50782011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5081
52b656c0
VS
50822011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 Several AFFS fixes.
5085
5086 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5087 (GRUB_AFFS_FLAG_FFS): Removed.
5088 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5089 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5090 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5091 (grub_fshelp_node): Make block 32-bit.
5092 Add block_cache and last_block_cache.
5093 (grub_affs_read_block): Fill and use block cache.
5094 (grub_affs_read_file): Removed.
5095 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5096 boot block.
5097 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5098 safety.
5099 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5100 space.
5101 (grub_affs_close): Free block cache.
5102 (grub_affs_read): Use grub_fshelp_read_file directly.
5103
438a746a
VS
51042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5107 with no error set.
5108
49a45021
VS
51092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5112 used variable.
5113 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5114 Likewise.
5115
3ae17eb8
VS
51162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5119
5120 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5121 byteswap when needed.
5122
27610c38
VS
51232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 Fix FreeBSD compilation.
5126
5127 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5128 to avoid circular dependency.
5129 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5130 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5131 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5132
4a19b601
VS
51332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 Fix ZFS crypto error types.
5136
5137 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5138 (grub_gcm_decrypt): Likewise.
5139 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5140 from PBKDF2.
5141
958ee221
VS
51422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 Illumos support.
5145
5146 * Makefile.util.def (10_illumos): New script.
5147 * configure.ac: Set COND_HOST_ILLUMOS.
5148 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5149 Support Illumos calls.
5150 (find_partition_start) [__sun__]: Likewise.
5151 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5152 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5153 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5154 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5155 device.
5156 * util/grub-probe.c (probe) [__sun__]: Do character check.
5157 * util/grub.d/10_illumos.in: New file.
5158
cac14fb6
VS
51592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 Support escaped commas in hostdisk.
5162
5163 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5164 (find_grub_drive): Use unescape_cmp.
5165 (make_device_name): Escape commas.
5166
78e08dc3
VS
51672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5170
9f421dd1
VS
51712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5174 variable.
5175
ed64e9e2
VS
51762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 Support trampoline jumps on powerpc.
5179
5180 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5181 __ia64__ path.
5182 (grub_dl_load_segments): Set mod->sz.
5183 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5184 segments.
5185 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5186 (jump): Likewise.
5187 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5188 function.
5189 (trampoline): New struct.
5190 (trampoline_template): New const.
5191 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5192 * include/grub/dl.h (grub_dl): Add sz element.
5193 [__powerpc__]: Follow __ia64__.
5194 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5195 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5196 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5197 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5198
3084ede4
VS
51992011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 ZFS crypto support.
5202
5203 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5204 * grub-core/Makefile.core.def (zfscrypt): New module.
5205 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5206 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5207 it. All users updated.
5208 (grub_zfs_decrypt): New var.
5209 (grub_zfs_load_key): Likewise.
5210 (zio_checksum_functions): Add SHA256+MAC.
5211 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5212 (zio_read): Handle encrypted blocks.
5213 (zap_verify): Remove incorrect check.
5214 (fzap_iterate): Handle non-standard fzap.
5215 (zap_iterate): Likewise.
5216 (zap_iterate_u64): New function.
5217 (dnode_get_fullpath): Load keys.
5218 * grub-core/fs/zfs/zfscrypt.c: New file.
5219 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5220 (grub_crypto_ecb_encrypt): Make input const.
5221 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5222 (grub_crypto_ecb_encrypt): Make input const.
5223 (GRUB_CIPHER_AES): New macro.
5224 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5225 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5226 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5227 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5228 prefix. All users updated.
5229 (grub_zfs_add_key): New proto.
5230 (grub_zfs_decrypt): Likewise.
5231 (grub_zfs_load_key): Likewise.
5232 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5233 * util/grub-fstest.c (options): Add -K option.
5234 (argp_parser): Likewise.
5235
b632b404
VS
52362011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 Support zle compression on ZFS.
5239
5240 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5241 (decomp_table): Add zle.
5242 * include/grub/zfs/zio.h (zio_compress): Add zle.
5243
c7ba4f69
VS
52442011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 Support BtrFS embedding.
5247
5248 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5249 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5250 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5251 * util/grub-setup.c (setup): Use fs embedding if available.
5252 Add additional sanity check.
5253
455377d9
VS
52542011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * util/grub-install.in: Fix condition for config_opt.
5257
c2fd16ca
VS
52582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 Support third redundancy strip on raidz3.
5261
5262 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5263 Return error on singularity. All users updated.
5264 (read_device): Don't stop on 3rd failure on raidz3.
5265
8622923b
VS
52662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 Support case-insensitive ZFS subvolumes.
5269
5270 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5271 All users updated.
5272 (zap_hash): Likewise.
5273 (name_cmp): New function.
5274 (zap_leaf_array_equal): New parameter case_insensitive.
5275 All users updated.
5276 (zap_leaf_lookup): Likewise.
5277 (fzap_lookup): Likewise.
5278 (zap_lookup): Likewise.
5279 (dnode_get_path): New parameter case_insensitive. Retrieve case
5280 sensitiviness of a volume. All users updated.
5281 (dnode_get_fullpath): New parameter case_insensitive.
5282 All users updated.
5283 (grub_zfs_dir): Set info.case_insensitiveness.
5284
95f2e860
VS
52852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 Support second redundancy strip on raidz(2,3).
5288
5289 * grub-core/fs/zfs/zfs.c (powx): New array.
5290 (powx_inv): Likewise.
5291 (poly): New const.
5292 (xor_out): New function.
5293 (gf_mul): Likewise.
5294 (recovery): Likewise.
5295 (read_device): Use second redundancy strip.
5296
11ee4389
VS
52972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 Use a power of generator representation of GF(256) multiplication group
5300 to save space time and complexity.
5301
5302 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5303 (raid6_table2): Likewise.
5304 (powx): New array.
5305 (powx_inv): Likewise.
5306 (poly): New const.
5307 (grub_raid_block_mul): Replace with ...
5308 (grub_raid_block_mulx): ...this.
5309 (grub_raid6_init_table): Rewritten.
5310 (grub_raid6_recover): Use power of generator representation.
5311
09e2763f
VS
53122011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5315 for the right device.
5316
8bec9a28
VS
53172011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5320 expected by grub-mkimage and it's more clear since there is no implicit
5321 padding.
5322
dbd3a32e
VS
53232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5326 disk.
5327 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5328
182c872a
PMH
53292011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5330
5331 * util/grub-mkrescue.in: Fix handling xorriso option.
5332
1e51cabd
VS
53332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5336 NULL.
5337
9cc3581d 53382011-11-03 crocket <crockabiscuit@gmail.com>
5339
5340 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5341
158dc1ea
VS
53422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 XZ CRC64 and SHA256 support.
5345
5346 * Makefile.util.def (libgrubmods): Add crc64.c.
5347 * grub-core/Makefile.core.def (crc64): New module.
5348 * grub-core/lib/crc64.c: New file.
5349 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5350 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5351 Fix the type.
5352 (MAX_HASH_SIZE): New define.
5353 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5354 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5355 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5356 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5357 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5358 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5359 Handle non-crc32 hashes.
5360 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5361 (dec_stream_header): Handle non-crc32 hashes.
5362 (dec_stream_footer): Likewise.
5363 (dec_block_header): Likewise.
5364 (dec_main): Likewise.
5365 (xz_dec_init): Likewise.
5366 (xz_dec_reset): Likewise.
5367 (xz_dec_end): Likewise.
5368 * util/import_gcry.py: Add CRC64 line.
5369
9d9b3d2f
VS
53702011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5373 as well.
5374
7d0ac931
VS
53752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 Make reiserfs label retrieval similar to other *_label functions.
5378
5379 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5380 (REISERFS_MAX_LABEL_LENGTH): Removed.
5381 (REISERFS_LABEL_OFFSET): Likewise.
5382 (grub_reiserfs_label): Rewritten.
5383
53842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5387 field.
5388
cf5ba824
VS
53892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5392
17744004
VS
53932011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5396 drive failure on both raidz and raidz2.
5397
aca5aefc
VS
53982011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 Fix RAIDZ(2) for >= 5 devices.
5401
5402 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5403 asize argument. All users updated.
5404
ce8ca56e
VS
54052011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 Fix RAIDZ(2).
5408
5409 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5410 (fill_vdev_info_real): Set ashift.
5411 (read_device): Rewrite RAIDZ part based on reverse engineering.
5412
7c01e783
VS
54132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5416 don't report potentially unavialiable fields in debug output.
5417 (find_path): Fix double-free and memory leak.
5418
ce109e84
VS
54192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 Read label on UFS1.
5422
5423 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5424 (grub_ufs_fs): Always set .label.
5425
87661123
VS
54262011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 Use shifts in UFS.
5429
5430 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5431 (grub_ufs_data): New field log2_blksz.
5432 (grub_ufs_read_file): Use shifts.
5433 (grub_ufs_mount): Check block size and logarithm it.
5434
46bc1dc2
VS
54352011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5438 long symlinks.
5439
19ee2987
VS
54402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 Handle symlinks and long names on tar and cpio.
5443
5444 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5445 (ATTR_FILE): Likewise.
5446 (ATTR_DIR): Likewise.
5447 (ATTR_LNK): Likewise.
5448 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5449 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5450 L and K entries.
5451 (grub_cpio_mount): Zero-fill data.
5452 (handle_symlink): New function.
46bc1dc2
VS
5453 (grub_cpio_dir): Handle symlinks.
5454 (grub_cpio_open): Likewise.
5455 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5456
c83a08d8
VS
54572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Fix iso9660 filename limitations and fix memory leaks.
5460
5461 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5462 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5463
45cdd3ea
VS
54642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 Fix JFS file name length limitations.
5467
5468 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5469 (grub_jfs_diropen): Fix maximum filename length.
5470 (grub_jfs_getent): Fix filename length.
5471 (grub_jfs_lookup_symlink): Fix size checks.
5472
94ef05c2
VS
54732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5476 string.
5477
785ab8c7
VS
54782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5479
eb0b6b45
VS
5480 Leverage BFS implementation to read AFS.
5481
5482 * Makefile.util.def (libgrubmods): Add afs.c.
5483 * grub-core/Makefile.core.def (afs): New module
5484 * grub-core/fs/afs.c: New file.
5485 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5486
54872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5490
c4a1628f
VS
54912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/fs/bfs.c: Run indent.
5494
5825b379
VS
54952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 BFS implementation based on the specification.
5498
5499 * grub-core/fs/bfs.c: New file.
5500 * Makefile.util.def (libgrubmods): Add bfs.c.
5501 * grub-core/Makefile.core.def (bfs): New module.
5502
42b2a706
VS
55032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * util/grub-fstest.c (cmd_cp): Clarify error message.
5506 (cmd_cmp): Likewise.
5507
61b99bfc
YB
55082011-10-30 Yves Blusseau <blusseau@zetam.org>
5509
5510 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5511 and befs_be.
5512
faba3d16
VS
55132011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 Remove afs and befs because of copyright problem.
5516
5517 * grub-core/fs/afs.c: Removed.
5518 * grub-core/fs/afs_be.c: Removed.
5519 * grub-core/fs/befs.c: Removed.
5520 * grub-core/fs/befs_be.c: Removed.
5521 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5522 * grub-core/Makefile.core.def (afs): Removed.
5523 (afs_be): Likewise.
5524 (befs): Likewise.
5525 (befs_be): Likewise.
5526
c39224b0
VS
55272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 Prefer rockridge over Joliet.
5530
5531 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5532 to ...
5533 (set_rockridge): ... here.
5534 (grub_iso9660_mount): Check rockridge on the primary label when
5535 discovering. Ignore Joliet if Rockridge is present.
5536
e551115a
VS
55372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 Use shifts in nilfs2.
5540
5541 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5542 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5543 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5544 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5545 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5546 (grub_nilfs2_entries_per_block): Replaced with ...
5547 (grub_nilfs2_log_entries_per_block_log): ... this.
5548 (grub_nilfs2_blocks_per_group): Replaced with ...
5549 (grub_nilfs2_blocks_per_group_log): ... this.
5550 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5551 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5552 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5553 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5554 (grub_nilfs2_palloc_entry_offset): Replaced ...
5555 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5556 (grub_nilfs2_dat_translate): Use shifts.
5557 (grub_nilfs2_read_inode): Likewise.
5558 (GRUB_MOD_INIT): Ensure that logs are correct.
5559
564dd58c
VS
55602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 Use shifts in minix filesystem.
5563
5564 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5565 (GRUB_MINIX_ZONE2SECT): Likewise.
5566 (grub_minix_data): Replace block_size with log_block_size.
5567 (grub_minix_read_file): Use shifts.
5568 (grub_minix_mount): Check block size and take a logarithm.
5569
ed9ba06d
VS
55702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 Use shifts in squash4.
5573
5574 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5575 (squash_mount): Check block size and take logarithm.
5576 (direct_read): Use shifts.
5577
ad03fe76
VS
55782011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Correct befs block counting logic.
5581
5582 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5583 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5584 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5585 (grub_afs_read_inode): Use block_shift.
5586 (RANGE_SHIFT): New definition.
5587 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5588 unexpected conditions, use shifts and appropriate types.
5589 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5590
6563f63d
VS
55912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/disk/raid.c (scan_devices): Check partition.
5594 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5595
5b1ae25f
VS
55962011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 Support BFS (befs) UUID.
5599
5600 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5601 (grub_afs_small_data_element_header): New struct.
5602 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5603 (grub_afs_read_attribute) [MODE_BFS]: New function.
5604 (grub_afs_iterate_dir): Allocate for complete inode.
5605 (grub_afs_mount): Likewise.
5606 (grub_afs_uuid) [MODE_BFS]: New function.
5607 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5608
f8d82408
VS
56092011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5612 (zfs_unmount): Fix memory leak.
5613
5773fb64
VS
56142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 Support NTFS reparse points.
5617
5618 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5619 (symlink_descriptor): New struct.
5620 (grub_ntfs_read_symlink): New function.
5621 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5622 (grub_ntfs_open): Likewise.
5623
91c3fdde
VS
56242011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5627
3be82e10
VS
56282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 fstest xnu_uuid subcommand.
5631
5632 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
5633 grub-core/commands/xnu_uuid.c.
5634 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
5635 (fstest): Handle xnu_uuid.
5636 (options): Document xnu_uuid.
5637 (argp_parser): Parse xnu_uuid.
5638
8e32442e
VS
56392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
5642 -l argument. Add newline at the end if printing.
5643 (GRUB_MOD_INIT): Document -l.
5644
52a05075
VS
56452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
5648
1869edb5
VS
56492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 ZFS multi-device and version 33 support.
5652
5653 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
5654 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
5655 (grub_zfs_data): Add multidev-ice-related fields.
5656 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
5657 (dva_get_offset): Make dva const.
5658 (zfs_fetch_nvlist): New function.
5659 (fill_vdev_info_real): Likewise.
5660 (fill_vdev_info): Likewise.
5661 (check_pool_label): Likewise.
5662 (scan_disk): Likewise.
5663 (scan_devices): Likewise.
5664 (read_device): Likewise.
5665 (read_dva): Likewise.
5666 (zio_read_gang): Use read_dva.
5667 (zio_read_data): Likewise.
5668 (zap_leaf_lookup): Add missing endian conversion.
5669 (zap_verify): Add missing endian conversion. All users updated.
5670 (fzap_lookup): Likewise.
5671 (fzap_iterate): Likewise.
5672 (dnode_get_path): Handle SA bonus.
5673 (nvlist_find_value): Make input const. All users updated.
5674 (unmount_device): New function.
5675 (zfs_unmount): Use unmount_device.
5676 (zfs_mount): Use scan_disk.
5677 (zfs_mtime): New function.
5678 (grub_zfs_open): Handle system attributes.
5679 (fill_fs_info): Likewise.
5680 (grub_zfs_dir): Likewise.
5681 (grub_zfs_fs): Add mtime.
5682 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
5683 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
5684 (SA_MTIME_OFFSET): Likewise.
5685 (SA_SYMLINK_OFFSET): Likewise.
5686 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
5687 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
5688 (fstest): Support zfsinfo.
5689 (argp_parser): Likewise.
5690
186b4028
VS
56912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
5694 error.
5695
56962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
5697
5698 ZFS fixes.
5699
5700 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
5701 sharing the same block. Iterate over correct number of indices.
5702 (dnode_get_path): Handle symlinks correctly.
5703
c0584900
VS
57042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
5707
67e2bd71
VS
57082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 Read label on HFS+.
5711
5712 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
5713 (grub_hfsplus_btree_search): Fix types.
5714 (grub_hfsplus_label): Implement.
5715
e9cc6b7b
VS
57162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
5719
19832ddb
VS
57202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
5723
66b40850
VS
57242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 Fix symlink handling on iso9660.
5727
5728 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
5729 All users updated.
5730 (grub_iso9660_susp_iterate): Accept zero-size iterate.
5731 (grub_iso9660_read_symlink): Moved most of code ...
5732 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
5733
db821363
VS
57342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5737 Use union to avoid breaking strict-aliasing rules.
5738
e1211949
VS
57392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 Support multi-extent iso files.
5742
5743 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
5744 Add node.
5745 (grub_fshelp_node): Revamp. All users updated.
5746 (FLAG_*): New enum.
5747 (read_node): New function.
5748 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
5749 All users updated.
5750 (grub_iso9660_mount): Don't attempt to read sua when there is none.
5751 (get_node_size): New function.
5752 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
5753 entries.
5754 Fix memory leak on . and ..
5755 (grub_iso9660_read): Use read_node.
5756 (grub_iso9660_close): Free node.
5757
d4888031
VS
57582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 Fix tar 4G limit and handle paths containing dot.
5761
5762 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
5763 (canonicalize): New function.
5764 (grub_cpio_find_file): Use canonicalize. Store offs in
5765 grub_disk_addr_t.
5766 (grub_cpio_dir): Use grub_disk_addr_t.
5767 (grub_cpio_open): Likewise.
5768
9f12e664
VS
57692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 Fix handling of uncompressed blocks on squashfs and break 4G limit.
5772
5773 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
5774 unused flags.
5775 (grub_squash_inode): Add long_file and block_size.
5776 (grub_squash_cache_inode): New struct.
5777 (grub_squash_dirent): Make types into enum.
5778 (SQUASH_TYPE_LONG_REGULAR): New type.
5779 (grub_squash_frag_desc): Add field size.
5780 (SQUASH_BLOCK_FLAGS): New enum.
5781 (grub_squash_data): Use grub_squash_cache_inode.
5782 (grub_fshelp_node): Make ino_chunk 64-bit.
5783 (read_chunk): Minor argument change. All users updated.
5784 (squash_mount): Use correct le_to_cpu.
5785 (grub_squash_open): Handle LONG_REGULAR.
5786 (direct_read): New function.
5787 (grub_squash_read_data): Handle blocks correctly.
5788
9f326fba
VS
57892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
5792
f4d9b64b
VS
57932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
5796
5bbd28b8
VS
57972011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 Fix 2G limit on ZFS.
5800
5801 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
5802 types.
5803 (uberblock_verify): Likewise.
5804 (dmu_read): Likewise.
5805 (grub_zfs_read): Likewise. Remove invalid cast.
5806
68c72069
VS
58072011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
5810 (grub_jfs_blkno): Fix incorrect shift.
5811 (grub_jfs_read_file): Use more appropriate types.
5812
6e536dc8
VS
58132011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 Support triple indirect on minix2 and minix3.
5816
5817 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
5818 Declare triple_indir_zone.
5819 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
5820 indirect.
5821
e0864e7a
VS
58222011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Minix FS fixes.
5825
5826 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
5827 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
5828 Rename ctime to mtime. All users updated.
5829 (grub_minix_get_file_block): Fix types and double indirect computations.
5830
89481cab
VS
58312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
5834 if no label is found.
5835 (grub_fat_iterate_dir): Fix file size type.
5836 (grub_fat_iterate_dir): Likewise.
5837
f646e143
VS
58382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
5841 save some space.
5842 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
5843 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5844
534d769e
VS
58452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
5848
e084ba18
VS
58492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * util/import_gcry.py: Accept space between # and include.
5852
3471ecdf
VS
58532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
5856
124df5f6
VS
58572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 Fine grainely disable warnings on lexer. Remove Wno-error on it.
5860
5861 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
5862 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
5863 yylex_strncpy.
5864 * grub-core/script/yylex.l: Add fine-grained #pragma.
5865
4defb8d5
VS
58662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
5869 New inline function.
5870 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
5871 Likewise.
5872 (memset) [GRUB_UTIL]: Likewise.
5873 (memcmp) [GRUB_UTIL]: Likewise.
5874
4e94ae65
VS
58752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
5878 inline function rather than a define.
5879
18c575e5
VS
58802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * util/grub-setup.c: Add missing include.
5883
f8bc22a8
VS
58842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * util/ieee1275/grub-ofpathname.c: Add missing include.
5887
3ce69fc9
VS
58882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
5891 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
5892 Likewise.
5893
d1e293bb
VS
58942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
5897 grub_memcmp usage.
5898
7a5c54a4
VS
58992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * util/grub-install.in: Add datarootdir as per automake manual
5902 suggestion.
5903 * util/grub-mknetdir.in: Likewise.
5904
59052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
5906
5907 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
5908 suggestion.
5909 * util/grub.d/10_kfreebsd.in: Likewise.
5910 * util/grub.d/10_linux.in: Likewise.
5911 * util/grub.d/10_netbsd.in: Likewise.
5912 * util/grub.d/10_windows.in: Likewise.
5913 * util/grub.d/20_linux_xen.in: Likewise.
5914
766f7d08
VS
59152011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 Remove redundant grub_kernel_image_size.
5918
5919 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
5920 _edata and _start.
5921 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
5922 the small code. It moves it only by few bytes but simplifies the code.
5923 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
5924 _start.
5925 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
5926 (grub_kernel_image_size): Removed.
5927 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
5928 (grub_kernel_image_size): Removed.
5929 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
5930 compiled with Apple toolchain.
5931 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
5932 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
5933 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
5934 (grub_total_module_size): Likewise.
5935 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
5936 Removed.
5937 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
5938 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
5939 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5940 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
5941 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
5942 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
5943 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
5944 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
5945 Removed.
5946 (grub_total_module_size): Removed.
5947 * util/grub-mkimage.c (image_target_desc): Remove image_size.
5948 (image_targets): Likewise.
5949 Set .compressed_size to no field on sparc.
5950 (generate_image): Remove kernel_image_size handling.
5951
fcf1d672
SJ
59522011-10-19 Szymon Janc <szymon@janc.net.pl>
5953
5954 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
5955 NULL pointer dereference.
5956
de9c615e
VS
59572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
5960 done with a dedicated section.
5961
5962 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
5963 Ensure the correct position of boot_path.
5964 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
5965 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
5966 other fields.
5967 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
5968 * include/grub/boot.h: Removed. All references removed.
5969 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5970 Removed.
5971 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
5972
e55599dc
VS
59732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
5976 name.
5977
36dd20ad
VS
59782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
5981
f8f72eb8
VS
59822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5985 Don't add the bogus brackets.
5986
a374751b
VS
59872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 ExFAT support.
5990
5991 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
5992 * grub-core/Makefile.core.def (exfat): New module.
5993 * grub-core/fs/exfat.c: New file.
5994 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
5995 (GRUB_FAT_ATTR_*): Make into an enum.
5996 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
5997 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
5998 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
5999 (GRUB_FAT_MAXFILE): Removed.
6000 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6001 (grub_current_fat_bpb_t): New type.
6002 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6003 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6004 (grub_fat_dir_node_t): New type.
6005 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6006 (fat_log2) [MODE_EXFAT]: Removed.
6007 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6008 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6009 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6010 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6011 (grub_fat_label) [MODE_EXFAT]: New function.
6012 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6013 reserved_first_sector to 0.
6014
544c2487
VS
60152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 Move grub_reboot out of the kernel.
6018
6019 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6020 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6021 * grub-core/lib/efi/reboot.c: ... here.
6022 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6023 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6024 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6025 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6026 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6027 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6028 * grub-core/lib/ieee1275/reboot.c: ... here.
6029 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6030 * grub-core/lib/mips/arc/reboot.c: ... here.
6031 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6032 * grub-core/lib/mips/loongson/reboot.c: ...here.
6033 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6034 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6035 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6036 * include/grub/i386/reboot.h: New file.
6037 * include/grub/mips/loongson/ec.h: Fix includes.
6038 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6039 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6040 * grub-core/lib/i386/reboot.c: New file.
6041
a97501d2
VS
60422011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Make grub_prefix into module to fix the arbitrary limit and save
6045 some space.
6046
6047 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6048 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6049 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6050 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6051 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6052 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6053 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6054 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6055 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6056 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6057 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6058 * include/grub/ia64/efi/kernel.h: Removed.
6059 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6060 (grub_prefix): Removed.
6061 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6062 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6063 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6064 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6065 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6066 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6067 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6068 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6069 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6070 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6071 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6072 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6073 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6074 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6075 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6076 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6077 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6078 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6079 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6080 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6081 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6082 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6083 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6084 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6085 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6086 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6087 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6088 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6089 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6090 from module.
6091 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6092 prefix_end.
6093 (image_targets): Likewise.
6094 (generate_image): Put prefix as a module.
6095
39705fad
VS
60962011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 Replace grub_module_iterate with FOR_MODULES.
6099
6100 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6101 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6102 (grub_efi_modules_addr): ...this.
6103 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6104 (grub_efi_init): Set grub_modbase.
6105 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6106 (grub_modbase): New variable.
6107 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6108 (grub_modbase): New variable.
6109 (grub_machine_init): Set grub_modbase.
6110 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6111 (grub_modbase): New variable.
6112 (grub_machine_init): Set grub_modbase.
6113 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6114 (grub_modbase): New variable.
6115 (grub_machine_init): Set grub_modbase.
6116 * grub-core/kern/main.c (grub_module_iterate): Remove.
6117 (grub_modules_get_end): Use grub_modbase.
6118 (grub_load_modules): Use FOR_MODULES.
6119 (grub_load_config): Likewise.
6120 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6121 (grub_modbase): New variable.
6122 (grub_machine_init): Set grub_modbase.
6123 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6124 (grub_modbase): New variable.
6125 (grub_machine_init): Set grub_modbase.
6126 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6127 Removed.
6128 (grub_modbase): New variable.
6129 (grub_machine_init): Set grub_modbase.
6130 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6131 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6132 (grub_module_iterate): Likewise.
6133 (grub_modbase): New variable declaration.
6134 (FOR_MODULES): New macro.
6135
2afb7f6c
VS
61362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6139 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6140
366e34fa
VS
61412011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 Fix few obvious type discrepancies.
6144
6145 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6146 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6147 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6148 variable.
6149 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6150 and connected types.
6151 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6152 offset.
6153 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6154 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6155 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6156 and connected types.
6157
177b960e
VS
61582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 Fix python 3.x incompatibilities.
6161
6162 * gentpl.py: Put brackets around print strings.
6163 * util/import_gcry.py: Open explicitly as utf-8.
6164 Use in instead of has_key.
6165
3b619ae1
VS
61662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6169 (GRUB_XFS_INO_AGBITS): Make into inline function.
6170 (GRUB_XFS_INO_INOINAG): Likewise.
6171 (GRUB_XFS_INO_AG): Likewise.
6172 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6173 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6174 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6175 (GRUB_XFS_EXTENT_SIZE): Likewise.
6176 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6177 (GRUB_XFS_NEXT_DIRENT): Likewise.
6178 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6179 (grub_xfs_read_file): Fix offset type.
6180
8bcebcb8
RM
61812011-10-15 Robert Millan <rmh@gnu.org>
6182
6183 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6184
0017e5ef
RM
61852011-10-15 Robert Millan <rmh@gnu.org>
6186
6187 Fix build problem on FreeBSD and GNU/kFreeBSD.
6188
6189 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6190
d8919552
VS
61912011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6194
6195 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6196 types.
6197 (grub_hfsplus_btree_recoffset): Likewise.
6198 (grub_hfsplus_btree_recptr): Likewise.
6199 (grub_hfsplus_find_block): Likewise.
6200 (grub_hfsplus_btree_search): Likewise.
6201 (grub_hfsplus_read_block): Likewise.
6202 (grub_hfsplus_read_file): Likewise.
6203 (grub_hfsplus_mount): Likewise.
6204 (grub_hfsplus_btree_iterate_node): Likewise.
6205 (grub_hfsplus_btree_search): Likewise.
6206 (grub_hfsplus_iterate_dir): Likewise.
6207 (grub_hfsplus_read): A small code simplification.
6208
c81296b6
VS
62092011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/kern/emu/hostdisk.c
6212 (convert_system_partition_to_system_disk): Don't assume that children
6213 of mapper nodes are mapper nodes.
6214
0eb8ffb1
VS
62152011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6218 * include/grub/misc.h (grub_isxdigit): New function.
6219 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6220 switched to grub_isxdigit.
6221 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6222 number starting with a letter.
6223
a98f4a08
RM
62242011-10-09 Robert Millan <rmh@gnu.org>
6225
6226 LVM support for FreeBSD and GNU/kFreeBSD.
6227
6228 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6229 GNU/kFreeBSD.
6230 (LVM_DEV_MAPPER_STRING): Move from here ...
6231 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6232 * util/getroot.c: Include `<grub/util/lvm.h>'.
6233 (grub_util_get_dev_abstraction): Enable
6234 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6235 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6236 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6237 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6238 support it.
6239 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6240 GNU/kFreeBSD.
6241 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6242 when LVM abstraction is required for ${GRUB_DEVICE}.
6243
050e8e90
SJ
62442011-10-06 Szymon Janc <szymon@janc.net.pl>
6245
6246 Add support for LZO compression in GRUB:
6247 - import of minilzo library,
6248 - LZO decompression for btrfs,
6249 - lzop files decompression.
6250
6251 * grub-core/io/lzopio.c: New file.
6252 * grub-core/lib/adler32.c: Likewise.
6253 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6254 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6255 * grub-core/lib/minilzo/minilzo.c: Likewise.
6256 * grub-core/lib/minilzo/minilzo.h: Likewise.
6257 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6258 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6259 grub-core/lib/minilzo/minilzo.c to common.
6260 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6261 cflags in cppflags.
6262 * grub-core/Makefile.core.def (btrfs): Likewise.
6263 * grub-core/Makefile.core.def (lzopio): New module.
6264 (adler32): Likewise.
6265 * grub-core/fs/btrfs.c: Include minilzo.h.
6266 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6267 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6268 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6269 (grub_btrfs_lzo_decompress): New function.
6270 (grub_btrfs_extent_read): Add support for LZO compression type.
6271 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6272 (GRUB_USHRT_MAX): Likewise.
6273 (GRUB_UINT_MAX): Likewise.
6274 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6275 (UINT_MAX): Likewise.
6276 (CHAR_BIT): Likewise.
6277 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6278 grub-core/lib/posix_wrap/limits.h
6279 (UCHAR_MAX): Likewise.
6280 * include/grub/file.h (grub_file_filter_id): New compression filter
6281 GRUB_FILE_FILTER_LZOPIO.
6282 * include/grub/file.h (grub_file_filter_id): Set
6283 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6284 * include/grub/types.h (grub_get_unaligned16): New function.
6285 (grub_get_unaligned32): Likewise.
6286 (grub_get_unaligned64): Likewise.
6287 * util/import_gcry.py (cryptolist): Add adler32.
6288
0eb8ffb1
VS
62892011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6292 in perspective decreases the complexity of build system and fixes
6293 compilation right now.
6294
ce79cc99 62952011-10-01 Ales Nesrsta <starous@volny.cz>
6296
6297 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6298 (fixed problem related to using UHCI with coreboot).
6299
8667a314
BC
63002011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6301
6302 * gentpl.py: Use Autogen macros so that the output template file
6303 (Makefile.tpl) size is reduced.
6304
fc5efcc0
MK
63052011-09-29 Mads Kiilerich <mads@kiilerich.com>
6306
6307 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6308 extra_dist.
6309
d1ab689d
ML
63102011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6311
6312 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6313 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6314
c05de032
ML
63152011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6316
6317 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6318 _fullpath.
6319
cca7ccd8
ML
63202011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6321
6322 Remove extra declaration of sleep for mingw32.
6323
6324 * util/misc.c (sleep) [__MINGW32__]: Removed.
6325 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6326
e0b0dc83
GS
63272011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6328
6329 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6330 type and packname.
6331 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6332 Resurrected.
6333 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6334 (grub_netbsd_btinfo_bootwedge): New struct.
6335 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6336 New function.
6337 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6338
91a1a164
TH
63392011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6340
6341 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6342 loader.
6343
2ded951e
AB
63442011-09-28 Andreas Born <futur.andy@googlemail.com>
6345
6346 Fix incorrect identifiers in bash-completion.
6347
6348 * util/bash-completion.d/grub-completion.bash.in
6349 (_grub_mkpasswd-pbkdf2): Rename to ...
6350 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6351 (_grub_script-check): Rename to ...
6352 (_grub_script_check): ... this. All users updated.
6353
69915030
VS
63542011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6357 Return 0 if disk isn't biosdisk.
6358
20fd15f9
GS
63592011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6360
6361 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6362 on NetBSD.
6363 * Makefile.util.def (grub-fstest): Likewise.
6364
1a7d7db9
GS
63652011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6366
6367 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6368 Get sector size from disk label.
6369
2221ab6c
CW
63702011-09-05 Colin Watson <cjwatson@ubuntu.com>
6371
6372 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6373 */README* as well as README*.
6374 Reported by: Axel Beckert.
6375
ca51c4a0
VS
63762011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6379 case of less than 256 MiB of RAM.
6380
ab80f326
VS
63812011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/commands/wildcard.c (make_regex): Handle @.
6384
4155e697
VS
63852011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6388
ab178c08
SJ
63892011-08-21 Szymon Janc <szymon@janc.net.pl>
6390
6391 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6392 AC_LANG_CONFTEST macros.
6393
7dc3c686
SJ
63942011-08-20 Szymon Janc <szymon@janc.net.pl>
6395
6396 Add grub-fstest option to uncompress data for commands.
6397
6398 * util/grub-fstest.c (uncompress): New var.
6399 (options): New option -u.
6400
fe8d4a7b
SJ
64012011-08-20 Szymon Janc <szymon@janc.net.pl>
6402
6403 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6404 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6405
a5219af1
SJ
64062011-08-20 Szymon Janc <szymon@janc.net.pl>
6407
6408 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6409 file type was not recognized correctly (not gzip or corrupted).
6410
f87abff5
VS
64112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6414 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6415
d94497ea
VS
64162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6419 loongson.
6420 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6421 video_radeon_fuloong2e.
6422 * grub-core/video/radeon_fuloong2e.c: New file.
6423 * include/grub/video.h (grub_video_id_t): Add new ID
6424 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6425
0d1fd011
VS
64262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6429 define.
6430 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6431 that PRID matches the detected subplatform and reset the subplatform
6432 if it doesn't.
6433
84beb0ee
VS
64342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6437
1227c133
VS
64382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 Fix PCI iterating on functions >= 4.
6441
6442 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6443 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6444 Removed.
6445 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6446 (grub_pci_read): Fix bitmask.
6447 (grub_pci_read_word): Likewise.
6448 (grub_pci_read_byte): Likewise.
6449 (grub_pci_write): Likewise.
6450 (grub_pci_write_word): Likewise.
6451 (grub_pci_write_byte): Likewise.
6452
9594c689
VS
64532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6456 can still be specified in TARGET_CFLAGS)
6457
14a2562c
VS
64582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6461
6462 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6463 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6464 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6465 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6466 (FULOONG): Rename to ...
6467 (FULOONG2F): ... this. All users updated.
6468 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6469 (machtype_fuloong2f_str): ... this.
6470 (machtype_fuloong2e_str): New string.
6471 Check for machtype_fuloong2e_str.
6472 * grub-core/loader/mips/linux.c (loongson_machtypes)
6473 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6474 * grub-core/term/serial.c (loongson_defserial)
6475 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6476 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6477 loongson_defserial.
6478 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6479 Rename to ...
6480 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6481 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6482 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6483 to IMAGE_FULOONG2F_FLASH. All users updated.
6484 (image_targets): Rename images.
6485 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6486
b526cbb6
SJ
64872011-08-19 Szymon Janc <szymon@janc.net.pl>
6488
6489 Make enable of disk cache statistics code configurable.
6490
6491 * configure.ac: --enable-cache-stats added.
6492 * config.h.in (DISK_CACHE_STATS): New define.
6493 * grub-core/Makefile.core.def (cacheinfo): New command.
6494 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6495 * grub-core/commands/cacheinfo.c: New file.
6496 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6497 moved to cacheinfo.c.
6498 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6499 debug code.
6500 * include/grub/disk.h: Likewise.
6501
fb739ccd
SJ
65022011-08-19 Szymon Janc <szymon@janc.net.pl>
6503
6504 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6505 * grub-core/Makefile.am: Likewise.
6506
2bba8cfd
VS
65072011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6510 non-zero pull.
6511
43526629
VS
65122011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6515 All users updated.
6516 (grub_jfs_lookup_symlink): Use correct starting inode.
6517
5c144cc8
VS
65182011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * util/grub-setup.c (main): Add missing gcry initialisation.
6521
b1257f65
VS
65222011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 Don't accept text modes on EFI when booting Linux.
6525
6526 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6527 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6528
828bc390
ML
65292011-08-15 Mario Limonciello <mario_limonciello@dell.com>
65302011-08-15 Colin Watson <cjwatson@ubuntu.com>
6531
6532 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6533 use of "/path/.." as in grub-install for EFI as well as handling
6534 symlinks correctly.
6535 Fixes Debian bug #637768.
6536
5f60ccac
CW
65372011-08-15 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * util/grub-probe.c: Remove duplicate #include.
6540
6dc212f9
RM
65412011-08-10 Robert Millan <rmh@gnu.org>
6542
6543 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6544
6545 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6546 function.
6547 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6548 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6549
66816d85
RM
65502011-08-03 Robert Millan <rmh@gnu.org>
6551
6552 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6553 la_array as packed.
6554 Reported by: Zachary Bedell
6555
20168fca
CW
65562011-07-26 Colin Watson <cjwatson@ubuntu.com>
6557
6558 * configure.ac: The Loongson port requires grub-mkfont due to its
6559 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6560 be built.
6561
303b6246
CW
65622011-07-26 Colin Watson <cjwatson@ubuntu.com>
6563
6564 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6565 processing arguments (otherwise help2man fails when GRUB has not yet
6566 been installed).
6567
6795300e
VS
65682011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6569
41aa28ea
VS
6570 New script grub-mkstandalone.
6571
6572 * Makefile.util.def (grub-mkstandalone): New script.
6573 * docs/man/grub-mkstandalone.h2m: New file.
6574 * util/grub-mkstandalone.in: Likewise.
6575
65762011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 Support ATA disks with 4K sectors.
6795300e
VS
6579
6580 * include/grub/ata.h (grub_ata): New member log_sector_size.
6581 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6582 (grub_ata_identify): Read sector size.
6583 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6584
92227597
VS
65852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * util/grub-install.in: Don't use uhci outside of x86.
6588
c77069f5
VS
65892011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * util/grub-mkrescue.in: Add missing quotes.
6592
65932011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6594
6595 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6596 dereference.
6597
583168a2
VS
65982011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6601
6be1c01f
VS
66022011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * include/grub/video.h: add missing EXPORT_FUND on
6605 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6606
a1167439
VS
66072011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * include/grub/mips/kernel.h: Fix define conflict.
6610
bf66054f
VS
66112011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6614 all four ways.
6615
8fc4fa45
CW
66162011-07-21 Colin Watson <cjwatson@ubuntu.com>
6617
6618 Preferred resolution detection for VBE.
6619
6620 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6621 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6622 the Flat Panel extension, in line with the X.org VESA driver.
6623 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6624 New function.
6625 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6626 (grub_vbe_bios_read_edid): Likewise.
6627 (grub_vbe_get_preferred_mode): Likewise.
6628 (grub_video_vbe_setup): When the mode is "auto", try to get the
6629 preferred mode from VBE, and use the largest mode that is no larger
6630 than the preferred mode (some BIOSes expose a preferred mode that is
6631 not in their mode list!). If this fails, fall back to 640x480 as a
6632 safe conservative choice.
6633 (grub_video_vbe_get_edid): New function.
6634 (grub_video_vbe_adapter): Add get_edid.
6635 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
6636 (struct grub_video_adapter): Add get_edid.
6637 (grub_video_edid_checksum): Add prototype.
6638 (grub_video_edid_preferred_mode): Likewise.
6639 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
6640 structure.
6641
6642 * grub-core/commands/videoinfo.c (print_edid): New function.
6643 (grub_cmd_videoinfo): Print EDID if available.
6644
6645 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
6646 is more appropriate on a wider range of platforms than 640x480.
6647 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
6648 documentation.
6649
ca5572a9
VS
66502011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
6653
e4bcf625
VS
66542011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * po/POTFILES.in: Regenerate.
6657
c4edd548
VS
66582011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
6661 incorrect memory usage.
6662
16a2bab0
VS
66632011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * util/grub-install.in: Source grub-mkconfig_lib.
6666
2e418de6
VS
66672011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 Remove getroot.c from core on emu platform.
6670
6671 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
6672 kern/emu/raid.c.
6673 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
6674 useless.
6675 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
6676 * util/getroot.c (get_win32_path): ... here.
6677 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
6678 * util/getroot.c (fini_libzfs): ... here.
6679 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
6680 * util/getroot.c (grub_get_libzfs_handle): ... here.
6681 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
6682 Moved from here...
6683 * util/getroot.c (grub_find_zpool_from_dir): ... here.
6684 * grub-core/kern/emu/misc.c
6685 (grub_make_system_path_relative_to_its_root): Moved from here...
6686 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
6687 * grub-core/kern/emu/getroot.c: Moved from here ...
6688 * util/getroot.c: ... here. All users updated.
6689 * grub-core/kern/emu/raid.c: Moved from here ...
6690 * util/raid.c: ... here. All users updated.
6691
def9832a
VS
66922011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * po/POTFILES.in: Regenerate.
6695
cd8fe79a
VS
66962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Fix compilation on GNU/Linux.
6699
6700 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
6701 Disable geli.
6702 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
6703 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
6704 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
6705
a251b719
VS
67062011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
67072011-07-07 Michael Gorven <michael@gorven.za.net>
67082011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
6709
6710 LUKS and GELI support.
6711
6712 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
6713 grub-core/disk/luks.c, grub-core/disk/geli.c,
6714 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
6715 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
6716 grub-core/lib/arg.c.
6717 (libgrubmods.a): Remove gcrypts cflags and cppflags.
6718 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
6719 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
6720 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
6721 (grub-bin2h): Add libgcry.a.
6722 (grub-mkimage): Likewise.
6723 (grub-mkrelpath): Likewise.
6724 (grub-script-check): Likewise.
6725 (grub-editenv): Likewise.
6726 (grub-mkpasswd-pbkdf2): Likewise.
6727 (grub-pe2elf): Likewise.
6728 (grub-fstest): Likewise.
6729 (grub-mkfont): Likewise.
6730 (grub-mkdevicemap): Likewise.
6731 (grub-probe): Likewise.
6732 (grub-ofpath): Likewise.
6733 (grub-mklayout): Likewise.
6734 (example_unit_test): Likewise.
6735 (grub-menulst2cfg): Likewise.
6736 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
6737 * grub-core/Makefile.core.def (cryptodisk): New module.
6738 (luks): Likewise.
6739 (geli): Likewise.
6740 * grub-core/disk/AFSplitter.c: New file.
6741 * grub-core/disk/cryptodisk.c: Likewise.
6742 * grub-core/disk/geli.c: Likewise.
6743 * grub-core/disk/luks.c: Likewise.
6744 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
6745 grub_util_is_lvm.
6746 (grub_util_get_dm_abstraction): New function.
6747 (grub_util_follow_gpart_up): Likewise.
6748 (grub_util_get_geom_abstraction): Likewise.
6749 (grub_util_get_dev_abstraction): Use new functions.
6750 (grub_util_pull_device): Pull GELI and LUKS.
6751 (grub_util_get_grub_dev): Handle LUKS and GELI.
6752 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
6753 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
6754 (follow_geom_up): Removed.
6755 (grub_util_fd_seek): New function.
6756 (open_device): Use grub_util_fd_seek.
6757 (nread): Rename to ..
6758 (grub_util_fd_read): ... this. All users updated.
6759 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
6760 (grub_crypto_cbc_decrypt): Likewise.
6761 (grub_crypto_hmac_write): Likewise.
6762 (grub_crypto_hmac_buffer): Likewise.
6763 (grub_password_get): Extend to util.
6764 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
6765 New member modname.
6766 (gcry_md_spec) [GRUB_UTIL]: Likewise.
6767 * include/grub/cryptodisk.h: New file.
6768 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
6769 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
6770 LUKS and GELI.
6771 (grub_util_follow_gpart_up): New proto.
6772 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
6773 (grub_util_fd_read): Likewise.
6774 (grub_cryptodisk_cheat_mount): Likewise.
6775 (grub_util_cryptodisk_print_uuid): Likewise.
6776 (grub_util_get_fd_sectors): Likewise.
6777 * util/grub-fstest.c (mount_crypt): New var.
6778 (fstest): Mount crypto if requested.
6779 (options): New option -C.
6780 (argp_parser): Parse -C.
6781 (main): Init and fini gcry.
6782 * util/grub-install.in: Support cryptodisk install.
6783 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
6784 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
6785 cryptodisk.
6786 (prepare_grub_to_access_device): Likewise.
6787 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
6788 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
6789 (probe_cryptodisk_uuid): New function.
6790 (probe_abstraction): Likewise.
6791 (probe): Use new functions.
6792 * util/import_gcry.py: Create Makefile.utilgcry.def.
6793 Add modname member.
6794
9bfdcbbc
VS
67952011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 Lazy device scanning.
6798
6799 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
6800 (grub-setup): Remove util/raid.c.
6801 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
6802 * grub-core/disk/lvm.c (scan_depth): New variable.
6803 (grub_lvm_iterate): Rescan if necessary.
6804 (find_lv): New function based on grub_lvm_open.
6805 (grub_lvm_open): Use find_lv. Rescan on error.
6806 (is_node_readable): New function.
6807 (is_lv_readable): Likewise.
6808 (grub_lvm_scan_device): Skip already found disks.
6809 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
6810 Stop if searched device is found and readable.
6811 * grub-core/disk/raid.c (inscnt): New variable.
6812 (scan_depth): Likewise.
6813 (scan_devices): New function based on grub_raid_register. Abort if
6814 looked for device is found.
6815 (grub_raid_iterate): Rescan if needed.
6816 (find_array): NEw function based on -grub_raid_open.
6817 (grub_raid_open): Use find_array and rescan.
6818 (insert_array): Set became_readable_at.
6819 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
6820 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
6821 New function.
6822 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
6823 (grub_util_pull_device): New function.
6824 (grub_util_get_grub_dev): Call grub_util_pull_device.
6825 * util/raid.c: Moved to ..
6826 * grub-core/kern/emu/raid.c: ... here.
6827 (grub_util_raid_getmembers): New parameter "bootable".
6828 All users updated. Support 1.x.
6829 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
6830 All users updated.
6831 * include/grub/disk.h (grub_disk_pull_t): New enum.
6832 (grub_disk_dev): Change iterate prototype.
6833 All users updated.
6834 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
6835 New proto.
6836 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
6837 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
6838 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
6839 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
6840 All users updated.
6841 * include/grub/util/raid.h: Removed.
6842
1c358e59
VS
68432011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * po/POTFILES.in: Regenerate.
6846
abee94ed
VS
68472011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 Unify sparc init with other ieee1275.
6850
6851 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
6852 instead of kern/sparc64/ieee1275/init.c.
6853 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
6854 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
6855 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
6856 grub/machine/kernel.h.
6857 (grub_ieee1275_original_stack) [__sparc__]: New variable.
6858 (grub_claim_heap) [__sparc__]: Use sparc version.
6859 (grub_machine_init): Moved args parsing to
6860 (grub_parse_cmdline): ...this.
6861 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
6862 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
6863 New definition.
6864 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
6865
6866 Move BOOTP to separate file.
6867
6868 * grub-core/Makefile.core.def (net): Add net/bootp.c.
6869 * grub-core/net/net.c: Move all BOOTP functions to
6870 * grub-core/net/bootp.c: ... here.
6871
6872 Use frame interface on PXE.
6873
6874 * grub-core/Makefile.core.def (pxecmd): Removed.
6875 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
6876 * grub-core/commands/i386/pc/pxecmd.c: Removed.
6877 * grub-core/i386/pc/pxe.c: Moved from here ...
6878 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
6879 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
6880 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
6881
6882 EFI network support.
6883
6884 * grub-core/Makefile.core.def (efinet): New module.
6885 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
6886 here...
6887 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
6888 All users updated.
6889 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
6890 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
6891 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
6892 * grub-core/net/drivers/efi/efinet.c: New file.
6893 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
6894 (grub_efi_net_config): New extern var.
6895
6896 Various cleanups and bugfixes.
6897
6898 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
6899 error.
6900 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
6901 disk declared as partition.
6902 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
6903 leak on failure.
6904 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
6905 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
6906 (grub_debug_zalloc): Likewise.
6907 (grub_debug_realloc): Likewise.
6908 (grub_debug_memalign): Likewise.
6909 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
6910 Check that target is IPv4.
6911 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
6912 local-mac-address as fallback.
6913 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
6914 memory leak.
6915 * grub-core/net/ip.c (ipchksum): Rename to ...
6916 (grub_net_ip_chksum): ... this. All users updated.
6917 (grub_net_recv_ip_packets): Special handling for DHCP.
6918 * util/grub-mkimage.c (generate_image): Zero-out aout header.
6919
6920 Unify prefix handling
6921
6922 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
6923 (grub_machine_get_bootlocation): ... this.
6924 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
6925 (grub_machine_get_bootlocation): ... this.
6926 (grub_prefix): New variable.
6927 (prefix): Removed.
6928 (root_dev): New variable.
6929 (dir): Likewise.
6930 (main): Use new variables.
6931 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
6932 Revamped into ...
6933 (grub_machine_get_bootlocation): ... this.
6934 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
6935 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
6936 (grub_machine_get_bootlocation): ... this.
6937 (grub_machine_set_prefix): Removed.
6938 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
6939 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
6940 Revamped into ...
6941 (grub_machine_get_bootlocation): ... this.
6942 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
6943 (grub_set_prefix_and_root): ... this. All users updated.
6944 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
6945 Revamped into ...
6946 (grub_machine_get_bootlocation): ... this.
6947 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
6948 (grub_machine_get_bootlocation): New proto.
6949 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
6950
6951 Less intrusive and more reliable seek on network implementation.
6952
6953 * grub-core/kern/file.c (grub_file_net_seek): Removed.
6954 (grub_file_seek): Don't call grub_file_net_seek.
6955 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
6956 (grub_net_fs_read_real): .. this.
6957 (grub_net_seek_real): Use net->offset.
6958 (grub_net_fs_read): Seek if necessary.
6959
6960 Unify IEEE1275 netwotk config with the other platforms.
6961
6962 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
6963 New variable.
6964 (grub_machine_get_bootlocation): Support network.
6965 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6966 Support type and device parsing.
6967 (grub_ieee1275_get_device_type): New function.
6968 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
6969 into ...
6970 (grub_ieee1275_net_config_real): ... this.
6971 (grub_ofnet_probecards): Removed.
6972 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
6973 * include/grub/ieee1275/ofnet.h: Removed.
6974 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
6975 extern var.
6976 (grub_ieee1275_get_device_type): New function.
6977
6978 Unify network device closing across platforms and make more robust.
6979
6980 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
6981 grub_grubnet_fini.
6982 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
6983 already.
6984 * grub-core/net/net.c (grub_net_network_level_interface_register):
6985 Update num_ifaces.
6986 (grub_net_card_unregister): Close all interfaces.
6987 (receive_packets): Don't poll if no iterfaces are registered.
6988 Open if necessary.
6989 (grub_net_fini_hw): New function.
6990 (grub_net_restore_hw): Likewise.
6991 (fini_hnd): New variable.
6992 (GRUB_MOD_INIT): Register preboot hook.
6993 (GRUB_MOD_FINI): Run and unregister preboot hook.
6994
6995 Poll network cards when idle.
6996
6997 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
6998 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
6999 * grub-core/net/net.c (receive_packets): Save last poll time.
7000 (grub_net_poll_cards_idle_real): New function.
7001 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7002 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7003 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7004
7005 Rename ofnet interfaces.
7006
7007 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7008 (grub_ofnet_findcards): Use ofnet_%s names.
7009
7010 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7011
7012 Cleanup socket opening.
7013
7014 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7015 (grub_net_fs_close): Likewise.
7016 (grub_net_fs_read_real): Use eof member.
7017 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7018 (+grub_net_udp_close): New inline function.
7019
7020 * include/grub/net/tftp.h: Moved to the top of ...
7021 * grub-core/net/tftp.c: ... here.
7022 * include/grub/net/ip.h: Moved mostly to the top of ...
7023 * grub-core/net/ip.c: ... here.
7024 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7025 * grub-core/net/ethernet.c: ... here.
7026
7027 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7028
7029 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7030 FS name.
7031
7032 * include/grub/net/ip.h (ipv4_ini): Removed.
7033 (ipv4_fini): Likewise.
7034
7035 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7036 (grub_net_send_ip_packets): Likewise.
7037
cf1337aa
VS
70382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7041 grub_read_cmos prototype.
7042
93c06ff9
VS
70432011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 VGA text support in qemu-mips
7046
7047 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7048 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7049 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7050 text.
7051 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7052 * grub-core/kern/vga_init.c: ... this.
7053 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7054 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7055 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7056 Adjust.
7057 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7058 GRUB_MACHINE_PCI_IO_BASE.
7059
748ccabe
VS
70602011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 MIPS qemu flash support.
7063
7064 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7065 magic.
7066 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7067 (grub_machine_init): Probe memory if its size isn't known.
7068 * util/grub-mkimage.c (image_targets): Add flash targets.
7069 (generate_image): Handle flash targets.
7070
d7345994
VS
70712011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 MIPS qemu at_keyboard support.
7074
7075 * gentpl.py (videoinkernel): Add qemu-mips.
7076 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7077 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7078 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7079 modules.
7080 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7081 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7082 * grub-core/term/serial.c (grub_serial_register)
7083 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7084
a07a81b3
VS
70852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 CMOS support on sparc.
7088
7089 * gentpl.py (cmos): Add powerpc and sparc.
7090 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7091 powerpc and sparc.
7092 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7093 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7094 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7095 grub_set_datetime_cmos.
7096 * grub-core/lib/ieee1275/cmos.c: New file.
7097 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7098 (find_rtc): Set no_ieee1275_rtc on error.
7099 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7100 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7101 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7102 fail. Move value to argument. All users updated
7103 (grub_cmos_write): Likewise.
7104 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7105 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7106 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7107 grub_get_datetime_cmos and grub_set_datetime_cmos.
7108
77546584
GS
71092011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7110
7111 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7112 sourcing grub-mkconfig_lib.
7113 * util/update-grub_lib.in: Likewise.
7114 * util/grub.d/00_header.in: Likewise.
7115 * util/grub.d/10_hurd.in: Likewise.
7116 * util/grub.d/10_kfreebsd.in: Likewise.
7117 * util/grub.d/10_linux.in: Likewise.
7118 * util/grub.d/10_netbsd.in: Likewise.
7119 * util/grub.d/10_windows.in: Likewise.
7120 * util/grub.d/20_linux_xen.in: Likewise.
7121 * util/grub.d/30_os-prober.in: Likewise.
7122
54894791
CW
71232011-06-28 Colin Watson <cjwatson@ubuntu.com>
7124
7125 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7126 default_bg_color rather than black.
7127 (grub_gfxterm_fullscreen): Likewise.
7128 (grub_gfxterm_background_color_cmd): Save new background color in
7129 default_bg_color.
7130
8d5d8444
VS
71312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7134
5afeb5bd
VS
71352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7138 mismerge.
7139
ba7df45e
VS
71402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 Chainloading on coreboot support.
7143
7144 * grub-core/Makefile.core.def (chain): Add coreboot.
7145 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7146
d0b526b2
VS
71472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7150 if it happens.
7151
5ff1d945
VS
71522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 Implement time command.
7155
7156 * grub-core/Makefile.core.def (time): New module.
7157 * grub-core/commands/time.c: New file.
7158 * grub-core/script/parser.y: Remove "time" keyword.
7159 * grub-core/script/yylex.l: Likewise.
7160
5ebaad7e
VS
71612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7164
bdea3798
VS
71652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7168 when handling leftovers.
7169
b28c5655
VS
71702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7173 so that help2man doesn't fail.
7174
b6f945dc
VS
71752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7178 type in pointers on sparc64.
7179 (get_card_packet): Likewise.
7180
f9b75e8a
CW
71812011-06-27 Colin Watson <cjwatson@ubuntu.com>
7182
7183 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7184 with `*'.
7185 (grub_cmd_videoinfo): Fetch current video mode.
7186
1e3d9b86
VS
71872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7190 because of underlying system restrictions.
7191
efff4b1c
VS
71922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7195 necessary.
7196
9fc9ce37
VS
71972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 Coreboot video support.
7200
7201 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7202 (vbe): Likewise.
7203 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7204 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7205 here ...
7206 * grub-core/kern/i386/int.S: ... here.
7207 * grub-core/video/i386/pc/vbe.c: Updated includes.
7208 * grub-core/video/i386/pc/vga.c: Likewise.
7209 * include/grub/i386/coreboot/memory.h
7210 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7211 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7212 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7213 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7214 Disable interrupts.
7215 * include/grub/i386/pc/vga.h: Removed. All users updated.
7216
41bec7fe
VS
72172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7220 definitions for dprintf.
7221 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7222
ca80309d
VS
72232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7226 prototype.
7227 (get_card_packet): Likewise.
7228
9e322ce8
YB
72292011-06-26 Yves Blusseau <blusseau@zetam.org>
7230
7231 Display the path of the file when file is not found
7232
7233 * grub-core/fs/fat.c: Display the filename when file is not found.
7234 * grub-core/fs/fshelp.c: Likewise.
7235 * grub-core/fs/hfs.c: Likewise.
7236 * grub-core/fs/jfs.c: Likewise.
7237 * grub-core/fs/minix.c: Likewise.
7238 * grub-core/fs/ufs.c: Likewise.
7239 * grub-core/fs/btrfs.c: Likewise.
7240 * grub-core/commands/i386/pc/play.c: Likewise.
7241
cbf597af
SJ
72422011-06-26 Szymon Janc <szymon@janc.net.pl>
7243
7244 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7245 pointer checks before calling grub_free().
7246 * grub-core/commands/wildcard.c (match_devices): Likewise.
7247 * grub-core/commands/wildcard.c (match_files): Likewise.
7248 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7249 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7250 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7251 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7252 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7253 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7254 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7255 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7256 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7257
6295b32f
P
72582011-06-25 Patrick <p55@mailinator.com>
7259
7260 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7261
77c0840b
VS
72622011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7265 (grub_pxe_send): Likewise.
7266 (GRUB_MOD_INIT): Fix types.
7267
40ea05de
SJ
72682011-06-24 Szymon Janc <szymon@janc.net.pl>
7269
7270 * grub-core/io/xzio.c: Fix code style issues
7271
90162423
MRA
72722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
72732011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7274
7275 Network infrastructure.
7276 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7277
7278 * include/grub/net/arp.h: New file.
90162423
MRA
7279 * include/grub/net/device.h: Likewise.
7280 * include/grub/net/ethernet.h: Likewise.
7281 * include/grub/net/ip.h: Likewise.
7282 * include/grub/net/netbuff.h: Likewise.
7283 * include/grub/net/tftp.h: Likewise.
7284 * include/grub/net/udp.h: Likewise.
7285 * include/grub/ieee1275/ofnet.h: Likewise.
7286 * include/grub/emu/export.h: Likewise.
7287 * include/grub/net.h: Likewise.
7288 * grub-core/net/arp.c: Likewise.
7289 * grub-core/net/ethernet.c: Likewise.
7290 * grub-core/net/ip.c: Likewise.
7291 * grub-core/net/udp.c: Likewise.
7292 * grub-core/net/tftp.c: Likewise.
7293 * grub-core/net/netbuff.c: Likewise.
7294 * grub-core/net/net.c: Likewise.
7295 * grub-core/net/drivers/emu/emunet.c: Likewise.
7296 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7297 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7298 export.h.
7299 * grub-core/Makefile.core.def (net): New module.
7300 (tftp): Likewise.
7301 (ofnet): Likewise.
7302 (emunet): Likewise.
7303 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7304 network protocols.
7305 * grub-core/kern/device.c (grub_net_open) : New variable.
7306 (grub_device_open): Handle network device.
7307 (grub_device_close): Likewise.
7308 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7309 (grub_grubnet_fini): Likewise.
7310 (grub_file_seek): Seek in network device.
7311 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7312 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7313 network root.
7314 (grub_machine_fini): Call grub_grubnet_fini.
7315 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7316 network.
7317 (grub_ieee1275_get_aliasdevname): New function.
7318 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7319 Add unofficial Solaris network info.
7320 (grub_multiboot_make_mbi): Likewise.
7321 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7322 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7323 * include/grub/device.h (grub_fs): Removed.
7324 * include/grub/err.h (grub_err_t): Add network-related values.
7325 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7326 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7327 (grub_ieee1275_get_aliasdevname): New proto.
7328 * include/grub/net.h: Rewritten.
423a1849 7329
031f22a0
VS
73302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7333 names.
7334
4388ca72
VS
73352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7338 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7339 it truncates the output.
7340 Reported by: Ximin Luo.
7341
98e2f506
VS
73422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7345
2a5e94d8
VS
73462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7349 partmap before abstraction.
7350
535c1910
AK
73512011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7352
7353 * util/grub-mkconfig_lib.in: Add missing quotes.
7354
bc09e1a2
VS
73552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7358 old method if mountinfo would return /dev/root and /dev/root doesn't
7359 exist.
7360
290766fb
VS
73612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 ZFS zlib support
7364
7365 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7366 (decomp_table): Add zlib entries.
7367 (zio_read): USe 8 bits for compression function rather than 3.
7368 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7369
73702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * grub-core/disk/ahci.c: Add missing license statements.
7373 * grub-core/fs/romfs.c: Likewise.
7374 * grub-core/lib/ia64/setjmp.S: Likewise.
7375 * grub-core/loader/i386/pc/freedos.c: Likewise.
7376 * grub-core/loader/ia64/efi/linux.c: Likewise.
7377 * grub-core/video/colors.c: Likewise.
7378 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7379
5ab3f48a
VS
73802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 AHCI support.
7383
7384 * grub-core/Makefile.core.def (ata_pthru): Removed.
7385 (ahci): New module.
7386 (pata): Likewise.
7387 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7388 on unload.
7389 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7390 readwrite.
7391 (grub_hdparm_do_check_powermode_cmd): Likewise.
7392 (grub_hdparm_do_smart_cmd): Likewise.
7393 (grub_hdparm_set_val_cmd): Likewise.
7394 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7395 * grub-core/disk/ahci.c: New file.
7396 * grub-core/disk/ata.c: Factor out the low-level part into ...
7397 * grub-core/disk/pata.c: ... here.
7398 * grub-core/disk/ata_pthru.c: Contents moved to ...
7399 * grub-core/disk/pata.c: ... here.
7400 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7401 (grub_scsi_iterate): Use grub_scsi_names.
7402 (grub_scsi_open): Likewise.
7403 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7404 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7405 (grub_ata_regs_t): New struct.
7406 (grub_disk_ata_pass_through_parms): Likewise.
7407 (grub_ata_device): Renamed to ...
7408 (grub_ata): ... this.
7409 (grub_ata_dev): New struct.
7410 Removed all low-level inline functions.
7411 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7412 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7413 iterate hooks and open. All users updated.
7414 * util/grub-install.in: Handle AHCI disk module.
7415
c31dc5f5
SJ
74162011-06-23 Szymon Janc <szymon@janc.net.pl>
7417
7418 Add support for DRI and RSTn markers in JPEG files.
7419
7420 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7421 (JPEG_MARKER_RST0): Likewise.
7422 (JPEG_MARKER_RST1): Likewise.
7423 (JPEG_MARKER_RST2): Likewise.
7424 (JPEG_MARKER_RST3): Likewise.
7425 (JPEG_MARKER_RST4): Likewise.
7426 (JPEG_MARKER_RST5): Likewise.
7427 (JPEG_MARKER_RST6): Likewise.
7428 (JPEG_MARKER_RST7): Likewise.
7429 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7430 (grub_jpeg_decode_dri): New function.
7431 (grub_jpeg_decode_sos): Move image data related part into
7432 grub_jpeg_decode_data function.
7433 (grub_jpeg_decode_data): New function.
7434 (grub_jpeg_reset): New function.
7435 (grub_jpeg_decode_jpeg): Handle new markers.
7436
fe12fd5b
VS
74372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * util/ieee1275/ofpath.c (check_sas): Close fd.
7440 (main): Free of_path.
7441 Reported by: David Volgyes <dvolgyes>.
7442
03147f46
VS
74432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7446 Reported by: David Volgyes <dvolgyes>.
7447
cad3237f
VS
74482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7451 file after stat.
7452 Reported by: David Volgyes <dvolgyes>.
7453
13548d26
VS
74542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7457
7458 Reported by: David Volgyes <dvolgyes>.
7459
e061a1b5
VS
74602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7463 Prevent memory leak.
7464
1abe47dc
VS
74652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7468 (main): Close file.
e061a1b5 7469 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7470
fbc62666
VS
74712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7474 to continue if allocation is failed.
7475
7476 Reported by: David Volgyes <dvolgyes>.
7477
e98c83e9
DV
74782011-06-23 David Volgyes <dvolgyes>
7479
7480 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7481 dereference.
7482
a199a8cd
VS
74832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 Fix spurious warning.
7486
7487 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7488 (acorn_partition_map_find): Use .bin member.
7489
e2d1dba0
VS
74902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7493 /dev/root as a valid device.
7494
8a5d6919
JM
74952011-06-23 Jim Meyering <meyering@redhat.com>
7496
e2d1dba0
VS
7497 Avoid NULL deref in grub_device_open.
7498
8a5d6919
JM
7499 * grub-core/kern/device.c (grub_device_open): Don't dereference
7500 a NULL pointer upon failed grub_env_get.
7501
f7db6f4a
VS
75022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 Support non-512B sectors and agglomerate reads.
7505
7506 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7507 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7508 (disk_io_guid): Removed.
7509 (make_devices): Locate solely by BlockIO.
7510 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7511 (grub_efidisk_read): Use read_blocks.
7512 (grub_efidisk_write): Use write_blocks.
7513 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7514 log_sector_size.
7515 (get_safe_sectors): Handle non-512B sectors.
7516 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7517 sectors.
7518 (grub_biosdisk_write): Handle non-512B sectors.
7519 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7520 (grub_scsi_read): Remove special non-512B block handling (now handled
7521 one level up).
7522 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7523 and do sanity checks.
7524 (grub_disk_adjust_range): Handle non-512B sectors.
7525 (transform_sector): New function.
7526 (grub_disk_read_small): Likewise.
7527 (grub_disk_read): Rewritten.
7528 (grub_disk_write): Handle non-512B sectors.
7529 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7530 log_sector_size.
7531 (open_device): Use log_sector_size.
7532 (grub_util_biosdisk_read): Likewise.
7533 (grub_util_biosdisk_write): Likewise.
7534 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7535 non-512B sectors.
7536 (pc_partition_map_embed): Likewise.
7537 * include/grub/disk.h (grub_disk): New field log_sector_size.
7538 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7539 (GRUB_DISK_CACHE_BITS): Increased to 6.
7540 * util/grub-fstest.c (fstest): New command testload.
7541 (argp_parser): Likewise.
7542
881ac815
RM
75432011-06-16 Robert Millan <rmh@gnu.org>
7544
7545 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7546 `ata' driver on kernel of FreeBSD 9.
7547
7548 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7549 (get_ataraid_disk_name): New functions.
7550 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7551 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7552 get_ataraid_disk_name() and get_ada_disk_name().
7553
1e9aef7d
CW
75542011-06-13 Colin Watson <cjwatson@ubuntu.com>
7555
7556 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7557 input format.
7558
351c7c8a
CW
75592011-05-29 Colin Watson <cjwatson@ubuntu.com>
7560
7561 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7562 `ftp.gnu.org' for `alpha.gnu.org'.
7563
6b4e6430
CW
75642011-05-27 Colin Watson <cjwatson@ubuntu.com>
7565
7566 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7567 partitions under /dev/disk/by-id/.
7568
c64db050
CW
75692011-05-27 Colin Watson <cjwatson@ubuntu.com>
7570
7571 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7572 after ten consecutive open failures. Scanning all the way up to
7573 10000 is excessive and can cause serious performance problems in
7574 some configurations.
7575 Fixes Ubuntu bug #787461.
7576
245f4aba
VS
75772011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7580 opening new one.
7581
f767c929
VS
75822011-05-21 Colin Watson <cjwatson@ubuntu.com>
75832011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 Don't stat devices unless we have to.
7586
7587 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7588 dir == /dev/mapper.
7589 (grub_guess_root_device): Use already known os_dev if possible.
7590 * grub-core/kern/emu/hostdisk.c
7591 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7592 if device is known to be a dm one.
7593
f35fa3a6
CW
75942011-05-20 Colin Watson <cjwatson@ubuntu.com>
7595
7596 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7597 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7598 Reported by: Pawel Tecza.
7599
9a79fcf2
VS
76002011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7603 (lsefisystab): Likewise.
7604 (lssal): Likewise.
7605 (lsefimmap): Likewise.
7606 (hdparm): Enable on qemu-mips.
7607 (setjmp): Add ia64 nodist.
7608 (serial): Simplify tags.
7609
63e3eea9
CW
76102011-05-18 Colin Watson <cjwatson@ubuntu.com>
7611
7612 * Makefile.util.def (grub-ofpathname): Install manual page.
7613
09728256
CW
76142011-05-18 Colin Watson <cjwatson@ubuntu.com>
7615
7616 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7617
8b63a142
CW
76182011-05-18 Colin Watson <cjwatson@ubuntu.com>
7619
7620 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7621
e775d8ed
VS
76222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7625 into dprintf.
7626
bf947d36
VS
76272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 Use full 64-bit division.
7630
7631 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
7632 (grub_divmod64): ... this.
7633 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
7634 version.
7635
b84f26c5
CW
76362011-05-18 Colin Watson <cjwatson@ubuntu.com>
7637
7638 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
7639 `source'.
7640
5626056f
CW
76412011-05-18 Colin Watson <cjwatson@ubuntu.com>
7642
7643 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
7644 to avoid accidents when debugging with 'sh -x'.
7645 * grub-core/gensyminfo.sh.in: Likewise.
7646 * tests/example_scripted_test.in: Likewise.
7647 * tests/grub_cmd_regexp.in: Likewise.
7648 * tests/grub_script_blanklines.in: Likewise.
7649 * tests/grub_script_dollar.in: Likewise.
7650 * tests/grub_script_expansion.in: Likewise.
7651 * tests/grub_script_final_semicolon.in: Likewise.
7652 * tests/partmap_test.in: Likewise.
7653 * tests/util/grub-shell-tester.in: Likewise.
7654 * tests/util/grub-shell.in: Likewise.
7655
e2965f4a
CW
76562011-05-18 Colin Watson <cjwatson@ubuntu.com>
7657
7658 Move gfxmenu color handling to video, so that gfxterm can use it
7659 too.
7660
7661 * grub-core/gfxmenu/named_colors.c: Move to ...
7662 * grub-core/video/colors.c: ... here. Rename
7663 grub_gui_get_named_color to grub_video_get_named_color.
7664 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
7665 * grub-core/video/colors.c (my_isxdigit): ... here.
7666 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
7667 Move to ...
7668 * grub-core/video/colors.c (parse_hex_color_component): ... here.
7669 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
7670 to ...
7671 * grub-core/video/colors.c (grub_video_parse_color): ... here.
7672
7673 * include/grub/gui.h (grub_gui_color_t): Move to ...
7674 * include/grub/video.h (grub_video_rgba_color_t): ... here.
7675 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
7676 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
7677 * include/grub/gui.h (grub_gui_map_color): Move to ...
7678 * include/grub/video.h (grub_video_map_rgba_color): ... here.
7679 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
7680 to ...
7681 * include/grub/video.h (grub_video_get_named_color): ... here.
7682 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
7683 * include/grub/video.h (grub_video_parse_color): ... here.
7684
7685 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
7686 video/colors.c.
7687 (gfxmenu): Remove gfxmenu/named_colors.c.
7688 (video) [videomodules]: Add video/colors.c.
7689
7690 Add a background_color command.
7691
7692 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
7693 function.
7694 (GRUB_MOD_INIT): Register background_color command.
7695 (GRUB_MOD_FINI): Unregister background_color command.
7696 (redraw_screen_rect): Allow blend/replace of text layer to be
7697 controlled independently from whether there is a background bitmap.
7698 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
7699 changing bitmap.
7700
1e4b4390
VS
77012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7702
26618ff0
VS
7703 Patch BPB in ntldr and chainloader --bpb.
7704
1e4b4390
VS
7705 * grub-core/fs/fat.c: Include grub/fat.h.
7706 (grub_fat_bpb): Moved to ...
7707 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
7708 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
7709 grub/ntfs.h.
7710 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
7711 Moved from here...
7712 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
7713 here.
7714 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
7715 New function.
7716 (grub_chainloader_cmd): Patch BPB if --bpb is given.
7717 (GRUB_MOD_INIT): Show --bpb.
7718 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
7719 * grub-core/normal/main.c (features): New variable.
7720 (GRUB_MOD_INIT): Set feature_* variables.
7721 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
7722 proto.
7723 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
7724
cf02731e
VS
77252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
7728 for cleanness.
7729
e3a1073f
VS
77302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 FreeDOS direct loading support.
7733
7734 * docs/grub.texi (Supported OS): Add FreeDOS.
7735 * grub-core/Makefile.core.def (freedos): New module.
7736 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
7737 variable.
7738 (grub_relocator16_boot): Handle %ebx.
7739 * grub-core/lib/i386/relocator16.S: Likewise.
7740 * grub-core/loader/i386/pc/freedos.c: New file.
7741
05caa461
VS
77422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 Long Linux command line support.
7745
7746 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7747 (maximal_cmdline_size): New variable.
7748 (allocate_pages): Use maximal_cmdline_size.
7749 (grub_cmd_linux): Set and use maximal_cmdline_size.
7750 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7751 (allocate_pages): Use maximal_cmdline_size.
7752 (grub_cmd_linux): Set and use maximal_cmdline_size.
7753 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
7754 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
7755 and cmdline_size.
7756
a2491e23
VS
77572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
77582011-05-18 Colin Watson <cjwatson@ubuntu.com>
7759
7760 Improve devmapper support
7761
7762 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
7763 (grub_util_is_lvm): New function.
7764 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
7765 than lvm if not dmraid.
7766 Handle mapped md nodes.
7767 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
7768 (grub_util_device_is_mapped): ... this. Make always available. All users
7769 updated.
7770 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
7771 (convert_system_partition_to_system_disk): Handle lvm, mpath and
7772 dmraid nodes.
7773 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
7774
6ad6223e
VS
77752011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
7778
7779 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
7780 * grub-core/modinfo.sh.in: New file.
7781 * grub-core/Makefile.core.def (modinfo.sh): New script.
7782 * util/grub-mknetdir.in: Use modinfo.sh.
7783 * util/grub-mkrescue.in: Likewise.
7784
543a8f6e
VS
77852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7788 Fix potential usage of Elf32 instead of Elf64 when compiling on
7789 32-bit architecture. Add endianness macros while on it.
7790
4959e111
VS
77912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 Use mipsel- rather than mips- in directories involving mipsel ports to
7794 allow both endiannesses coexist.
7795
7796 * configure.ac: proparate target_cpu=mipsel rather than resetting to
7797 mips. All conditions adjusted.
7798 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
7799 variable.
7800 * util/grub-install.in: Adjust conditions to take renaming into account.
7801 * util/grub-mkimage.c (image_targets): Likewise. New target
7802 mips-qemu_mips-elf for bigendian mips.
7803
35341bbc
VS
78042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 Avoid unnecessary copying on MIPS.
7807
7808 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
7809 early if src == dest.
7810 * util/grub-mkimage.c (generate_image): Arange for src == dest if
7811 compression is none.
7812
b772baed
VS
78132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7814
7815 Reduce memory footprint on SGI by putting modules before the kernel
7816 as opposed to after.
7817
7818 * grub-core/Makefile.core.def (kernel): Increase linking address.
7819 (none_decompress): Likewise.
7820 (xz_decompress): Likewise.
7821 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
7822 address.
7823 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
7824 layout change.
7825 (grub_arch_modules_addr): New function.
7826 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
7827 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
7828 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
7829 here.
7830 * grub-core/kern/mips/startup.S (total_size): Rename to ...
7831 (grub_total_modules_size): ... this. Make global.
7832 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
7833 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
7834 New definition.
7835 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
7836 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
7837 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
7838 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
7839 * util/grub-mkimage.c (image_target_desc): New flag
7840 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
7841 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
7842 (generate_image): Handle images with modules before kernel.
7843
566a1917
VS
78442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 Prevent potential loss of memory map by overwrite on qemu-mips.
7847
7848 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7849 Save ram size in $s4.
7850 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
7851 All users changed to grub_arch_memsize.
7852 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
7853 Loongson.
7854 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
7855 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
7856 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
7857 external variable.
7858
5d420cd9
CW
78592011-05-17 Colin Watson <cjwatson@ubuntu.com>
7860
7861 * .bzrignore: Remove grub-dumpbios.
7862
d064b830
CW
78632011-05-17 Colin Watson <cjwatson@ubuntu.com>
7864
7865 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
7866 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
7867 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
7868 existing options which append).
7869 * docs/grub.texi (Simple configuration): Document new options.
7870 Reported by: Ian Jackson. Fixes Debian bug #617538.
7871
3ca2b466
CW
78722011-05-17 Colin Watson <cjwatson@ubuntu.com>
7873
7874 * util/grub-fstest.c (cmd_cat): New function.
7875 (fstest): Handle CMD_CAT.
7876 (options): Add cat.
7877 (argp_parser): Handle cat.
7878
24c9143a
CW
78792011-05-17 Colin Watson <cjwatson@ubuntu.com>
7880
7881 * Makefile.util.def (grub-bin2h): Don't install.
7882 * docs/man/grub-bin2h.h2m: Remove.
7883
90f7ac19
VS
78842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
7887 place.
7888
8d4a5178
VS
78892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 Reenable qemu-mips port.
7892
7893 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
7894 Fix small arc bug while on it.
7895 * gentpl.py: Handle qemu_mips.
7896 * grub-core/Makefile.am: Likewise.
7897 * grub-core/Makefile.core.def: Likewise.
7898 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
7899 inappropriate includes.
7900 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
7901 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
7902 * grub-core/kern/main.c (grub_modules_get_end)
7903 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
7904 * grub-core/kern/mips/qemu-mips: Moved to ..
7905 * grub-core/kern/mips/qemu_mips: ... this.
7906 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
7907 (grub_machine_init): Call terminfo_init and serial_init.
7908 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
7909 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7910 New variable.
7911 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
7912 parameter passing.
7913 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
7914 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
7915 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7916 * include/grub/mips/qemu_mips/cmos.h: New file.
7917 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
7918 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
7919 Removed.
7920 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
7921 Use correct mips-style address.
7922 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
7923 (GRUB_TICKS_PER_SECOND): Removed.
7924 (grub_get_rtc): Likewise.
7925 (grub_cpu_idle): Likewise.
7926 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
7927 New definition.
7928 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
7929 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
7930 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
7931 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
7932 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7933 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7934 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
7935 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
7936
400b9371
VS
79372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 SGI ARCS port.
7940
7941 * Makefile.util.def (libgrubmods.a): Add dvh.c.
7942 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
7943 platforms.
7944 * configure.ac: New target mips-arc.
7945 * gentpl.py: Likewise.
7946 * grub-core/Makefile.am: Likewise.
7947 * grub-core/Makefile.core.def: Likewise.
7948 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
7949 (none_decompress): Likewise.
7950 (lsdev): New module.
7951 (datetime): Use lib/arc/datetime.c on ARC.
7952 (part_dvh): New module.
7953 * grub-core/commands/arc/lsdev.c: New file.
7954 * grub-core/disk/arc/arcdisk.c: Likewise.
7955 * grub-core/kern/mips/arc/init.c: Likewise.
7956 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
7957 aligned addresses.
7958 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
7959 support.
7960 (grub_arch_dl_relocate_symbols): Likewise.
7961 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
7962 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
7963 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
7964 platforms.
7965 * grub-core/lib/arc/datetime.c: New file.
7966 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
7967 pci.h on non-loongson.
7968 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
7969 (grub_linux_boot): Set unused registers to 0.
7970 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
7971 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
7972 * grub-core/mmap/mips/uppermem.c: ...here.
7973 * grub-core/partmap/dvh.c: New file.
7974 * grub-core/term/arc/console.c: Likewise.
7975 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
7976 (grub_terminfo_set_current): Add terminal "arc".
7977 (grub_terminfo_readkey): Support ARC sequences.
7978 * include/grub/arc/arc.h: New file.
7979 * include/grub/arc/console.h: Likewise.
7980 * include/grub/disk.h (grub_disk_dev_id): Add
7981 GRUB_DISK_DEVICE_ARCDISK_ID.
7982 * include/grub/mips/arc/kernel.h: New file.
7983 * include/grub/mips/arc/memory.h: Likewise.
7984 * include/grub/mips/arc/time.h: Likewise.
7985 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
7986 * include/grub/mips/kernel.h (grub_halt): ... here.
7987 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
7988 here...
7989 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
7990 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
7991 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
7992 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
7993 proto.
7994 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
7995 from here ...
7996 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
7997 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
7998 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
7999 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8000 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8001 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8002 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8003 (grub_phys_addr_t): Moved from here ...
8004 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8005 (grub_vtop): Moved from here ...
8006 * include/grub/mips/memory.h (grub_vtop): ... here.
8007 (grub_map_memory): Moved from here ...
8008 * include/grub/mips/memory.h (grub_map_memory): ... here.
8009 (grub_unmap_memory): Moved from here ...
8010 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8011 (grub_machine_mmap_iterate): Moved from here ...
8012 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8013 (grub_mmap_get_lower): Moved from here ...
8014 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8015 (grub_mmap_get_upper): Moved from here ...
8016 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8017 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8018 here ...
8019 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8020 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8021 here ...
8022 * include/grub/mips/time.h (grub_get_rtc): ... here.
8023 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8024 here ...
8025 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8026 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8027 here ...
8028 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8029 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8030 definition.
8031 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8032 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8033 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8034 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8035 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8036 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8037 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8038 (GRUB_MACHINE_LINK_ADDR): Likewise.
8039 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8040 to 6.
8041 * util/grub-install.in: Run dvhtool on ARC.
8042 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8043 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8044
c8ecc840
VS
80452011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8048 blocks.
8049
153a4b55
VS
80502011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8053 after enabling port.
8054
ff44d107
VS
80552011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Skip incorrect USB devices.
8058
8059 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8060 configcnt == 0.
8061 * include/grub/usb.h (grub_usb_err_t): New enum value
8062 GRUB_USB_ERR_BADDEVICE.
8063
638dbe4f
VS
80642011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 Fuloong video init support.
8067
8068 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8069 well.
8070 (grub_vga_read_arx): New function.
8071 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8072 definition.
8073 (framebuffer): New members io, mmioptr and mmiobase.
8074 (read_sis_cmd): New function.
8075 (write_sis_cmd): Likewise.
8076 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8077 rather than 640x400.
8078 * grub-core/video/sis315_init.c: New file.
8079
c3fc520c
VS
80802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8083 non-loongson.
8084 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8085 to grub_dl_register_symbol.
8086
67b1e5c9
VS
80872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 Fix compilation errors.
8090
8091 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8092 potentially unused.
8093 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8094 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8095 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8096 to loongson machines.
8097
b756f75f
VS
80982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 Several FS mtime support.
8101
8102 * grub-core/fs/affs.c (grub_affs_time): New struct.
8103 (grub_affs_file): New field mtime.
8104 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8105 type. Removed 'size'. New field 'di'. All users updated.
8106 (grub_affs_mount): Simplify checsum checking.
8107 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8108 (grub_affs_dir): Handle mtime.
8109 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8110 (grub_cpio_dir): Likewise.
8111 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8112 (grub_hfs_filerec): New field mtime.
8113 (grub_hfs_dir): Handle mtime.
8114 (grub_hfs_mtime): New function.
8115 (grub_hfs_fs): Register grub_hfs_mtime.
8116 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8117 (grub_iso9660_dir): New field mtime.
8118 (grub_fshelp_node): New field dirent.
8119 (iso9660_to_unixtime): New function.
8120 (iso9660_to_unixtime2): Likewise.
8121 (grub_iso9660_read_symlink): Use node->dirent.
8122 (grub_iso9660_iterate_dir): Likewise.
8123 (grub_iso9660_dir): Set mtime.
8124 (grub_iso9660_mtime): New function.
8125 (grub_iso9660_fs): Register grub_iso9660_mtime.
8126 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8127 (grub_jfs_inode): New fields atime, ctime and mtime.
8128 (grub_jfs_dir): Set mtime.
8129 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8130 * grub-core/fs/ntfs.c (list_file): Set mtime.
8131 (grub_ntfs_dir): Likewise.
8132 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8133 (grub_reiserfs_iterate_dir): Set mtime.
8134 (grub_reiserfs_dir): Likewise.
8135 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8136 (grub_fshelp_node): Likewise.
8137 (grub_sfs_iterate_dir): Set mtime.
8138 (grub_sfs_dir): Likewise.
8139 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8140 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8141 (grub_xfs_inode): New fields atime, mtime, ctime.
8142 (grub_xfs_dir): Set mtime.
8143 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8144 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8145 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8146
8147 Support UDF symlinks.
8148
8149 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8150 (grub_ufs_read_symlink): New function. All users updated.
8151
8152 Check amiga partmap checksum.
8153
8154 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8155 (grub_amiga_partition): Likewise.
8156 (amiga_partition_map_checksum): New function.
8157 (amiga_partition_map_iterate): Check checksum.
8158
5470225d
VS
81592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 ROMFS support.
8162
8163 * Makefile.util.def (libgrubmods.a): Add romfs.
8164 * grub-core/Makefile.core.def (romfs): New module.
8165 * grub-core/fs/romfs.c: New file.
8166
d4680a35
VS
81672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 Squashfs v4 support.
8170
8171 * Makefile.util.def (libgrubmods.a): Add squash4.
8172 * grub-core/Makefile.core.def (squash4): New module.
8173 * grub-core/fs/squash4.c: New file.
8174 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8175 disk_input_start, disk_input.
8176 (get_byte): Handle disk_input.
8177 (grub_zlib_disk_read): New function.
8178 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8179
bcb18e74
FZ
81802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
81812011-05-15 Feiran Zheng <famcool@gmail.com>
8182
8183 * Makefile.util.def (libgrubmods.a): Add minix3.
8184 * grub-core/Makefile.core.def (minix3): New module.
8185 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8186 (GRUB_MINIX_BSIZE): Removed.
8187 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8188 (grub_minix_ino_t): New type.
8189 (grub_minix_le_to_cpu_ino): New macro.
8190 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8191 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8192 (grub_minix_data): New field block_size.
8193 (grub_minix_read_file): Handle 64-bit correctly.
8194 * grub-core/fs/minix3.c: New file.
8195
32297d5f
TG
81962011-05-15 Tristan Gingold <gingold@free.fr>
81972011-05-15 Robert Millan <rmh.grub@aybabtu.com>
81982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 IA64 support.
8201
8202 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8203 * configure.ac: Add ia64-efi target.
8204 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8205 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8206 * gentpl.py: Add ia64_efi platform.
8207 Rename x86_efi to efi and Add ia64-efi. All users updated.
8208 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8209 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8210 Remove kern/generic/rtc_get_time_ms.c on EFI.
8211 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8212 kern/ia64/dl_helper.c on ia64-efi.
8213 Add kern/emu/cache.c on emu.
8214 (linux): Use on loader/ia64/efi/linux.c on ia64.
8215 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8216 whether symbol is a function.
8217 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8218 (grub_symbol): New field 'isfunc'.
8219 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8220 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8221 (grub_dl_load_segments): Place all sections into the same region.
8222 [__ia64__]: Create trampolines and got.
8223 [GRUB_MACHINE_EMU]: Call mprotect.
8224 (grub_dl_resolve_symbols): Resolve symbol type as well.
8225 [__ia64__]: Create function descriptors.
8226 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8227 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8228 (grub_get_rtc): New function.
8229 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8230 * grub-core/kern/emu/cache.S: Renamed to ...
8231 * grub-core/kern/emu/cache_s.S: ... this.
8232 [__ia64__]: Add a nop.
8233 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8234 [__ia64__]: New function.
8235 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8236 * grub-core/kern/ia64/dl.c: New file.
8237 * grub-core/kern/ia64/dl_helper.c: Likewise.
8238 * grub-core/kern/ia64/efi/init.c: New file.
8239 * grub-core/kern/ia64/efi/startup.S: Likewise.
8240 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8241 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8242 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8243 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8244 * grub-core/loader/ia64/efi/linux.c: New file.
8245 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8246 (GRUB_MOD_DEP): Likewise.
8247 (grub_dl) [__ia64__]: New fields got and tramp.
8248 (grub_dl): New field 'base'.
8249 (grub_dl_register_symbol): New argument isfunc. All users updated.
8250 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8251 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8252 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8253 (grub_ia64_dl_get_tramp_got_size): New proto.
8254 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8255 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8256 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8257 * include/grub/efi/api.h: Skip call wrappers on ia64.
8258 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8259 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8260 * include/grub/elf.h (ELF_ST_INFO): New definition.
8261 * include/grub/ia64/efi/kernel.h: New file.
8262 * include/grub/ia64/efi/memory.h: Likewise.
8263 * include/grub/ia64/efi/time.h: Likewise.
8264 * include/grub/ia64/kernel.h: Likewise.
8265 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8266 * include/grub/ia64/time.h: New file.
8267 * include/grub/ia64/types.h: Likewise.
8268 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8269 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8270 New protos.
8271 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8272 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8273 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8274 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8275 All users updated.
8276 (EFI64_HEADER_SIZE): New definition. All users updated.
8277 (image_targets): Add ia64-efi.
8278 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8279 jumpers_addr. All users updated.
8280 Create function descriptors.
8281 (count_funcs): New function.
8282 (unaligned_uint32): New struct.
8283 (MASK20): New definition.
8284 (MASK19): Likewise.
8285 (MASKF21): Likewise.
8286 (add_value_to_slot_20b): New function.
8287 (add_value_to_slot_21_real): Likewise.
8288 (add_value_to_slot_21): Likewise.
8289 (ia64_kernel_trampoline): New struct.
8290 (nopm): New variable.
8291 (jump): Likewise.
8292 (make_trampoline): New function.
8293 (relocate_addresses): Handle ia64.
8294 (make_reloc_section): Likewise.
8295 (load_image): Likewise.
8296
983b414d
VS
82972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8300 warning. Move variables before code while on it.
8301
5d063cdc
VS
83022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 Fuloong support.
8305
8306 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8307 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8308 * grub-core/boot/mips/loongson/fuloong.S: New file.
8309 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8310 Explicitly init CS5536.
8311 [FULOONG]: Don't use serial until CS5536 is available.
8312 Set GPIO based on dumps.
8313 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8314 [FULOONG]: Handle GPIO and memory controller differences.
8315 Parse machine type in $a2.
8316 * grub-core/boot/mips/startup_raw.S: Determine and save the
8317 architecture.
8318 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8319 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8320 init on architecture type.
8321 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8322 SIS315E. Don't init at_keyboard on fuloong.
8323 (grub_halt): Support Fuloong.
8324 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8325 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8326 (loongson_machtypes): New array.
8327 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8328 type.
8329 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8330 config. All users updated. Handle CS5536 serial.
8331 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8332 default port on machine type. Register serial as inactive.
8333 * grub-core/video/sis315pro.c: New file.
8334 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8335 definition.
8336 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8337 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8338 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8339 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8340 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8341 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8342 to ...
8343 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8344 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8345 definition.
8346 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8347 (grub_arch_machine): New extern var.
8348 * include/grub/mips/loongson/serial.h
8349 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8350 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8351 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8352 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8353 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8354 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8355 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8356 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8357 * include/grub/term.h (grub_term_register_input_inactive): New inline
8358 function.
8359 (grub_term_register_output_inactive): Likewise.
8360 * include/grub/video.h (grub_video_driver_id): New value
8361 GRUB_VIDEO_DRIVER_SIS315PRO.
8362 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8363 New field "names". All users updated.
8364 New field value IMAGE_FULOONG_FLASH.
8365 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8366
6ada82d1
JU
83672011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8368
8369 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8370 and add some clarification.
8371
90c571a4
VS
83722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8375 platforms if kernel is compressed.
8376
de04eecf
VS
83772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8380 unused modules since currently referrence counter isn't reliable and
8381 there isn't much memory to recover there anyway.
8382
57688121
VS
83832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8386 rather than resetting it to allow modules to reference themselves
8387 in init.
8388
3d2c7e35
VS
83892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8392 counter on dependencies since grub_dl_unref already handles this.
8393
b25db218
VS
83942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8397 on error if not already done.
8398
25a45338
VS
83992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 Fix few potential memory misusage.
8402
8403 * grub-core/font/font.c (load_font_index): Don't free char_index to
8404 avoid double free.
b25db218
VS
8405 (grub_font_load): Zero-fill font at alloc for safety.
8406 Close file on error.
8407 (free_font): Free bmp_idx.
25a45338 8408
0cac83df
VS
84092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * docs/grub.texi (Installation): Fix several outdated claims.
8412
2217a143
VS
84132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 Handle module_license on windows.
8416
8417 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8418 sections shifted.
8419 (insert_string): Make argument const char * instead of char *.
8420 (write_section_data): Handle long section names.
8421 Handle module_license.
8422
d4de6b01
VS
84232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8426 handle class-free menuentries.
8427 (grub_normal_add_menu_entry): Add a check to be sure.
8428
4c2a3b43
VS
84292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8432 PgUp and PgDown.
8433
85c6210f
VS
84342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * configure.ac: Bump version to 1.99.
8437
36084912
VS
84382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 Give ATA device a bit more time on first try in order to allow disks
8441 to spin up.
8442
8443 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8444 if dev->present is 1. Reset dev->present on failure.
8445 (grub_ata_device_initialize): Set dev->present to 1.
8446 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8447 (grub_ata_device): New member 'present'.
8448
bda0e219
VS
84492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * util/grub-mkimage.c (generate_image): Update hash.
8452
19e1c41b
VS
84532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 Flush caches on DMA memory.
8456
8457 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8458 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8459 (grub_dma_free): Likewise.
8460 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8461
91bbcc0c
VS
84622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8465 to avoid asm treating ld and sd as macros.
8466
60ddfad3
VS
84672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8470 decompressor.
8471
a298aa04
VS
84722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8475 grub_decompress_core since later would fail if grub_decompress_core
8476 is too far.
8477
9b44feca
VS
84782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8481 R_MIPS_JALR since it's used by newer compiler.
8482
56dbe7b4
VS
84832011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8486
52856af2
VS
84872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8490 file_path to 0 for surety.
8491 (grub_chainloader_boot): Set exit_data to NULL.
8492 Unset the loader once done.
8493 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8494
9c9bfc6d
VS
84952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8498 unknown key into a dprintf.
8499
dd94a3df
VS
85002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8503 on first non-existant partition.
8504
fa68d99c
VS
85052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8508 openning fails.
8509 Reported by: Mark Korenberg.
8510
157effb7
VS
85112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8514 overflow.
8515
ea75312f
VS
85162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8519 before closing to ensure that it will be readable by grub-setup.
8520
072b5d31
VS
85212011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8524 (devpath_1): Use MAKE_PIWG_PATH.
8525 (devpath_2): Likewise.
8526 (devpath_3): Likewise.
8527 (devpath_4): Likewise.
8528 (devpath_5): Likewise.
8529 (devpath_6): Likewise.
8530
8531 The appleldr.mod was checked that to be binary identical to previous
8532 version.
8533
7fae0051
Z
85342011-05-05 Zach <mikezackles>
8535
8536 Support 2010 Macbooks.
8537
8538 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8539 (devs): Add devpath_6.
8540
7c515bee
VS
85412011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8544 /dev/random. /dev/urandom is good enough for our purposes (salting).
8545
ed660bd8
VS
85462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8549
ee5614b7
VS
85502011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8553 hexadecimal.
8554
664889a6
VS
85552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8558 and not 0 on failure.
8559
bd405bbc
CW
85602011-05-03 Colin Watson <cjwatson@ubuntu.com>
8561
8562 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8563 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8564 disk; otherwise grub_fs_probe will not fall back to the next
8565 filesystem.
8566 (grub_pxefs_open): Likewise, for consistency.
8567 Reported and tested by: Ezekiel Grave.
8568
4ebff753
CW
85692011-05-03 Colin Watson <cjwatson@ubuntu.com>
8570
8571 * tests/partmap_test.in: Don't hardcode path to parted.
8572 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8573
8f942553
CW
85742011-05-01 Colin Watson <cjwatson@ubuntu.com>
8575
8576 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8577 of `ls' to find out which devices are available.
8578
3c62402d
VS
85792011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8582 than source address for efi mmap buffer.
8583
723f63f2
VS
85842011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8587 wrong action on non-detecting the magic.
8588
68797f92
VS
85892011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8590
8591 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8592 already supplied by another part of the module (fixes compilation on
8593 FreeBSD).
8594
6be8715d
VS
85952011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8598 match the one used by mdadm.
8599
e91dba5b
CW
86002011-04-21 Colin Watson <cjwatson@ubuntu.com>
8601
8602 * po/README: Add instructions for creating po/LINGUAS.
8603
c85140b3
CW
86042011-04-21 Colin Watson <cjwatson@ubuntu.com>
8605
8606 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8607 #551428.
8608
8609 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8610 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8611 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8612 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8613 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8614 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8615 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8616 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8617 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8618 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8619 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8620 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8621 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8622 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8623 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8624 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8625 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8626 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8627 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8628 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8629 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8630 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8631
92051871
CW
86322011-04-21 Colin Watson <cjwatson@ubuntu.com>
8633
8634 * grub-core/kern/emu/getroot.c
8635 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
8636 test that was incorrectly reintroduced in r3214.
8637 Reported by: Ian Dall. Fixes Savannah bug #33133.
8638
b13f79a4
CW
86392011-04-21 Colin Watson <cjwatson@ubuntu.com>
8640
8641 Fix stack pointer handling in 16-bit relocator.
8642
8643 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
8644 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
8645 Fixes Ubuntu bug #683904.
8646
9b710a88
VS
86472011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * configure.ac: Bump version to 1.99~rc2.
8650
d97e7b59
VS
86512011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
8654 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
8655 * grub-core/lib/x86_64/setjmp.S: Likewise.
8656 * grub-core/lib/mips/setjmp.S: Likewise.
8657 * grub-core/lib/powerpc/setjmp.S: Likewise.
8658 * grub-core/lib/sparc64/setjmp.S: Likewise.
8659
0624551c
VS
86602011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
8663 * grub-core/lib/efi/datetime.c: Likewise.
8664
e8f28d4c
VS
86652011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
8668 New function.
8669 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
8670 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
8671 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
8672
bba79a15
VS
86732011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
8676 bitmap.
8677 (grub_gfxterm_term_init): Likewise.
8678
abc474ef
VS
86792011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 Take into account the decorations the computing menu entry width.
8682
8683 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
8684 (grub_gfxmenu_create_box): Register get_border_width.
8685 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
8686 if available.
8687 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
8688 get_border_width.
8689
e74b3947
EP
86902011-04-18 Endres Puschner <code@e7p.de>
8691
8692 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
8693 Don't skip first class.
8694
34faa595
VS
86952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
8698 chunks.
8699 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
8700
93a777e3
VS
87012011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 Complete 64-bit division support.
8704
8705 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
8706 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
8707 * include/grub/misc.h (grub_divmod64): Rename to ...
8708 (grub_divmod64_full): ... this.
8709 (grub_divmod64): New inline function.
8710
a5102d94
VS
87112011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * util/grub-mkimage.c (generate_image): Add forgotten comma.
8714
f3fb7b36
VS
87152011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
8718 performing the necessary test.
8719
9ac718b0
VS
87202011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
8723 (kfreebsd.elf): Likewise.
8724 (pc-chainloader.elf): Likewise.
8725 (ntldr.elf): Likewise.
8726
50d2cc5a
VS
87272011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 Identify RAID by its UUID rather than (guessed) name.
8730
8731 * grub-core/disk/raid.c (ascii2hex): New function.
8732 (grub_raid_open): Accept mduuid/%s specification.
8733 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
8734 (get_mdadm_uuid): ... this.
8735 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
8736
e03f7bea
VS
87372011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
8740 to negative size.
8741
e74c3112
CW
87422011-04-13 Colin Watson <cjwatson@ubuntu.com>
8743
8744 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
8745 btrfs subvolume.
8746 * util/grub.d/20_linux_xen.in: Likewise.
8747
78fa584f
CW
87482011-04-13 Colin Watson <cjwatson@ubuntu.com>
8749
8750 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
8751 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
8752
8753 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8754 Build a list of relevant visible mounts using the mnt_id and
8755 parent_mnt_id fields, and then scan that list at the end.
8756
9d5f8162
CW
87572011-04-12 Colin Watson <cjwatson@ubuntu.com>
8758
8759 * docs/grub.texi (normal): New section.
8760 (normal_exit): New section.
8761 (Embedded configuration): Add reference to normal.
8762 (GRUB only offers a rescue shell): Likewise.
8763 * docs/grub-dev.texi (Error Handling): Fix typo.
8764
09a9d66f
CW
87652011-04-12 Colin Watson <cjwatson@ubuntu.com>
8766
8767 * NEWS: Drop obsolete entry about probe-only btrfs support.
8768
0c676933
CW
87692011-04-12 Colin Watson <cjwatson@ubuntu.com>
8770
8771 * util/import_gcry.py: Fix typo.
8772
ec9f5e0d
VS
87732011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * NEWS: Add btrfs support.
8776
fe6b2cba
VS
87772011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
87782011-04-11 Colin Watson <cjwatson@ubuntu.com>
8779
8780 BtrFS support. Written by me (Vladimir) with important bugfixes and
8781 even more important testing by Colin.
8782
8783 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
8784 * grub-core/Makefile.core.def (btrfs): Add crc.c.
8785 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
8786 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
8787 mem_input_off and mem_input. All users updated to accept in-RAM input.
8788 (gzio_seek): New function.
8789 (test_zlib_header): Likewise.
8790 (grub_gzio_read): Likewise.
8791 (grub_zlib_decompress): Likewise.
8792 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
8793 Accept partial and non-virtual mounts.
8794 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
8795 avoid receiving /dev/dm-X as device.
8796 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
8797 Handle bind and partial mounts.
8798 * grub-core/lib/crc.c: New file.
8799 * include/grub/deflate.h: Likewise.
8800 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
8801 proto.
8802 * include/grub/lib/crc.h: New file.
8803
e745cf0c
VS
88042011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 Implement automatic module license checking according to new GNU
8807 guidelines.
8808
8809 * grub-core/kern/dl.c (grub_dl_check_license): New function.
8810 (grub_dl_load_core): Use grub_dl_check_license.
8811 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
8812 (GRUB_MOD_LICENSE): Likewise.
8813 (GRUB_MOD_DUAL_LICENSE): Likewise.
8814 All modules updated.
8815
2a9bc016
CW
88162011-04-11 Colin Watson <cjwatson@ubuntu.com>
8817
8818 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
8819 reserved_first_sector to 1. btrfs reserves plenty of space for boot
8820 loaders.
8821 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
8822
8a3bc88e
VS
88232011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
8826
af869a4a
VS
88272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * util/grub-fstest.c (read_file): Report GRUB error if file opening
8830 failed.
8831
9ee8d94f
VS
88322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * grub-core/kern/file.c (grub_file_open): Don't take into account the
8835 parenthesis in the middle of the filename.
8836
b01abe3e
VS
88372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
8840 rather than trying to put initrd way too high.
8841 Reported by: Ryan Lortie <desrt@desrt.ca>
8842
335bda1e
VS
88432011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
8846 improperly removed string.
8847
5ca1a64d
VS
88482011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
8851 is_disk.
8852 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
8853 (open_device) Likewise.
8854 (grub_util_biosdisk_close): Likewise.
d8ce9995 8855 Reported by: Mark Korenberg.
5ca1a64d 8856
cbac5b1e
AK
88572011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
8858
8859 * util/grub-mkconfig_lib.in: Add missing quotes.
8860
088cdb65
CW
88612011-04-10 Colin Watson <cjwatson@ubuntu.com>
8862
8863 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
8864 is NULL.
8865
8b8a81fa
VS
88662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 Dynamically count the number of lines for the lower banner.
8869
8870 * grub-core/normal/menu_entry.c (per_term_screen): New member
8871 num_entries.
8872 (print_down): Use num_entries.
8873 (update_screen): Likewise.
8874 (grub_menu_entry_run): Set num_entries.
8875 * grub-core/normal/menu_text.c (menu_viewer_data): New member
8876 num_entries.
8877 (grub_print_message_indented): Move real part to ...
8878 (grub_print_message_indented_real): ... here. Additional argument
8879 dry_run.
8880 (draw_border): Additional argument num_entries.
8881 (print_message): Additional argument dry_run.
8882 (print_entries): Receive menu viewer data.
8883 (grub_menu_init_page): New argment num_entries.
8884 (menu_text_set_chosen_entry): Use num_entries.
8885 (grub_menu_try_text): Likewise.
8886 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
8887 All users updated.
8888 (grub_ucs4_count_lines): New function.
8889 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
8890 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
8891 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
8892 (grub_term_border_height): Likewise.
8893 (grub_term_num_entries): Likewise.
8894
277f955b
VS
88952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
8898 Remove now unused string.
8899
536ce85a
CW
89002011-04-09 Colin Watson <cjwatson@ubuntu.com>
8901
8902 * docs/grub-dev.texi (Finding your way around): Update for 1.99
8903 build system.
8904 (Getting started): GRUB is developed in Bazaar now, not Subversion.
8905
8906 (Comment): Fix typo.
8907 (Getting started): General copy-editing.
8908 (Typical Development Experience): Likewise.
8909 (Error Handling): Likewise.
8910 (Video API): Likewise.
8911
2cf09e32
CW
89122011-04-09 Colin Watson <cjwatson@ubuntu.com>
8913
8914 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
8915 throughout.
8916
1ec652f4
VS
89172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * util/grub-mkimage.c (main): Handle special naming of yeeloong
8920 directory.
8921
2c583728
CW
89222011-04-08 Colin Watson <cjwatson@ubuntu.com>
8923
8924 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
8925 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
8926 "development".
8927
d7a565e9
VS
89282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
8931 grub_strcpy since the lines aren't necessarily 0-terminated.
8932
7c2e4909
VS
89332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
8936 root on legacy.
8937
34c09785
VS
89382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/commands/probe.c (options): Argument to set isn't optional.
8941 (GRUB_MOD_INIT): DEVICE isn't optional.
8942
6a6f8058
VS
89432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
8946 word on new line if it's too long anyway. Fixes a hang.
8947
2e335e90
VS
89482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
8951 const.
8952 * util/grub-setup.c (main): Reuse md device name if available.
8953 * util/raid.c (grub_util_raid_getmembers): Receive device name and
8954 not GRUB name as argument.
8955 Based on patch by: Florian Wagner <fwagner>.
8956
10a7a867
VS
89572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8960 Place mbi on low memory for better compatibility.
8961
7a3d6cd9
VS
89622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
8965
18dd6b47
VS
89662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
89672011-04-08 Colin Watson <cjwatson@ubuntu.com>
8968
8969 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 8970 * conf/Makefile.common: Likewise.
18dd6b47 8971
3c0e3f14
VS
89722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8973
f7148863
VS
8974 * grub-core/normal/menu.c: Add missing include.
8975
89762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 8979
6d1fa41f
MZ
89802011-04-08 Martin Zuther <mzuther@mzuther.de>
8981
8982 * util/grub-mkconfig.in: Ignore emacsen backup.
8983
478182a8
VS
89842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
8987 on open.
8988 (grub_util_biosdisk_close): Likewise.
8989
72a89a54
VS
89902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
8993 const attribute and use grub_isdigit.
8994
b5ebecfa
A
89952011-04-06 Andrey <dev_null@ukr.net>
8996
8997 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
8998 gcc warning.
8999
7755f66e
VS
90002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9003 useful grub_dprintf's.
9004
461121ff
VS
90052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9008
2a961775
VS
90092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9012
adf594cc
VS
90132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 Output errors if theme loading failed.
9016
9017 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9018 grub_gfxterm_fullscreen on error paths to ...
9019 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9020 theme loading error.
9021
665900a3
VS
90222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9025 space for older compilers.
9026 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9027
a562b479
VS
90282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9031 and report them as not RAID members since they are useless for GRUB.
9032 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9033
850e9373
VS
90342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 Increase LVM implementation robustness in order not to crash on
9037 configurations like pvmove. Previously code assumed that in some places
9038 only lvs or only pvs are used whereas it seems that they are used
9039 interchangeably.
9040
9041 * grub-core/disk/lvm.c (read_node): New function.
9042 (read_lv): Use read_node.
9043 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9044 Match volumes only at the end when all lvs are found. Take both
9045 pvs (first) and lvs (second) into account.
9046 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9047 mirror_* into node_*. All users updated.
9048 (grub_lvm_stripe): Merge this ...
9049 (grub_lvm_mirror): ... and this ...
9050 (grub_lvm_node): ... into this. All users updated.
9051
6f332153
VS
90522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9055 of function to allow further scanning for LVMs.
9056
829ea451
VS
90572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9060 on failed seek as it breaks open fd reusage.
9061
09ceb9a5
VS
90622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * util/grub-install.in: Add a recommendation to use --recheck before
9065 reporting bugs.
9066
67e11623
VS
90672011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9070 are obtained.
9071
caee5efd
VS
90722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 GRUB developper manual based on existing Internals section and
9075 contributions by the various authors with active copyright assignment.
9076
9077 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9078 * docs/font_char_metrics.png: New file.
9079 * docs/font_char_metrics.txt: Likewise.
9080 * docs/grub-dev.texi: Likewise.
9081 * docs/grub.texi (Internals): Move from here ...
9082 * docs/grub-dev.texi: ... here.
9083
2cccc747
CW
90842011-04-01 Colin Watson <cjwatson@ubuntu.com>
9085
9086 Store the loopback device as data on loopback grub_disk structures,
9087 rather than the file it points to. This fixes use of freed memory
9088 if an existing loopback device is replaced.
9089
9090 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9091 disk->data, not dev->file.
9092 (grub_loopback_read): Adjust file assignment to match.
9093 Fixes Ubuntu bug #742967.
9094
186ae367
CW
90952011-04-01 Colin Watson <cjwatson@ubuntu.com>
9096
9097 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9098 when replacing an existing device.
9099
cfed2ad0
VS
91002011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9103 memory corruptions.
9104
9105 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9106 unsigned.
9107 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9108 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9109 (grub_jfs_read_inode): Likewise.
9110 (grub_jfs_opendir): Likewise. Remove now useless casts.
9111 (grub_jfs_getent): Likewise.
9112 Make ino a grub_uint32_t rather than int.
9113 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9114 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9115 division and module with bit operations.
9116 (grub_jfs_find_file): Make ino a grub_uint32_t.
9117 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9118
05d2ed32
CW
91192011-04-01 Colin Watson <cjwatson@ubuntu.com>
9120
9121 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9122 warning. (This was in fact always initialised before use, but GCC
9123 wasn't smart enough to prove that.)
9124 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9125
91dc6073
VS
91262011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9129 stack alignment.
9130 (efi_wrap_1): Likewise.
9131 (efi_wrap_2): Likewise.
9132 (efi_wrap_3): Likewise.
9133 (efi_wrap_4): Likewise.
9134 (efi_wrap_5): Likewise.
9135 (efi_wrap_6): Likewise.
9136 (efi_wrap_10): Likewise.
9137 Based on information by: Red Hat/Peter Jones.
9138
a8afc1d1
CW
91392011-03-31 Colin Watson <cjwatson@ubuntu.com>
9140
9141 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9142 set-but-not-used variable.
9143
a826cc7d
CW
91442011-03-31 Colin Watson <cjwatson@ubuntu.com>
9145
9146 * docs/grub.texi (Simple configuration): Be more explicit about
9147 GRUB_DEFAULT, and add an example.
9148 Reported by: Leslie Rhorer.
9149
875b67ba
CW
91502011-03-30 Colin Watson <cjwatson@ubuntu.com>
9151
9152 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9153 shell".
9154
fd7cd914
AS
91552011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9156
9157 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9158 * util/grub.d/20_linux_xen.in: Likewise.
9159
090b1b6a
VS
91602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * util/grub.d/10_linux.in: Try alternative config filenames where
9163 we parse config file.
9164 * util/grub.d/20_linux_xen.in: Likewise.
9165
baad885c
AS
91662011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9167
9168 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9169 * util/grub.d/20_linux_xen.in: Likewise.
9170
241e41f5
VS
91712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * grub-core/disk/raid.c (insert_array): Add few potentially
9174 useful grub_util_info.
9175 (grub_raid_register): Likewise.
9176
56445fb2
VS
91772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9180 Preserve partition number in mdadm code path.
9181
c871b1c6
VS
91822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9185 few potentially useful grub_util_info.
9186
5e631b4f
CW
91872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9190
2d5d0333
CW
91912011-03-30 Colin Watson <cjwatson@ubuntu.com>
9192
9193 * docs/grub.texi (default): Use @example rather than nested
9194 itemized lists to avoid breaking gendocs.
9195
3d7ed04e
CW
91962011-03-30 Colin Watson <cjwatson@ubuntu.com>
9197
9198 * docs/grub.texi (Future): Update.
9199
abf04200 92002011-03-30 Colin Watson <cjwatson@ubuntu.com>
9201
9202 * docs/grub.texi (Environment): New chapter.
9203 (Changes from GRUB Legacy): Link to "Environment block" section for
9204 details of limitations.
9205 (Simple configuration): Likewise. Link to documentation of gfxmode
9206 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9207 respectively.
9208 (Shell-like scripting): Note that normal variables are stored in the
9209 environment.
9210 (gettext): Link to documentation of lang and locale_dir.
9211 (list_env): New section.
9212 (load_env): New section.
9213 (save_env): New section.
9214
9215 (Reporting bugs): Fix typo.
9216
e1ad0edd
VS
92172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9220 the example.
9221
5d803174
VS
92222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * grub-core/term/at_keyboard.c (set_scancodes)
9225 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9226
2a2da1d0
CW
92272011-03-30 Colin Watson <cjwatson@ubuntu.com>
9228
9229 * docs/grub.texi (Menu-specific commands): Remove some semantics
9230 that were true in GRUB Legacy but not in GRUB 2.
9231 (submenu): New section.
9232 (false): New section.
9233 (read): New section.
9234 (true): New section.
9235
a7527639
CW
92362011-03-30 Colin Watson <cjwatson@ubuntu.com>
9237
9238 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9239
92402011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9241
9242 * docs/grub.texi (Simple configuration): Explain some of the
9243 current limitations of grub-mkconfig.
8a748df2 9244 Reported by: Leslie Rhorer.
e30af029 9245
fc858482
VS
92462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 Old macs search for boot.efi rather than for bootia32.efi.
9249
9250 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9251 * util/grub-mkrescue.in: Likewise.
9252 Suggested by: Peter Jones.
9253
e1eb511d
VS
92542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9257
70e75364
VS
92582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9261 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9262 (grub_lvm_mirror): New struct.
9263 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9264 (grub_lvm_iterate): Iterate only visible volumes.
9265 (grub_lvm_read): Factor out to ..
9266 (read_lv): ... this. Support mirrors.
9267 (grub_lvm_read): New wrapper function.
9268 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9269 stripped or mirrored.
9270
fc18f6a3
VS
92712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9274
5c650f4c
CW
92752011-03-29 Colin Watson <cjwatson@ubuntu.com>
9276
9277 * docs/grub.texi (loopback): New section.
9278
61d7156b
CW
92792011-03-29 Colin Watson <cjwatson@ubuntu.com>
9280
9281 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9282 removed -p option.
9283
994b8264
CW
92842011-03-29 Colin Watson <cjwatson@ubuntu.com>
9285
9286 * docs/grub.texi (BIOS installation): New section, partly based on
9287 previous text in other sections.
9288 (Installing GRUB using grub-install): Replace BIOS discussion with a
9289 cross-reference.
9290 (Images): Likewise.
9291
9e4d19e0
VS
92922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9295 [HAVE_DIOCGDINFO]: Add safety checks.
9296
a307c0b2
VS
92972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9300 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9301
b4db4f39
CW
93022011-03-29 Colin Watson <cjwatson@ubuntu.com>
9303
9304 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9305 real_sb->size is zero (e.g. RAID-0), get the disk size from
9306 real_sb->data_size instead.
9307 Fixes Ubuntu bug #743136.
9308
35e5f84c
VS
93092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9312 printf clauses for printing size and start.
9313
d2e29d81
VS
93142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9317 Reported and tested by: Timothy Nikkel.
9318
ed5587af
VS
93192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9322 (dirty_region_add_real): ... this.
9323 (dirty_region_add): Don't discard margin refresh when performing
9324 scheduled repaint.
9325
a1dc717c
VS
93262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * grub-core/lib/relocator.c (allocate_regstart)
9329 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9330 terminals are capabple of malloc-free operation.
9331 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9332 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9333
9f3677d3
VS
93342011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9335
9336 * util/grub-setup.c: Copy the partition table zone if floppy support
9337 is disabled, even if no partition table is found.
9338
9339 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9340 during POST if an invalid partition table is contained in the PBR
9341 of the active partition when GRUB is installed to a partition.
9342
24148725
CW
93432011-03-28 Colin Watson <cjwatson@debian.org>
9344
9345 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9346 comment.
9347
f329eda7
CW
93482011-03-28 Colin Watson <cjwatson@debian.org>
9349
9350 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9351 to be specific about what kind of RAID device we're scanning for.
9352
c482ad98
SG
93532011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9354
9355 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9356 return freed string.
9357
5ee04984
VS
93582011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9361
f4727da9
VS
93622011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 Use libgeom on FreeBSD to detect partitions.
9365
9366 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9367 (grub-mkrelpath): Likewise.
9368 (grub-script-check): Likewise.
9369 (grub-editenv): Likewise.
9370 (grub-mkpasswd-pbkdf2): Likewise.
9371 (grub-fstest): Likewise.
9372 (grub-mkfont): Likewise.
9373 (grub-mkdevicemap): Likewise.
9374 (grub-probe): Likewise.
9375 (grub-setup): Likewise.
9376 (grub-ofpathname): Likewise.
9377 (grub-mklayout): Likewise.
9378 (example_unit_test): Likewise.
9379 (grub-menulst2cfg): Likewise.
9380 * grub-core/Makefile.core.def (grub-emu): Likewise.
9381 (grub-emu-lite): Likewise.
9382 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9383 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9384 define HAVE_DIOCGDINFO.
9385 (follow_geom_up) [FreeBSD]: New function.
9386 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9387 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9388 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9389 unconditionally of HAVE_DIOCGDINFO.
9390
82fe6c75
VS
93912011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 Fix FreeBSD compilation problem.
9394
9395 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9396 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9397
4c6c9431
CW
93982011-03-24 Colin Watson <cjwatson@ubuntu.com>
9399
9400 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9401 Switch back to page zero before loading a kernel, since some kernel
9402 drivers expect that.
9403 Thanks to: Felix Kuehling.
9404
c7064d94
VS
94052011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9406
9407 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9408 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9409 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9410
3f71cded
VS
94112011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9414 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9415
ef6de21a
VS
94162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9419 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9420 malloc is disabled.
9421
8bc66a2c
VS
94222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9425 for modules headers when counting the needed allocation size.
9426
5657722c
VS
94272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9430 if no ASCII character is found to prevent crash.
9431
41a85f55
AK
94322011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9433
9434 * grub-core/video/bitmap.c (match_extension): Ignore case.
9435
59e1e5f1
VS
94362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9439
bd4d051a
VS
94402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/script/parser.y: Declare "time" as valid argument.
9443
bae7fcc1
PJ
94442011-03-23 Peter Jones <pjones@redhat.com>
9445
9446 Fix incorrect assert failure reporting.
9447
9448 * grub-core/tests/example_functional_test.c (example_test): Add
9449 a failure comment.
9450 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9451 (failure_start): ...this. Check that malloc succeeded.
9452 Don't call xvasprintf. Return failure struct.
9453 (failure_append_vtext): New function.
9454 (failure_append_text): Likewise.
9455 (add_failure): Likewise.
9456 (grub_test_assert_helper): Likewise.
9457 * include/grub/test.h (grub_test_assert_helper): New declaration.
9458 (grub_test_assert): Macro rewritten.
9459
537dc9be
VS
94602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9463
fa3e01bf
VS
94642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9467
b1d28404
VS
94682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9471 into GRUB-style one.
9472
2e3e2e09
VS
94732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9476 error and not grub_errno.
9477 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9478
ed57e557
VS
94792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9482 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9483
d1611f01
VS
94842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * grub-core/efiemu/i386/pc/cfgtables.c
9487 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9488 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9489 (grub_xnu_unlock): Likewise.
9490 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9491
7d4e39d6
VS
94922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9495 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9496 * grub-core/commands/hashsum.c (aliases): Likewise.
9497 * grub-core/commands/setpci.c (pci_registers): Likewise.
9498 * grub-core/disk/usbms.c (attach_hook): Likewise.
9499 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9500 (zio_checksum_table): Likewise.
9501 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9502 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9503 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9504 * grub-core/lib/relocator.c (leftovers): Likewise.
9505 (extra_blocks): Likewise.
9506 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9507 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9508 (modules_last): Likewise.
9509 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9510 (devices): Likewise.
9511 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9512 (modules_last): Likewise.
9513 * grub-core/normal/auth.c (users): Likewise.
9514 * grub-core/normal/context.c (initial_menu): Likewise.
9515 (current_menu): Likewise.
9516 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9517 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9518 (grub_serial_terminfo_input_template): Likewise.
9519 (grub_serial_terminfo_output_template): Likewise.
9520 (grub_serial_terminfo_input): Likewise.
9521 (grub_serial_terminfo_output): Likewise.
9522 (registered): Likewise.
9523 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9524
40fc4659
VS
95252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9528 grub_video_mode_type_t.
9529 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9530 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9531 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9532
2da48d28
VS
95332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * util/grub-install.in: Correct the x86-64 name as x86_64.
9536
9b43bf39
CW
95372011-03-11 Colin Watson <cjwatson@ubuntu.com>
9538
9539 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9540 initial chunk read from the kernel always includes GRUB's multiboot
9541 header, which is now outside the first sector.
9542
be1a7ce0
CW
95432011-03-09 Colin Watson <cjwatson@ubuntu.com>
9544
9545 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9546 cached mmap_size, so that this works correctly when called multiple
9547 times.
9548 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9549
83a3c48d
CW
95502011-03-09 Colin Watson <cjwatson@ubuntu.com>
9551
9552 * docs/grub.texi (Simple configuration): Tidy up formatting.
9553
57d75699
SJ
95542011-03-07 Szymon Janc <szymon@janc.net.pl>
9555
9556 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9557 Set-but-not-used variable removed.
9558
028501a0
VS
95592011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 Workaround yet another IEEE1275 bug.
9562
9563 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9564 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9565 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9566 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9567 is set.
9568 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9569 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9570
d998657d
VS
95712011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9574 error.
9575
fee7cdd4
CW
95762011-02-11 Colin Watson <cjwatson@ubuntu.com>
9577
9578 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9579 empty, since in that case we can only generate either nothing or a
9580 syntactically invalid configuration file.
9581 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9582
97286eb5
CW
95832011-02-09 Colin Watson <cjwatson@ubuntu.com>
9584
9585 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9586 (Making a GRUB bootable CD-ROM): Likewise.
9587 (Invoking grub-mkrescue): New section.
9588 Reported by: Yann Dirson. Fixes Debian bug #612585.
9589
22b28eb3
CW
95902011-02-09 Colin Watson <cjwatson@ubuntu.com>
9591
9592 * util/grub-install.in: Remove unnecessary brackets from tr
9593 arguments.
9594 * util/grub.d/10_hurd.in: Likewise.
9595 * util/grub.d/10_kfreebsd.in: Likewise.
9596 * util/grub.d/10_linux.in: Likewise.
9597 * util/grub.d/20_linux_xen.in: Likewise.
9598 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9599
7e735e43
CW
96002011-02-08 Colin Watson <cjwatson@ubuntu.com>
9601
9602 * include/grub/file.h (not_easly_seekable): Rename to ...
9603 (not_easily_seekable): ... this. Update all users.
9604
800f1881
CW
96052011-01-28 Colin Watson <cjwatson@ubuntu.com>
9606
9607 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9608 grub-mkrescue.
9609
3281d3d6
VS
96102011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * util/grub-mkimage.c (generate_image): Refuse to create the images
9613 bigger than the actual flash (512K) in Loongson machines. 512K is also
9614 the biggest chip supported by them.
9615
3533413c
VS
96162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9619
73ae4f4f
VS
96202011-01-22 Anthony DeRobertis <anthony@derobert.net>
9621
9622 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9623 super_offset field.
9624
37f4f608
VS
96252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * util/grub-install.in: Ignore install device on platforms
9628 where it doesn't make sense. Always use UUIDs except on pc, efi and
9629 sparc64.
9630 Reported by: Daniel Kahn Gillmor.
9631
03a4ccb5
VS
96322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
9635
ffc8f4d8
VS
96362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
9639 (iterate_real): Don't rely on partition being non-NULL.
9640
80f23be7
VS
96412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
9644 supported platforms. Put a compile time assert for this rather than
9645 generate a warning with 32-bit shift.
9646
5d4f4dd5
VS
96472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
9650 logical expression more readable.
9651
e489601a
VS
96522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
9655 even if some elements have a name.
9656 Reported by: Alexander GQ Gerasiov.
9657
96e0a6ea
CW
96582011-01-22 Colin Watson <cjwatson@ubuntu.com>
9659
9660 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
9661 path unreadable if `grub-probe -t abstraction' fails, for example if
9662 memberlist fails on an LVM volume group.
9663 Reported by: Darius Jahandarie.
9664
81431e2b
CW
96652011-01-22 Colin Watson <cjwatson@ubuntu.com>
9666
9667 * docs/grub.texi (Simple configuration): Document
9668 GRUB_PRELOAD_MODULES.
9669
5e79d66a
CW
96702011-01-17 Colin Watson <cjwatson@ubuntu.com>
9671
9672 * .bzrignore: Remove nonexistent grub-pbkdf2.
9673
646ada34
VS
96742011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * configure.ac: Bump version to 1.99~rc1.
9677
04360337
VS
96782011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
9681 for safety.
9682
46c9db88
VS
96832011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
9686 module.
9687
96882011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
9689
9690 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
9691
4fbf1852
VS
96922011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
9695 diskdevid.
9696
f1632d4d
VS
96972011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 Fix compilation on cygwin.
9700
9701 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
9702 -R .drectve on cygwin.
9703 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
9704 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
9705 (COND_CYGWIN): New condition.
9706 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
9707 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
9708 not @TARGET_OBJ2ELF@.
9709 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
9710 type to determine whether aux is to be used.
9711
0b5e127b
VS
97122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
9715 realpath'ed device string.
9716 Handle floppy (somewhat).
9717 Issue error in unknown case rather than garbage.
9718 Reported by: Axel Beckert.
9719
173b71e9
VS
97202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * util/grub.d/00_header.in (load_video): Handle the case when no video
9723 drivers available.
9724 Thanks to: Axel Beckert.
9725
f8f479db
VS
97262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
9729 variable. Fixes problem on big endian platforms.
9730
8fc0a245
VS
97312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
9734 It doesn't work well there.
9735
b8494fbe
VS
97362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
9739 warning.
9740 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
9741 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
9742 counter.
9743
b44a558c
VS
97442011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 Use alias->path rather than buggy "canon".
9747
9748 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
9749 (ofdisk_hash_add): New argument curcan. All users updated.
9750
51fa856c
CW
97512011-01-11 Colin Watson <cjwatson@ubuntu.com>
9752
9753 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
9754
9da068a5
VS
97552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
9758 loadmask before doing any calculations. Use correct type for offset.
9759 (grub_linux_load64): Likewise.
9760
86205c94
CW
97612011-01-11 Colin Watson <cjwatson@ubuntu.com>
9762
9763 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
9764 with NULL.
9765 (console_grub_equivalences_unshift): Likewise.
9766 Reported by: Daniel Dehennin.
9767
4531a206
VS
97682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
9771 (set_env_limn_ro): Likewise.
9772 (GRUB_MOD_INIT): Likewise.
9773 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
9774 ARRAY_SIZE while on it.
9775 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
9776 * grub-core/normal/context.c (grub_env_export): Move from here ...
9777 * grub-core/kern/env.c (grub_env_export): ... here.
9778 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
9779 prefix.
9780 * grub-core/kern/main.c (grub_main): Export root and prefix.
9781 * include/grub/env.h (grub_env_export): Export.
9782 Reported by: Seth Goldberg.
9783
45146057
VS
97842011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9787 Take into account space used by ELF sections and multiboot palette.
9788 Reported by: Grégoire Sutre.
9789
f093110b
VS
97902011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * BUGS: New file.
9793
3395fe52
VS
97942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 Pass more appropriate video id to Linux.
9797
9798 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
9799 grub_video_get_driver_id and variable gfxpayloadforcelfb to
9800 fill have_vga.
9801 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
9802 shift params->lfb_size.
9803 * include/grub/i386/linux.h: Make an enume out of have_vga values.
9804
c2fa6cbb
VS
98052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * util/grub-menulst2cfg.c: Add missing include of misc.h.
9808
b3ff6ff0
VS
98092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
9812 separator and pass bootpath/devid even if only one of them is available.
9813 Reported by: Seth Goldberg.
9814
ae67942e
VS
98152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
9818 implementations bug on them.
9819
9820 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
9821 memory.
9822 (filter_memory_map): Likewise.
9823
d570097a
VS
98242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
9827 Reported by: nebuchadnezzar.
9828
a508e776
VS
98292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
9832 Reported by: nebuchadnezzar.
9833
dcb883b1
VS
98342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 Submenu default support.
9837
9838 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
9839 auto_boot. All users updated.
9840 Declared static.
9841 Handle chosen and default with submenus.
9842 (grub_menu_execute_with_fallback): Declared static.
9843 Don't notify failure if autobooted. Upper level does it.
9844 (menuentry_eq): New function.
9845 (get_entry_number): Use menuentry_eq.
9846 (show_menu): New parameter "autobooted". All users updated.
9847 (grub_show_menu): Likewise.
9848 * include/grub/normal.h (grub_show_menu): Likewise.
9849 * include/grub/menu.h (grub_menu_execute_entry): Removed.
9850 (grub_menu_execute_with_fallback): Likewise.
9851
6fef99b4
VS
98522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * util/grub-mklayout.c (usage): Update help text.
9855
47a77af5
VS
98562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
9859
ce6bb3ee
VS
98602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * util/grub-menulst2cfg.c (main): Trim the line.
9863
db87be2a
VS
98642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
9867 (grub_machine_init): Don't check amount of low memory as reportedly
9868 INT 12h can be broken and if low memory is too low we wouldn't have
9869 gotten into grub_machine_init anyway.
9870
c49849cc
VS
98712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
9874 (grub_machine_mmap_iterate): Take low memory into account
9875
b1969b30
VS
98762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
9879 badfs.
9880 Reported by: TiCPU.
9881
cf0eaf13
VS
98822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
9885 members errors.
9886
1f060f39
GS
98872011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9888
9889 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
9890 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
9891
a21e5672
GS
98922011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9893
9894 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
9895 openbsd and netbsd types being in part_bsd module.
9896
c88172fa
VS
98972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
9900 (_FILE_OFFSET_BITS): Likewise.
9901 Reported by: Seth Goldberg.
9902
53798c4b
GS
99032011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9904
9905 * configure.ac: Check for libdevmapper header.
9906
e7121b69
VS
99072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
9910 avoid aliasing.
9911 (fzap_lookup): Likewise.
9912 (dnode_get): Likewise.
9913 (make_mdn): Likewise.
9914 (zfs_mount): Likewise.
9915 (fzap_iterate): Use temporary pointer to avoid aliasing.
9916 (grub_zfs_read): Likewise.
9917 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
9918 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
9919 pointers to avoid aliasing.
9920 (grub_cmd_xnu_kernel64): Likewise.
9921 (grub_xnu_load_driver): Likewise.
9922
fc836af9
VS
99232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
9926 aliasing warning.
9927 (grub_cmd_terminal_output): Likewise.
9928 Reported and tested by: Grégoire Sutre.
9929
f9f37648
VS
99302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
9933 warning.
9934 Reported and tested by: Grégoire Sutre.
9935
ec1dfd63
VS
99362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * configure.ac: Do CPU substitution even if it's specified explicitly.
9939 Reported and tested by: Alain Greppin.
9940
9462775a
VS
99412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
9944 Reported and tested by: Alain Greppin.
9945
0fd48e35
VS
99462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 Satisfy some bison versions need for inttypes.h.
9949
9950 * grub-core/lib/posix_wrap/inttypes.h: New file.
9951 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
9952 (int16_t): Likewise.
9953 (int32_t): Likewise.
9954 (int64_t): Likewise.
9955 Reported and tested by: Alain Greppin.
9956
43f1bc83
VS
99572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
9960 Silence spurious warning.
9961 Reported and tested by: Alain Greppin.
9962
64d1f041
SJ
99632011-01-07 Szymon Janc <szymon@janc.net.pl>
9964
9965 * docs/grub.texi (Support automatic decompression): Update with xz
9966 decompression support.
9967
25953e10
SJ
99682011-01-07 Szymon Janc <szymon@janc.net.pl>
9969
9970 Improve loaders' kernel command line handling.
9971
9972 * grub-core/lib/cmdline.c: New file.
9973 * include/grub/lib/cmdline.h: Likewise.
9974 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
9975 grub_create_loader_cmdline to create kernel command line.
9976 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9977 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
9978 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
9979 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
9980 (linux): Add lib/cmdline.c on common.
9981
e72d259f
VS
99822011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
9985 inopos might be unaligned.
9986
c0cf26da
VS
99872011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9990 endian transformations.
9991 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9992 Based on report by: Doug Nazar.
9993
0ca09e6c
DN
99942011-01-07 Doug Nazar <nazard.michi@gmail.com>
9995
9996 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
9997 array->members[i].start_sector.
9998 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9999
014b6806
VS
100002011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10003 Reported and tested by: Grégoire Sutre.
10004
415502c2
CW
100052011-01-06 Colin Watson <cjwatson@ubuntu.com>
10006
10007 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10008 avoid causing test failures by clearing the screen.
10009
71b6a2b7
CW
100102011-01-06 Colin Watson <cjwatson@ubuntu.com>
10011
10012 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10013 Fix prefix check to handle the case where dir ends with a slash
10014 (most significantly, "/" itself).
10015 Reported by: Michael Vogt.
10016
b3f8d28a
VS
100172011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 Run terminfo_cls on initing terminfo output to clear the screen and
10020 move the cursor to (0,0).
10021
10022 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10023 Call grub_terminfo_output_init.
10024 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10025 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10026 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10027
4c3e4f37
VS
100282011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10031 only when needed.
10032
488f71f1
VS
100332011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10036 CTRL.
10037
18a38098
VS
100382011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 The E820 type 5 is BADRAM, not EXEC_CODE.
10041
10042 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10043 (GRUB_E820_BADRAM): New define.
10044 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10045 into reserved. Propagate BADRAM.
10046 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10047 (GRUB_E820_BADRAM): New define.
10048
9eae2084
VS
100492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10052 Ignore the memory post-4G.
10053 (grub_relocator_firmware_alloc_region): Additional debug statement.
10054
ebc71d28
VS
100552011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10058 names.
10059 Reported by: David Pravec.
10060
446fa400
VS
100612011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10064 BIOSes.
10065
a0159f37
VS
100662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10069 Prevent overflow.
10070 (grub_reed_solomon_recover): Likewise.
10071
e5146ca1
VS
100722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10075
100762011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10077
10078 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10079 variable.
10080
5b1bdf12
CW
100812011-01-04 Colin Watson <cjwatson@ubuntu.com>
10082
10083 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10084 descriptions of extract_legacy_entries_source and
10085 extract_legacy_entries_configfile.
10086 Reported by: Seung Soo, Ha.
10087
99d925aa
CW
100882011-01-03 Colin Watson <cjwatson@ubuntu.com>
10089
10090 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10091 on devices that do not implement function 0.
10092
4af0504b
DV
100932011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10094
10095 * grub-core/fs/hfsplus.c: Make parent unsigned.
10096 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10097 overflows.
10098 (grub_hfsplus_cmp_extkey): Likewise
10099
469ee10a
VS
101002011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * util/grub-install.in: Correctly use bootloader_id and not
10103 GRUB_DISTRIBUTOR on efibootmgr line.
10104
323a8e9c
VS
101052011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10108
1b394975
IC
101092010-12-31 Ian Campbell <ijc@hellion.org.uk>
10110
10111 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10112 Xen and reorder menu item wording to make it clearer that this entry
10113 will launch Xen. Print separate messages when loading Xen and
10114 Linux.
10115
275bff5f
VS
101162010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10119 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10120 loop in case of incorrect amiga partmap.
10121
307806cb
VS
101222010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10125 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10126 Reported by:EHeM.
10127
b12b923e
VS
101282010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10131 spurious warning.
10132 Reported by: crocket
10133
14b48a19
VS
101342010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10137 Preload EFIemu.
10138 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10139
693db2df
VS
101402010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10143 is loaded
10144 (grub_cmd_xnu_kextdir): Likewise.
10145 (grub_cmd_xnu_splash): Likewise.
10146
c7638645
VS
101472010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 Avoid using Reed-Solomon with 0 redundancy.
10150
10151 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10152 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10153 or 0 redundancy.
10154 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10155 (grub_reed_solomon_recover): Likewise.
10156
25dd4780
VS
101572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 Don't use disk subsystem in freebsd_boot.
10160
10161 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10162 (freebsd_biosdev): Likewise.
10163 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10164 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10165
0b2db943
VS
101662010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 Handling of files of unknown size is currently limited. They can't be
10169 used e.g. for initrd or modules. Moreover gzip handling of not
10170 easily seekable files is buggy. Disable unknown file size for now. May
10171 be inefficient but works.
10172
10173 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10174 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10175
5c408d0f
MP
101762010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10177
10178 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10179 floppy probe.
10180
190a011a
JD
101812010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10182
10183 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10184
022d01b8
SL
101852010-12-25 Shea Levy <shlevy>
10186
10187 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10188
c4855fdc
VS
101892010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10190
10191 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10192 Windows Server 2008.
10193 Reported by: Devin Giddings.
10194
0354b867
VS
101952010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10198 writing an error message because of async power management.
10199 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10200 (grub_reboot): Likewise.
10201
ab66c69f
JU
102022010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10203
10204 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10205 keep unit tests from failing when they shouldn't.
10206
1426ef35
CW
102072010-12-21 Colin Watson <cjwatson@ubuntu.com>
10208
10209 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10210 previous patch increased the size of the RS code by 20 bytes (at
10211 least with gcc-4.4), so increase this by 20 bytes to match.
10212 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10213
20641b6b
CW
102142010-12-21 Colin Watson <cjwatson@ubuntu.com>
10215
10216 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10217 scratch area. Make sure to initialise chosen in standalone mode as
10218 well as non-standalone.
10219 Reported by: Robert Hooker and Andy Whitcroft.
10220 Tested by: Andy Whitcroft.
10221
d060ad60
CW
102222010-12-21 Colin Watson <cjwatson@ubuntu.com>
10223
10224 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10225 constructing a new unescaped string and passing it to grub_xputs in
10226 one go, rather than passing characters to grub_printf one at a time.
10227
b889cfad
CW
102282010-12-21 Colin Watson <cjwatson@ubuntu.com>
10229
10230 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10231 initialising utf16.
10232
4e01b6c8
CW
102332010-12-21 Colin Watson <cjwatson@ubuntu.com>
10234
10235 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10236 comment. Add an extra layer of quotation, requiring the output of
10237 this function to be used in a printf format string.
10238 (gettext_printf): New function.
10239 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10240 Extract translatable strings from here-documents and use a temporary
10241 variable instead, so that xgettext can find them.
10242 * util/grub.d/10_kfreebsd.in: Likewise.
10243 * util/grub.d/10_linux.in: Likewise.
10244 * util/grub.d/20_linux_xen.in: Likewise.
10245
10246 * po/grub.d.sed: New file.
10247 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10248 arguments. Set c-format flags on all strings extracted from
10249 util/grub.d/ (xgettext refuses to include these itself for strings
10250 it extracted from a shell file, but these really are c-format).
10251
5318fe98
VS
102522010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10255 Avoid next pointing to nowhere.
10256
6c85b743
VS
102572010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10260 rather than assuming than rootblock is exactly in the middle.
10261 (grub_affs_label): Likewise.
10262
a2a08a35
VS
102632010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10266 reserved_first_sector to 0.
10267 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10268 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10269 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10270
7059d1ec
VS
102712010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 Fix handling of UTF-16 UDF labels.
10274
10275 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10276 (read_string): .. here.
10277 (grub_udf_label): Use read_string.
10278
30aff4cb
BC
102792010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10280
10281 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10282 editor under argument scope.
10283 Reported by: Jordan Uggla
10284
5cf86f4b
VS
102852010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10288
32570200
CW
102892010-12-18 Colin Watson <cjwatson@ubuntu.com>
10290
10291 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10292 line, and other keys scroll an entire page (previous handling was
10293 for \r and \n to scroll a page and other keys to scroll two lines).
10294
e1dffcf2
VS
102952010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10298 Set ptrdest to correct get_physical_target_address rather than
10299 incorrect get_virtual_current_address.
10300
b04298cf 103012010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10302
10303 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10304 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10305
5367ecd3
CW
103062010-12-10 Colin Watson <cjwatson@ubuntu.com>
10307
10308 * .bzrignore: Ignore grub-core/rs_decoder.S.
10309
1fb430f8
CW
103102010-12-10 Colin Watson <cjwatson@ubuntu.com>
10311
10312 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10313 .mo/.mo.gz opening sequence to ...
10314 (grub_mofile_open_lang): ... here.
10315 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10316 * util/grub.d/00_header.in (grub_lang): Include country part of
10317 locale.
10318 Reported by: Mario Limonciello.
10319
a94a6671
RM
103202010-12-09 Robert Millan <rmh@gnu.org>
10321
10322 * NEWS: Document addition of ZFS support.
10323
24b7938b
CW
103242010-12-04 Colin Watson <cjwatson@ubuntu.com>
10325
10326 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10327 rather than `/ 2', as the latter requires -Wa,--divide which would
10328 require bumping our minimum binutils version.
10329
bddc3ef6
BC
103302010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10331
10332 * util/grub-script-check.c (main): Print script line number on
10333 error.
10334
bf78d5b2
RM
103352010-12-01 Robert Millan <rmh@gnu.org>
10336
10337 * grub-core/fs/zfs/zfs.c: New file.
10338 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10339 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10340 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10341 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10342
10343 * include/grub/zfs/dmu.h: Likewise.
10344 * include/grub/zfs/dmu_objset.h: Likewise.
10345 * include/grub/zfs/dnode.h: Likewise.
10346 * include/grub/zfs/dsl_dataset.h: Likewise.
10347 * include/grub/zfs/dsl_dir.h: Likewise.
10348 * include/grub/zfs/sa_impl.h: Likewise.
10349 * include/grub/zfs/spa.h: Likewise.
10350 * include/grub/zfs/uberblock_impl.h: Likewise.
10351 * include/grub/zfs/vdev_impl.h: Likewise.
10352 * include/grub/zfs/zap_impl.h: Likewise.
10353 * include/grub/zfs/zap_leaf.h: Likewise.
10354 * include/grub/zfs/zfs.h: Likewise.
10355 * include/grub/zfs/zfs_acl.h: Likewise.
10356 * include/grub/zfs/zfs_znode.h: Likewise.
10357 * include/grub/zfs/zil.h: Likewise.
10358 * include/grub/zfs/zio.h: Likewise.
10359 * include/grub/zfs/zio_checksum.h: Likewise.
10360
10361 * Makefile.util.def: Build ZFS into libgrubmods.
10362 * grub-core/Makefile.core.def: Build zfs.mod.
10363
3f0f3831
SJ
103642010-11-30 Szymon Janc <szymon@janc.net.pl>
10365
10366 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10367 variable.
10368 * grub-core/commands/wildcard.c (match_files): Likewise.
10369
3a4253b2
RM
103702010-11-30 Robert Millan <rmh@gnu.org>
10371
10372 * grub-core/loader/i386/bsd.c
10373 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10374 whether kernel is loaded using grub_loader_is_loaded(), rather
10375 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10376 certain error conditions.
10377
8c317b27
RM
103782010-11-30 Robert Millan <rmh@gnu.org>
10379
c5c9cd3e
RM
10380 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10381 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10382
49d3ab46
VS
103832010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 Avoid using tricks for initialising endian variables.
10386
10387 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10388 Make const.
10389 (GRUB_MOD_INIT): Don't byte-swap.
10390 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10391 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10392 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10393 (grub_swap_bytes32_compile_time): Likewise.
10394 (grub_cpu_to_le32_compile_time): Likewise.
10395 (grub_cpu_to_le16_compile_time): Likewise.
10396
f420a804
VS
103972010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 * util/grub-setup.c (setup): Stop recommending --force. People who
10400 understand the dangers of blocklists are able to find this option
10401 anyway and the ones who don't shouldn't use it anyway.
10402
4e7db17b
RM
104032010-11-26 Robert Millan <rmh@gnu.org>
10404
10405 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10406 Update all users.
10407
9be57a0d
CW
104082010-11-26 Colin Watson <cjwatson@ubuntu.com>
10409
10410 Fix LVM-on-RAID probing.
10411
10412 * util/grub-probe.c (probe): Remember which disk was detected as
10413 RAID (perhaps an LVM physical volume). Use that disk's raidname
10414 rather than that of the top-level disk.
10415
2c7859b3 104162010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10417
d7647bb6
BC
10418 Fix cmdline argument quotes for setparams command of menuentry
10419 definitions.
7e623b0d
BC
10420
10421 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10422 quotes for arguments.
f866fe80 10423 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10424 grub_strchrsub function instead.
f866fe80 10425
7955bea0 10426 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10427
74f72a64
CW
104282010-11-24 Colin Watson <cjwatson@ubuntu.com>
10429
10430 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10431 effort by skipping "." and ".." entries up-front.
10432 Suggested by: Michael Lazarev.
10433
5a407278
CW
104342010-11-24 Colin Watson <cjwatson@ubuntu.com>
10435
10436 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10437 ldflags to ldadd, to fix link line ordering.
10438 (none_decompress): Likewise.
10439
3030d8ec
CW
104402010-11-24 Colin Watson <cjwatson@ubuntu.com>
10441
10442 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10443 platforms.
10444 (grub-emu-lite): Remove kern/emu/cache.S.
10445
b7fbac12
CW
104462010-11-23 Colin Watson <cjwatson@ubuntu.com>
10447
10448 * util/deviceiter.c (compare_devices): If the by-id link for a
10449 device couldn't be resolved, fall back to sorting by the by-id link
10450 rather than segfaulting.
10451 Reported and tested by: Daniel Mierswa.
10452
5225f328
CW
104532010-11-23 Colin Watson <cjwatson@ubuntu.com>
10454
10455 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10456 ldflags, to fix link line ordering.
10457
038b3ce8
CW
104582010-11-23 Colin Watson <cjwatson@ubuntu.com>
10459
10460 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10461 linkers are picky about this.
10462
bf16e98e
CW
104632010-11-23 Colin Watson <cjwatson@ubuntu.com>
10464
10465 * grub-core/Makefile.am (command.lst): Adjust sed expression
10466 ordering so that extended and priority commands aren't treated as
10467 ordinary commands.
10468
7242bab6
CW
104692010-11-23 Colin Watson <cjwatson@ubuntu.com>
10470
10471 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10472 Remove byte-swapping function calls, which are not valid in
10473 structure initialisers.
10474 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10475 non-const.
10476 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10477 grub_gpt_partition_type_bios_boot.
10478
14e8b279
CW
104792010-11-22 Colin Watson <cjwatson@ubuntu.com>
10480
10481 Fix test program build on GNU/kFreeBSD.
10482
10483 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10484 $(LIBNVPAIR)' library dependencies.
10485
e6f63338 104862010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10487
10488 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10489
cf8ffc38
CW
104902010-11-22 Colin Watson <cjwatson@ubuntu.com>
10491
10492 * util/grub-install.in: Remove excessive quoting that broke
10493 installations to RAID devices.
10494
7f8b0fd7
VS
104952010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10498 bootloader version instead of 0.
10499
dfd240b1
VS
105002010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10503 warning.
10504
7b61e609
VS
105052010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10508 retrieve the metadat sector if size isn't known.
10509 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10510
9dfe92d0
RM
105112010-11-18 Robert Millan <rmh@gnu.org>
10512
10513 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10514 with grub_memcmp().
10515
41cc919e
VS
105162010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10519 arrow.
10520 Reported by: Jordan Uggla.
10521
1afcc914
VS
105222010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 Make better UTF compliant.
10525
10526 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10527 sequences as incorrect.
10528 (grub_is_valid_utf8): Likewise.
10529 (grub_utf8_to_ucs4): Likewise.
10530 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10531 (grub_ucs4_to_utf8_alloc): Likewise.
10532 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10533
f1808884
VS
105342010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 Make legacy_source behave like source.
10537
10538 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10539 grub_show_menu.
10540 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10541
24ec575b
CW
105422010-11-16 Colin Watson <cjwatson@debian.org>
10543
10544 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10545 (-Wunused implies -Wunused-parameter, but not vice versa).
10546
72b7c7aa
CW
105472010-11-16 Colin Watson <cjwatson@ubuntu.com>
10548
10549 * configure.ac: Make error messages less confusing by testing for
10550 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10551 accepted, but produces a diagnostic if something else is wrong).
10552
e98937aa
VS
105532010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10556 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10557 (now unused).
10558 (grub_keyboard_controller_init)
10559 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10560 read the initial state since controller isn't inited yet.
10561
f6bbabc3
VS
105622010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10565 allocate_regbeg may need to create new chunk header.
10566
22e7dbb2
VS
105672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 Fix quoting in legacy parser.
10570
10571 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10572 single quotes.
10573 (grub_legacy_parse): Likewise.
10574 Reported by: Jordan Uggla.
10575 Tested by: Jordan Uggla.
10576
03f80960
VS
105772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 Don't add -lgcc on i386 and x86_64.
10580
10581 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10582 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10583 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10584
779dc15b
VS
105852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * configure.ac: Add -Wno-trampolines when supported.
10588
d20a3b37
MV
105892010-11-14 Modestas Vainius <modax@debian.org>
10590
10591 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10592 fakeraid.
10593
e5360933
GC
105942010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10595
10596 Add generic logical block size support for UDF.
10597
10598 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10599 (GRUB_UDF_BLKSZ): Removed.
10600 (struct grub_udf_data): New field "lbshift" to hold the logical block
10601 size of the file system in log2 format. All users updated.
10602 (sblocklist): Change type to unsigned.
10603 (grub_udf_mount): Change type of "sblklist" to unsigned.
10604 Move AVDP search before VRS recognition, because the latter requires
10605 knowledge of the logical block size, which is detected during the
10606 former.
10607 Detect and validate logical block size during AVDP search, adding
10608 support for block sizes 512, 1024 and 4096.
10609 Make VRS recognition independent of block size.
10610
cb0229c5
GC
106112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10612
10613 Properly handle deleted files on UDF.
10614
10615 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10616 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10617 set.
10618
406858a8
GC
106192010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10620
10621 Support reading files larger than 2 GiB.
10622
10623 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10624 "offset" to grub_off_t.
10625 (grub_udf_read_file): Likewise for parameter "pos".
10626
130da6a7
VS
106272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10630 unavailable.
10631 (Simple configuration): Refer to Changes from GRUB Legacy about
10632 save_env availability.
10633
65e93f6b
VS
106342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * util/grub-install.in: Ignore empty partition table detection
10637 instead of trying to include part_ module.
10638
1fd08bf1
VS
106392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
10642 LVM on RAID support.
10643
de1a024f
VS
106442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 Properly define WORDS_BIGENDIAN in wrapped environments.
10647
10648 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
10649 definition.
10650 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
10651
10652 Reported by: Manoel Rebelo Abranches.
10653 Tested by: Manoel Rebelo Abranches.
10654
bc5dd0b9
VS
106552010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * util/grub-mkconfig.in: Fix quoting.
10658
58c184be
VS
106592010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 Support big ext2 files.
10662
10663 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
10664 (grub_ext2_read_block): Support triple indirect blocks.
10665 (grub_ext2_read_file): Use 64-bit types and read size_high.
10666 (grub_ext2_open): Read size_high.
10667 Reported by: Ximin Luo.
10668 Tested by: Manoel Rebelo Abranches.
10669
5f0c02b3
VS
106702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * util/grub-install.in: Handle filenames containing spaces.
10673 Reported by: Jordan Uggla.
10674 Tested by: Jordan Uggla.
10675
4417aae6
VS
106762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * util/grub-mkconfig.in (grub_script_check): New variable.
10679 Use grub_script_check instead of grub-script-check.
10680 Reported by: Barry Jackson.
10681
7625a68e
VS
106822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * docs/grub.texi (menu): Correct the order.
10685 Reported by: D. Hugh Redelmeier.
10686
10001ac5
VS
106872010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
10690 jump.
10691
9c4cf53b
MRA
106922010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10693
10001ac5
VS
10694 * include/grub/elfload.h (grub_elf32_size): New parameter.
10695 All users updated.
9c4cf53b
MRA
10696 Return maximum segments alignment.
10697 (grub_elf64_size): Likewise.
10698 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
10699 Return maximum segments alignment.
10700 (grub_elf64_size): Likewise.
10701 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
10702 (grub_linux_claimmap_iterate): New function. Uses the
10703 "available" property in the "memory" node for memory allocation
10704 for kernel in the PowerPC loader.
9c4cf53b
MRA
10705 (grub_linux_load32): Correctly find linux entry point offset.
10706 (grub_linux_load64): Likewise.
10707
d2bf06bf
RM
107082010-11-07 Robert Millan <rmh@gnu.org>
10709
10710 On mips-yeeloong, build with -march=loongson2f when this flag is
10711 available (GCC >= 4.4).
10712 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
10713 `-march=mips3'.
10714 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
10715 or otherwise add -march=mips3.
10716
898c99a2
BC
107172010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
10718
87220a68
BC
10719 Suppress shell expansion on echo '*' and echo "*" like cases.
10720 Reported by: Jordan Uggla.
898c99a2
BC
10721
10722 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
10723 string arguments before shell expansion.
10724 * tests/grub_cmd_echo.in: New testcases.
10725
4f9b406a
RM
107262010-11-07 Robert Millan <rmh@gnu.org>
10727
10728 * conf/mips-qemu-mips.rmk: Remove stale file from previous
10729 transition.
10730
80c6d25e
VS
107312010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * grub-core/kern/emu/hostdisk.c
10734 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
10735
4a1a0153
VS
107362010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
10739 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
10740 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
10741
34706ddc
VS
107422010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
10745
6972dea9
VS
107462010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * util/grub-install.in: Replace useless recomendation to pass
10749 --modules with a recomendation to report a bug.
10750
9c693bd6
VS
107512010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 Properly register serial terminfo.
10754 Reported by: Jordan Uggla
10755
10756 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
10757 const.
10758 (grub_serial_terminfo_output_template): Likewise.
10759 (grub_cmd_serial): Register "serial" with terminfo.
10760 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
10761 grub_serial_terminfo_output.
10762
6c9e4c0c
RM
107632010-11-05 Robert Millan <rmh@gnu.org>
10764
10765 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
10766 needed).
10767
b9b3839f
RM
107682010-11-05 Robert Millan <rmh@gnu.org>
10769
10770 On Yeeloong, pass machine type information to Linux.
10771
10772 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
10773 (LOONGSON_MACHTYPE): New macro, set to
10774 "machtype=lemote-yeeloong-2f-8.9inches".
10775 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
10776 additional argument to Linux.
10777
1a3aaff4
RM
107782010-11-04 Robert Millan <rmh@gnu.org>
10779
10780 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
10781 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
10782 (its SATA disks are detected as slaveless IDE master drives on
10783 kFreeBSD).
10784 Reported by Carsten Aulbert.
10785
a75f4f62
CW
107862010-11-02 Colin Watson <cjwatson@ubuntu.com>
10787
10788 * util/bin2h.c (main): Fix spelling error in generated output.
10789
33b4b0c6
GS
107902010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
10791
10792 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
10793
2b36fbf4
VS
107942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
10797 vga= option is supplied.
10798
74aaf558
VS
107992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
10802 * util/grub.d/10_kfreebsd.in: Likewise.
10803 * util/grub.d/10_linux.in: Likewise.
10804 * util/grub.d/20_linux_xen.in: Likewise.
10805
6428dec3
VS
108062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
10809 argument as an argument to no-argument option.
10810
f8729d98
VS
108112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * util/grub.d/10_linux.in: Add missing load_video with explicit
10814 GRUB_GFXPAYLOAD_LINUX.
10815
89d68fa6
VS
108162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
10819
3a1197cd
VS
108202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
10823 elements with invlid index.
10824 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10825 * grub-core/disk/raid.c (insert_array): Automatically reallocate
10826 members.
10827 * include/grub/raid.h (grub_raid_member): New struct.
10828 (grub_raid_array): Transform devices and start_sector into usage of
10829 grub_raid_member. All users updated
10830 (allocated_devs): New member.
10831
71574288
VS
108322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
10835 is modified
10836
8d40ec65
BC
108372010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
10838
10839 NetBSD build fix for getline function conflict from gnulib.
10840
10841 * Makefile.util.def (libgrubkern.a): New library for grub kernel
10842 components that depend on gnulib headers.
10843 (libgrubmods.a): Renamed from earlier libgrub.a.
10844 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
10845
95b9257e
VS
108462010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
10849 install rather than creating a broken install.
10850
26c53dc6
VS
108512010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * util/grub-setup.c (argp): Remove misleading example of installing to
10854 a partition.
10855
4171b3c5
VS
108562010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * util/grub-setup.c (setup): Clarify the error message.
10859
18568d18
VS
108602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
10863
4f6a2e21
VS
108642010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 * grub-core/kern/emu/misc.c
10867 (grub_make_system_path_relative_to_its_root)
10868 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
10869
108702010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
10871
10872 * grub-core/kern/emu/misc.c
10873 (grub_make_system_path_relative_to_its_root): Revert r2882.
10874
e138c458
VS
108752010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
10878 useless field head. All users updated.
10879 (free_subchunk): Correct handling of IN_REGION subchunk.
10880
0cbcdf0e
CW
108812010-10-22 Colin Watson <cjwatson@ubuntu.com>
10882
10883 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
10884 (Supported kernels): Likewise.
10885
b65ea155
GS
108862010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10887
10888 Make mktemp invocations portable.
10889
10890 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
10891 exit if mktemp fails.
10892 * tests/grub_script_blockarg.in: Likewise.
10893 * tests/partmap_test.in: Likewise.
10894 * tests/util/grub-shell-tester.in: Likewise.
10895 * tests/util/grub-shell.in: Likewise.
10896 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10897 * Makefile.am: Likewise, and chain shell commands with `&&'
10898 instead of ';'.
10899 * util/grub-mkrescue.in: Use the same explicit template as above, and
10900 exit if mktemp fails.
10901
05f43cdd
BC
109022010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
10903
10904 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
10905 Linux kernel, reported by Dennis Schridde.
10906
800e6a9b
SJ
109072010-10-17 Szymon Janc <szymon@janc.net.pl>
10908
10909 * grub-core/normal/auth.c (grub_auth_check_authentication):
10910 Set-but-not-used variable removed.
10911
d82df574
VS
109122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * docs/grub.texi (GNU/Linux): Document APM unavailability with
10915 32-bit linux protocol.
10916
7bced458
VS
109172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
10920 cursor shape for sanity.
10921
5b027690
VS
109222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * docs/grub.texi (Installation): Document buggy BIOS install.
10925
ba5f65cf
VS
109262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * docs/grub.texi (Installation): Indent.
10929
fdf2ec9c
VS
109302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * util/grub-setup.c (setup): New parameter allow_floppy.
10933 (arguments): New member allow_floppy.
10934 (argp_parser): Handle --allow-floppy.
10935 (main): Pass allow_floppy.
10936 * util/grub-install.in: New option --allow-floppy passed though to
10937 grub-setup.
10938
861dfd4c
VS
109392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * util/grub-install.in: Handle partitionless disks.
10942
f77a8c24
VS
109432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * util/grub-setup.c (setup): Don't clean blocklists before readability
10946 verfification.
10947
27d9ee32
VS
109482010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 * docs/grub.texi (Installation): Document embedding zone. Remove
10951 obsolete grub-install example.
10952
6bdda8f8
SJ
109532010-10-16 Szymon Janc <szymon@janc.net.pl>
10954
10955 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10956 Set-but-not-used variable ifdef'ed.
10957 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
10958 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
10959 variable removed.
10960 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
10961 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
10962 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10963 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
10964 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
10965 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10966 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
10967 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
10968 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
10969 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
10970 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
10971 Likewise.
10972
e19b016b
VS
109732010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
10976 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
10977 enum value.
10978
6c8d3002
VS
109792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
10982 synonym to _S5_. Needed for some DSDTs.
10983
c32b51c9
VS
109842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 Userspace ACPI parser debugging.
10987
10988 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
10989 headers and add relevant defines. Don't include standard headers.
10990 (main) [GRUB_DSDT_TEST]: New function.
10991 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
10992 Don't declare functions.
10993
fbfbeb39
VS
109942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 Remove dead grub_efi_mm_fini.
10997
10998 * grub-core/kern/efi/mm.c (allocated_page): Removed.
10999 (ALLOCATED_PAGES_SIZE): Likewise.
11000 (MAX_ALLOCATED_PAGES): Likewise.
11001 (allocated_pages): Likewise.
11002 (grub_efi_allocate_pages): Don't record allocated pages.
11003 (grub_efi_free_pages): Likewise.
11004 (grub_efi_mm_init): Likewise.
11005 (grub_efi_mm_fini): Removed.
11006
65f7ed7c
VS
110072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11010 (grub_efi_mm_init): Take into account the memory map size increase.
11011
24977b44
VS
110122010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11015 (serial_hw_put): Wait based on real time rather than port reads. Don't
11016 roken ports.
11017 * include/grub/serial.h (grub_serial_port): New field broken.
11018
1eb01cd2
RM
110192010-10-16 Robert Millan <rmh@gnu.org>
11020
11021 * grub-core/kern/emu/misc.c
11022 (grub_make_system_path_relative_to_its_root): Fix premature return
11023 when processing non-root ZFS filesystems.
5f8b440b 11024 Reported by Sergio Talens-Oliag.
1eb01cd2 11025
2d5fed60
RM
110262010-10-15 Robert Millan <rmh@gnu.org>
11027
11028 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11029 guarantee compressed ones are processed first.
11030
d0f4c1ea
VS
110312010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11034 grub_efiemu_autocore.
11035
d87c681f
VS
110362010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11039 rather than 0x1b.
11040 (grub_console_getkey): Use correct jae opcode rather than ja.
11041
219b3564
RM
110422010-10-12 Robert Millan <rmh@gnu.org>
11043
11044 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11045 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11046 variable. All references updated.
11047
11048 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11049
20c6bb7e
VS
110502010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 Correctly distinguish mdraid flavours.
11053
11054 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11055 (insert_array): New argument raid.
11056 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11057 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11058 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11059
74baff84
VS
110602010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11063 handling of special keys.
11064
3ef068df 110652010-10-02 Aleš Nesrsta <starous@volny.cz>
11066
c7980ad9
VS
11067 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11068 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11069
a9455194 110702010-10-02 Aleš Nesrsta <starous@volny.cz>
11071
c7980ad9
VS
11072 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11073 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11074 users updated.
a9455194 11075 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11076 Use right endpoint when querying descriptor.
a9455194 11077
441cfe65
VS
110782010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 Clear out 0x80 color bit on EFI.
11081 Tested by: decoder
11082 Reported by: decoder and meta tech.
11083
11084 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11085 (grub_console_setcolorstate): Clear out 0x80 bit.
11086 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11087 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11088 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11089
bf26bcc4
VS
110902010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11093 Set to "auto".
11094
6e3c515d
VS
110952010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11098 mo_file after freeing.
11099
e6d983ba
VS
111002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11103
74ccb5b5
VS
111042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11107 flags.
11108
17821956
VS
111092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11112 usage.
11113
ee74fa48
VS
111142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11117
11118 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11119 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11120 and terminfo.h when needed.
11121 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11122 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11123 (terminfo): Enable only on terminfokernel.
11124 (extcmd): Likewise.
11125 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11126 * include/grub/lib/arg.h: Likewise.
11127 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11128 incorrect usage of ->.
11129
aa438e68
VS
111302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11133 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11134
57994012
VS
111352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 Fix coreboot compilation.
11138
11139 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11140 Take VBE info into account even if only text is supported.
11141 (fill_vbe_info): Take into account the case when only VGA text
11142 is supported.
11143 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11144 on coreboot, multiboot and qemu.
11145
2a406611
VS
111462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11149 debug messages.
11150 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11151
d33613fc
VS
111522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11155 parameters.
11156
44a1b432
VS
111572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11160 if they were BSD-style.
11161
edde54e6
VS
111622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * grub-core/boot/i386/pc/lnxboot.S: Replace
11165 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11166 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11167
b65830fa
VS
111682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 Write embedding zone using Reed-Solomon.
11171
11172 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11173 * grub-core/Makefile.am (rs_decoder.S): New target.
11174 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11175 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11176 (multiboot): Move to RS part.
11177 (post_reed_solomon): New label.
11178 (grub_boot_drive): Move to non-RS part since it's modified in memory
11179 on boot.
11180 Include rs_decoder.S.
11181 * grub-core/lib/reed_solomon.c: New file.
11182 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11183 New definition.
11184 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11185 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11186 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11187 * include/grub/partition.h (grub_partition_map): Change prototype of
11188 embed to allow returning additional sectors.
11189 * include/grub/reed_solomon.h: New file.
11190 * util/grub-setup.c (setup): Handle Reed-Solomon.
11191
0b4b227f
CW
111922010-09-28 Colin Watson <cjwatson@ubuntu.com>
11193
11194 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11195 i386 and x86-64 definedness tests.
11196
f772623b
YB
111972010-09-27 Yves Blusseau <blusseau@zetam.org>
11198
11199 Fix generation of kernel_syms.lst
11200
11201 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11202 ASM_PREFIX
11203
8e57a6ca
RM
112042010-09-26 Robert Millan <rmh@gnu.org>
11205
11206 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11207
11208 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11209 the pool is an array of devices, iterate through it and return the
11210 first device that passes a stat() test (instead of blindly returning
11211 the first one).
11212
f9130836
RM
112132010-09-26 Robert Millan <rmh@gnu.org>
11214
11215 Build fixes for GNU/kFreeBSD.
11216
11217 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11218 to programs that require ZFS conversion.
11219 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11220 kernels that don't have FLOPPY_MAJOR.
11221
96510faf
BC
112222010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11223
11224 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11225
449333eb
BC
112262010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11227
11228 Fix grub-emu build.
11229
11230 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11231 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11232 mdraid09 and mdraid1x.
11233
e1fd1939
CW
112342010-09-24 Colin Watson <cjwatson@ubuntu.com>
11235
11236 Re-enable grub-extras.
11237
11238 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11239 avoid confusing Automake. Run autogen only twice, once for the top
11240 level and once for grub-core. Add Makefile.util.def and
11241 Makefile.core.def from extra modules to the appropriate autogen
11242 invocations. If Makefile.common exists in an extra module, include
11243 it in both Makefile.util.am and grub-core/Makefile.core.am;
11244 similarly, include any Makefile.util.common file in Makefile.util.am
11245 and any Makefile.core.common file in grub-core/Makefile.core.am.
11246 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11247 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11248 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11249 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11250
11251 * gentpl.py (gvar_add): Turn GVARS into a set.
11252 (global_variable_initializers): Sort global variables on output.
11253 (vars_init): New function.
11254 (first_time): Likewise.
11255 (library): Ensure that non-global variable initialisations are
11256 emitted before the first time we emit code for a library block.
11257 Append to variables rather than setting them. Only emit
11258 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11259 each conditional path.
11260 (program): installdir() emits an Autogen macro, so must be passed to
11261 var_add rather than gvar_add.
11262 (data): Likewise.
11263 (script): Likewise.
11264 (rules): New function, centralising handling for different target
11265 types. Set up Guile association lists for first_time and vars_init,
11266 and send most output to a diversion so that variable initialisations
11267 can be emitted first.
11268 (module_rules): Use new rules function.
11269 (kernel_rules): Likewise.
11270 (image_rules): Likewise.
11271 (library_rules): Likewise.
11272 (program_rules): Likewise.
11273 (script_rules): Likewise.
11274 (data_rules): Likewise.
11275
11276 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11277
11278 * .bzrignore: Add contrib and grub-core/contrib. Remove
11279 grub-core/Makefile.gcry.am.
11280
1d12cf29
YB
112812010-09-24 Yves Blusseau <blusseau@zetam.org>
11282
11283 * grub-core/lib/LzFind.c: Add missing include.
11284 * grub-core/lib/LzmaEnc.c: Likewise.
11285 * grub-core/script/lexer.c: Likewise.
11286 * grub-core/script/yylex.l: Likewise.
11287 * util/grub-macho2img.c: Likewise.
11288 * util/grub-menulst2cfg.c: Likewise.
11289 * util/grub-mklayout.c: Likewise.
11290 * util/grub-mkpasswd-pbkdf2.c
11291 * util/grub-mkrelpath.c: Likewise.
11292 * util/resolve.c: Likewise.
11293
dd363028
BC
112942010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11295
11296 * Makefile.util.def (example_unit_test): Add
11297 grub-core/gnulib/libgnu.a.
11298
f5a109e2
GS
112992010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11300
11301 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11302
6d0fa83c
VS
113032010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 Support xz compression on yeeloong.
11306
11307 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11308 * configure.ac: Check for LZMA.
11309 * grub-core/Makefile.core.def (xz_decompress): New target.
11310 (none_decompress): Likewise.
11311 * grub-core/boot/decompressor/minilib.c: New file.
11312 * grub-core/boot/decompressor/none.c: Likewise.
11313 * grub-core/boot/decompressor/xz.c: Likewise.
11314 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11315 * grub-core/kern/mips/cache_flush.S: Likewise.
11316 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11317 * grub-core/kern/mips/startup.S: Move first stage to ...
11318 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11319 nomacro.
11320 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11321 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11322 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11323 Allocate statically.
11324 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11325 Allocate statically or use scratch. Don't check CRC32.
11326 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11327 Allocate statically. Don't check CRC32.
11328 * include/grub/decompressor.h: New file.
11329 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11330 Removed.
11331 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11332 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11333 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11334 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11335 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11336 * util/grub-mkimage.c (grub_compression_t): New type.
11337 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11338 (image_target_desc): New field default_compression.
11339 (image_targets): Adjust yeeloong targets.
11340 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11341 (compress_kernel): New parameter comp.
11342 (generate_image): Likewise. Handle new compression case.
11343 (options): New option --compression
11344 (help): Likewise.
11345 (main): Handle new option.
11346
1b655af6
GS
113472010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11348
11349 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11350
8f03f0b5
CW
113512010-09-22 Colin Watson <cjwatson@ubuntu.com>
11352
11353 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11354 typo in __i386__ conditional.
11355
7835dfd3
VS
113562010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11359 include.
11360
e255597e
VS
113612010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11362
6d0fa83c 11363 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11364
11365 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11366 new tags as supported.
11367 (acpiv2_size): New function.
11368 (grub_multiboot_get_mbi_size): Take new tags into account.
11369 (grub_multiboot_make_mbi): Add new tags.
11370 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11371
6cc14051 113722010-09-21 Aleš Nesrsta <starous@volny.cz>
11373
11374 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11375 Added missing configuration of USB device.
11376
df7769d8
CW
113772010-09-21 Colin Watson <cjwatson@ubuntu.com>
11378
11379 * grub-core/normal/menu_entry.c (run): Make sure we always return
11380 a value.
11381
b031012d
CW
113822010-09-21 Colin Watson <cjwatson@ubuntu.com>
11383
11384 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11385 NumberOfPages is UINT64 according to the UEFI specification, not
11386 UINTN. Fix printf format.
11387
174de8f3
CW
113882010-09-21 Colin Watson <cjwatson@ubuntu.com>
11389
11390 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11391 `err' to grub_usb_err_t.
11392 Reported and tested by: KESHAV P.R.
11393
d7dbe923
CW
113942010-09-21 Colin Watson <cjwatson@ubuntu.com>
11395
11396 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11397 tpart non-const, so that we can assign to it. (Since this is a
11398 typedef, the constness refers to the pointer rather than what it
11399 points to.)
11400
8d5e2af3
CW
114012010-09-21 Colin Watson <cjwatson@ubuntu.com>
11402
11403 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11404 $(top_srcdir)/grub-core/gnulib as well as
11405 $(top_builddir)/grub-core/gnulib.
11406 Reported by: KESHAV P.R.
11407
5c527783
CW
114082010-09-21 Colin Watson <cjwatson@ubuntu.com>
11409
11410 * util/grub-install.in: Fix the bootloader ID option to be
11411 consistently --bootloader-id, not --bootloader_id.
11412 Reported by: KESHAV P.R.
11413
d309a16e
CW
114142010-09-21 Colin Watson <cjwatson@ubuntu.com>
11415
11416 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11417 check hash checksum." consistently translatable.
11418
b830cd16
YB
114192010-09-21 Yves Blusseau <blusseau@zetam.org>
11420
11421 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11422 $(top_builddir).
11423
c4fe27a8
CW
114242010-09-21 Colin Watson <cjwatson@ubuntu.com>
11425
11426 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11427 (GRUB_MOD_INIT): Register sha1sum command.
11428 (GRUB_MOD_FINI): Unregister sha1sum command.
11429
a4c1d277
YB
114302010-09-21 Yves Blusseau <blusseau@zetam.org>
11431
11432 Keep boot and grub directory names in sync with utils scripts
11433
11434 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11435 * config.h.in: Add previous macros.
11436 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11437 * util/grub-install.in: Use $bootdir and $grubdir variables.
11438
4eff79d2
CW
114392010-09-21 Colin Watson <cjwatson@ubuntu.com>
11440
11441 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11442 convert partition names to disk names if the new `convert' parameter
11443 is set.
11444 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11445 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11446 disk in its own right. This can happen with Xen disk images.
11447
934d7e44
YB
114482010-09-21 Yves Blusseau <blusseau@zetam.org>
11449
11450 * util/grub-editenv.c: Update strings to avoid warnings when generating
11451 grub.pot file.
11452 * util/grub-setup.c: Likewise.
934d7e44 11453
df3367cc
VS
114542010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11455
11456 * configure.ac: Change version to 1.99~beta0.
11457
77a94e98
VS
114582010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11461 Add BADRAM.
11462 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11463 Likewise.
11464 * include/multiboot.h: Resynced with specification.
11465 * include/multiboot2.h: Likewise.
11466
269004c1
CW
114672010-09-21 Colin Watson <cjwatson@ubuntu.com>
11468
11469 Fix po directory handling.
11470
11471 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11472 * grub-core/gnulib/Makefile.am: Import gettext module.
11473 * m4/gnulib-cache.m4: Likewise.
11474 * m4/gnulib-comp.m4: Likewise.
11475 * m4/gettext.m4: New file, from gnulib.
11476 * m4/glibc2.m4: Likewise.
11477 * m4/iconv.m4: Likewise.
11478 * m4/intdiv0.m4: Likewise.
11479 * m4/intl.m4: Likewise.
11480 * m4/intldir.m4: Likewise.
11481 * m4/intlmacosx.m4: Likewise.
11482 * m4/intmax.m4: Likewise.
11483 * m4/inttypes-pri.m4: Likewise.
11484 * m4/lcmessage.m4: Likewise.
11485 * m4/lib-ld.m4: Likewise.
11486 * m4/lib-link.m4: Likewise.
11487 * m4/lib-prefix.m4: Likewise.
11488 * m4/lock.m4: Likewise.
11489 * m4/nls.m4: Likewise.
11490 * m4/po.m4: Likewise.
11491 * m4/printf-posix.m4: Likewise.
11492 * m4/progtest.m4: Likewise.
11493 * m4/threadlib.m4: Likewise.
11494 * m4/uintmax_t.m4: Likewise.
11495 * m4/visibility.m4: Likewise.
11496 * po/Makefile.am: Remove.
11497 * po/Makefile.in.in: New file, from gettext.
11498 ($(DOMAIN).pot-update): Support POTFILES-shell.
11499 * po/Makevars: New file.
11500 * po/POTFILES-shell: Rename to ...
11501 * po/POTFILES-shell.in: ... this. Update.
11502 * po/POTFILES: Rename to ...
11503 * po/POTFILES.in: ... this. Update.
11504 * po/Rules-quot: New file, from gettext.
11505 * po/boldquot.sed: Likewise.
11506 * po/en@boldquot.header: Likewise.
11507 * po/en@quot.header: Likewise.
11508 * po/insert-header.sin: Likewise.
11509 * po/quot.sed: Likewise.
11510 * po/remove-potcdate.sin: Likewise.
11511
3e0fa5d0
VS
115122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11515
ade9bd66
VS
115162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * util/grub.d/20_linux_xen.in: Use submenus.
11519
fc55cc4c
VS
115202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 Support submenus.
11523
11524 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11525 parameter submenu. All users updated.
11526 * grub-core/normal/main.c (free_menu): Rename to ...
11527 (grub_normal_free_menu): ... this. Made global.
11528 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11529 if requested.
11530 * grub-core/normal/menu_entry.c (screen): New field submenu.
11531 (make_screen): Set submenu.
11532 (run): Open new context if requested.
11533 * include/grub/menu.h (grub_menu_entry): New field submenu.
11534 * include/grub/normal.h (grub_normal_free_menu): New proto.
11535
600cedf7
VS
115362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 Menu entries extractor.
11539
11540 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11541 variants.
11542 (GRUB_MOD_INIT): Register new variants.
11543 (GRUB_MOD_FINI): Unregister new variants.
11544 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11545 into grub_cmd_legacy_source.
11546 (grub_cmd_legacy_source): Implement extractor variants.
11547 (GRUB_MOD_INIT): Register new variants.
11548 (GRUB_MOD_FINI): Unregister new variants.
11549 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11550 as an extractor.
11551 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11552 search as an extractor.
11553 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11554 test as an extractor.
11555 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11556 as an extractor.
11557 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11558 (grub_env_new_context): New function.
11559 (grub_env_context_open): Likewise.
11560 (grub_env_extractor_open): Likewise.
11561 (grub_env_extractor_close): Likewise.
11562 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11563 grub_extractor_level.
11564 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11565 * include/grub/env.h (grub_env_extractor_open): New proto.
11566 (grub_env_extractor_close): Likewise.
11567 * include/grub/normal.h (grub_extractor_level): New external variable.
11568
7bda3a87
VS
115692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 Make cutmem accept a region specification.
11572 Suggested by: Samuel Thibault
11573
11574 * grub-core/mmap/mmap.c (parsemem): New function.
11575 (grub_cmd_cutmem): Handle new arguments.
11576
2ea57f88
VS
115772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 New command cutmem.
11580
11581 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11582 (GRUB_MOD_INIT): Register new command.
11583 (GRUB_MOD_FINI): Unregister new command.
11584
74342e31
VS
115852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 Support some annoying BSD and Minix subpartitions.
11588
11589 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11590 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11591 Properly handle concatenation.
11592 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11593 * grub-core/normal/completion.c (iterate_partition): Likewise.
11594 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11595 contain partition. All users updated.
11596 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11597 struct.
11598 (grub_openbsdlabel_partition_map): Likewise.
11599 (bsdlabel_partition_map_iterate): Rename to ..
11600 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11601 (bsdlabel_partition_map_iterate): New function.
11602 (netopenbsdlabel_partition_map_iterate): Likewise.
11603 (netbsdlabel_partition_map_iterate): Likewise.
11604 (openbsdlabel_partition_map_iterate): Likewise.
11605 (GRUB_MOD_INIT): Register new partmaps.
11606 (GRUB_MOD_FINI): Unregister new partmaps.
11607 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11608 (grub_partition_msdos_iterate): ... this. All users updated.
11609 Don't support embedding other than in a minix partition.
11610 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11611 proto.
11612 * include/grub/partition.h (grub_partition): New field msdostype.
11613 * util/grub-install.in: Handle openbsd and netbsd types being in
11614 part_bsd module.
11615
1e8d555b
VS
116162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11619
11620 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11621 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11622 (mdraid09): ... this.
11623 (mdraid1x): New module.
11624 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11625 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11626
899d8af4
VS
116272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11630 vsprintf.
11631
40901acd
CW
116322010-09-20 Colin Watson <cjwatson@ubuntu.com>
11633
11634 * grub-core/commands/efi/lsefimmap.c: Correct header.
11635 * NEWS: Update.
11636
dfe3b247
CW
116372010-09-20 Colin Watson <cjwatson@ubuntu.com>
11638
11639 * util/grub-editenv.c (argp_parser): Don't pass translated strings
11640 as printf format strings; the translations might contain '%' which
11641 could cause a crash.
11642 (main): Likewise.
11643 * util/grub-fstest.c (argp_parser): Likewise.
11644 * util/grub-setup.c (argp_parser): Likewise.
11645 (main): Likewise.
11646
3286a4b4
VS
116472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 Use argp in grub-fstest.
11650
11651 * util/grub-fstest.c: Don't include getopt.h.
11652 Include argp.h.
11653 (root): New variable.
11654 (args_count): Likewise.
11655 (nparm): Likewise.
11656 (num_disks): Likewise.
11657 (images): Likewise.
11658 (cmd): Likewise.
11659 (debug_str): Likewise.
11660 (args): Likewise.
11661 (options): Transformed to argp.
11662 (usage): Removed.
11663 (main): Split argument parsing into ...
11664 (argp_parser): ... this. Changed to argp format.
11665 (argp): New variable.
11666 (main): Use argp_parse.
11667
3dccbe4b
TG
116682010-09-20 Tristan Gingold <gingold@free.fr>
116692010-09-20 Robert Millan <rmh.grub@aybabtu.com>
116702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * grub-core/commands/efi/lsefimmap.c: New file.
11673 * grub-core/Makefile.core.def (lsefimmap): New module.
11674 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
11675
38c259a7
VS
116762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Pause the execution (10s max) if any errors are displayed so the user
11679 has a chance to see them.
11680
11681 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
11682 (grub_print_error): Increment grub_err_printed_errors.
11683 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
11684 execution if any errors were displayed.
11685 (show_menu): Remove old code for pause.
11686 * grub-core/normal/menu_entry.c (run): Likewise.
11687 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
11688 users updated.
11689 (grub_normal_get_char_counter): Likewise.
11690 * include/grub/err.h (grub_err_printed_errors): New external variable.
11691 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
11692
f218b09c
VS
116932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 Support multiboot VBE info.
11696
11697 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11698 Take VBE info into account.
11699 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
11700 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11701 Call fill_vbe_info when appropriate.
11702 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
11703 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
11704 as supported.
11705 (grub_multiboot_get_mbi_size): Take new tags into account.
11706 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
11707 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11708 Call fill_vbe_tag when appropriate.
11709 (grub_multiboot_make_mbi): Properly align tags.
11710 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
11711 function.
11712 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
11713 proto.
11714 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
11715
a9cc5438
VS
117162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 Suport manual terminal geometry specification.
11719
11720 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
11721 Save state in grub_ofconsole_terminfo_output.
11722 (grub_ofconsole_term): Use grub_terminfo_getwh.
11723 (grub_ofconsole_getwh): Removed.
11724 * grub-core/term/serial.c (grub_serial_getwh): Removed.
11725 (grub_serial_term): Use grub_terminfo_getwh.
11726 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
11727 (options): New struct.
11728 (OPTION_*): New enum.
11729 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
11730 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
11731 width and height.
11732 (grub_terminfo_getwh): New proto.
11733 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
11734
1a8fed20
VS
117352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 Handle legacy "terminal" command.
11738
11739 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
11740 and FLAG_TERMINAL.
11741 (legacy_commands): Add terminal and title.
11742 (grub_legacy_parse): Handle terminal. Simplify title handling.
11743
41e9c57d
VS
117442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
11747 parameters overflow.
11748
61c874c5
CW
117492010-09-20 Colin Watson <cjwatson@ubuntu.com>
11750
11751 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
11752 widthspec.h.
11753
11754 * docs/grub.texi (Shell-like scripting): Document `!'.
11755 (Network): Simplify using new i386-pc-pxe format. Mention
11756 grub-mknetdir.
11757
11758 * NEWS: Update.
11759
943682b4
CW
117602010-09-20 Colin Watson <cjwatson@ubuntu.com>
11761
11762 * Makefile.am (SUBDIRS): Restore "."; it's important to force
11763 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
11764 when needed.
11765
6d3d698d
CW
117662010-09-20 Colin Watson <cjwatson@ubuntu.com>
11767
11768 * grub-core/commands/efi/lsefisystab.c: Correct header.
11769 * grub-core/commands/efi/lssal.c: Likewise.
11770 * grub-core/commands/testload.c: Likewise.
11771
c982589f
CW
117722010-09-20 Colin Watson <cjwatson@ubuntu.com>
11773
11774 * util/grub-mkrescue.in: Add explicit root argument to --set to
11775 prevent the UUID being interpreted as an argument to --set (matches
11776 previous change to prepare_grub_to_access_device).
11777
a63c31b6
CW
117782010-09-20 Colin Watson <cjwatson@ubuntu.com>
11779
11780 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
11781 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
11782 the verbosity of later #ifs.
11783 (find_partition_start): Define this function on FreeBSD too.
11784 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
11785 function.
11786 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
11787 on FreeBSD.
11788
6439b8ee
YB
117892010-09-20 Yves Blusseau <blusseau@zetam.org>
11790
11791 * util/grub-editenv.c: Use argp instead of getopt.
11792
c5930ec8
YB
117932010-09-20 Yves Blusseau <blusseau@zetam.org>
11794
11795 * util/grub-setup.c: Use argp instead of getopt.
11796
15c69261
YB
117972010-09-20 Yves Blusseau <blusseau@zetam.org>
11798
11799 Use gnulib-tool to create gnulib source files.
11800
11801 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
11802 grub-core/gnulib directories
11803 * .bzignore: Add **/.deps and autogenerated gnulib files
11804 * configure.ac: Assign auxiliary directory to build-aux, add invocation
11805 of gnulib macros, add grub-core/gnulib/Makefile
11806 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
11807 include m4 directory to aclocal.
11808 * Makefile.util.def: Remove direct compilation of gnulib source files
11809 and use the new grub-core/gnulib/libgnu.a.
11810 * build-aux/config.rpath: move config.rpath from top directory to
11811 build-aux
11812 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
11813 in gnulib headers
11814 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
11815 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
11816 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
11817 header.
11818 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
11819 string.
11820
e511c9f5
YB
118212010-09-20 Yves Blusseau <blusseau@zetam.org>
11822
11823 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
11824 grub-core/genmod.sh and grub-core/gensyminfo.sh
11825
c2dede05
BC
118262010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
11827
11828 Add a test for echo command options.
11829
11830 * tests/grub_cmd_echo.in: New test.
11831 * Makefile.util.def: Rules for new test.
11832
c55f5018
SJ
118332010-09-20 Szymon Janc <szymon@janc.net.pl>
11834
11835 Remove crc.mod and move crc command to hashsum.mod.
11836 Remove lib/crc.c - users updated to use gcrypt implementation.
11837
11838 * grub-core/commands/crc.c: Removed.
11839 * grub-core/Makefile.core.def (crc): Module removed.
11840 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
11841 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
11842 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
11843 * grub-core/lib/crc.c: Removed.
11844 * include/grub/lib/crc.h: Removed.
11845 * Makefile.util.def (crc): Remove lib/crc.c
11846 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
11847 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
11848 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
11849 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
11850 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
11851 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
11852
e0337366
VS
118532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
11856
742f9232
VS
118572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 Split config.h for util and core.
11860
11861 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
11862 (ADDR32): Likewise.
11863 (DATA32): Likewise.
11864 (BSS_START_SYMBOL): Likewise.
11865 (END_SYMBOL): Likewise.
11866 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
11867 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
11868 * config.h.in: New file.
11869 * configure.ac: Use config-util.h as config define file.
11870 Rename MACHINE into GRUB_MACHINE. All users updated.
11871 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
11872 updated.
11873 (NESTED_FUNC_ATTR): Likewise.
11874 Substitue new variables.
11875 (COND_HAVE_ASM_USCORE): New conditional.
11876 * grub-core/Makefile.am (ASM_PREFIX): New variable.
11877 (kernel_syms.lst): Use ASM_PREFIX.
11878 * grub-core/kern/emu/console.c: Include config-util.h.
11879 * grub-core/kern/emu/misc.c: Likewise.
11880 * grub-core/kern/emu/mm.c: Likewise.
11881 * include/grub/emu/misc.h: Likewise.
11882 * include/grub/libgcc.h: Likewise.
11883
39feb0e8
VS
118842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
11887 constants usage.
11888 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
11889 Fix GRUB_TERM_KEY_* constants usage.
11890 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
11891
9af6dac3
VS
118922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
11895 print pointer.
11896 * grub-core/bus/usb/uhci.c: Remove empty define.
11897 (grub_uhci_check_transfer): Add missing cast.
11898 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
11899 print pointer.
11900 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
11901 PRIuGRUB_SIZE.
11902 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
11903
d6d94820
VS
119042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * grub-core/Makefile.core.def (legacycfg): Add
11907 lib/i386/pc/vesa_modes_table.c on emu.
11908
3572f2b6
BC
119092010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11910
11911 Reduce number of temporary files generated by build system.
11912
11913 * grub-core/gencmdlist.sh: Removed.
11914 * grub-core/genfslist.sh: Removed.
11915 * grub-core/genhandlerlist.sh: Removed.
11916 * grub-core/genmodsrc.sh: Removed.
11917 * grub-core/genpartmaplist.sh: Removed.
11918 * grub-core/genparttoollist.sh: Removed.
11919 * grub-core/gentermiinallist.sh: Removed.
11920 * grub-core/genvideolist.sh: Removed.
11921
11922 * grub-core/genmod.sh.in: New file.
11923 * grub-core/gensyminfo.sh.in: New file.
11924
11925 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
11926 * conf/Makefile.extra-dist: Update with new files.
11927 * gentpl.py: Remove rules related to unnecessary temporary files.
11928 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
11929 and und-* files.
11930 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
11931 genmod.sh scripts.
11932 * grub-core/bus/usb/uhci.c: Remove empty #define.
11933 * grub-core/genmoddep.awk: Updated with new syminfo format.
11934 * util/bash-completion.d/Makefile.am: Add config.log to
11935 CLEANFILES.
11936
c836b030
YB
119372010-09-19 Yves Blusseau <blusseau@zetam.org>
11938
11939 * Makefile.util.def: Add forgotten $(LIBINTL) library.
11940
2f4e8053
BC
119412010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11942
11943 * util/grub-mkconfig.in: Check the config script for syntax errors
11944 before saving.
11945
75831c34
CW
119462010-09-19 Colin Watson <cjwatson@ubuntu.com>
119472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * Makefile.util.def (grub-install): Use util/grub-install.in on all
11950 platforms.
11951 * util/grub-install.in: Add EFI and IEEE1275 support.
11952 * util/i386/efi/grub-install.in: Removed.
11953 * util/ieee1275/grub-install.in: Likewise.
11954
eaf41b25
VS
119552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
11958 (grub_cmd_cmosclean): Likewise.
11959 (GRUB_MOD_INIT): Register command cmosclean.
11960 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
11961 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
11962
1a9130dd
CPE
119632010-09-18 Carles Pina i Estany <carles@pina.cat>
119642010-09-18 Aleš Nesrsta <starous@volny.cz>
119652010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 Add keyboard layouts support.
11968
11969 * Makefile.util.def (grub-mklayout): New file.
11970 (grub-kbdcomp): New script.
11971 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
11972 Add keyboard_layouts.h.
11973 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
11974 commands/boot.c on yeeloong.
11975 (keylayouts): New module.
11976 * grub-core/bus/usb/ohci.c
11977 * grub-core/bus/usb/uhci.c
11978 * grub-core/bus/usb/usbhub.c (rescan): New variable.
11979 (grub_usb_add_hub): Poll interrupt pipe for device handling.
11980 (attach_root_port): Likewise.
11981 (poll_nonroot_hub): Likewise.
11982 (grub_usb_poll_devices): Likewise.
11983 (detach_device): Close transfer.
11984 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
11985 function.
11986 (grub_usb_bulk_setup_readwrite): Likewise.
11987 (grub_usb_bulk_finish_readwrite): Likewise.
11988 * grub-core/commands/keylayouts.c: New file.
11989 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
11990 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
11991 aliases.
11992 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
11993 support scancode 2.
11994 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
11995 * include/grub/keyboard_layouts.h: New file.
11996 * util/grub-mklayout.c: New file.
11997 * util/grub-kbdcomp.in: Likewise.
11998
a1d84a5e
VS
119992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 Unify memory types.
12002
12003 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12004 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12005 types.
12006 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12007 (grub_upper_mem): Likewise.
12008 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12009 * include/grub/memory.h (grub_memory_type_t): New enum.
12010 All users updated.
12011
9696382e
VS
120122010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * grub-core/Makefile.core.def (lsapm): New module.
12015 * grub-core/commands/i386/pc/lsapm.c: New file.
12016 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12017 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12018 Likewise.
12019 * include/grub/i386/pc/apm.h: New file.
12020 * include/multiboot.h (multiboot_apm_info): New struct.
12021
120222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 GRUB-legacy configuration file support.
12025
12026 * Makefile.util.def (grub-menulst2cfg): New util.
12027 * docs/man/grub-menulst2cfg.h2m: New file.
12028 * grub-core/Makefile.core.def (legacycfg): New module.
12029 * grub-core/commands/legacycfg.c: New file.
12030 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12031 (grub_normal_add_menu_entry): ... this.
12032 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12033 (grub_normal_set_password): ...this.
12034 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12035 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12036 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12037 * grub-core/lib/legacy_parse.c: New file.
12038 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12039 * include/grub/i386/pc/vesa_modes_table.h: New file.
12040 * include/grub/legacy_parse.h: Likewise.
12041 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12042 * util/grub-menulst2cfg.c: New file.
12043
bf8d1338
CW
120442010-09-17 Colin Watson <cjwatson@ubuntu.com>
12045
12046 * grub-core/kern/emu/hostdisk.c
12047 (convert_system_partition_to_system_disk): Initialise node.
12048
9c0bad2e
CW
120492010-09-17 Colin Watson <cjwatson@ubuntu.com>
12050
12051 * grub-core/kern/emu/hostdisk.c
12052 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12053 leak.
12054 Reported and based on patch by: Modestas Vainius.
12055
a939d135
CW
120562010-09-17 Colin Watson <cjwatson@ubuntu.com>
12057
12058 Fix DM-RAID probing with recent versions of device-mapper udev
12059 rules.
12060
12061 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12062 canonicalise device paths under /dev/mapper/.
12063 (convert_system_partition_to_system_disk): Compare the
12064 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12065 path, since device nodes under /dev/mapper/ are often symlinks.
12066
0f7ee3c9
YB
120672010-09-17 Yves Blusseau <blusseau@zetam.org>
12068
12069 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12070
10854d0d
YB
120712010-09-16 Yves Blusseau <blusseau@zetam.org>
12072
12073 * configure.ac: Avoid some annoying error messages if freetype-config
12074 program is not found.
12075
108538d8
CW
120762010-09-16 Colin Watson <cjwatson@ubuntu.com>
12077
12078 Support RAID on virtio devices, and others.
12079
12080 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12081 Rename to ...
12082 [__MINGW32__] (grub_find_device): ... this.
12083 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12084 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12085 reasonable default if dir is NULL.
12086 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12087 ...
12088 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12089 (grub_guess_root_device): Update callers.
12090 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12091
12092 * util/raid.c (grub_util_getdiskname): Remove.
12093 (grub_util_raid_getmembers): Use grub_find_device rather than
12094 grub_util_getdiskname.
12095
e5bfc130
CW
120962010-09-16 Colin Watson <cjwatson@ubuntu.com>
12097
12098 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12099 needing to be compiled with serial support.
12100 (ls): Indicate that multiple files are accepted.
12101 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12102 indicate that multiple files are accepted.
12103
be458ae2
CW
121042010-09-16 Colin Watson <cjwatson@ubuntu.com>
12105
12106 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12107 libgrub_a_init.c, and util/bash-completion.d/grub.
12108
cb731b5e
VS
121092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * util/grub-setup.c (setup): Fix incorrect container semantics.
12112
35139e8a
VS
121132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12116 misusage.
12117 Reported by: J. Nick Terry
12118
e50fca4a
VS
121192010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 Move embedding routines to partmap sources files.
12122
12123 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12124 [GRUB_UTIL]: New variable.
12125 (gpt_partition_map_iterate): Set part.parent.
12126 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12127 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12128 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12129 New function.
12130 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12131 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12132 (grub_partition_map) [GRUB_UTIL]: New field embed.
12133 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12134 (setup): Use ->embed.
12135
f00478b7
VS
121362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12139 function.
12140 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12141 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12142
2b94e3ff
YB
121432010-09-15 Yves Blusseau <blusseau@zetam.org>
12144
12145 Add function to get completions from usage.
12146
12147 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12148 completions from usage. Use LC_ALL=C to get options properly.
12149
2e04a006
VS
121502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * grub-core/gnulib/basename-lgpl.c: Imported.
12153 * grub-core/gnulib/basename.c: Likewise.
12154 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12155 * grub-core/gnulib/dirname.c: Likewise.
12156 * grub-core/gnulib/dirname.h: Likewise.
12157 * grub-core/gnulib/stripslash.c: Likewise.
12158
5dcdf93a
VS
121592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * grub-core/gnulib/error.c: Resynced.
12162 * grub-core/gnulib/getopt.c: Likewise.
12163 * grub-core/gnulib/getopt_int.h: Likewise.
12164 * grub-core/gnulib/regex.h: Likewise.
12165 * grub-core/gnulib/regex_internal.c: Likewise.
12166 * grub-core/gnulib/regex_internal.h: Likewise.
12167
014f47b7
SJ
121682010-09-15 Szymon Janc <szymon@janc.net.pl>
12169
12170 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12171 CRC calculations and validity checks.
12172 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12173 calculations.
12174
dd521a4a
SJ
121752010-09-15 Szymon Janc <szymon@janc.net.pl>
12176
12177 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12178
79c4eeb9
VS
121792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 Fix incorrect echo options handling.
12182 Reported by: Yves Blusseau.
12183
12184 * include/grub/command.h (grub_command_flags_t): New flags
12185 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12186 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12187 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12188
ed80f7d5
VS
121892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12192 users updated.
12193 (GRUB_COMMAND_FLAG_MENU): Likewise.
12194 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12195 (GRUB_COMMAND_FLAG_TITLE): Removed.
12196 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12197 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12198 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12199 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12200 (grub_command_flags_t): New enum. All users updated.
12201
5fe7620a
SG
122022010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12203
12204 Fix solaris compilation.
12205
12206 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12207 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12208 (grub-emu-list): Likewise.
12209
545b752f
VS
122102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 Remove deprecated root command.
12213
12214 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12215 updated.
12216
6c1a338c
VS
122172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * util/i386/pc/grub-setup.c: Merge this ...
12220 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12221 * util/grub-setup.c: ... into this.
12222 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12223 New struct.
12224
122252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12228 possible.
12229
d2ea4551
VS
122302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12233 allocate p.
12234
3c3b5040
VS
122352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12238 explicit root argument to set to prevent UUID to be interpreted as
12239 argument to set.
12240
b71c3fae
VS
122412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12244
275433e6
VS
122452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 Don't export grub_gate_a20.
12248
12249 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12250 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12251 to ...
12252 (grub_gate_a20): ... this. All users updated.
12253 * include/grub/i386/pc/init.h: Removed. All users updated.
12254
a5dbb1f1
VS
122552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 Create euro.pf2 which supports most European languages.
12258
12259 * Makefile.am (grubdata_DATA): Add euro.pf2.
12260 (euro.pf2): New target.
12261 (CLEANFILES): Add euro.pf2.
12262
62a747cb
VS
122632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * configure.ac: Disable emu-usb by default to prevent inadvertent
12266 device takeover.
12267
608e43b1
VS
122682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 Disable usbserial on grub-emu since our libusb code isn't good enough
12271 yet.
12272
12273 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12274 (usbserial_pl2303): Likewise.
12275 (usbserial_ftdi): Likewise.
12276
94564f81
VS
122772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * include/grub/disk.h (grub_disk): Remove has_partitions.
12280 All users updated.
12281 * disk/loopback.c (grub_loopback): Remove has_partitions.
12282 All users updated.
12283 (options): Remove partitions. All users updated.
12284 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12285 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12286 actual partition table is found.
12287
3352800b
VS
122882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 Remove readability checks (too many false negatives).
12291
12292 * util/grub-install.in: Remove readability checks.
12293 * util/grub-mkconfig.in: Likewise.
12294 * util/grub.d/10_hurd.in: Likewise.
12295 * util/grub.d/10_kfreebsd.in: Likewise.
12296 * util/grub.d/10_linux.in: Likewise.
12297 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12298 way.
12299
2419f17a
VS
123002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Enable acpi shutdown on all ACPI platforms.
12303
12304 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12305 on coreboo, multiboot and EFI.
12306 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12307 (grub_acpi_halt): Likewise.
12308 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12309 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12310 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12311 * grub-core/lib/i386/halt.c (grub_halt)
12312 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12313
0575c7c3
VS
123142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12315
12316 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12317 context.
12318
54ac3cd1
VS
123192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12322 * grub-core/video/efi_uga.c: Likewise.
12323
b2a30ac5
VS
123242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 Filter devaliases and never open same device twice.
12327
12328 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12329 (last_ihandle): Likewise.
12330 (ofdisk_hash_ent): New member shortest.
12331 (ofdisk_hash_add): Add canonical path too.
12332 (scan): New function.
12333 (grub_ofdisk_iterate): Iterate over hashed entries.
12334 (compute_dev_path): Don't add :0.
12335 (grub_ofdisk_open): Don't really open the disk.
12336 (grub_ofdisk_close): Avoid closing unrelated disk.
12337 (grub_ofdisk_read): Implement reopen logic.
12338 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12339 New function.
12340 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12341 New proto.
12342
fb53b340
VS
123432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 Fix sparc64.
12346
12347 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12348 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12349 right address. Add sparc64_ieee1275_ldflags.
12350 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12351 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12352 to grub_host_to_target_addr
12353 (load_image): Likewise.
12354
f452b040
VS
123552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * grub-core/normal/completion.c (complete_file): Handle device
12358 containing slash.
12359 Fix based on patch by Doug Nazar.
12360
9b5b2541
VS
123612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 grub-mknetdir script.
12364
12365 * Makefile.util.def (grub-mknetdir): New module.
12366 * tests/util/grub-shell.in: Support boot=net
12367 * util/grub-mknetdir.in: New file.
12368
9d2be652
VS
123692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 videoinfo on non-vbe.
12372
12373 * grub-core/Makefile.core.def (vbeinfo): Removed.
12374 (vbetest): Removed.
12375 (videoinfo): New module.
12376 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12377 * grub-core/commands/i386/pc/vbetest.c: Removed.
12378 * grub-core/commands/videoinfo.c: New file.
12379 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12380 specification.
12381 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12382 as vbetest.
12383 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12384 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12385 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12386 mode_number. New parameter mode. All users updated.
12387 (grub_video_gop_iterate): New function.
12388 (grub_video_efi_gop): New member iterate.
12389 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12390 (grub_vbe_set_video_mode): Remove setting useless fields.
12391 (vbe2videoinfo): New function.
12392 (grub_video_vbe_iterate): Likewise.
12393 (grub_video_vbe_setup): Use vbe2videoinfo.
12394 (grub_video_vbe_print_adapter_specific_info): New function.
12395 (grub_video_vbe_adapter): New fields iterate and
12396 print_adapter_specific_info.
12397 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12398 All users updated.
12399 (grub_video_mode_info): New field mode_number.
12400 (grub_video_adapter): New fields iterate and
12401 print_adapter_specific_info.
12402
179503f5
TG
124032010-09-13 Tristan Gingold <gingold@free.fr>
124042010-09-13 Robert Millan <rmh.grub@aybabtu.com>
124052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * grub-core/commands/efi/lsefisystab.c: New file.
12408 * grub-core/commands/efi/lssal.c: Likewise.
12409 * grub-core/Makefile.core.def (lsacpi): New module.
12410 (lsefisystab): Likewise.
12411 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12412 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12413 (grub_efi_sal_system_table): New struct.
12414 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12415 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12416 (grub_efi_sal_system_table_platform_features): Likewise.
12417 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12418 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12419 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12420 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12421
cf9827de
VS
124222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 Support explicit user claim that a device is BIOS-visible.
12425
12426 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12427 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12428 * grub-core/kern/emu/hostdisk.c
12429 (convert_system_partition_to_system_disk): Support mdX.
12430 (find_system_device): New parameter add. All users updated.
12431 (grub_util_biosdisk_is_present): New function.
12432 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12433 proto.
12434
53f0eb1f
VS
124352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 Search hints support.
12438
12439 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12440 All users updated.
12441
b23ffd70
YB
124422010-09-13 Yves Blusseau <blusseau@zetam.org>
12443
12444 Bash completion script for util commands
12445
12446 * Makefile.am: Add util/bash-completion.d directory
12447 * configure.ac: Likewise.
12448 * util/bash-completion.d/Makefile.am: New file.
12449 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12450
d547dc28
VS
124512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12454 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12455 Reported by: Yves Blusseau.
12456
2fc8ccb9
VS
124572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12460 partition size and offset.
12461
d8a84076
VS
124622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12465
84fb3b3d
VS
124662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12469
768ec2e2
VS
124702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12473 (grub_xvasprintf): Likewise.
12474
4870900f
VS
124752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12478
faca6bec
VS
124792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12480
12481 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12482 args ending with NULL.
12483
124842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12485
12486 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12487 pointer.
12488
3c70f225
SJ
124892010-09-11 Szymon Janc <szymon@janc.net.pl>
12490
12491 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12492
4df7996d
VS
124932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 Shutdown using ACPI.
12496
12497 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12498 * grub-core/commands/acpihalt.c: New file.
12499 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12500 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12501 (grub_acpi_halt): New proto.
12502 (GRUB_ACPI_SLP_EN): New const.
12503 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12504 (GRUB_ACPI_OPCODE_*): New enum.
12505 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12506
126b4c32
TG
125072010-09-11 Tristan Gingold <gingold@free.fr>
125082010-09-11 Robert Millan <rmh.grub@aybabtu.com>
125092010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * commands/lsacpi.c: New file.
12512 * grub-core/Makefile.core.def (lsacpi): New module.
12513 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12514 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12515 (grub_acpi_madt_entry_header): New struct.
12516 (grub_acpi_madt): Likewise.
12517 (grub_acpi_madt_entry_interrupt_override): Likewise.
12518 (grub_acpi_madt_entry_sapic): Likewise.
12519 (grub_acpi_madt_entry_lsapic): Likewise.
12520 (grub_acpi_madt_entry_platform_int_source): Likewise.
12521 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12522 (PRIuGRUB_UINT32_T): Likewise.
12523 (PRIxGRUB_UINT64_T): Likewise.
12524
1aa4fe88
VS
125252010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12526
12527 Implement loading palette on ieee1275_fb.
12528
12529 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12530 (have_setcolors): Likewise.
12531 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12532 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12533 (grub_video_ieee1275_set_palette): Implement.
12534
25761e13
VS
125352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
125362010-09-11 Colin Watson <cjwatson@ubuntu.com>
12537
12538 * util/grub-install.in (grub_partition): New variable.
12539 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12540 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12541 Fixes a bug reported by Yves Blusseau.
12542
050abaea
VS
125432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 Fix emu on mipsel.
12546
12547 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12548 =grub_cpu_flush_cache on all mips and not only yeeloong.
12549 * configure.ac (COND_mips): New conditional.
12550 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12551 platforms.
12552 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12553 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12554 [GRUB_LINKER_HAVE_INIT]: New function.
12555 (grub_emu_post_init): Likewise.
12556 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12557 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12558 * include/grub/cache.h (_mips): Include mips/cache.h.
12559 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12560 LVM and RAID prototypes.
12561 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12562 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12563 function.
12564
5ed7d816
CW
125652010-09-10 Colin Watson <cjwatson@ubuntu.com>
12566
12567 * util/grub-install.in: Don't try to verify core.img until after
12568 running grub-mkimage to create it.
12569
90367e04
RM
125702010-09-10 Robert Millan <rmh@gnu.org>
12571
12572 * util/grub.d/10_hurd.in: Add misc readability checks.
12573 * util/grub.d/10_kfreebsd.in: Likewise.
12574 * util/grub.d/10_linux.in: Likewise.
12575
c452fa66
CW
125762010-09-10 Colin Watson <cjwatson@ubuntu.com>
12577
12578 * util/grub-install.in: ${imgext} won't be defined here until the
12579 install branch is merged. For the meantime, only verify core.img on
12580 i386-pc and sparc64-ieee1275 platforms.
12581
c38fe9f4
RM
125822010-09-10 Robert Millan <rmh@gnu.org>
12583
12584 Solaris support in grub_find_zpool_from_dir(). Thanks
12585 Seth Goldberg for referring to getextmntent() facility.
12586
12587 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12588 `sys/mkdev.h'.
12589 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12590 `<sys/mnttab.h>'.
12591 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12592 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12593 method for finding zpool name.
12594
905f7773
CW
125952010-09-10 Colin Watson <cjwatson@ubuntu.com>
12596
12597 grub-fstest needs the host and hostfs modules while other utilities
12598 actively require those modules to be absent, so grub-fstest needs
12599 its own initialisation and finalisation code.
12600
12601 * Makefile.am (grub_fstest.pp): New target.
12602 (grub_fstest_init.lst): Likewise.
12603 (grub_fstest_init.c): Likewise.
12604 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12605
fb90b546
RM
126062010-09-10 Robert Millan <rmh@gnu.org>
12607
12608 * configure.ac: Check for `struct statfs.f_fstypename' and
12609 `struct statfs.f_mntfromname'.
12610
12611 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12612 kFreeBSD-specific code.
12613
66d4bea5
RM
126142010-09-10 Robert Millan <rmh@gnu.org>
12615
12616 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12617 on ZFS. Now non-main filesystems are supported as / too.
12618
b6a690ee
CW
126192010-09-09 Colin Watson <cjwatson@ubuntu.com>
12620
12621 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12622 and grub-core/disk/host.c to ...
12623 (grub-fstest): ... here. Having the host disk implementation
12624 present confuses grub-probe and other utility programs.
12625
12626 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12627 when writing to a file, not when writing to stdout.
12628
8901b00c 126292010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12630
12631 * tests/partmap_test.in: New test for partitions.
12632 * Makefile.util.def: Rules for new test.
12633
7bf45fdd
RM
126342010-09-09 Robert Millan <rmh@gnu.org>
12635
12636 * util/grub-probe.c (probe): Fix a pair of unhandled error
12637 conditions.
12638
4dfbc574
RM
126392010-09-09 Robert Millan <rmh@gnu.org>
12640
12641 Basic Btrfs support (detection and UUID).
12642
12643 * grub-core/fs/btrfs.c: New file.
12644 * Makefile.util.def (library): Register btrfs.c.
12645 * grub-core/Makefile.core.def: Likewise.
12646
6b8e78ae
RM
126472010-09-08 Robert Millan <rmh@gnu.org>
12648
12649 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
12650 with (optional) parameters to specify device and relative path.
12651 * util/grub-install.in: Use is_path_readable_by_grub() to
12652 verify readability of a few critical files.
12653 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
12654 verify readability of grub.cfg.new.
12655
27f21a8b
VS
126562010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 Split minix.mod into minix.mod and minix2.mod.
12659
12660 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
12661 * grub-core/Makefile.core.def (minix2): New module.
12662 * grub-core/fs/minix.c: Use definitions instead of runtime version
12663 checking.
12664 * grub-core/fs/minix2.c: New file.
12665
c0e53ea5
YB
126662010-09-08 Yves Blusseau <blusseau@zetam.org>
12667
12668 Add new --boot-directory option to replace --root-directory
12669
12670 * util/grub-install.in: Add new --boot-directory option
12671 * util/grub-reboot.in: Likewise.
12672 * util/grub-set-default.in: Likewise.
12673
b9fe6ea2
YB
126742010-09-08 Yves Blusseau <blusseau@zetam.org>
12675
12676 * util/grub-mkconfig.in: Use new variable.
12677
d87aedff
YB
126782010-09-08 Yves Blusseau <blusseau@zetam.org>
12679
12680 * configure.ac: Define some useful variables.
12681
e55e8495
VS
126822010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12685 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
12686 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
12687 Use terminfo and don't use cursor-on/cursor-off unless it's known
12688 to work.
12689 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
12690 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
12691
6fa6d675
CW
126922010-09-08 Colin Watson <cjwatson@ubuntu.com>
12693
12694 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
12695 starts with "(,", fill the drive containing the loaded image in
12696 between those two characters, but expect that a full partition
12697 specification including partition map names will follow.
12698
92f2aef0
RM
126992010-09-08 Robert Millan <rmh@gnu.org>
12700
12701 * configure.ac: Remove `--enable-grub-fstest' option.
12702 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
12703
12704 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
12705 `grub-fstest' instead of `grub-probe' for readability verification.
12706 * util/grub-probe.c (probe): Remove readability verification kludge.
12707
99fd620d
RM
127082010-09-08 Robert Millan <rmh@gnu.org>
12709
12710 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
12711 initializing `GRUB_FS'.
12712
058e30ac 127132010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
12714
12715 Not command (!) support to GRUB script.
12716
12717 * tests/grub_script_not.in: New test.
12718 * Makefile.util.def: Rules for new test.
12719
12720 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12721 ! command as a special case.
12722 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
12723
b61d05ed 127242010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12725
058e30ac 12726 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
12727 grub_free.
b61d05ed 12728
4d69c786 127292010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12730
12731 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
12732
aa3119c4 127332010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12734
12735 * docs/grub.texi (Shell-like scripting): Documentation for break,
12736 continue, shift and return commands.
12737
db0f7e3d
VS
127382010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 Rename CD-ROM to cd on BIOS.
12741
12742 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
12743 "cd".
12744 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
12745
88b87c93
VS
127462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
12749 * util/grub-probe.c (main): Likewise.
12750 * util/i386/pc/grub-setup.c (main): Likewise.
12751 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12752 Reported and debugged by: alexxy
12753
294f324d
VS
127542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
12757 diagnostic info.
12758
d7ee3441
JS
127592010-09-05 Jo Shields <directhex@apebox.org>
12760
12761 * util/grub.d/30_os-prober.in: Add missing classes.
12762
d7e06c1f
VS
127632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 * docs/grub.texi (Theme file format): Document new position format.
12766
fc157e53
VS
127672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
12770 a table. Use @code instead of @verbatim.
12771
506e9a1c
CB
127722010-09-05 Colin D Bennett <colin@gibibit.com>
12773
12774 Gfxmenu documentation.
12775
12776 * docs/grub.texi (Theme file format): New chapter.
12777
f0aff67c
SJ
127782010-09-05 Szymon Janc <szymon@janc.net.pl>
12779
12780 * grub-core/Makefile.core.def (xzio): New module.
12781 * grub-core/io/xzio.c: New file.
12782 * grub-core/lib/xzembed/xz.h: New file (from xembed).
12783 * grub-core/lib/xzembed/xz_config.h: Likewise.
12784 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
12785 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
12786 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
12787 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
12788 * grub-core/lib/xzembed/xz_private.h: Likewise.
12789 * grub-core/lib/xzembed/xz_stream.h: Likewise.
12790 * include/grub/file.h (grub_file_filter_id): New compression filter
12791 GRUB_FILE_FILTER_XZIO.
12792
82a85062
VS
127932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
12796 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
12797 size.
12798
3579415d
VS
127992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
12802 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
12803
5124ae6d
VS
128042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 Uncompressed checksum support.
12807
12808 * grub-core/commands/hashsum.c (options): Add option --uncompress.
12809 (check_list): New parameter uncompress.
12810 (grub_cmd_hashsum): Handle --uncompress.
12811
9aadb3d1
VS
128122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 Reintroduce testload.
12815
12816 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
12817 from here ...
12818 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
12819 (GRUB_MOD_INIT): New function.
12820 (GRUB_MOD_FINI): Likewise.
12821 * grub-core/Makefile.core.def (testload): New module.
12822
a17792c3
SJ
128232010-09-05 Szymon Janc <szymon@janc.net.pl>
12824
12825 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
12826 (uint8_t): New type.
12827 (uint16_t): Likewise.
12828 (uint32_t): Likewise.
12829 (uint64_t): Likewise.
12830
b81e40a3
SJ
128312010-09-05 Szymon Janc <szymon@janc.net.pl>
12832
12833 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
12834
fc2ef117
VS
128352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
12838 Made static.
12839 (grub_gzfile_open): Removed. All users updated.
12840 (GRUB_MOD_INIT): New function.
12841 (GRUB_MOD_FINI): Likewise.
12842 * grub-core/kern/file.c (grub_file_filters_all): New variable.
12843 (grub_file_filters_enabled): Likewise.
12844 (grub_file_open): Handle filters.
12845 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
12846 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
12847 * include/grub/file.h (grub_file_filter_id_t): New type.
12848 (grub_file_filter_t): Likewise.
12849 (grub_file_filters_all): New extern variable.
12850 (grub_file_filters_enabled): Likewise.
12851 (grub_file_filter_register): New inline function.
12852 (grub_file_filter_unregister): Likewise.
12853 (grub_file_filter_disable): Likewise.
12854 (grub_file_filter_disable_compression): Likewise.
12855 * include/grub/gzio.h: Removed.
12856
35ee15e0
BC
128572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12858
12859 Filename expansion support for wildcards in GRUB script.
12860
12861 * tests/grub_script_expansion.in: New test.
12862 * Makefile.util.def: Rule for new test.
12863
12864 * grub-core/commands/wildcard.c: New file, implements filename
12865 expansion support for GRUB script.
12866 * grub-core/Makefile.core.def: Rule update for regexp.mod.
12867 * grub-core/script/argv.c: Cosmetic changes.
12868 * grub-core/script/execute.c (grub_script_arglist_to_argv):
12869 Refactored to perform wildcard expansion on arguments.
12870 * include/grub/script_sh.h (grub_script_wildcard_translator): New
12871 struct.
12872
12873 * tests/util/grub-shell.in: Fix quoting for read input.
12874
5f0c4aca
BC
128752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12876
12877 Support for updating environment variables with matched substrings
12878 of regexp.
12879
12880 * tests/grub_cmd_regexp.in: New test.
12881 * Makefile.util.def: Rule for new test.
12882
12883 * grub-core/commands/regexp.c: New option -s to update environment
12884 variables with regexp matches.
12885
3759a35f
SJ
128862010-09-04 Szymon Janc <szymon@janc.net.pl>
12887
12888 * include/grub/file.h (grub_file): New member not_easly_seekable.
12889 (grub_file_seekable): New inline function.
12890 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
12891 easily seekable.
12892 (grub_gzio_open): Set not_easly_seekable.
12893 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
12894 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
12895
ed8c6dec
BC
128962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12897
12898 Support for options to appear multiple times on cmdline.
12899
12900 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
12901 * grub-core/commands/extcmd.c: Support for repeatable option.
12902 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
12903 repeatable option support.
12904
12905 Refactor menuentry into a regular command.
12906
12907 * grub-core/commands/menuentry.c: New file, menuentry command
12908 implementation.
12909 * grub-core/Makefile.core.def: Rule update for normal.mod.
12910 * grub-core/normal/main.c: Moved menuentry creation to
12911 grub-core/commands/menuentry.c.
12912 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
12913 (grub_menu_execute_entry_real): Removed.
12914 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
12915 function.
12916 (grub_script_execute_menuentry): Removed.
12917 * grub-core/script/parser.y (menuentry): Removed.
12918 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
12919 * grub-core/script/yylex.l (menuentry): Removed.
12920 * include/grub/menu.h (grub_menu_init): New prototype.
12921 (grub_menu_fini): New prototype.
12922 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
12923 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
12924 (grub_script_execute_sourcecode): New prototype.
12925
dacd0cf0
BC
129262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12927
12928 "return" command for GRUB script functions.
12929
12930 * tests/grub_script_return.in: New test.
12931 * Makefile.util.def: Rules for new test.
12932
12933 * grub-core/script/execute.c (grub_script_return): New function.
12934 * grub-core/script/main.c: Register/unregister return commaond.
12935 * include/grub/script_sh.h (grub_script_return): New prototype.
12936
52e72f9d
BC
129372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12938
12939 "setparams" command to update positional parameters.
12940
12941 * tests/grub_script_setparams.in: New test.
12942 * Makefile.util.def: Rules for new test.
12943
12944 * grub-core/script/argv.c (grub_script_argv_make): New function.
12945 * grub-core/script/execute.c (replace_scope): New function.
12946 (grub_script_setparams): New function.
12947 * grub-core/script/lexer.c: Remove unused variables.
12948 * grub-core/script/main.c: Register/unregister setparams command.
12949 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
12950 (grub_script_setparams): New prototype.
12951
25b60c91
BC
129522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12953
12954 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
12955 grub_free order.
12956
37e7bf68
BC
129572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12958
12959 Support for passing block of commands as an argument to extcmds.
12960
12961 * Makefile.util.def: Rules for new test.
12962 * tests/grub_script_blockarg.in: New test.
12963 * grub-core/tests/test_blockarg.c: New file, block argument
12964 command used in the test.
12965
12966 * include/grub/extcmd.h (grub_extcmd_context): New struct.
12967 (grub_register_extcmd_prio): New function prototype.
12968 (grub_extcmd_dispatcher): New function prototype.
12969 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
12970 type.
12971 * include/grub/script_sh.h (struct grub_script): New members
12972 `children', `next_siblings' and `refcnt' for block arguments and
12973 reference counting.
12974 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
12975 (grub_script_arg): New member `script' for block argument.
12976 (grub_script_argv): New member `script' for block argument.
12977 (grub_parser_param): New member `scripts' for block argument.
12978 (grub_script_mem_free): New extern function prototype.
12979 (grub_script_ref): New function prototype.
12980 (grub_script_unref): New function prototype.
12981
12982 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
12983 extcmd form to support block arguments.
12984 * grub-core/script/argv.c: Block arguments support.
12985 * grub-core/script/execute.c: Likewise.
12986 * grub-core/script/lexer.c: Likewise.
12987 * grub-core/script/main.c: Likewise.
12988 * grub-core/script/script.c: Likewise.
12989 * grub-core/script/parser.y: Likewise. New `block' and `block0'
12990 non-terminals.
12991
12992 * grub-core/commands/acpi.c: Update extcmd implementations with
12993 grub_extcmd_context_t.
12994 * grub-core/commands/cat.c: Likewise.
12995 * grub-core/commands/echo.c: Likewise.
12996 * grub-core/commands/extcmd.c: Likewise.
12997 * grub-core/commands/hashsum.c: Likewise.
12998 * grub-core/commands/hdparm.c: Likewise.
12999 * grub-core/commands/help.c: Likewise.
13000 * grub-core/commands/hexdump.c: Likewise.
13001 * grub-core/commands/i386/cpuid.c: Likewise.
13002 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13003 * grub-core/commands/i386/pc/halt.c: Likewise.
13004 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13005 * grub-core/commands/iorw.c: Likewise.
13006 * grub-core/commands/keystatus.c: Likewise.
13007 * grub-core/commands/loadenv.c: Likewise.
13008 * grub-core/commands/ls.c: Likewise.
13009 * grub-core/commands/lspci.c: Likewise.
13010 * grub-core/commands/memrw.c: Likewise.
13011 * grub-core/commands/probe.c: Likewise.
13012 * grub-core/commands/search_wrap.c: Likewise.
13013 * grub-core/commands/setpci.c: Likewise.
13014 * grub-core/commands/sleep.c: Likewise.
13015 * grub-core/disk/loopback.c: Likewise.
13016 * grub-core/hello/hello.c: Likewise.
13017 * grub-core/loader/i386/bsd.c: Likewise.
13018 * grub-core/loader/xnu.c: Likewise.
13019 * grub-core/term/gfxterm.c: Likewise.
13020 * grub-core/term/serial.c: Likewise.
13021 * grub-core/tests/lib/functional_test.c: Likewise.
13022
888d1500
BC
130232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13024
13025 Multi-line quoted strings support.
13026
13027 * grub-core/script/lexer.c (append_newline): Removed.
13028 (grub_script_lexer_yywrap): Refactored.
13029 (grub_script_lexer_init): Refactored.
13030 * grub-core/script/yylex.l (yywrap): New function.
13031 (grub_lexer_resplit): New function.
13032 (grub_lexer_unput): New function.
13033 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13034 and resplit.
13035 * tests/grub_script_echo1.in: Added few more testcases.
13036
dda060dd
VS
130372010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * grub-core/kern/misc.c: Don't add abort alias in utils.
13040 Reported by: echoline.
13041
6556eba9
BC
130422010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13043
13044 Add missing files into "make dist" tarball for other platforms.
13045
13046 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13047 * conf/Makefile.common (dist_noinst_DATA): New variable.
13048 * conf/Makefile.extra-dist: Added missing make dist files.
13049 * grub-core/Makefile.core.def: Likewise.
13050
c8e7bf5f
VS
130512010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 Compress grub_prefix.
13054
13055 * grub-core/boot/i386/pc/lnxboot.S: Use
13056 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13057 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13058 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13059 GRUB_MACHINE_PREFIX_END. All users updated.
13060 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13061 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13062 + 0x40.
13063 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13064 * util/grub-mkimage.c (image_target_desc): Change data_end to
13065 prefix_end. All users updated.
13066
a7c00cdb
VS
130672010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13070 value.
13071 (grub_openbsd_boot): Likewise.
13072 (grub_netbsd_boot): Likewise.
13073 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13074 (grub_xnu_boot): Likewise.
13075
9f915872
VS
130762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * configure.ac: Clean LIBS variable after tests.
13079
efa1bee7
CW
130802010-09-02 Colin Watson <cjwatson@ubuntu.com>
13081
13082 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13083
61d720e5
VS
130842010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13087 echo if libdevmapper will be used.
13088
ef8e0ec8
IT
130892010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13090
13091 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13092 constant for the same file.
13093
03e261d8
VS
130942010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13097
c2a4eba6
CW
130982010-09-02 Colin Watson <cjwatson@ubuntu.com>
13099
13100 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13101 grub-core/*.pp.
13102
9056cbf3
CW
131032010-09-02 Colin Watson <cjwatson@ubuntu.com>
13104
13105 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13106 required by the boot protocol.
13107
13108 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13109 ebp and edi members.
13110 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13111 state.ebp and state.edi.
13112 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13113 %ebp and %edi according to grub_relocator32_ebp and
13114 grub_relocator32_edi respectively.
13115 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13116 and state.edi.
13117
529cc99a
VS
131182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 Add i386-pc-pxe image target.
13121
13122 * util/grub-mkimage.c (image_target_desc): New enum value
13123 IMAGE_I386_PC_PXE.
13124 (image_targets): New target i386-pc-pxe.
13125 (generate_image): Handle i386-pc-pxe image.
13126
9a093920
VS
131272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 Fix grub_pxe_scan.
13130
13131 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13132 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13133 All users updated.
13134 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13135 (grub_pxe_pxenv): Correct type.
13136
f9cefc4e
CW
131372010-09-01 Colin Watson <cjwatson@ubuntu.com>
13138
13139 * NEWS: Document most of the important changes since 1.98.
13140
4066f57f
CW
131412010-09-01 Colin Watson <cjwatson@ubuntu.com>
13142
13143 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13144 generated manual page) a little.
13145
da2891f9
CW
131462010-09-01 Colin Watson <cjwatson@ubuntu.com>
13147
13148 * docs/grub.texi: Add myself as an author.
13149
ad717fae
VS
131502010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * Makefile.util.def (libgrub.a): Add missing sunpc.
13153 Reported by: Seth Goldberg.
13154
eefe8abd
VS
131552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13156
13157 Interrupt wrapping and code simplifications.
13158
9494ef9a
VS
13159 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13160 x86_noieee1275 which are functionaly equivalent in this case.
13161 (grub-install): Make source on each platform explicit. Enable on
13162 all noemu.
13163 * gentpl.py (x86_efi_pc): Removed group.
13164 (x86_noefi): Likewise.
13165 (i386_noefi): Likewise.
13166 (x86_noieee1275): Likewise.
13167 (i386_noieee1275): Likewise.
13168 (i386_noefi_noieee1275): Likewise.
13169 (i386_pc_qemu_coreboot): Likewise.
13170 (i386_coreboot_multiboot): Likewise.
13171 (i386_pc_coreboot_multiboot_qemu): Likewise.
13172 (x86_noefi_mips): Likewise.
13173 (noieee1275): Likewise.
13174 (ieee1275_mips): Likewise.
13175 (noemu_noieee1275): Likewise.
13176 (cmos): New group.
13177 (usb): Likewise.
13178 (videoinkernel): Likewise.
13179 (videomodules): Likewise.
eefe8abd 13180 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13181 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13182 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13183 include/grub/loader.h, include/grub/msdos_partition.h,
13184 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13185 include/grub/machine/console.h, include/grub/machine/vga.h,
13186 include/grub/machine/vbe.h, include/grub/machine/init.h,
13187 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13188 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13189 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13190 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13191 * grub-core/Makefile.core.def (kernel): Explicit the source for
13192 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13193 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13194 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13195 Use videoinkernel tag.
13196 (usb): Enable on all usb.
13197 (usbserial_common): Likewise.
13198 (usbserial_pl2303): Likewise.
13199 (usbserial_ftdi): Likewise.
13200 (uhci): Enable on all x86.
13201 (ohci): Enable on all pci.
13202 (cmostest): Enable on all CMOS.
13203 (acpi): Include commands/acpi.c on all platforms.
13204 (halt): Add relevant lib/*/halt.c.
13205 (hdparm): Enable on all pci.
13206 (lspci): Likewise.
13207 (usbtest): Enable on all usb.
13208 (ata): Enable on all pci.
13209 (ata_pthru): Likewise.
13210 (usbms): Enable on all usb.
13211 (usb_keyboard): Likewise.
13212 (font): Use tag videomodules.
13213 (bufio): Likewise.
13214 (datetime): Use tag cmos. Enable on all noemu.
13215 (mmap): Use tags common and x86.
13216 (gfxterm): Use tag videomodules.
13217 (bitmap): Likewise.
13218 (bitmap_scale): Likewise.
13219 (video_fb): Likewise.
13220 (video): Likewise.
13221 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13222 adjust padding accordingly. All users updated.
13223 (grub_ohci_transaction): Fix bad format specification.
13224 (GRUB_MOD_INIT): Add asserts for struct size.
13225 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13226 (grub_alloc_td): Likewise.
13227 (grub_free_queue): Likewise.
13228 (grub_uhci_transfer): Likewise.
13229 (grub_uhci_transaction): Fix bad format specification.
13230 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13231 (grub_usb_bulk_readwrite): Likewise.
13232 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13233 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13234 Made static.
13235 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13236 Made static.
13237 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13238 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13239 Transformed into C.
13240 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13241 Moved from here ...
13242 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13243 ... here. Transformed into C. Made static.
13244 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13245 Moved from here ...
13246 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13247 ... here. Transformed into C. Made static.
13248 * grub-core/kern/i386/pc/startup.S
13249 (grub_biosdisk_check_int13_extensions): Moved from here ...
13250 * grub-core/disk/i386/pc/biosdisk.c
13251 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13252 Made static.
13253 * grub-core/kern/i386/pc/startup.S
13254 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13255 * grub-core/disk/i386/pc/biosdisk.c
13256 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13257 Transformed into C. Made static.
13258 * grub-core/kern/i386/pc/startup.S
13259 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13260 * grub-core/disk/i386/pc/biosdisk.c
13261 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13262 Transformed into C. Made static.
13263 * grub-core/kern/i386/pc/startup.S
13264 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13265 * grub-core/disk/i386/pc/biosdisk.c
13266 (grub_biosdisk_get_diskinfo_standard): ... here.
13267 Transformed into C. Made static.
13268 * grub-core/kern/i386/pc/startup.S
13269 (grub_biosdisk_get_num_floppies): Moved from here ...
13270 * grub-core/disk/i386/pc/biosdisk.c
13271 (grub_biosdisk_get_num_floppies): ... here.
13272 Transformed into C. Made static.
13273 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13274 New function.
13275 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13276 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13277 Transformed into C. Made static.
13278 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13279 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13280 Transformed into C. Made static.
13281 * grub-core/kern/i386/ieee1275/init.c: Removed.
13282 * grub-core/kern/i386/misc.S: Likewise.
13283 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13284 Splitted from here ...
13285 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13286 Transformed into C. Made static. All users updated.
13287 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13288 Transformed into C. Made static. All users updated.
13289 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13290 Moved from here...
13291 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13292 Transformed into C. Made static. All users updated.
13293 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13294 Moved from here...
13295 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13296 Transformed into C. Made static. All users updated.
13297 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13298 Removed (replaced by C version).
13299 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13300 Moved from here...
13301 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13302 Transformed into C. Made static.
13303 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13304 Moved from here...
13305 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13306 ... here. Transformed into C.
13307 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13308 Moved from here...
13309 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13310 ... here. Transformed into C.
13311 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13312 Moved from here...
13313 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13314 ... here. Transformed into C. Made static.
13315 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13316 Moved from here...
13317 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13318 ... here. Transformed into C.
21ed554b
VS
13319 * grub-core/kern/i386/pc/startup.S
13320 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13321 * grub-core/video/i386/pc/vbe.c
13322 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13323 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13324 Moved from here...
13325 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13326 ... here. Transformed into C.
13327 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13328 Moved from here...
13329 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13330 ... here. Transformed into C.
13331 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13332 Moved from here...
13333 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13334 ... here. Transformed into C.
13335 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13336 Moved from here...
13337 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13338 ... here. Transformed into C.
13339 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13340 Moved from here...
13341 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13342 ... here. Transformed into C. Made static.
13343 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13344 Moved from here...
13345 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13346 ... here. Transformed into C. Made static.
13347 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13348 Moved from here...
13349 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13350 ... here. Transformed into C. Made static.
13351 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13352 pxe_rm_entry as third argument.
13353 (grub_bios_interrupt): New function.
13354 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13355 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13356 of calling grub_stop.
13357 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13358 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13359 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13360 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13361 * grub-core/lib/i386/halt.c: Moved from here ...
13362 * grub-core/lib/i386/halt.c: ... here.
13363 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13364 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13365 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13366 grub_stop_floppy.
13367 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13368 * include/grub/i386/coreboot/init.h: Removed.
13369 * include/grub/i386/multiboot/init.h: Likewise.
13370 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13371 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13372 * include/grub/i386/pc/int.h: New file.
13373 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13374 (grub_pxe_scan): Removed.
13375 (grub_pxe_call): Update prototype.
13376 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13377 prototypes.
13378 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13379 * include/grub/i386/qemu/init.h: Removed.
13380 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13381 noreturn.
13382 (grub_halt): Likewise.
13383 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13384 (grub_reboot): Likewise.
13385 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13386 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13387 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13388
215dd471
RM
133892010-08-30 Robert Millan <rmh@gnu.org>
13390
13391 * NEWS: Document addition of ZFS support in `grub-install' and
13392 `grub-mkconfig'.
13393
ebd65b82
BC
133942010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13395
13396 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13397 dprintf output.
13398
11721d19
VS
133992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 Remove leftover embedding of font objects.
13402
13403 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13404 * util/grub-install.in (font): Removed.
13405 * util/grub-mkimage.c (generate_image): Remove font support. All users
13406 updated.
13407
37837d4e
VS
134082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 Remove leftover embedding of font objects.
13411
13412 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13413 * util/grub-install.in (font): Removed.
13414 * util/grub-mkimage.c (generate_image): Remove font support. All users
13415 updated.
13416
b4c1aae0
VS
134172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13420 Reported by: Ian Turner
b4c1aae0 13421
8920a08d
VS
134222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13425 timeout to avoid indefinite boot stalling.
13426
f21db033
VS
134272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13430 (grub_env_write_color_highlight): Likewise.
13431
9a9de209
VS
134322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * grub-core/normal/term.c (print_more): Return to normal and not
13435 to standard state after printing "---MORE---".
13436
3dca01d7
VS
134372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13440 Mask out the bit 0x80 since it has other meaning that specifiing color.
13441
0b986c40
VS
134422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 New relocator. Allows for more kernel support and more straightforward
13445 loader writing.
13446
13447 * Makefile.am (BOOTTARGET): New variable.
13448 (QEMU32): Likewise.
13449 (linux.init.x86_64): New target.
13450 (linux.init.i386): Likewise.
13451 (multiboot.elf): Likewise.
13452 (kfreebsd.elf): Likewise.
13453 (kfreebsd.aout): Likewise.
13454 (pc-chainloader.elf): Likewise.
13455 (pc-chainloader.bin): Likewise.
13456 (ntldr.elf): Likewise.
13457 (ntldr.bin): Likewise.
13458 (multiboot2.elf): Likewise.
13459 (kfreebsd.init.x86_64): Likewise.
13460 (kfreebsd.init.i386): Likewise.
13461 (knetbsd.init.i386): Likewise.
13462 (kopenbsd.init.i386): Likewise.
13463 (knetbsd.init.x86_64): Likewise.
13464 (kopenbsd.init.x86_64): Likewise.
13465 (linux-initramfs.i386): Likewise.
13466 (linux-initramfs.x86_64): Likewise.
13467 (kfreebsd-mfsroot.i386.img): Likewise.
13468 (knetbsd.image.i386): Likewise.
13469 (kopenbsd.image.i386): Likewise.
13470 (kopenbsd.image.x86_64): Likewise.
13471 (knetbsd.miniroot-image.i386.img): Likewise.
13472 (kfreebsd-mfsroot.x86_64.img): Likewise.
13473 (knetbsd.image.x86_64): Likewise.
13474 (knetbsd.miniroot-image.x86_64.img): Likewise.
13475 (kfreebsd-mfsroot.i386.gz): Likewise.
13476 (bootcheck-kfreebsd-i386): Likewise.
13477 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13478 (bootcheck-kfreebsd-x86_64): Likewise.
13479 (knetbsd.miniroot-image.i386.gz): Likewise.
13480 (bootcheck-knetbsd-i386): Likewise.
13481 (bootcheck-kopenbsd-i386): Likewise.
13482 (bootcheck-kopenbsd-x86_64): Likewise.
13483 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13484 (bootcheck-knetbsd-x86_64): Likewise.
13485 (bootcheck-linux-i386): Likewise.
13486 (bootcheck-linux-x86_64): Likewise.
13487 (bootcheck-linux16-i386): Likewise.
13488 (bootcheck-linux16-x86_64): Likewise.
13489 (bootcheck-multiboot): Likewise.
13490 (bootcheck-multiboot2): Likewise.
13491 (bootcheck-kfreebsd-aout): Likewise.
13492 (bootcheck-pc-chainloader): Likewise.
13493 (bootcheck-ntldr): Likewise.
13494 (CLEANFILES): Add new targets.
13495 (BOOTCHECKS): New variable.
13496 (.PHONY): Add bootchecks.
13497 (SUCCESSFUL_BOOT_STRING): New variable.
13498 (BOOTCHECK_TIMEOUT): Likewise.
13499 (bootcheck): New target
13500 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13501 * configure.ac: Correct efiemu excuse.
13502 * docs/grub.texi (Supported kernels): New chapter.
13503 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13504 include/grub/mm_private.h. Simplify inclusion of
13505 include/grub/boot.h, include/grub/loader.h
13506 and include/grub/msdos_partition.h
13507 (KERNEL_HEADER_FILES) [i386_coreboot]:
13508 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13509 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13510 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13511 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13512 include/grub/machine/loader.h.
13513 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13514 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13515 extra_dist.
13516 (pci.mod): Enable on i386-multiboot.
13517 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13518 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13519 i386-qemu.
13520 (relocator.mod): Rewritten.
13521 (aout.mod): Enable on all x86.
13522 (bsd.mod): Likewise.
13523 (ntldr.mod): New module.
13524 (linux.mod): Use loader/i386/linux.c on all x86.
13525 (xnu.mod): Enable on all x86.
13526 (vga_text.mod): disable on EFI and QEMU.
13527 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13528 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13529 * grub-core/efiemu/loadcore.c: Likewise.
13530 * grub-core/efiemu/main.c: Likewise.
13531 (grub_efiemu_exit_boot_services): Removed.
13532 (grub_efiemu_finish_boot_services): Likewise.
13533 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13534 function.
13535 * grub-core/efiemu/i386/nocfgtables.c: New file.
13536 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13537 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13538 (grub_efi_finish_boot_services): Moved from here ...
13539 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13540 Fille finish memory map and related data.
13541 (finish_mmap_buf): New variable.
13542 (grub_efi_uintn_t finish_mmap_size): Likewise.
13543 (grub_efi_uintn_t finish_key): Likewise.
13544 (grub_efi_uintn_t finish_desc_size): Likewise.
13545 (grub_efi_uint32_t finish_desc_version): Likewise.
13546 (grub_efi_is_finished): Likewise.
13547 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13548 finished.
13549 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13550 (grub_elf64_phdr_iterate): Likewise.
13551 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13552 (grub_os_area_size): Likewise.
13553 (grub_machine_init): Don't reserve os area.
13554 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13555 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13556 * grub-core/kern/i386/loader.S: Removed.
13557 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13558 (grub_os_area_size): Likewise.
13559 (grub_machine_init): Don't reserve os area.
13560 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13561 Don't call grub_dl_unload_all.
13562 Don't include loader.S.
13563 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13564 Declare the memory after _end as available.
13565 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13566 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13567 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13568 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13569 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13570 * include/grub/mm_private.h (grub_mm_header): ... here.
13571 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13572 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13573 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13574 (grub_mm_region): ..here. Removed addr. Added pre_size.
13575 All users updated.
13576 * grub-core/kern/mm.c (base): Renamed to ...
13577 (grub_mm_base): ... this. Made global.
13578 (grub_real_malloc): Alloc from end of region.
13579 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13580 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13581 * grub-core/kern/powerpc/cache_flush.S: ... here.
13582 * grub-core/lib/efi/relocator.c: New file.
13583 * grub-core/lib/i386/relocator.c: Rewritten.
13584 * grub-core/lib/i386/relocator16.S: New file.
13585 * grub-core/lib/i386/relocator32.S: Likewise.
13586 * grub-core/lib/i386/relocator64.S: Likewise.
13587 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13588 * grub-core/lib/i386/relocator_common.S: New file.
13589 * grub-core/lib/ieee1275/relocator.c: Likewise.
13590 * grub-core/lib/mips/relocator.c: Rewritten.
13591 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13592 stylistic adjustments.
13593 * grub-core/lib/powerpc/relocator.c: New file.
13594 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13595 * grub-core/lib/relocator.c: Rewritten.
13596 * grub-core/lib/x86_64/relocator_asm.S: New file.
13597 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13598 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13599 (bsd_tag): New struct.
13600 (tags): New variable.
13601 (tags_last): Likewise.
13602 (netbsd_module): New struct.
13603 (netbsd_mods): New variable.
13604 (netbsd_mods_last): Likewise.
13605 (openbsd_opts): New parameter "serial".
13606 (OPENBSD_SERIAL_ARG): New definition.
13607 (netbsd_opts): New parameter "serial".
13608 (NETBSD_SERIAL_ARG): New definition.
13609 (grub_freebsd_add_meta): Reorganised into ...
13610 (grub_bsd_add_meta): ...this. All users updated.
13611 (grub_freebsd_add_mmap): Reorganised into ...
13612 (generate_e820_mmap): ...this...
13613 (grub_bsd_add_mmap): ...and this. All users updated.
13614 (grub_freebsd_list_modules): Use tags.
13615 (grub_netbsd_add_meta_module): New function.
13616 (grub_netbsd_list_modules): Likewise.
13617 (grub_freebsd_boot): Use relocator and finish EFI.
13618 (grub_openbsd_boot): Likewise.
13619 (grub_netbsd_setup_video): New function.
13620 (grub_netbsd_add_modules): Likewise.
13621 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13622 and finish EFI.
13623 (grub_bsd_unload): Unload tags.
13624 (grub_bsd_load_aout): Use relocator.
13625 (grub_bsd_elf32_size_hook): New function.
13626 (grub_bsd_elf32_hook): Use relocator.
13627 (grub_bsd_elf64_size_hook): New function.
13628 (grub_bsd_elf64_hook): Use relocator.
13629 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13630 (grub_bsd_load): Zero-out openbsd_ramdisk.
13631 (grub_bsd_load): Use relocator.
13632 (grub_cmd_openbsd): Support serial.
13633 (grub_cmd_netbsd): Support modules.
13634 (grub_cmd_freebsd_module): Use relocator.
13635 (grub_netbsd_module_load): New function.
13636 (grub_cmd_netbsd_module): Likewise.
13637 (grub_cmd_openbsd_ramdisk): Likewise.
13638 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
13639 kopenbsd_ramdisk.
13640 (GRUB_MOD_FINI): Unregister new commands.
13641 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
13642 (grub_freebsd_load_elfmodule_obj): Use relocator.
13643 (grub_freebsd_load_elfmodule): Likewise.
13644 (grub_freebsd_load_elf_meta): Likewise.
13645 (grub_netbsd_load_elf_meta): New function.
13646 (grub_openbsd_find_ramdisk): Likewise.
13647 * grub-core/loader/i386/bsd_helper.S: Removed.
13648 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
13649 * grub-core/loader/i386/bsd_trampoline.S: Removed.
13650 * grub-core/loader/i386/efi/linux.c: Likewise.
13651 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
13652 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
13653 (DEFAULT_VIDEO_MODE): Likewise.
13654 (real_mode_target): New variable.
13655 (prot_mode_target): Likewise.
13656 (initrd_mem_target): Likewise.
13657 (relocator): Likewise.
13658 (efi_mmap_buf): Likewise.
13659 (efi_mmap_size): Likewise.
13660 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
13661 (free_pages): Use relocator.
13662 (allocate_pages): Account for efi_mmap and use relocator. Return error.
13663 (grub_linux_setup_video): Return error.
13664 (grub_linux_trampoline_start): Removed.
13665 (grub_linux_trampoline_end): Likewise.
13666 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
13667 andd video parameters depending on firmware.
13668 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
13669 [GRUB_MACHINE_EFI]: Pass EFI parameters.
13670 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
13671 (grub_cmd_initrd): Use relocator.
13672 * grub-core/loader/i386/linux_trampoline.S: Removed.
13673 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
13674 (elf_sec_entsize): Likewise.
13675 (elf_sec_shstrndx): Likewise.
13676 (elf_sections): Likewise.
13677 (grub_multiboot_load): Use relocator.
13678 (grub_multiboot_get_mbi_size): Account for sections.
13679 (grub_multiboot_make_mbi): Use relocator and support sections.
13680 (grub_multiboot_add_elfsyms): New function.
13681 (grub_multiboot_free_mbi): Free sections.
13682 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
13683 (grub_linux_real_target): Likewise.
13684 (grub_linux_real_chunk): Likewise.
13685 (grub_linux16_prot_size): Likewise.
13686 (grub_linux16_boot): Use relocator.
13687 (grub_linux_unload): Unload relocator.
13688 (grub_cmd_linux): Use relocator.
13689 (grub_cmd_initrd): Likewise.
13690 * grub-core/loader/i386/pc/ntldr.c: New file.
13691 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
13692 Don't try to guess CPU frequency.
13693 (grub_xnu_set_video): Stretch bitmap.
13694 (grub_xnu_boot): Use relocator.
13695 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
13696 (grub_linux_unload): Free relocator.
13697 (grub_linux_load32): Use relocator.
13698 (grub_linux_load64): Likewise.
13699 (grub_cmd_initrd): Likewise.
13700 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
13701 (grub_multiboot_unload): Unload relocator.
13702 (grub_cmd_multiboot): Use relocator.
13703 (grub_cmd_module): Likewise.
13704 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
13705 Use relocator and support sections.
13706 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
13707 (elf_sec_entsize): Likewise.
13708 (elf_sec_shstrndx): Likewise.
13709 (elf_sections): Likewise.
13710 (grub_multiboot_load): Use relocator.
13711 (grub_multiboot_get_mbi_size): Account for sections.
13712 (grub_multiboot_make_mbi): Use relocator and support sections.
13713 (grub_multiboot_add_elfsyms): New function.
13714 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
13715 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
13716 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
13717 Prototype changed. All users updated.
13718 (grub_xnu_align_heap): Simplified.
13719 (grub_xnu_writetree_toheap): Likewise.
13720 (grub_xnu_unload): Unload relocator.
13721 (grub_cmd_xnu_kernel): Use relocator.
13722 (grub_cmd_xnu_kernel64): Likewise.
13723 (grub_xnu_register_memory): Simplified.
13724 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
13725 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
13726 EFI is finished.
13727 (grub_console_checkkey): Likewise.
13728 (grub_console_getkey): Likewise.
13729 (grub_console_getwh): Likewise.
13730 (grub_console_getxy): Likewise.
13731 (grub_console_gotoxy): Likewise.
13732 (grub_console_cls): Likewise.
13733 (grub_console_setcolorstate): Likewise.
13734 (grub_console_setcursor): Likewise.
13735 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
13736 * grub-core/tests/boot/kbsd.init-i386.S: New file.
13737 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
13738 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
13739 * grub-core/tests/boot/kernel-8086.S: Likewise.
13740 * grub-core/tests/boot/kernel-i386.S: Likewise.
13741 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
13742 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
13743 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
13744 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
13745 * grub-core/tests/boot/knetbsd.cfg: Likewise.
13746 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
13747 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
13748 * grub-core/tests/boot/linux.cfg: Likewise.
13749 * grub-core/tests/boot/linux.init-i386.S: Likewise.
13750 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
13751 * grub-core/tests/boot/linux16.cfg: Likewise.
13752 * grub-core/tests/boot/multiboot.cfg: Likewise.
13753 * grub-core/tests/boot/multiboot2.cfg: Likewise.
13754 * grub-core/tests/boot/ntldr.cfg: Likewise.
13755 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
13756 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
13757 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
13758 New definition.
13759 * include/grub/dl.h (grub_dl_unload_all): Removed.
13760 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
13761 (grub_efi_finish_boot_services): Change prototype.
13762 (grub_efi_is_finished): New variable.
13763 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
13764 Changed prototype.
13765 (grub_efiemu_finish_boot_services): Removed.
13766 (grub_machine_efiemu_init_tables): New prototype.
13767 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
13768 (grub_elf64_phdr_iterate): Likewise.
13769 * include/grub/i386/bsd.h: Include relocator.h.
13770 (freebsd_tag_header): New struct.
13771 (grub_openbsd_bios_mmap): Removed.
13772 (grub_unix_real_boot): Removed.
13773 (grub_freebsd_load_elfmodule32): Changed prototype.
13774 (grub_freebsd_load_elfmodule_obj64): Likewise.
13775 (grub_freebsd_load_elf_meta32): Likewise.
13776 (grub_freebsd_load_elf_meta64): Likewise.
13777 (grub_freebsd_add_meta): Removed.
13778 (grub_netbsd_load_elf_meta32): New prototype.
13779 (grub_netbsd_load_elf_meta64): Likewise.
13780 (grub_bsd_add_meta): Likewise.
13781 (grub_openbsd_ramdisk_descriptor): New struct.
13782 (grub_openbsd_find_ramdisk32): New prototype.
13783 (grub_openbsd_find_ramdisk64): Likewise.
13784 * include/grub/i386/coreboot/loader.h: Removed.
13785 * include/grub/i386/efi/loader.h: Likewise.
13786 * include/grub/i386/ieee1275/loader.h: Likewise.
13787 * include/grub/i386/linux.h (linux_kernel_header): Change void *
13788 to grub_uint32_t.
13789 * include/grub/i386/loader.h: Removed.
13790 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
13791 value.
13792 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
13793 (grub_phys_addr_t): New type.
13794 (grub_vtop): New inline function.
13795 (grub_map_memory): Likewise.
13796 (grub_unmap_memory): Likewise.
13797 * include/grub/i386/multiboot/loader.h: Removed.
13798 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
13799 (NETBSD_BTINFO_CONSOLE): New definition.
13800 (NETBSD_BTINFO_SYMTAB): Likewise.
13801 (NETBSD_BTINFO_MODULES): Likewise.
13802 (NETBSD_BTINFO_FRAMEBUF): Likewise.
13803 (grub_netbsd_bootinfo): New struct.
13804 (grub_netbsd_btinfo_common): Use explicit bitsize.
13805 (grub_netbsd_btinfo_mmap_entry): Removed.
13806 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
13807 (grub_netbsd_btinfo_bootdisk): New struct.
13808 (grub_netbsd_btinfo_symtab): Likewise.
13809 (grub_netbsd_btinfo_serial): Likewise.
13810 (grub_netbsd_btinfo_modules): Likewise.
13811 (grub_netbsd_btinfo_framebuf): Likewise.
13812 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
13813 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
13814 Likewise.
13815 (grub_openbsd_bootargs): Use explicit bitsize.
13816 (grub_openbsd_bootarg_console): New struct.
13817 (GRUB_OPENBSD_COM_MAJOR): New definition.
13818 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
13819 * include/grub/i386/pc/efiemu.h: Removed.
13820 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
13821 * include/grub/i386/qemu/loader.h: Removed.
13822 * include/grub/i386/relocator.h: Rewritten.
13823 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
13824 * include/grub/mips/memory.h: New file.
13825 * include/grub/mips/multiboot.h: Rewritten.
13826 * include/grub/mips/relocator.h: Rewritten.
13827 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
13828 (grub_vtop): New function.
13829 (grub_map_memory): Likewise.
13830 (grub_unmap_memory): Likewise.
13831 * include/grub/misc.h (ALIGN_DOWN): New definition.
13832 * include/grub/mm.h (grub_mm_check_real): New proto.
13833 (GRUB_MM_CHECK): New definition.
13834 * include/grub/mm_private.h: New file.
13835 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
13836 (grub_multiboot_get_mbi_size): Removed.
13837 (grub_multiboot_make_mbi): Change prottype.
13838 (grub_multiboot_set_accepts_video): New proto.
13839 (grub_multiboot_add_elfsyms): Likewise.
13840 (grub_multiboot_payload_eip): New variable.
13841 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
13842 New prototype.
13843 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
13844 New definition.
13845 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
13846 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
13847 * include/grub/powerpc/ieee1275/loader.h: Removed.
13848 * include/grub/powerpc/memory.h: New file.
13849 * include/grub/powerpc/relocator.h: Likewise.
13850 * include/grub/relocator.h: Likewise.
13851 * include/grub/relocator_private.h: Likewise.
13852 * include/grub/sparc64/ieee1275/loader.h: Removed.
13853 * include/grub/x86_64/memory.h: New file.
13854 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
13855 (grub_xnu_heap_malloc): Likewise.
13856 (grub_xnu_heap_real_start): Removed.
13857 (grub_xnu_heap_start): Likewise.
13858 (grub_xnu_relocator): New variable.
13859 (grub_xnu_heap_target_start): Likewise.
13860 * tests/util/grub-shell.in: Support non-pc.
13861 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 13862
5303b85d
VS
138632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
13866 on malloc error.
13867 (grub_bidi_logical_to_visual): Check that malloc succeded.
13868 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
13869 puts.
13870 (grub_xputs_normal): Likewise.
13871
d768d159
VS
138722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
13875 extra_dist.
13876
138772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * grub-core/efiemu/runtime/efiemu.sh: Removed.
13880
5bf84df4
VS
138812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
13884
3626810e
VS
138852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
13888 dprintf.
13889
a7363f53
BC
138902010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
13891
13892 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
13893
902f75f6
VS
138942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * grub-core/normal/term.c (print_more): Fix a memory leak.
13897 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
13898 (grub_xputs_normal): Likewise.
13899
3c707967
VS
139002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
13903 the begining of the string
13904
2053cc07
VS
139052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * grub-core/script/script.c (grub_script_parse): Free parsed on
13908 failure.
13909
46422ebf
VS
139102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
13913 on failure.
13914
9e0fa3f6
VS
139152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
13918 return.
13919
3393cf16
VS
139202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
13923 (scroll_up): Fix a memory leak.
13924
b17540cb
VS
139252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
13928 errors.
13929
67140446
VS
139302010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
13931
13932 Handle USB pendrives exposed as floppies.
13933
13934 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
13935 floppy.
13936 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13937 Check for partitions on all devices.
13938
e35e46fc
VS
139392010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
13942 (readkey): Likewise.
13943
d24c6190
BC
139442010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13945
13946 Multiple variable names support to "export" command.
13947
13948 * normal/context.c (grub_cmd_export): "export" command supports
13949 multiple variable names.
13950
04ddcc6a
ST
139512010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
13952
13953 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
13954 --target=drive output to Mach device name.
13955
0c8b61d8
BC
139562010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13957
13958 New Automake based build system for GRUB.
13959
13960 * ABOUT-NLS: New file.
13961 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
13962 in Makefile.util.def file.
13963 * Makefile.util.def: New file. Autogen build definitions file for
13964 GRUB host utils.
13965 * conf/Makefile.common: New file. Common variables for GRUB host
13966 utils and target modules.
13967 * conf/Makefile.extra-dist: New file. Extra files for make dist.
13968 * docs/Makefile.am: New file. Automake file for docs.
13969 * gentpl.py: New file. Python script to generate Autogen
13970 template.
13971 * grub-core/Makefile.am: New file. GRUB target modules' rules
13972 that doesn't fit in Makefile.core.def file.
13973 * grub-core/Makefile.core.def: New file. Autogen build
13974 definitions file for GRUB target modules.
13975 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
13976 specific setjmp.S file.
13977 * po/Makefile.am: New file.
13978
13979 * .bzrignore: New ignores.
13980 * INSTALL: New requirements, without Ruby.
13981 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
13982 * autogen.sh: Updated to invoke autogen as necessary.
13983 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
13984 and defines for Automake conditionals.
13985 * geninit.sh: Refactoring.
13986
13987 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
13988 necessary.
13989 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
13990 New prototype.
13991
13992 * include/grub/test.h: Fix functional test modules' naming.
13993 * grub-core/tests/example_functional_test.c: Fix test module name.
13994
13995 * util/misc.c: Hosted versions' of grub functions for libgrub.a
13996 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
13997 * util/grub-editenv.c: Likewise.
13998 * util/grub-fstest.c: Likewise.
13999 * util/grub-mkdevicemap.c: Likewise.
14000 * util/grub-mkfont.c: Likewise.
14001 * util/grub-mkimage.c: Likewise.
14002 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14003 * util/grub-probe.c: Likewise.
14004 * util/grub-script-check.c: Likewise.
14005 * util/i386/pc/grub-setup.c: Likewise.
14006 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14007
14008 * tests/util/grub-shell.in: Fix override directory path.
14009 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14010 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14011
14012 * util/lvm.c: Update #includes.
14013 * util/raid.c: Likewise.
14014 * util/resolve.c: Likewise.
14015 * grub-core/bus/emu/pci.c: Likewise.
14016 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14017 * grub-core/lib/posix_wrap/string.h: Likewise.
14018 * grub-core/kern/emu/main.c: Likewise.
14019
14020 * grub-core/gensymlist.sh: New file. Script for generating kernel
14021 symbols file.
14022 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14023
14024 * grub-core/gentrigtables.c: Fix unused variable warnings.
14025
14026 * Makefile.in: Removed.
14027 * conf/any-emu.rmk: Removed.
14028 * conf/common.rmk: Removed.
14029 * conf/i386-coreboot.rmk: Removed.
14030 * conf/i386-efi.rmk: Removed.
14031 * conf/i386-ieee1275.rmk: Removed.
14032 * conf/i386-multiboot.rmk: Removed.
14033 * conf/i386-pc.rmk: Removed.
14034 * conf/i386-qemu.rmk: Removed.
14035 * conf/i386.rmk: Removed.
14036 * conf/mips-yeeloong.rmk: Removed.
14037 * conf/mips.rmk: Removed.
14038 * conf/powerpc-ieee1275.rmk: Removed.
14039 * conf/sparc64-ieee1275.rmk: Removed.
14040 * conf/tests.rmk: Removed.
14041 * conf/x86-efi.rmk: Removed.
14042 * conf/x86_64-efi.rmk: Removed.
14043 * gendistlist.sh: Removed.
14044 * geninitheader.sh: Removed.
14045 * genkernsyms.sh.in: Removed.
14046 * genmk.rb: Removed.
14047 * gensymlist.sh.in: Removed.
14048 * mkinstalldirs: Removed.
14049 * boot: Moved ...
14050 * grub-core/boot: ... to here.
14051 * bus: Moved ...
14052 * grub-core/bus: ... to here.
14053 * commands: Moved ...
14054 * grub-core/commands: ... to here.
14055 * disk: Moved ...
14056 * grub-core/disk: ... to here.
14057 * efiemu: Moved ...
14058 * grub-core/efiemu: ... to here.
14059 * font: Moved ...
14060 * grub-core/font: ... to here.
14061 * fs: Moved ...
14062 * grub-core/fs: ... to here.
14063 * gencmdlist.sh: Moved ...
14064 * grub-core/gencmdlist.sh: ... to here.
14065 * genemuinit.sh: Moved ...
14066 * grub-core/genemuinit.sh: ... to here.
14067 * genemuinitheader.sh: Moved ...
14068 * grub-core/genemuinitheader.sh: ... to here.
14069 * genfslist.sh: Moved ...
14070 * grub-core/genfslist.sh: ... to here.
14071 * genhandlerlist.sh: Moved ...
14072 * grub-core/genhandlerlist.sh: ... to here.
14073 * genmoddep.awk: Moved ...
14074 * grub-core/genmoddep.awk: ... to here.
14075 * genmodsrc.sh: Moved ...
14076 * grub-core/genmodsrc.sh: ... to here.
14077 * genpartmaplist.sh: Moved ...
14078 * grub-core/genpartmaplist.sh: ... to here.
14079 * genparttoollist.sh: Moved ...
14080 * grub-core/genparttoollist.sh: ... to here.
14081 * genterminallist.sh: Moved ...
14082 * grub-core/genterminallist.sh: ... to here.
14083 * gentrigtables.c: Moved ...
14084 * grub-core/gentrigtables.c: ... to here.
14085 * genvideolist.sh: Moved ...
14086 * grub-core/genvideolist.sh: ... to here.
14087 * gettext: Moved ...
14088 * grub-core/gettext: ... to here.
14089 * gfxmenu: Moved ...
14090 * grub-core/gfxmenu: ... to here.
14091 * gnulib: Moved ...
14092 * grub-core/gnulib: ... to here.
14093 * hello: Moved ...
14094 * grub-core/hello: ... to here.
14095 * hook: Moved ...
14096 * grub-core/hook: ... to here.
14097 * io: Moved ...
14098 * grub-core/io: ... to here.
14099 * kern: Moved ...
14100 * grub-core/kern: ... to here.
14101 * lib: Moved ...
14102 * grub-core/lib: ... to here.
14103 * loader: Moved ...
14104 * grub-core/loader: ... to here.
14105 * mmap: Moved ...
14106 * grub-core/mmap: ... to here.
14107 * normal: Moved ...
14108 * grub-core/normal: ... to here.
14109 * partmap: Moved ...
14110 * grub-core/partmap: ... to here.
14111 * parttool: Moved ...
14112 * grub-core/parttool: ... to here.
14113 * script: Moved ...
14114 * grub-core/script: ... to here.
14115 * term: Moved ...
14116 * grub-core/term: ... to here
14117 * tests/example_functional_test.c: Moved ...
14118 * grub-core/tests/example_functional_test.c: ... to here.
14119 * tests/lib/functional_test.c: Moved ...
14120 * grub-core/tests/lib/functional_test.c: ... to here.
14121 * tests/lib/test.c: Moved ...
14122 * grub-core/tests/lib/test.c: ... to here.
14123 * video: Moved ...
14124 * grub-core/video: ... to here.
14125
645586e6
BC
141262010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14127
14128 Replace --enable-grub-emu-modules with grub-emu-lite.
14129
14130 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14131 cache.S.
14132
14133 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14134 * kern/emu/full.c: New file. For grub-emu specific initialization.
14135 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14136 * kern/emu/main.c: Call initialization function grub_emu_init.
14137
14138 * Makefile.in: Include grub-emu-lite in install.
14139 * commands/parttool.c: Use grub_no_autoload to differentiate
14140 between grub-emu and grub-emu-lite.
14141 * include/grub/misc.h: New variable grub_no_autoload.
14142
14143 * conf/any-emu.rmk: New rules for grub-emu-lite.
14144 * configure.ac: Remove --enable-grub-emu-modules.
14145 * genmk.rb: Cleanup unnecessary rules.
14146 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14147
14148 * normal/main.c: Don't load list files on grub-emu-lite.
14149 * util/misc.c (grub_arch_sync_caches): Removed.
14150
f86a4030
CW
141512010-08-23 Colin Watson <cjwatson@ubuntu.com>
14152
14153 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14154 grub-mkimage rather than grub-mkelfimage.
14155 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14156
06776944
VS
141572010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14160 a key after CapsLock or NumLock. It's just a qemu bug.
14161
df262419
VS
141622010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14165 needed by libusb wrapper.
14166
b40ea81b
ST
141672010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14168
14169 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14170
dee50575
VS
141712010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14174 --nounzip is passed.
14175
fb1d7b79
VS
141762010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 USB hotunplugging and USB serial support.
14179
14180 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14181 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14182 (grub_uhci_transfer): Respect timeout and set *actual.
14183 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14184 non-standard length.
14185 (grub_usb_device_attach): Autoload modules.
14186 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14187 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14188 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14189 users updated.
14190 (grub_usb_add_hub): Fill nports and children.
14191 (attach_root_port): Receive hub instead of controller.
14192 All users updated. Fill hub->devices.
14193 (grub_usb_root_hub): Allocate hub->devices.
14194 (detach_device): New function.
14195 (poll_nonroot_hub): Fill children and detach devices.
14196 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14197 actual arguments. All users updated.
14198 (grub_usb_bulk_read_extended): New function.
14199 * bus/usb/serial/common.c: New file.
14200 * bus/usb/serial/ftdi.c: Likewise.
14201 * bus/usb/serial/pl2303.c: Likewise.
14202 * commands/terminal.c (handle_command): Support wildcard.
14203 * commands/usbtest.c: Output "Unknown" instead of empty string.
14204 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14205 (usbserial_common_mod_SOURCES): New variable.
14206 (usbserial_common_mod_CFLAGS): Likewise.
14207 (usbserial_common_mod_LDFLAGS): Likewise.
14208 (pkglib_MODULES): Add usbserial_pl2303.mod.
14209 (usbserial_pl2303_mod_SOURCES): New variable.
14210 (usbserial_pl2303_mod_CFLAGS): Likewise.
14211 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14212 (pkglib_MODULES): Add usbserial_ftdi.mod.
14213 (usbserial_ftdi_mod_SOURCES): New variable.
14214 (usbserial_ftdi_mod_CFLAGS): Likewise.
14215 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14216 (pkglib_MODULES): Add serial.mod.
14217 (serial_mod_SOURCES): New variable.
14218 (serial_mod_CFLAGS): Likewise.
14219 (serial_mod_LDFLAGS): Likewise.
14220 * conf/i386-pc.rmk: Likewise.
14221 * conf/mips-yeeloong.rmk: Likewise.
14222 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14223 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14224 * disk/usbms.c (first_available_slot): New variable.
14225 (grub_usbms_attach): Don't reuse free slots due to potential cache
14226 problems.
14227 * include/grub/serial.h: Moved to ..
14228 * include/grub/ns8250.h: ...this.
14229 * include/grub/serial.h: New file.
14230 * include/grub/term.h (grub_term_poll_usb): New variable.
14231 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14232 readkey. All users updated.
14233 (grub_terminfo_output_state): Pass term to put.
14234 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14235 (grub_usb_controller_dev): Add timeout and actual arguments to
14236 transfer. All users updated.
14237 (grub_usb_interface): New field detach_data.
14238 (grub_usb_device): New fields children and nports.
14239 (grub_usb_ep_type_t): New type.
14240 (grub_usb_get_ep_type): New function.
14241 (grub_usb_bulk_read_extended): Likewise.
14242 * include/grub/usbdesc.h (grub_usb_desc): New type.
14243 * include/grub/usbserial.h: New file.
14244 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14245 * kern/term.c (grub_term_poll_usb): New variable.
14246 (grub_getkey): Call grub_term_poll_usb if set.
14247 (grub_checkkey): Likewise.
14248 (grub_getkeystatus): Likewise.
14249 * term/serial.c: Moved controller-specific parts to ...
14250 * term/ns8250.c: ... here.
14251 * term/serial.c: Mostly rewritten.
14252 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14253 according to spec.
14254
21a313de
RM
142552010-08-20 Robert Millan <rmh@gnu.org>
14256
14257 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14258 a separate module and maybe other interesting combinations.
14259
14260 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14261 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14262 (kfreebsd_entry): Add generic filesystem module load routine.
14263 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14264
63c734a6
CW
142652010-08-20 Colin Watson <cjwatson@ubuntu.com>
14266
14267 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14268 "numcenter" (I misunderstood the purpose of this entry).
14269 * docs/grub.texi (sendkey): Likewise.
14270
c4d16542
CW
142712010-08-20 Colin Watson <cjwatson@ubuntu.com>
14272
14273 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14274 status flag options; simply omitting the option is equivalent and
14275 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14276 (keysym_table): Rename "num5numlock" to "numlock".
14277 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14278 can uniformly say that only the last of multiple `sendkey'
14279 invocations has any effect.
14280 * docs/grub.texi (sendkey): New section.
14281
93541d66
CW
142822010-08-19 Colin Watson <cjwatson@ubuntu.com>
14283
14284 * commands/i386/pc/sendkey.c (options): Fix three typos.
14285
b4ece5e1
VS
142862010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 Implement sendkey support.
14289
14290 * commands/i386/pc/sendkey.c: New file.
14291 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14292 (sendkey_mod_SOURCES): New variable.
14293 (sendkey_mod_CFLAGS): Likewise.
14294 (sendkey_mod_LDFLAGS): Likewise.
14295
51f1f5af
CW
142962010-08-18 Colin Watson <cjwatson@ubuntu.com>
14297
14298 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14299 fix warnings from Autoconf.
14300
9da94e05
CW
143012010-08-18 Colin Watson <cjwatson@ubuntu.com>
14302
14303 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14304 to avoid false positives with some assemblers that output things
14305 like "someprefix_func" as part of their output.
14306
729a0f2e
RM
143072010-08-15 Robert Millan <rmh@gnu.org>
14308
14309 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14310 errors.
14311 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14312 grub_get_libzfs_handle() errors.
14313
f3710e08
RM
143142010-08-14 Robert Millan <rmh@gnu.org>
14315
14316 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14317 filesystem is not ZFS.
14318
7a3c13de
BC
143192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14320
14321 Fix for misspelled color names defaulting to black/black (bug
14322 reported by Doug Nazar)
14323
14324 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14325 status to prototype.
14326 * normal/color.c (grub_parse_color_name_pair): Return failure
14327 status.
14328 (grub_env_write_color_normal): Ignore bad color names.
14329 (grub_env_write_color_highlight): Likewise.
14330 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14331
ab8ba50d
BC
143322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14333
14334 "shift" command support to GRUB script.
14335
14336 * include/grub/script_sh.h (grub_script_shift): New prototype.
14337 * script/execute.c (grub_script_shift): New function.
14338 * script/main.c (grub_script_init): Register shift command.
14339 (grub_script_fini): Unregister shift command.
14340 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14341
14342 * tests/grub_script_shift.in: New testcase.
14343 * conf/tests.rmk: Rules for new testcase.
14344
4d61999e
BC
143452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14346
14347 "continue" command support to GRUB script.
14348
14349 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14350 (grub_script_break): Continue support.
14351 * script/main.c (grub_script_init): Register continue command.
14352 (grub_script_fini): Unregister continue command.
14353
14354 * tests/grub_script_continue.in: New testcase.
14355 * conf/tests.rmk: Rules for new testcase.
14356
4df51e00
BC
143572010-08-12 BVK Chaitanya <bvk@dbook>
14358
14359 "break" command support to GRUB script.
14360
14361 * conf/common.rmk: Rule updates to grub-script-check.
14362 * include/grub/misc.h (grub_min): New function.
14363 * include/grub/script_sh.h (grub_script_init): New prototype.
14364 (grub_script_fini): New prototype.
14365 (grub_script_break): New prototype.
14366 * script/main.c (grub_script_init): New function.
14367 (grub_script_fini): New function.
14368 * script/execute.c (grub_script_break): New function.
14369 * normal/main.c: Calls to grub_script_{init,fini}.
14370 * util/grub-script-check.c (grub_script_break): New function.
14371
14372 * tests/grub_script_break.in: New testcase.
14373 * conf/tests.rmk: Rules for new test case.
14374
f12c8420
BC
143752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14376
14377 Function parameters support to GRUB script.
14378
14379 * script/yylex.l (VARIABLE): Regular expression update.
14380 * script/function.c (grub_script_function_call): Moved ...
14381 * script/execute.c (grub_script_function_call): ... to here.
14382 (grub_script_execute_arglist_to_argv): Removed.
14383 (grub_script_arglist_to_argv): New function.
14384 * script/argv.c: New file.
14385 (grub_script_argv_free): New function.
14386 (grub_script_argv_next): Likewise.
14387 (grub_script_argv_append): Likewise.
14388 (grub_script_argv_split_append): Likewise.
14389 * include/grub/script_sh.h (grub_script_argv): New struct.
14390 (grub_script_argv_free): New function.
14391 (grub_script_argv_next): Likewise.
14392 (grub_script_argv_append): Likewise.
14393 (grub_script_argv_split_append): Likewise.
14394
14395 * conf/common.rmk (normal.mod): New source script/argv.c.
14396
14397 * tests/grub_script_echo1.in: More tests.
14398 * tests/grub_script_vars1.in: Likewise.
14399 * tests/grub_script_functions.in: New test case.
14400 * conf/tests.rmk: Rules for new testcase.
14401
8022b748
BC
144022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14403
14404 Remove grub_script_cmdblock struct.
14405
14406 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14407 * script/parser.y: Likewise.
14408 * script/execute.c: Rename cmdblock suffix to cmdlist.
14409 * script/script.c: Likewise.
14410 * util/grub-script-check.c: Likewise.
14411
79a6ba61
YB
144122010-08-11 Yves Blusseau <blusseau@zetam.org>
14413
14414 * .bzrignore: add grub-macho2img
14415
d04b9414
VS
144162010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14419
f947ab49
VS
144202010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 Remove the dump of sm712 initialisation sequence.
14423
14424 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14425 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14426 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14427 (GRUB_VGA_CR_*): Added many registers.
14428 (GRUB_VGA_SR_*): Likewise.
14429 (GRUB_VGA_GR_*): Likewise.
14430 (grub_vga_write_arx): New function.
14431 (grub_video_hw_config): New struct.
14432 (grub_vga_set_geometry): New function.
14433 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14434 GRUB_PCI_CLASS_SUBCLASS_VGA.
14435 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14436 * video/sm712.c (grub_sm712_write_reg): New function
14437 (grub_sm712_read_reg): Likewise.
14438 (grub_sm712_sr_write): Likewise.
14439 (grub_sm712_gr_write): Likewise.
14440 (grub_sm712_cr_write): Likewise.
14441 (grub_sm712_write_arx): Likewise.
14442 (grub_sm712_cr_shadow_write): Likewise.
14443 (grub_sm712_write_dda_lookup): Likewise.
14444 (grub_video_sm712_setup): Initialise the video rather then
14445 blindly replay the dump.
14446 (main) [TEST]: Add a routine to be able to compile as standalone for
14447 tests.
14448 * video/sm712_init.c (sm712_init): Removed.
14449 (sm712_sr_seq1): New array.
14450 (sm712_sr_seq2): Likewise.
14451
f0206638
VS
144522010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * include/grub/vga.h: Add missing grub/pci.h include.
14455
2764da3b
YB
144562010-08-10 Yves Blusseau <blusseau@zetam.org>
14457
14458 * util/grub-macho2img.c (main): fix typo
14459
cf0c775e
VS
144602010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14463 (grub_vga_gr_read): Likewise.
14464 (grub_vga_cr_write): Likewise.
14465 (grub_vga_cr_read): Likewise.
14466 (grub_vga_sr_write): Likewise.
14467 (grub_vga_sr_read): Likewise.
14468 (grub_vga_palette_read): Likewise.
14469 (grub_vga_palette_write): Likewise.
14470 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14471 (grub_sm712_sr_read): New function.
14472 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14473 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14474
07f360e9
RM
144752010-08-09 Robert Millan <rmh@gnu.org>
14476
14477 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14478 out unused variables on non-ZFS build.
14479
346c2072
RM
144802010-08-08 Robert Millan <rmh@gnu.org>
14481
14482 Fix path generation for sub-filesystems in ZFS.
14483
14484 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14485 missing slash.
14486
71175420
RM
144872010-08-08 Robert Millan <rmh@gnu.org>
14488
14489 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14490
0d8286f3
RM
144912010-08-08 Robert Millan <rmh@gnu.org>
14492
14493 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14494 exist, issue a proper error message (rely on `ls' for translated
14495 strings).
14496
55dd2924
RM
144972010-08-08 Robert Millan <rmh@gnu.org>
14498
14499 Fix grub-probe invocation.
14500
14501 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14502
d3dd9e80
RM
145032010-08-04 Robert Millan <rmh@gnu.org>
14504
14505 * configure.ac: Remove checks for getfsstat() and getmntany().
14506 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14507 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14508 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14509 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14510 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14511 function.
14512 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14513 via find_mount_point_from_dir() and getfsstat() / getmntany().
14514
0de22aa9
RM
145152010-08-04 Robert Millan <rmh@gnu.org>
14516
14517 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14518 (grub_find_zpool_from_mount_point): Merge into ...
14519 (grub_find_zpool_from_dir): ... this.
14520 * kern/emu/misc.c: Likewise.
14521
14522 * kern/emu/misc.c
14523 (grub_make_system_path_relative_to_its_root): Replace
14524 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14525 with grub_find_zpool_from_dir().
14526 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14527
62858144
RM
145282010-08-04 Robert Millan <rmh@gnu.org>
14529
14530 Support OpenSolaris in ZFS device resolution.
14531
14532 * configure.ac: Check for getmntany().
14533 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14534 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14535 support.
14536
9dd6fd50
RM
145372010-08-03 Robert Millan <rmh@gnu.org>
14538
14539 Fix grub-emu build.
14540
14541 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14542 * include/grub/emu/misc.h: ... here.
14543
14544 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14545 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14546
14547 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14548 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14549 (grub_get_libzfs_handle): Move to ...
14550 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14551 (grub_get_libzfs_handle): ... here.
14552
c9f7ff97
BC
145532010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14554
14555 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14556 as command name case.
14557
a870a783
CW
145582010-08-02 Colin Watson <cjwatson@ubuntu.com>
14559
14560 * disk/raid.c (insert_array): Select unique numbers for named arrays
14561 as well, for use as keys in the disk cache.
14562
c7db243b
RM
145632010-08-01 Robert Millan <rmh@gnu.org>
14564
14565 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14566 kFreeBSD device name, except on ZFS where the filesystem label is
14567 used.
14568 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14569 `/boot/zfs/zpool.cache'.
14570 Set mountfrom kernel variable using ${kfreebsd_device}.
14571
f7abdefb
RM
145722010-08-01 Robert Millan <rmh@gnu.org>
14573
14574 Make it even harder to use uninitialized `libzfs_handle' (and
14575 make the interface a bit simpler).
14576
14577 * include/grub/util/misc.h (grub_util_init_libzfs)
14578 (libzfs_handle): Remove.
14579 (grub_get_libzfs_handle): New prototype.
14580
14581 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14582 attribute.
14583 (grub_util_init_libzfs): Remove.
14584 (grub_get_libzfs_handle): New function.
14585
14586 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14587 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14588 accessing `libzfs_handle' directly.
14589
c882acc0
RM
145902010-08-01 Robert Millan <rmh@gnu.org>
14591
14592 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14593 (grub_find_zpool_from_mount_point): New function prototypes.
14594
14595 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14596 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14597
14598 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14599 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14600 `static' attribute.
14601
14602 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14603 finding zpool from mount point into ...
14604 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14605
14606 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14607 requested path is part of a ZFS pool, use
14608 grub_find_zpool_from_mount_point() to detect its filesystem name,
14609 and generate a path with `/fsname@path' syntax.
14610
8bfe31d8
CW
146112010-08-01 Colin Watson <cjwatson@ubuntu.com>
14612
14613 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14614 (void) rather than () so that this is a proper prototype.
14615
553df63d
VS
146162010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14619
8687cf07
VS
146202010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14623 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14624
ea9be8ea
CW
146252010-08-01 Colin Watson <cjwatson@ubuntu.com>
14626
14627 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14628
6eea041a
CW
146292010-08-01 Colin Watson <cjwatson@ubuntu.com>
14630
14631 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
14632
2cfb45df
CW
146332010-08-01 Colin Watson <cjwatson@ubuntu.com>
14634
14635 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
14636 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
14637 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
14638 disable gfxpayload.
14639 (Shell-like scripting): Add real content.
14640 (Serial terminal): Suggest `terminal_input serial; terminal_output
14641 serial' rather than putting the two commands on separate lines,
14642 since console input will be inoperative after the first command.
14643 (menuentry): Document --class, --users, and --hotkey options.
14644 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
14645 Vladimir Serbinenko).
14646
7decd202
VS
146472010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
146482010-08-01 Colin Watson <cjwatson@ubuntu.com>
14649
14650 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
14651
c882acc0
RM
146522010-08-01 Robert Millan <rmh@gnu.org>
14653
14654 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14655 (grub_find_zpool_from_mount_point): New function prototypes.
14656
14657 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14658 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14659
14660 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14661 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14662 `static' attribute.
14663
14664 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14665 finding zpool from mount point into ...
14666 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14667
14668 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14669 requested path is part of a ZFS pool, use
14670 grub_find_zpool_from_mount_point() to detect its filesystem name,
14671 and generate a path with `/fsname@path' syntax.
14672
deb0caa3
RM
146732010-08-01 Robert Millan <rmh@gnu.org>
14674
14675 Prevent accidental use of uninitialized libzfs_handle.
14676
14677 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
14678 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
14679 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
14680
ce04ef47
CW
146812010-08-01 Colin Watson <cjwatson@ubuntu.com>
14682
14683 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
14684 util/grub.d/10_linux.in). Fixes Debian bug #591093.
14685
ebf53056
RM
146862010-08-01 Robert Millan <rmh@gnu.org>
14687
14688 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 14689
3710bb6b
RM
146902010-07-31 Robert Millan <rmh@gnu.org>
14691
14692 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
14693
8072efeb
RM
146942010-07-31 Robert Millan <rmh@gnu.org>
14695
14696 * kern/emu/misc.c: Add missing license header.
14697
3169f4c7
RM
146982010-07-31 Robert Millan <rmh@gnu.org>
14699
14700 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
14701
14702 * include/grub/util/libnvpair.h: Include `<config.h>'.
14703 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
14704 declaring libnvpair prototypes ourselves.
14705 * include/grub/util/libzfs.h: Include `<config.h>'.
14706 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
14707 declaring libzfs prototypes ourselves.
14708
14709 (libzfs_handle): Moved to ...
14710 * include/grub/util/misc.h (libzfs_handle): ... here.
14711 Include `<grub/util/libzfs.h>'.
14712
c9a00aee
RM
147132010-07-30 Robert Millan <rmh@gnu.org>
14714
14715 * include/grub/emu/misc.h: Add missing license header.
14716
a184f9c8
RM
147172010-07-30 Robert Millan <rmh@gnu.org>
14718
14719 Enable `grub-probe -t device' resolution on ZFS.
14720
14721 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
14722 * include/grub/util/libnvpair.h: New file.
14723 * include/grub/util/libzfs.h: New file.
14724
14725 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
14726 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
14727 `<grub/util/libnvpair.h>'.
14728 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
14729
14730 (find_mount_point_from_dir): New static function.
14731 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
14732 function.
14733 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
14734 find_root_device_from_libzfs() before ressorting to find_root_device().
14735
14736 * include/grub/util/misc.h (grub_util_init_libzfs): New function
14737 prototype.
14738 * util/misc.c: Include `<grub/util/libzfs.h>'.
14739 (grub_util_init_libzfs): New function.
14740 [HAVE_LIBZFS] (libzfs_handle): New global variable.
14741 [HAVE_LIBZFS] (fini_libzfs): New static function.
14742 (grub_util_init_libzfs): New function.
14743 * util/grub-probe.c (main): Call grub_util_init_libzfs().
14744
f7790cdd
RM
147452010-07-30 Robert Millan <rmh@gnu.org>
14746
14747 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
14748 (xmalloc, xrealloc, xstrdup, xasprintf): Add
14749 `warn_unused_result' attribute.
14750 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
14751 (grub_xasprintf, grub_xvasprintf): Likewise.
14752 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
14753
0806b63c
RM
147542010-07-29 Robert Millan <rmh@gnu.org>
14755
14756 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
14757 (probe): Handle `PRINT_FS_LABEL'.
14758 (main): Handle `-t fs_label'.
14759
9f841f5c
RM
147602010-07-29 Robert Millan <rmh@gnu.org>
14761
14762 * configure.ac: Remove grub-mkisofs checks.
14763
46371121
VS
147642010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * util/ieee1275/grub-install.in: Don't use empty grub_device.
14767 Reported by: Lennart Sorensen.
14768
147692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
14772 prior to terminal_input/terminal_output separation. It's been over 1.5
14773 years and those versions weren't widely deployed.
14774
a9600892
CW
147752010-07-22 Colin Watson <cjwatson@ubuntu.com>
14776
14777 * disk/raid.c (insert_array): Don't count named arrays when looking
14778 for unused array numbers.
697e053c 14779 Reported and tested by: Michael Guntsche.
a9600892 14780
c03507df
CW
147812010-07-20 Colin Watson <cjwatson@ubuntu.com>
14782
14783 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
14784 implementation of this so that grub-emu links again, with a note
14785 that this should support hotplugging in the future.
14786
b26f1c11
CW
147872010-07-20 Colin Watson <cjwatson@ubuntu.com>
14788
14789 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
14790
efc9d7f1
CW
147912010-07-20 Colin Watson <cjwatson@ubuntu.com>
14792
14793 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
14794 handle on failure.
14795 (grub_loopback_close): Remove empty function.
14796 (grub_loopback_dev): Remove close method.
14797
dd8ff5c9
CW
147982010-07-20 Colin Watson <cjwatson@ubuntu.com>
14799
14800 Disable EFI cursor when the EFI console becomes inactive.
14801
14802 * term/efi/console.c (grub_efi_console_init): New function.
14803 (grub_efi_console_fini): New function.
14804 (grub_console_term_output): Register init and fini methods.
14805
5e3bec67
VS
148062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * tests/util/grub-shell-tester.in: Remove bashism and declare as
14809 sh script.
14810
afaec079
VS
148112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 * disk/loopback.c (grub_loopback): Replace filename with file.
14814 (delete_loopback): Handle new semantics.
14815 (grub_cmd_loopback): Likewise.
14816 (grub_loopback_iterate): Likewise.
14817 (grub_loopback_close): Likewise.
14818
a6a11f3c
VS
148192010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
14822 with -p "".
14823 Reported by: Tito Keitel.
14824
64a638b0
VS
148252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * docs/grub.texi (Naming convention): Document new naming convention.
14828
ab8ba957
VS
148292010-07-20 Vadim Solomin <vadic052@gmail.com>
148302010-07-20 Colin Watson <cjwatson@ubuntu.com>
14831
14832 Generate device.map in something closer to the old ordering.
14833
14834 * util/deviceiter.c (struct device): New declaration.
14835 (compare_file_names): Rename to ...
14836 (compare_devices): ... this. Sort by kernel name in preference to
14837 the stable by-id name, but keep the latter as a fallback comparison.
14838 Update header comment.
14839 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
14840 of `struct device' rather than of plain file names.
14841
a29d6a4b
TF
148422010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
14843
14844 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
14845 on i386.
14846
39d824e8
VS
148472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * commands/acpi.c (setup_common_tables): Use sizeof instead of
14850 hardcoding size.
14851 (setv1table): Likewise.
14852
f058276b
FZ
148532010-07-20 Colin Watson <cjwatson@ubuntu.com>
14854
14855 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
14856 removing the homehost if present.
14857 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
14858 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
14859 removing the homehost if present.
14860 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
14861 if possible.
14862 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
14863
14864 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
14865 parameter. Set its pointer target to 0.
14866 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
14867 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
14868 `data_offset' value from the superblock for 1.x metadata.
14869 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
14870 data on the device.
14871 (insert_array): Record the start sector of data on the device.
14872 (grub_raid_register): Pass start_sector parameters to
14873 grub_raid_list->detect and insert_array.
14874 * include/grub/raid.h (struct grub_raid_array): Add start_sector
14875 member.
14876 (struct grub_raid): Add start_sector parameter to `detect'.
14877
14878 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
14879 __attribute__ ((packed)), leaving a comment.
14880 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
14881 (grub_mdraid_detect_09): ... here and ...
14882 (grub_mdraid_detect_1x): ... here.
14883
148842010-07-20 Peter Henn <peter.henn@web.de>
14885
14886 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
14887 chunk size and disk size, which are already given as sector counts
14888 as distinct from the 0.90 units. Fetch the correct device number
14889 from the role table instead of using the table index.
14890
148912010-07-20 Felix Zielcke <fzielcke@z-51.de>
14892
14893 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
14894 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
14895 (WriteMostly1): New macro.
14896 Set array->name to NULL for metadata format 0.90. Add support for
14897 metadata 1.x. Fix some comments.
14898 * disk/raid.c (): Add support for name based RAID arrays. Fix a
14899 few comments.
14900 * util/getroot.c (grub_util_get_grub_dev): Add support for
14901 /dev/md/name style devices.
14902
4b761da9
CW
149032010-07-20 Colin Watson <cjwatson@ubuntu.com>
14904
14905 * .bzrignore: Ignore 20_linux_xen.
14906
5771289a
CW
149072010-07-17 Colin Watson <cjwatson@ubuntu.com>
14908
14909 * util/import_unicode.py: Remove unnecessary imports.
14910
5dab68df
AN
149112010-07-17 Aleš Nesrsta <starous@volny.cz>
14912
14913 Hotplugging and USB hub support.
14914
14915 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
14916 (grub_ohci): Likewise.
14917 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
14918 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
14919 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
14920 (GRUB_OHCI_CTRL_EDS): Likewise.
14921 (GRUB_OHCI_BULK_EDS): Likewise.
14922 (GRUB_OHCI_TDS): Likewise.
14923 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
14924 (grub_ohci_ed_phys2virt): New function.
14925 (grub_ohci_virt_to_phys): Likewise.
14926 (grub_ohci_td_phys2virt): Likewise.
14927 (grub_ohci_td_virt2phys): Likewise.
14928 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
14929 attachment.
14930 (grub_ohci_find_ed): New function.
14931 (grub_ohci_alloc_td): Likewise.
14932 (grub_ohci_free_td): Likewise.
14933 (grub_ohci_free_tds): Likewise.
14934 (grub_ohci_transfer): Use previously allocated memory.
14935 (grub_ohci_portstatus): Reset status changed bit.
14936 (grub_ohci_detect_dev): Supply status changed.
14937 (grub_ohci_fini_hw): Free memory.
14938 (grub_ohci_restore_hw): Reallocate memory.
14939 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
14940 Reset status change.
14941 (grub_uhci_detect_dev): Supply status_change.
14942 * bus/usb/usb.c (attach_hooks): New var.
14943 (grub_usb_device_attach): New function.
14944 (grub_usb_register_attach_hook_class): Likewise.
14945 (grub_usb_unregister_attach_hook_class): Likewise.
14946 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
14947 (grub_usb_add_hub): Reset connection changed bit.
14948 (attach_root_port): New function.
14949 (grub_usb_root_hub): Likewise.
14950 (poll_nonroot_hub): Likewise.
14951 (grub_usb_poll_devices): Likewise.
14952 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
14953 * disk/usbms.c (grub_usbms_open): Use device hooks.
14954 (grub_usbms_iterate) :Poll devices.
14955 (grub_usbms_finddevs): Split into ...
14956 (grub_usbms_attach): ... this ...
14957 (grub_usbms_attach): ... and this.
14958 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
14959 in detect_dev.
14960 (grub_usb_interface): New fields attached and detach_hook.
14961 (grub_usb_attach_hook_class): New type.
14962 (grub_usb_attach_desc): New struct.
14963 (grub_usb_register_attach_hook_class): New function.
14964 (grub_usb_unregister_attach_hook_class): Likewise.
14965 (grub_usb_poll_devices): Likewise.
14966 (grub_usb_device_attach): Likewise.
14967 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
14968 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
14969
3222efaf
VS
149702010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
14973 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
14974 delta determination style. Works with most NetBSD partitions too.
14975
139b714a
VS
149762010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14977
14978 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
14979 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
14980
986aad56
VS
149812010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
14984
99be513c
AB
149852010-07-14 Anton Blanchard <anton@samba.org>
14986
14987 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
14988 ET_DYN files.
14989
18075f62
GS
149902010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14991
14992 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
14993
8d9a5b15
GS
149942010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14995
14996 * kern/partition.c (grub_partition_check_containment): New function to
14997 check that a partition is physically contained in a parent. Since
14998 offsets are relative (and non-negative), this reduces to checking that
14999 the partition ends before its parent.
15000 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15001 (grub_partition_iterate): Likewise.
15002 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15003 comments.
15004 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15005 partitions that start before their parent, and add debug printfs.
15006
19563c25
CW
150072010-07-13 Colin Watson <cjwatson@ubuntu.com>
15008
15009 * Makefile.in (.SUFFIX): Spell correctly, as ...
15010 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15011 bare module name without `.mod', e.g. `test') tried to invoke a
15012 Modula-2 compiler.
15013
1a1f1e67
CW
150142010-07-13 Colin Watson <cjwatson@ubuntu.com>
15015
15016 * README: Point to the Info manual.
15017
811b0dca
JS
150182010-07-13 Jiro SEKIBA <jir@unicus.jp>
15019
15020 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15021 2nd superblock position from partition size.
15022
e4f4eafc
CW
150232010-07-10 Colin Watson <cjwatson@ubuntu.com>
15024
15025 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15026 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15027 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15028 outputs.
15029
4274c30f
VS
150302010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15031
15032 Restructure SCSI .id handling.
15033 Reported and tested by: Aleš Nesrsta.
15034
15035 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15036 (grub_atapi_dev): Changed .name to "ata". New field .id.
15037 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15038 (grub_usbms_dev): New field .id.
15039 * disk/scsi.c (grub_scsi_iterate): Generate name.
15040 (grub_scsi_open): Parse name.
15041 * include/grub/scsi.h (grub_make_scsi_id): New function.
15042 (grub_scsi_dev): Change iterate and open to number instead of naming
15043 busses. All users updated.
15044 (grub_scsi): Remove name. Add .bus.
15045
5bc24388
VS
150462010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * commands/help.c (grub_cmd_help): Fix a typo.
15049
249975ba
VS
150502010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15053 Reported and tested by: Colin Watson.
15054
3eaac1a1
VS
150552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15058 in this context.
15059
becce1b1
VS
150602010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15063
f7bf0918
CW
150642010-07-07 Colin Watson <cjwatson@ubuntu.com>
15065
15066 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15067 indentation.
15068
0b0f9620
CW
150692010-07-06 Colin Watson <cjwatson@ubuntu.com>
15070
15071 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15072 and disk/raid6_recover.c.
15073 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15074 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15075
1e545469
CW
150762010-07-06 Colin Watson <cjwatson@ubuntu.com>
15077
15078 * term/gfxterm.c (repaint_schedulded): Rename to ...
15079 (repaint_scheduled): ... this. Update all callers.
15080 (repaint_was_schedulded): Rename to ...
15081 (repaint_was_scheduled): ... this. Update all callers.
15082
5357687a
CW
150832010-07-06 Colin Watson <cjwatson@ubuntu.com>
15084
15085 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15086 which we expect to be handled by upper layers.
15087
29d7e783
BC
150882010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15089
15090 * bus/usb/usbhub.c: #include time.h header.
15091
37582066
CW
150922010-07-06 Colin Watson <cjwatson@ubuntu.com>
15093
15094 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15095 entry_name also for entries without stat blocks (e.g. ".."); fixes
15096 corruption of the first entry in a directory.
15097
c8c06953
CW
150982010-07-06 Colin Watson <cjwatson@ubuntu.com>
15099
15100 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15101 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15102 doesn't work otherwise.
15103
e75056f1
CW
151042010-07-05 Colin Watson <cjwatson@ubuntu.com>
15105
15106 * docs/grub.texi (Features): Update list of supported file systems.
15107 (GNU/Linux): Update for GRUB 2.
15108 (Serial terminal): Remove mention of --disable-serial, which was a
15109 GRUB Legacy configure option. Update instructions to use
15110 `terminal_input' and `terminal_output' rather than `terminal'.
15111 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15112 configuration' and `Installing GRUB using grub-install'.
15113 (Menu entry editor): Update for GRUB 2.
15114 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15115 Document new -a, -u, and -v options.
15116 (initrd): New section.
15117 (initrd16): New section.
15118 (linux): New section.
15119 (linux16): New section.
15120 (search): The `var' argument to `--set' is optional.
15121 (GRUB only offers a rescue shell): Go into a little more detail on
15122 drive ordering.
15123
5cf69151
CW
151242010-07-05 Colin Watson <cjwatson@ubuntu.com>
15125
15126 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15127
e3f90044
CW
151282010-07-05 Colin Watson <cjwatson@ubuntu.com>
15129
15130 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15131 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15132
38d8f4f3
CW
151332010-07-05 Colin Watson <cjwatson@ubuntu.com>
15134
15135 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15136 install_prefix, in line with install_dos_part and install_bsd_part.
15137 Add new prefix variable, which is copied to install_prefix after
15138 comparing core.img in memory with the one read from disk in the
15139 no-embedding case, and use that rather than overwriting
15140 install_prefix immediately when installing to a partition.
15141 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15142 Bicakci.
15143
57ebd41e
GS
151442010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15145
15146 * configure.ac: Avoid == in test command, it's not portable.
15147 * util/grub.d/30_os-prober.in: Likewise.
15148
cb7f64b2
CW
151492010-07-04 Colin Watson <cjwatson@ubuntu.com>
15150
15151 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15152
6b654bb0
GS
151532010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15154
15155 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15156 multiple (top-level) partmaps.
15157
72a2026d
VS
151582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15161 Reported by: Tino Keitel.
72a2026d 15162
df3eb88f
VS
151632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 Bidi and diacritics support.
15166
15167 * Makefile.in (widthspec.bin): New target.
15168 (widthspec.h): Likewise.
15169 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15170 * autogen.sh: Generate unidata.c.
15171 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15172 * commands/ls.c (grub_ls_list_devices): Likewise.
15173 (grub_ls_list_files): Likewise.
15174 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15175 (grub_mini_cmd_lsmod): Likewise.
15176 * commands/read.c: Likewise.
15177 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15178 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15179 * lib/arg.c (grub_arg_show_help): Likewise.
15180 * lib/crypto.c (grub_password_get): Likewise.
15181 * normal/auth.c (grub_username_get): Likewise.
15182 * normal/misc.c (grub_normal_print_device_info): Likewise.
15183 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15184 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15185 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15186 (normal/charset.c_DEPENDENCIES): New variable.
15187 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15188 (pkglib_MODULES): Remove charset.mod.
15189 (charset_mod_SOURCES): Removed.
15190 (charset_mod_CFLAGS): Likewise.
15191 (charset_mod_LDFLAGS): Likewise.
15192 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15193 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15194 and term/tparm.c.
15195 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15196 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15197 (kernel_img_HEADERS): Add terminfo.h.
15198 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15199 Fill ->font. Reverse ascii bitmaps.
15200 (grub_font_get_xheight): New function.
15201 * font/font.c (grub_font_get_string_width): Moved from here ...
15202 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15203 * font/font.c (grub_font_draw_string): Moved from here ...
15204 * gfxmenu/font.c (grub_font_draw_string): ... here.
15205 * font/font.c (grub_font_dup_glyph): New function.
15206 (grub_font_blit_glyph): Likewise.
15207 (grub_font_blit_glyph_mirror): Likewise.
15208 (blit_comb): Likewise.
15209 (grub_font_construct_dry_run): Likewise.
15210 (grub_font_get_constructed_device_width): Likewise.
15211 (grub_font_construct_glyph): Likewise.
15212 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15213 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15214 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15215 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15216 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15217 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15218 (grub_font_get_xheight): New proto.
15219 (grub_font_get_constructed_device_width): Likewise.
15220 (grub_font_construct_glyph): Likewise.
15221 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15222 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15223 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15224 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15225 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15226 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15227 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15228 (grub_console_getcharwidth): Likewise.
15229 * include/grub/misc.h (grub_xputs): New proto.
15230 (grub_puts): Inlined.
15231 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15232 (grub_normal_get_line_counter): Removed.
15233 (grub_install_newline_hook): Likewise.
15234 (grub_normal_get_char_counter): New proto.
15235 (grub_normal_reset_more): Likewise.
15236 (grub_xputs_normal): Likewise.
15237 * include/grub/powerpc/ieee1275/console.h: Removed.
15238 * include/grub/sparc64/ieee1275/console.h: Likewise.
15239 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15240 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15241 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15242 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15243 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15244 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15245 (grub_term_input): Pass reference to self. All users updated.
15246 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15247 Pass reference to self. New fields normal_color, highlight_color and
15248 data. All users updated.
15249 (grub_putchar): Removed.
15250 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15251 (grub_unicode_estimate_width): New function.
15252 (grub_term_getcharwidth): Add defaults.
15253 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15254 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15255 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15256 (grub_cls): Remove EXPORT_FUNC.
15257 (grub_setcolorstate): Inline.
15258 (grub_newline_hook): Removed.
15259 * include/grub/terminfo.h: Rewritten. All users updated.
15260 * include/grub/unicode.h: New file.
15261 * include/grub/video.h (grub_video_signed_rect): New type.
15262 * kern/emu/console.c (grub_console_highlight_color): Removed.
15263 (grub_console_normal_color): Likewise.
15264 (grub_console_standard_color): Made static.
15265 (grub_ncurses_putchar): Remove mapping.
15266 (grub_ncurses_getcharwidth): Removed.
15267 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15268 (grub_ncurses_setcolor): Removed.
15269 (grub_ncurses_getcolor): Likewise.
15270 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15271 (grub_console_putchar): ... this.
15272 (grub_console_putchar): Handle argument difference.
15273 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15274 console_init_early and console_init_lately.
15275 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15276 * kern/misc.c (grub_puts): Removed.
15277 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15278 (grub_vsnprintf_real): Remove str = NULL support.
15279 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15280 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15281 * kern/term.c (grub_putcode): Renamed to ...
15282 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15283 (grub_putchar): Removed.
15284 (grub_xputs_dumb): New function.
15285 (grub_xputs): New variable.
15286 * lib/charset.c: Move from here ...
15287 * normal/charset.c: ... to here.
15288 (grub_ucs4_to_utf8): New function.
15289 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15290 (join_types): New variable.
15291 (unpack_join): New function.
15292 (bidi_types): New variable.
15293 (unpack_bidi): New function.
15294 (get_bidi_type): Likewise.
15295 (get_join_type): Likewise.
15296 (is_mirrored): Likewise.
15297 (grub_unicode_get_comb_type): Likewise.
15298 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15299 (is_type_after): Likewise.
15300 (grub_unicode_aglomerate_comb): Likewise.
15301 (bidi_line_wrap): Likewise.
15302 (grub_bidi_line_logical_to_visual): Likewise.
15303 (grub_bidi_logical_to_visual): Likewise.
15304 (grub_unicode_mirror_code): Likewise.
15305 (grub_unicode_shape_code): Likewise.
15306 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15307 Don't use grub_putchar.
15308 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15309 (grub_normal_reader_init): Likewise.
15310 (grub_xputs_saved): New variable.
15311 (GRUB_MOD_INIT): Set grub_xputs.
15312 (GRUB_MOD_FINI): Restore grub_xputs.
15313 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15314 (menu_init): Avoid printing gfxmenu error.
15315 (show_menu): Use grub_normal_get_char_counter.
15316 * normal/menu_entry.c (update_screen): Fix out-of-array.
15317 (complete): Avoid NULL dereferencing.
15318 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15319 * normal/menu_text.c (print_spaces): Removed.
15320 (grub_print_ucs4): Likewise.
15321 (grub_print_message_indented): Use grub_print_ucs4.
15322 (print_message): Use grub_putcode.
15323 (print_entry): Hanlde diacritics.
15324 * normal/term.c (term_state): New type.
15325 (grub_more_lines): Removed.
15326 (term_states): New variable.
15327 (grub_normal_line_counter): Renamed to ..
15328 (grub_normal_char_counter): ...this. All users updated.
15329 (grub_normal_get_line_counter): Renamed to ...
15330 (grub_normal_get_char_counter): ... this.
15331 (grub_normal_reset_more): New function.
15332 (process_newline): Removed.
15333 (print_more): New function.
15334 (grub_install_newline_hook): Removed.
15335 (map_code): New function.
15336 (grub_puts_terminal): Use grub_print_ucs4.
15337 (putglyph): New function.
15338 (putcode_real): Likewise.
15339 (grub_putcode): Use putcode_real.
15340 (get_maxwidth): New function.
15341 (get_startwidth): Likewise.
15342 (print_ucs4_terminal): Likewise.
15343 (find_term_state): Likewise.
15344 (put_glyphs_terminal): Likewise.
15345 (print_backlog): Likewise.
15346 (print_ucs4_real): Likewise.
15347 (grub_print_ucs4): Likewise.
15348 (grub_xputs_normal): Likewise.
15349 * term/efi/console.c (grub_console_putchar): Output diacritics.
15350 (grub_console_getcharwidth): Removed.
15351 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15352 * term/gfxterm.c (clear_char): Free chars.
15353 (scroll_up): Avoid leaking memory.
15354 (grub_gfxterm_putchar): Support diacritics.
15355 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15356 * term/i386/pc/console.c (grub_console_term_output): Declare as
15357 GRUB_TERM_CODE_TYPE_VGA.
15358 * term/i386/pc/vga.c (grub_vga_term): Declare as
15359 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15360 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15361 GRUB_TERM_CODE_TYPE_VGA.
15362 * term/i386/vga_common.c (map_char): Removed.
15363 (grub_console_putchar): Likewise.
15364 (grub_console_getcharwidth): Likewise.
15365 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15366 (colors): Reordered to match terminfo.
15367 (grub_ofconsole_normal_color): Removed.
15368 (grub_ofconsole_writeesc): Likewise.
15369 (grub_ofconsole_highlight_color): Likewise.
15370 (grub_ofconsole_getcharwidth): Likewise.
15371 (grub_ofconsole_setcolorstate): Likewise.
15372 (grub_ofconsole_setcolor): Likewise.
15373 (grub_ofconsole_getcolor): Likewise.
15374 (grub_ofconsole_readkey): Renamed to ...
15375 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15376 key.
15377 (grub_ofconsole_checkkey): Removed.
15378 (grub_ofconsole_getkey): Likewise.
15379 (grub_ofconsole_getxy): Likewise.
15380 (grub_ofconsole_gotoxy): Likewise.
15381 (grub_ofconsole_cls): Likewise.
15382 (grub_ofconsole_refresh): Likewise.
15383 (grub_ofconsole_terminfo_input): New struct.
15384 (grub_ofconsole_terminfo_output): Likewise.
15385 (grub_ofconsole_term_input): Use terminfo.
15386 (grub_ofconsole_term_output): Likewise.
15387 (grub_console_init): Split into ...
15388 (grub_console_init_early): ...this and ...
15389 (grub_console_init_lately): ...this. Use terminfo.
15390 (grub_ofconsole_putchar): Renamed to ...
15391 (put): ... this. Remove mapping.
15392 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15393 * term/serial.c: Simplify using terminfo.
15394 (xpos): Removed.
15395 (ypos): Likewise.
15396 (keep_track): Likewise.
15397 (registered): Likewise.
15398 (input_buf): Likewise.
15399 (npending): Likewise.
15400 (serial_translate_key_sequence): Likewise.
15401 (fill_input_buf): Likewise.
15402 (grub_serial_checkkey): Likewise.
15403 (grub_serial_getkey): Likewise.
15404 (grub_serial_getxy): Likewise.
15405 (grub_serial_gotoxy): Likewise.
15406 (grub_serial_putchar): Likewise.
15407 (grub_serial_cls): Likewise.
15408 (grub_serial_setcolorstate): Likewise.
15409 (grub_serial_setcursor): Likewise.
15410 (serial_hw_init): Use serial_hw_fetch.
15411 (grub_serial_terminfo_input): New variable.
15412 (grub_serial_terminfo_output): Likewise.
15413 (grub_serial_term_input): Use terminfo.
15414 (grub_serial_term_output): Likewise.
15415 * term/terminfo.c (putstr): Use put.
15416 (grub_terminfo_all_free): New function
15417 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15418 (grub_terminfo_output_register): New function.
15419 (grub_terminfo_output_unregister): Likewise.
15420 (grub_terminfo_getxy): Likewise.
15421 (grub_terminfo_readkey): Likewise.
15422 (grub_terminfo_checkkey): Likewise.
15423 (grub_terminfo_getkey): Likewise.
15424 (grub_terminfo_input_init): Likewise.
15425 (print_terminfo): Likewise.
15426 (grub_cmd_terminfo): Handle encoding.
15427 (grub_terminfo_gotoxy): Track position.
15428 (grub_terminfo_cls): Likewise.
15429 (grub_terminfo_putchar): Likewise.
15430 (grub_terminfo_setcolorstate): Handle colors
15431 (grub_terminfo_cursor_on): This ...
15432 (grub_terminfo_cursor_off): ... and this merged into ...
15433 (grub_terminfo_setcursor): ... this.
15434 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15435 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15436 * unicode/BidiMirroring.txt: Likewise.
15437 * unicode/UnicodeData.txt: Likewise.
15438 * unicode/COPYING: Likewise.
15439 * util/grub-editenv.c (grub_putchar): Removed.
15440 (grub_xputs_real): New function.
15441 (grub_xputs): New variable.
15442 * util/grub-fstest.c (grub_putchar): Removed.
15443 (grub_xputs_real): New function.
15444 (grub_xputs): New variable.
15445 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15446 (grub_xputs_real): New function.
15447 (grub_xputs): New variable.
15448 * util/grub-probe.c (grub_putchar): Removed.
15449 (grub_xputs_real): New function.
15450 (grub_xputs): New variable.
15451 * util/grub-script-check.c (grub_putchar): Removed.
15452 (grub_xputs_real): New function.
15453 (grub_xputs): New variable.
15454 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15455 (grub_xputs_real): New function.
15456 (grub_xputs): New variable.
15457 * util/import_unicode.py: New file.
15458 * util/grub-mkfont.c (ft_errmsgs): New array.
15459 (grub_glyph_info): Make bitmap a pointer.
15460 (file_formats): New type WIDTH_SPEC.
15461 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15462 (options): Add width-spec.
15463 (help): Likewise.
15464 (add_char): Renamed to ...
15465 (add_glyph): ... this.
15466 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15467 (glyph_replace): New type.
15468 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15469 (add_char): New function.
15470 (add_subst): Likewise.
15471 (process_cursive): Likewise.
15472 (add_font): Handle GSUB.
15473 (write_font_width_spec): New function.
15474 (main): Sort glyphs.
15475 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15476 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15477 * kern/term.c (grub_cls): Moved from here...
15478 * normal/term.c (grub_cls): ... here.
15479
50f0bcda
CW
154802010-07-02 Colin Watson <cjwatson@ubuntu.com>
15481
15482 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15483 suitable for using within the format argument of printf when
15484 converting grub_size_t.
15485 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15486 "x" to convert grub_size_t arguments.
15487
40372103
VS
154882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15491 too long captions.
15492 (list_get_minimal_size): Take selection box into account.
15493
942a10c7
VS
154942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15495
15496 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15497 NULL font.
15498
2bdb2892
CW
154992010-07-02 Colin Watson <cjwatson@ubuntu.com>
15500
15501 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15502 devices when iterating over /dev/disk/by-id; they will be handled
15503 later if appropriate, which they aren't always (e.g. LVM).
15504
e03ed6c1
CW
155052010-07-02 Colin Watson <cjwatson@ubuntu.com>
15506
15507 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15508 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15509 fails.
15510 (grub_halt): Likewise.
15511 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15512 reset-all fails.
15513 (grub_halt): Don't return, even if all of shut-down, power-off, and
15514 poweroff fail.
15515
47695765
CW
155162010-07-02 Colin Watson <cjwatson@ubuntu.com>
15517
15518 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15519 arguments, not three.
15520
507736c8
CW
155212010-07-02 Colin Watson <cjwatson@ubuntu.com>
15522
15523 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15524 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15525 LVM-on-RAID is handled correctly.
15526
e3c8cd37
CW
155272010-07-02 Colin Watson <cjwatson@ubuntu.com>
15528
15529 * docs/grub.texi (Changes from GRUB Legacy): New section.
15530 (Future): Fix typo.
15531
8d4a2fec
CW
155322010-07-02 Colin Watson <cjwatson@ubuntu.com>
15533
15534 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15535 grub.d/README accidentally ends up executable for one reason or
15536 another. Ignore it.
15537
1c4827be
VS
155382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15541 (gpt_partition_map_iterate): Support non-512B sectors.
15542
d9a0c941
VS
155432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15546 Tested by: Seth Goldberg.
15547
48f27e87
VS
155482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15551 Properly align mbi.
15552 Reported by: Seth Goldberg.
15553
b0c4f956
VS
155542010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15555
15556 * util/grub-mkrescue.in: Avoid module duplication.
15557
105a2e8c
SF
155582010-07-01 Sean Finney <seanius@seanius.net>
15559
15560 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15561
5944958c
SF
155622010-07-01 Sean Finney <seanius@seanius.net>
15563
15564 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15565
155662010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15567
15568 * disk/lvm.c (grub_lvm_checkvalue): New function.
15569 (grub_lvm_check_flag): Likewise.
15570
b79889ba
RM
155712010-07-01 Robert Millan <rmh@gnu.org>
15572
15573 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15574 Support 'p' as partition separator on kernel of FreeBSD (used
15575 with GPT labels).
15576 (grub_util_biosdisk_get_grub_dev): Likewise.
15577
ec1d04f1
VS
155782010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 Yeeloong firmware port.
15581
15582 * boot/mips/yeeloong/fwstart.S: New file.
15583 * bus/cs5536.c (gpiodump): New const.
15584 (set_io_space): New function.
15585 (set_iod): Likewise.
15586 (set_p2d): Likewise.
15587 (grub_cs5536_init_geode): Likewise.
15588 * commands/mips/yeeloong/lsspd.c: New file.
15589 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15590 (serial_mod_SOURCES): New variable.
15591 (serial_mod_CFLAGS): Likewise.
15592 (serial_mod_LDFLAGS): Likewise.
15593 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15594 term/terminfo.c and term/tparm.c.
15595 (pkglib_IMAGES): Add fwstart.img.
15596 (fwstart_img_SOURCES): New variable.
15597 (fwstart_img_CFLAGS): Likewise.
15598 (fwstart_img_ASFLAGS): Likewise.
15599 (fwstart_img_LDFLAGS): Likewise.
15600 (fwstart_img_FORMAT): Likewise.
15601 (pkglib_MODULES): Add lsspd.mod.
15602 (lsspd_mod_SOURCES): New variable.
15603 (lsspd_mod_CFLAGS): Likewise.
15604 (lsspd_mod_LDFLAGS): Likewise.
15605 (pkglib_MODULES): Add halt.mod.
15606 (halt_mod_SOURCES): New variable.
15607 (halt_mod_CFLAGS): Likewise.
15608 (halt_mod_LDFLAGS): Likewise.
15609 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15610 (serial_mod_SOURCES): Removed.
15611 (serial_mod_CFLAGS): Likewise.
15612 (serial_mod_LDFLAGS): Likewise.
15613 * disk/ata.c (check_device): New function.
15614 (grub_ata_device_initialize): Use check_device.
15615 (grub_ata_iterate): Recheck devices.
15616 (grub_ata_open): Likewise.
15617 (grub_atapi_iterate): Likewise.
15618 (grub_atapi_open): Likewise.
15619 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15620 (GRUB_ATA_CH1_PORT1): Likewise.
15621 (GRUB_ATA_CH0_PORT2): Likewise.
15622 (GRUB_ATA_CH1_PORT2): Likewise.
15623 * include/grub/mips/loongson.h: New file.
15624 * include/grub/mips/yeeloong/ec.h: Likewise.
15625 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15626 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15627 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15628 * include/grub/misc.h (grub_halt): Declare as noreturn.
15629 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15630 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15631 (UART_ENABLE_FIFO_TRIGGER1): New definition.
15632 (UART_ENABLE_DTRRTS): Likewise.
15633 (UART_ENABLE_MODEM): Removed.
15634 (UART_ENABLE_OUT2): New const.
15635 * include/grub/term.h (grub_term_register_input_active): New function.
15636 (grub_term_register_output_active): Likewise.
15637 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
15638 argument.
15639 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
15640 (init_pci): New function.
15641 (grub_machine_init): Execute platform init when firmware. Init serial.
15642 (grub_halt): Implement.
15643 (grub_exit): Likewise.
15644 (grub_reboot): Likewise.
15645 * term/serial.c (serial_hw_init): Update macros.
15646 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
15647 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
15648 (image_targets): New target mipsel-yeeloong-flash.
15649 (generate_image): Support IMAGE_YEELOONG_FLASH.
15650 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
15651 (grub_video_sm712_setup): Init card.
15652 (grub_video_sm712_set_palette): Removed.
15653 * video/sm712_init.c: New file.
15654
ff4a70d2
CW
156552010-06-30 Colin Watson <cjwatson@ubuntu.com>
15656
15657 * Makefile.in (install-local): Temporarily prepend $(builddir) to
15658 PATH when running help2man and then run it on the unadorned
15659 executable names, rather than passing $(builddir)/* paths to
15660 help2man. This avoids the build directory ending up in generated
15661 manual pages.
15662
1246efeb
CW
156632010-06-29 Colin Watson <cjwatson@ubuntu.com>
15664
15665 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
15666 to avoid accidents when debugging with 'sh -x'.
15667 * util/grub-mkrescue.in: Likewise.
15668 * util/grub.d/00_header.in: Likewise.
15669 * util/grub.d/10_hurd.in: Likewise.
15670 * util/grub.d/10_kfreebsd.in: Likewise.
15671 * util/grub.d/10_linux.in: Likewise.
15672 * util/grub.d/10_netbsd.in: Likewise.
15673 * util/grub.d/10_windows.in: Likewise.
15674 * util/grub.d/20_linux_xen.in: Likewise.
15675 * util/grub.d/30_os-prober.in: Likewise.
15676 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15677
1ba9b889
CW
156782010-06-29 Colin Watson <cjwatson@ubuntu.com>
15679
15680 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
15681 last character in the buffer.
15682 Reported by: Vladimir Serbinenko.
15683
dccaf99d
RM
156842010-06-29 Robert Millan <rmh@gnu.org>
15685
15686 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
15687 (Command-line and menu entry commands): Document `badram' command.
15688
d500ed12
RM
156892010-06-28 Robert Millan <rmh@gnu.org>
15690
15691 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
15692 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
15693 command using ${GRUB_BADRAM} as parameter.
15694
20bc84a6
CW
156952010-06-28 Colin Watson <cjwatson@ubuntu.com>
15696
15697 * docs/grub.texi (Device map): New section.
15698 (Themes): New section (stub).
15699 * Makefile.in (docs/grub.info): The info documentation now builds
15700 without errors. Make sure it stays that way.
15701
4045dee1
VS
157022010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 Use normal parser for menu entries.
15705 Reported by: Thomas Frauendorfer
15706
15707 * include/grub/parser.h (grub_parser_execute): Don't export.
15708 * normal/menu.c (grub_menu_execute_entry_real): New function.
15709 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
15710
bca58c7b
CW
157112010-06-28 Colin Watson <cjwatson@ubuntu.com>
15712
15713 * docs/grub.texi (Embedded configuration): New section (replacing
15714 old "Preset Menu" stub).
15715 (Images): New section.
15716 (configfile): Note that any menu entries defined in `file' are shown
15717 immediately.
15718
dec53e63
JT
157192010-06-28 Josh Triplett <josh@joshtriplett.org>
15720
15721 * mmap/i386/pc/mmap_helper.S: Set CF on return.
15722
c06e40f7
CW
157232010-06-28 Colin Watson <cjwatson@ubuntu.com>
15724
15725 * util/grub-install.in: Add --debug-image= option.
15726
cb88052b
CW
157272010-06-28 Colin Watson <cjwatson@ubuntu.com>
15728
15729 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
15730 possible on Linux.
15731
15732 * util/deviceiter.c (check_device): Rename to ...
15733 (check_device_readable_unique): ... this. Update all callers.
15734 Maintain and check a list of which devices (by canonicalized name)
15735 have already been seen.
15736 (clear_seen_devices): New function.
15737 (compare_file_names) [__linux__]: New function.
15738 (grub_util_iterate_devices): Clear the list of seen devices on exit
15739 and (just in case) on entry.
15740 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
15741 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
15742 seen-devices list, superseded by general code in check_device.
15743
bbe34652
CW
157442010-06-28 Colin Watson <cjwatson@ubuntu.com>
15745
15746 * commands/cat.c (options): New variable.
15747 (grub_cmd_cat): Parse options. If the --dos option is given, print
15748 DOS-style "\r\n" line endings as simple newlines (Debian bug
15749 #586358).
15750 (GRUB_MOD_INIT): Use extcmd.
15751 (GRUB_MOD_FINI): Likewise.
15752 * docs/grub.texi (cat): Document --dos.
15753
412e09f3
VS
157542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 XEN with Linux grub-mkconfig support.
15757
15758 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
15759 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
15760 GRUB_CMDLINE_XEN_DEFAULT.
15761 * util/grub.d/20_linux_xen.in: New file.
15762
53f3ef38 157632010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
15764
15765 Initialise VGA video on qemu ourselves.
15766
15767 * boot/i386/qemu/boot.S: Don't call 0xc000.
15768 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
15769 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
15770 (kernel_img_HEADERS): Add pci.h.
15771 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
15772 * configure.ac: Force unifont on qemu and yeeloong.
15773 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
15774 (grub_vga_palette_write): Use correct register.
15775 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
15776 Call grub_qemu_init_cirrus.
15777 * kern/i386/qemu/init.c: New file.
15778 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
15779
15780 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
15781
c75be4fb
PR
157822010-06-26 Pavel Roskin <proski@gnu.org>
15783
15784 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
15785 13.
15786
d8034603
CW
157872010-06-26 Colin Watson <cjwatson@ubuntu.com>
15788
15789 * docs/grub.texi (Simple configuration): Explain that
15790 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
15791 set to `true' to disable their respective recovery entries, not
15792 merely set.
15793
3fa06487
CW
157942010-06-26 Colin Watson <cjwatson@ubuntu.com>
15795
15796 Make the `source' command slightly faster.
15797
15798 * normal/main.c (grub_normal_execute): Don't re-read list files when
15799 nested.
15800
e9b29642
CW
158012010-06-23 Colin Watson <cjwatson@ubuntu.com>
15802
15803 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
15804 field position and mask size to red fields from mode_info, not
15805 green.
15806 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
15807 Remove redundant tag->common.framebuffer_type assignment.
15808 Reported by: Seth Goldberg.
15809
e726542f
CW
158102010-06-23 Colin Watson <cjwatson@ubuntu.com>
15811
15812 Sync up other versions of the Linux loader with Robert Millan's
15813 change of 2010-01-09, "Make loader output a bit more user-friendly".
15814
15815 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
15816 grub_dprintf().
15817 (grub_cmd_linux): Likewise.
15818 (grub_cmd_initrd): Likewise.
15819 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
15820 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15821
d6e98a17
CW
158222010-06-21 Colin Watson <cjwatson@ubuntu.com>
15823
15824 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
15825 larger than MEMORY_MAP_SIZE.
15826
14d3f08e
BC
158272010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
15828
15829 Fix parallel build.
15830
15831 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
15832 dependency.
15833 * script/parser.y: #include grub_script.tab.h header.
15834
4f9613a3
VS
158352010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 Support >3GiB and <16MiB RAM in i386-qemu.
15838
15839 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
15840 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
15841 (grub_lower_mem): Removed.
15842 (grub_upper_mem): Likewise.
15843 (mem_size): Made static.
15844 (above_4g): New variable.
15845 (grub_machine_mmap_init): Detect small mem_size and above_4g.
15846 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
15847 support.
15848
05e51879
VS
158492010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 Cirrus 5446 and Bochs video cards support.
15852
15853 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
15854 video_bochs.mod
15855 (video_cirrus_mod_SOURCES): New variable.
15856 (video_cirrus_mod_CFLAGS): Likewise.
15857 (video_cirrus_mod_LDFLAGS): Likewise.
15858 (video_bochs_mod_SOURCES): Likewise.
15859 (video_bochs_mod_CFLAGS): Likewise.
15860 (video_bochs_mod_LDFLAGS): Likewise.
15861 * include/grub/vga.h: New file.
15862 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
15863 (grub_video_fb_set_page_t): New type.
15864 (grub_video_fb_setup): New prototype.
15865 (grub_video_fb_swap_buffers): Likewise.
15866 (grub_video_fb_get_info_and_fini): Likewise.
15867 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
15868 (CRTC_DATA_PORT): Likewise.
15869 (CRTC_CURSOR): Likewise.
15870 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15871 (CRTC_CURSOR_ADDR_LOW): Likewise.
15872 (CRTC_CURSOR_DISABLE): Likewise.
15873 (update_cursor): Use grub_vga_cr_write.
15874 (grub_vga_text_setcursor): Likewise.
15875 * video/bochs.c: New file.
15876 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
15877 (palette): Likewise.
15878 (palette_size): Likewise.
15879 (framebuffer): New variable.
15880 (grub_video_fb_init): Use 'framebuffer'.
15881 (grub_video_fb_fini): Likewise.
15882 (grub_video_fb_get_info): Likewise.
15883 (grub_video_fb_get_palette): Likewise.
15884 (grub_video_fb_set_palette): Likewise.
15885 (grub_video_fb_set_viewport): Likewise.
15886 (grub_video_fb_get_viewport): Likewise.
15887 (grub_video_fb_map_color): Likewise.
15888 (grub_video_fb_map_rgb): Likewise.
15889 (grub_video_fb_map_rgba): Likewise.
15890 (grub_video_fb_unmap_color): Likewise.
15891 (grub_video_fb_unmap_color_int): Likewise.
15892 (grub_video_fb_fill_rect): Likewise.
15893 (grub_video_fb_blit_bitmap): Likewise.
15894 (grub_video_fb_blit_render_target): Likewise.
15895 (grub_video_fb_scroll): Likewise.
15896 (grub_video_fb_create_render_target): Likewise.
15897 (grub_video_fb_doublebuf_blit_init): Likewise.
15898 (grub_video_fb_set_active_render_target): Handle doublebuffering.
15899 (doublebuf_pageflipping_update_screen): New function.
15900 (doublebuf_pageflipping_init): Likewise.
15901 (grub_video_fb_setup): Likewise.
15902 (grub_video_fb_swap_buffers): Likewise.
15903 (grub_video_fb_get_info_and_fini): Likewise.
15904 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
15905 All users updated.
15906 (doublebuf_pageflipping_commit): Restructured into ...
15907 (doublebuf_pageflipping_set_page): ... this.
15908 (doublebuf_pageflipping_update_screen): Removed.
15909 (doublebuf_pageflipping_init): Likewise.
15910 (double_buffering_init): Likewise.
15911 (grub_video_vbe_setup): Use grub_video_fb_setup.
15912 (grub_video_vbe_swap_buffers): Removed.
15913 (grub_video_vbe_set_active_render_target): Likewise.
15914 (grub_video_vbe_get_active_render_target): Likewise.
15915 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
15916 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
15917 grub_video_fb_set_active_render_target and
15918 grub_video_fb_get_active_render_target.
15919 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
15920 (SEQUENCER_DATA_PORT): Likewise.
15921 (MAP_MASK_REGISTER): Likewise.
15922 (CRTC_ADDR_PORT): Likewise.
15923 (CRTC_DATA_PORT): Likewise.
15924 (START_ADDR_HIGH_REGISTER): Likewise.
15925 (START_ADDR_LOW_REGISTER): Likewise.
15926 (GRAPHICS_ADDR_PORT): Likewise.
15927 (GRAPHICS_DATA_PORT): Likewise.
15928 (READ_MAP_REGISTER): Likewise.
15929 (INPUT_STATUS1_REGISTER): Likewise.
15930 (INPUT_STATUS1_VERTR_BIT): Likewise.
15931 (get_map_mask): Use grub_vga_sr_read.
15932 (set_map_mask): Use grub_vga_sr_write.
15933 (set_read_map): Use grub_vga_gr_write.
15934 (set_start_address): Use grub_vga_cr_write.
15935 * video/sm712.c (framebuffer): Remove leftover fields.
15936
4321c64a
CW
159372010-06-20 Colin Watson <cjwatson@ubuntu.com>
15938
15939 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
15940 setting GRUB_VIDEO_BACKEND. Make it available as a user override
15941 instead. Replace the gfxterm backend check with a check that
15942 ${GRUB_PREFIX}/video.lst is non-empty.
15943 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
15944 again.
15945 (load_video): New generated function. Call it before loading
15946 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
15947 * util/grub.d/10_linux.in (linux_entry): Call load_video.
15948 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
15949 * docs/grub.texi (Simple configuration): Document
15950 GRUB_VIDEO_BACKEND.
15951
159522010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 Use video functions in linux and xnu loaders.
15955
15956 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
15957 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
15958 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
15959 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
15960 loader/i386/pc/linux.c.
15961 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
15962 (find_line_len): Removed.
15963 (find_framebuf): Likewise.
15964 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
15965 * loader/i386/efi/xnu.c: Removed.
15966 * loader/i386/pc/xnu.c: Moved from here...
15967 * loader/i386/xnu.c: ...here.
15968
15969 Enable priorities in video drivers.
15970
15971 * include/grub/video.h (grub_video_adapter_prio_t): New type.
15972 (grub_video_adapter): New field prio.
15973 (grub_video_register): Respect prio when inserting.
15974 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
15975 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
15976 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
15977 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
15978 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
15979 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
15980 * video/sm712.c (grub_video_sm712_adapter): Likewise.
15981
15982 Fix SDL driver ID.
15983
15984 * include/grub/video.h (grub_video_driver_id_t): New value
15985 GRUB_VIDEO_DRIVER_SDL.
15986 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
15987
7d24e434
CW
159882010-06-17 Colin Watson <cjwatson@ubuntu.com>
15989
15990 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
15991 argument to printf.
15992 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15993
c88a83f6
CW
159942010-06-17 Colin Watson <cjwatson@ubuntu.com>
15995
15996 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
15997 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15998
094dfb69
CW
159992010-06-17 Colin Watson <cjwatson@ubuntu.com>
16000
16001 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16002 directly, and recommend grub-install instead.
16003 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16004
2164da6b
CW
160052010-06-17 Colin Watson <cjwatson@ubuntu.com>
16006
16007 Fix i386-pc prefix handling with nested partitions (Debian bug
16008 #585068). Note that the case where the core image is booted using
16009 multiboot and relocated from its original location still requires
16010 more work.
16011
16012 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16013 with "(,", fill the boot drive in between those two characters, but
16014 expect that a full partition specification including partition map
16015 names will follow.
16016 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16017 specified, write a prefix without the drive name but including a
16018 full partition specification.
16019
044e2e60
CW
160202010-06-16 Colin Watson <cjwatson@ubuntu.com>
16021
16022 * util/grub-mkconfig.in: Ignore non-option arguments, for
16023 compatibility with older versions (before 2010-06-12) which did the
16024 same. In particular, this makes it easier to ship an update-grub
16025 wrapper which is compatible with that used with GRUB Legacy (Debian
16026 bug #586056).
16027
5591324f
GS
160282010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16029
16030 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16031 for manual page generation.
16032
662e24d5
GS
160332010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16034
16035 * po/POTFILES: Remove leftover commands/handler.c.
16036
8d70754e
CW
160372010-06-14 Colin Watson <cjwatson@ubuntu.com>
16038
16039 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16040 left this script non-functional.
16041
41160e2e
CW
160422010-06-14 Colin Watson <cjwatson@ubuntu.com>
16043
16044 * docs/man/grub-emu.h2m: New file.
16045
b5309cc1
CW
160462010-06-13 Colin Watson <cjwatson@ubuntu.com>
16047
16048 * docs/grub.texi (Commands): Document reduced command set in rescue
16049 mode.
16050 (cpuid): New section.
16051
fcb2d090
GS
160522010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16053
16054 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16055 new partition naming style.
16056 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16057
96e5c556
BC
160582010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16059
16060 Add "-o grub.iso" like cmdline options support.
16061
16062 * util/grub-install.in: Improve cmdline option parsing.
16063 * util/grub-mkconfig.in: Likewise.
16064 * util/grub-mkrescue.in: Likewise.
16065 * util/grub-reboot.in: Likewise.
16066 * util/grub-set-default.in: Likewise.
16067 * util/i386/efi/grub-install.in: Likewise.
16068 * util/ieee1275/grub-install.in: Likewise.
16069 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16070
c16be99b
CW
160712010-06-12 Colin Watson <cjwatson@ubuntu.com>
16072
16073 * .bzrignore: Ignore 41_custom.
16074
ce08a9fb
TS
160752010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16076
16077 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16078
7beac90c
CW
160792010-06-12 Colin Watson <cjwatson@ubuntu.com>
16080
16081 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16082 prototype declarations.
16083
16084 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16085 generating fs, partmap, and video lists.
16086 * include/grub/fs.h (grub_fs_register): Omit prototype if
16087 GRUB_LST_GENERATOR is defined.
16088 * include/grub/partition.h (grub_partition_map_register): Likewise.
16089 * include/grub/video.h (grub_video_register): Likewise.
16090
1c8f0f8d
JM
160912010-06-12 Javier Martín <lordhabbit@gmail.com>
16092
16093 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16094
a6085973
TS
160952010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16096
16097 * util/grub-mkrescue.in: Support --xorriso argument.
16098
25c56d29
VS
160992010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16102 Suggested by: Thomas Schmitt.
16103
e03e4b24
VS
161042010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16107 Suggested by: Thomas Schmitt.
16108
57711df6
VS
161092010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16110
16111 custom.cfg support.
16112
16113 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16114 * util/grub.d/41_custom.in: New file.
16115
ee62c427
CW
161162010-06-12 Colin Watson <cjwatson@ubuntu.com>
16117
16118 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16119 been merged back into normal.
16120
283af07a
CW
161212010-06-11 Colin Watson <cjwatson@ubuntu.com>
16122
16123 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16124 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16125
56a0d956
CW
161262010-06-11 Colin Watson <cjwatson@ubuntu.com>
16127
16128 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16129 when generating manual pages.
16130 * docs/man/grub-bin2h.h2m: New file.
16131 * docs/man/grub-editenv.h2m: New file.
16132 * docs/man/grub-fstest.h2m: New file.
16133 * docs/man/grub-install.h2m: New file.
16134 * docs/man/grub-macho2img.h2m: New file.
16135 * docs/man/grub-mkconfig.h2m: New file.
16136 * docs/man/grub-mkdevicemap.h2m: New file.
16137 * docs/man/grub-mkfont.h2m: New file.
16138 * docs/man/grub-mkimage.h2m: New file.
16139 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16140 * docs/man/grub-mkrelpath.h2m: New file.
16141 * docs/man/grub-mkrescue.h2m: New file.
16142 * docs/man/grub-ofpathname.h2m: New file.
16143 * docs/man/grub-pe2elf.h2m: New file.
16144 * docs/man/grub-probe.h2m: New file.
16145 * docs/man/grub-reboot.h2m: New file.
16146 * docs/man/grub-script-check.h2m: New file.
16147 * docs/man/grub-set-default.h2m: New file.
16148 * docs/man/grub-setup.h2m: New file.
16149
3a37e322
VS
161502010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 Use FOR_* macros instead of *_iterate whenever possible.
16153
16154 * commands/handler.c: Removed.
16155 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16156 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16157 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16158 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16159 (grub_probe_SOURCES): Remove kern/parser.c.
16160 (util/grub-script-check.c_DEPENDENCIES): Removed.
16161 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16162 and grub_script_check_init.c.
16163 (grub_script_check_init.lst): Removed.
16164 (grub_script_check_init.h): Likewise.
16165 (grub_script_check_init.c): Likewise.
16166 (pkglib_MODULES): Remove handler.mod and sh.mod.
16167 (handler_mod_SOURCES): Removed.
16168 (handler_mod_CFLAGS): Likewise.
16169 (handler_mod_LDFLAGS): Likewise.
16170 (normal_mod_SOURCES): Remove normal/handler.c.
16171 Add script/main.c, script/script.c, script/execute.c,
16172 script/function.c, script/lexer.c, grub_script.tab.c
16173 and grub_script.yy.c.
16174 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16175 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16176 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16177 (grub_setup_SOURCES): Remove kern/parser.c.
16178 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16179 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16180 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16181 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16182 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16183 (grub_setup_SOURCES): Remove kern/parser.c.
16184 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16185 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16186 * include/grub/command.h (grub_command_iterate): Removed.
16187 (FOR_COMMANDS): New macro.
16188 * include/grub/dl.h (grub_dl): New member next.
16189 (grub_dl_iterate): Removed.
16190 (grub_dl_head): New variable declaration.
16191 (FOR_DL_MODULES): New macro.
16192 * include/grub/fs.h: Include list.h.
16193 (grub_fs): Make next first element.
16194 (grub_fs_list): New variable declaration.
16195 (grub_fs_register): Make inline.
16196 (grub_fs_unregister): Likewise.
16197 (grub_fs_iterate): Removed.
16198 (FOR_FILESYSTEMS): New macro.
16199 * include/grub/handler.h: Removed.
16200 * include/grub/list.h (grub_list_hook_t): Removed.
16201 (grub_list_test_t): Likewise.
16202 (grub_list_pop): Likewise.
16203 (grub_list_iterate): Likewise.
16204 (grub_list_insert): Likewise.
16205 (FOR_LIST_ELEMENTS): New macro.
16206 * include/grub/parser.h (grub_parser_class): Removed.
16207 (grub_parser_register): Likewise.
16208 (grub_parser_unregister): Likewise.
16209 (grub_parser_get_current): Likewise.
16210 (grub_parser_set_current): Likewise.
16211 (grub_register_rescue_parser): Likewise.
16212 (grub_rescue_parse_line): New function.
16213 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16214 * include/grub/script_sh.h (grub_script_function_list): New variable
16215 declaration.
16216 (FOR_SCRIPT_FUNCTIONS): New macro.
16217 (grub_script_function_iterate): Removed.
16218 (grub_normal_parse_line): New prototype.
16219 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16220 (FOR_DISABLED_TERM_INPUTS): Likewise.
16221 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16222 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16223 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16224 element.
16225 (grub_video_register): Inline.
16226 (grub_video_unregister): Likewise.
16227 (grub_video_adapter_list): New variable declaration.
16228 (grub_video_iterate): Removed.
16229 (FOR_VIDEO_ADAPTERS): New macro.
16230 * kern/dl.c (grub_dl_list): Removed. All users updated.
16231 (grub_dl_iterate): Removed.
16232 * kern/fs.c (grub_fs_list): Make global.
16233 (grub_fs_register): Removed.
16234 (grub_fs_unregister): Likewise.
16235 (grub_fs_iterate): Likewise.
16236 * kern/handler.c: Removed.
16237 * kern/list.c (grub_list_pop): Removed.
16238 (grub_list_iterate): Likewise.
16239 (grub_list_insert): Likewise.
16240 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16241 (grub_prio_list_insert): Don't use grub_list_insert.
16242 * kern/main.c (grub_register_rescue_parser): Don't call
16243 grub_register_rescue_parser.
16244 * kern/parser.c (grub_parser_class): Removed.
16245 (grub_parser_execute): Use grub_rescue_parse_line.
16246 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16247 (grub_rescue_parser): Removed.
16248 (grub_register_rescue_parser): Likewise.
16249 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16250 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16251 (grub_auth_check_authentication): Likewise.
16252 * normal/completion.c (iterate_command): Removed.
16253 (grub_normal_do_completion): Use FOR_COMMANDS.
16254 * normal/handler.c: Removed.
16255 * normal/main.c (read_config_file): Remove parser changing.
16256 (grub_normal_execute): Don't call read_handler_list.
16257 (grub_normal_read_line_real): Statically allocate prompt.
16258 (grub_cmdline_run): Use grub_normal_parse_line.
16259 (GRUB_MOD_FINI): Don't call free_handler_list.
16260 * normal/menu_entry.c (run): Likewise.
16261 * script/function.c (grub_script_function_list): Make global.
16262 (grub_script_function_iterate): Removed.
16263 * script/main.c (grub_normal_parse_line): Make global.
16264 (grub_sh_parser): Removed.
16265 (GRUB_MOD_INIT): Likewise.
16266 (GRUB_MOD_FINI): Likewise.
16267 * tests/lib/functional_test.c (grub_functional_test): Use
16268 FOR_LIST_ELEMENTS.
16269 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16270 (grub_test_run): Use FOR_LIST_ELEMENTS.
16271 * tests/lib/unit_test.c (main): Likewise.
16272 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16273 grub_list_pop.
16274 * util/grub-fstest.c (grub_term_input_class): Removed.
16275 (grub_term_output_class): Likewise.
16276 * util/grub-probe.c: Likewise.
16277 * util/i386/pc/grub-setup.c: Likewise.
16278 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16279 * util/grub-script-check.c (main): Don't call grub_init_all and
16280 grub_fini_all.
16281 * video/video.c (grub_video_adapter_list): Make global.
16282 (grub_video_register): Removed.
16283 (grub_video_unregister): Likewise.
16284 (grub_video_iterate): Likewise.
16285
6289c3a7
VS
162862010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16289 reported by Henrique Ferreiro.
16290
91460247
RM
162912010-06-09 Robert Millan <rmh@gnu.org>
16292
16293 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16294 ones, when both are available.
16295
0ea7c4f9
GS
162962010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16297
16298 Make --version uniform and avoid hard-coded program name.
16299
16300 * util/grub-mkimage.c (main): Use `program_name' instead of
16301 hard-coded string.
16302 * util/i386/pc/grub-setup.c (main): Likewise.
16303 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16304 * util/grub-install.in: Save the basename of $0 in $self, and use the
16305 latter in informational messages. Use the same format for --version
16306 as the binary programs.
16307 * util/grub-mkconfig.in: Likewise.
16308 * util/grub-mkrescue.in: Likewise.
16309 * util/grub-reboot.in: Likewise.
16310 * util/grub-set-default.in: Likewise.
16311 * util/i386/efi/grub-install.in: Likewise.
16312 * util/ieee1275/grub-install.in: Likewise.
16313 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16314
e8a6f3b6
GS
163152010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16316
16317 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16318 embedding area. Use <= instead of == when checking for non-emptiness.
16319
f4d095d7
GS
163202010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16321
16322 * configure.ac: Add `.' to the directories searched for unifont.
16323
50e532ca
CW
163242010-06-08 Colin Watson <cjwatson@ubuntu.com>
16325
16326 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16327 grub_script.yy.h.
16328
d39f3dec
CW
163292010-06-08 Colin Watson <cjwatson@ubuntu.com>
16330
16331 * docs/grub.texi (History): Expand to cover GRUB 2.
16332 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16333 commands, not `terminal'.
16334 (serial): Likewise.
16335 (terminal_input): New section.
16336 (terminal_output): New section.
16337 (uppermem): New section (stub).
16338 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16339
6ef0ddb4
CW
163402010-06-08 Colin Watson <cjwatson@ubuntu.com>
16341
16342 * docs/grub.texi (Security): Menu entries are unrestricted by
16343 default, not restricted to superusers as I had previously thought.
16344 Reword to account for this.
16345
e0f4c438
CW
163462010-06-07 Colin Watson <cjwatson@ubuntu.com>
16347
16348 * kern/emu/misc.c (device_mapper_null_log): New function.
16349 (grub_device_mapper_supported): New function.
16350 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16351 prototype.
16352 * kern/emu/hostdisk.c (find_partition_start): Check whether
16353 device-mapper is supported before trying to use it.
16354 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16355
da908200
CW
163562010-06-07 Colin Watson <cjwatson@ubuntu.com>
16357
16358 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16359 (File name syntax): Likewise.
16360 (help): --all is no longer supported in GRUB 2. Be more precise
16361 about pattern matching.
16362
fb55c3ac
CW
163632010-06-07 Colin Watson <cjwatson@ubuntu.com>
16364
16365 * normal/completion.c (grub_normal_do_completion): When completing
16366 arguments to "set" and the current word contains an equals sign,
16367 skip to after the equals sign before starting completion.
16368
258c2573
CW
163692010-06-07 Colin Watson <cjwatson@ubuntu.com>
16370
16371 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16372
ee75515e
CW
163732010-06-07 Colin Watson <cjwatson@ubuntu.com>
16374
16375 * docs/grub.texi (Network): New section.
16376 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16377 `(nd)' as in GRUB Legacy.
16378 (pxe_unload): New section.
16379
a6a700aa
CW
163802010-06-07 Colin Watson <cjwatson@ubuntu.com>
16381
16382 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16383 in the rescue shell, so recommend using `set' instead. Thanks,
16384 Jordan Uggla.
16385
4003dd38
CW
163862010-06-07 Colin Watson <cjwatson@ubuntu.com>
16387
16388 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16389 (password): New section.
16390 (password_pbkdf2): New section.
16391 (search): New section.
16392 (Security): New section.
16393 (Troubleshooting): New section, currently very incomplete.
16394 (Invoking grub-mkpasswd-pbkdf2): New section.
16395 (Internals): New section, currently very incomplete.
16396
e1cbcc40
CW
163972010-06-07 Colin Watson <cjwatson@ubuntu.com>
16398
16399 * util/grub.d/00_header.in: Add some more quoting (of
16400 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16401 work again.
16402 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16403
db8fa1ad
CW
164042010-06-07 Colin Watson <cjwatson@ubuntu.com>
16405
16406 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16407 to `count', fixing variable shadowing that broke the -c option.
16408
164092010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16410
16411 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16412 in case they contain spaces.
16413
f28a9212
CW
164142010-06-04 Colin Watson <cjwatson@ubuntu.com>
16415
16416 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16417 "part_" to partmap module names, in line with grub-install.
16418 Reported by: Jindřich Makovička (Debian bug #584426).
16419
9cdfe32f
CW
164202010-06-04 Colin Watson <cjwatson@ubuntu.com>
16421
16422 * util/grub-mkimage.c: Make target-related error messages slightly
16423 more helpful; -O talks about "format". Explicitly point to the use
16424 of -O if no target is specified.
16425 Reported by: Didier Raboud (Debian bug #584415).
16426
795b593a
CW
164272010-06-03 Colin Watson <cjwatson@ubuntu.com>
16428
16429 * INSTALL: Document several build requirements for optional features
16430 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16431
9d9b5833
GS
164322010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16433
16434 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16435 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16436 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16437
0819fec8
CW
164382010-06-02 Colin Watson <cjwatson@ubuntu.com>
16439
16440 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16441 Thanks to Jordan Uggla for spotting this.
16442
49396b4f
VS
164432010-06-02 Aleš Nesrsta <starous@volny.cz>
16444
16445 Finally make USB usable.
16446
16447 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16448 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16449 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16450 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16451 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16452 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16453 (GRUB_OHCI_FSMPS): Likewise.
16454 (GRUB_OHCI_PERIODIC_START): Likewise.
16455 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16456 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16457 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16458 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16459 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16460 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16461 (grub_ohci_transaction): Likewise.
16462 (grub_ohci_transfer): Improve condition detection algorithms.
16463 Handle toggle property. Program the transactions correctly.
16464 Improve error handling. Various important fixups.
16465 (grub_ohci_portstatus): Put register writes in right order.
16466 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16467 (grub_uhci_transfer): Don't show "failed" message on success.
16468 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16469 array.
16470 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16471 determine its size.
16472 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16473 before initialization is completed. Use IN direction for empty
16474 transfers. Use last_trans and compute toggle.
16475 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16476 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16477 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16478 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16479 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16480 (grub_usb_device): Increase toggle to 256.
16481 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16482 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16483 GRUB_USBMS_SUBCLASS_SFF8070.
16484 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16485 (grub_scsi_inquiry): New member page and alloc_length.
16486 (grub_scsi_request_sense): New structure.
16487 (grub_scsi_request_sense_data): Likewise.
16488 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16489 control.
16490 * disk/scsi.c (grub_scsi_request_sense): New function.
16491 (grub_scsi_test_unit_ready): Likewise.
16492 (grub_scsi_inquiry): Fill new fields.
16493 (grub_scsi_read_capacity): Likewise.
16494 (grub_scsi_read10): Add request sense at the end.
16495 (grub_scsi_read12): Likewise.
16496 (grub_scsi_write10): Likewise.
16497 (grub_scsi_write12): Likewise.
16498 (grub_scsi_open): Add Test Unit Ready.
16499 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16500 Support additional subclasses. Con't clear halt yet. Activate the
16501 proper config. Calculate LUNs correctly.
16502 (grub_usbms_transfer): Various important fixups.
16503
165042010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16507 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16508 (grub_ohci_fini_hw): New function.
16509 (grub_ohci_restore_hw): Likewise.
16510 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16511 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16512 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16513
165142010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 Dedicated DMA allocations.
16517
16518 * bus/pci.c (grub_memalign_dma32): New function
16519 (grub_dma_free): Likewise.
16520 (grub_dma_get_virt): Likewise.
16521 (grub_dma_get_phys): Likewise.
16522 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16523 (grub_ohci_pci_iter): Use dma32_alloc.
16524 (grub_ohci_transfer): Likewise.
16525 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16526 (grub_usb_bulk_readwrite): Likewise.
16527 * include/grub/pci.h: Add declarations.
16528
165292010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 CS5536 support.
16532
16533 * bus/cs5536.c: New file.
16534 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16535 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16536 (cs5536_mod_SOURCES): New variable.
16537 (cs5536_mod_CFLAGS): Likewise.
16538 (cs5536_mod_LDFLAGS): Likewise.
16539 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16540 machine/pci.h.
16541 (kernel_img_SOURCES): Add bus/cs5536.c.
16542 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16543 usb_keyboard.mod.
16544 (usb_mod_SOURCES): New variable.
16545 (usb_mod_CFLAGS): New variable.
16546 (usb_mod_LDFLAGS): New variable.
16547 (usbtest_mod_SOURCES): New variable.
16548 (usbtest_mod_CFLAGS): New variable.
16549 (usbtest_mod_LDFLAGS): New variable.
16550 (ohci_mod_SOURCES): New variable.
16551 (ohci_mod_CFLAGS): New variable.
16552 (ohci_mod_LDFLAGS): New variable.
16553 (usbms_mod_SOURCES): New variable.
16554 (usbms_mod_CFLAGS): New variable.
16555 (usbms_mod_LDFLAGS): New variable.
16556 (usb_keyboard_mod_SOURCES): New variable.
16557 (usb_keyboard_mod_CFLAGS): New variable.
16558 (usb_keyboard_mod_LDFLAGS): New variable.
16559 * include/grub/smbus.h: New file.
16560 * include/grub/cs5536.h: New file.
16561
0b35b2a9
CW
165622010-06-02 Colin Watson <cjwatson@ubuntu.com>
16563
16564 * util/grub.d/00_header.in: Add safety check to make sure that
16565 ${locale_dir} exists before trying to probe it.
16566
ca0afd5b
CW
165672010-06-02 Colin Watson <cjwatson@ubuntu.com>
16568
16569 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16570 per the GNU Coding Standards; this is now too obscure to be worth
16571 documenting.
16572 (QNX): Likewise.
16573 (chainloader): Remove cross-reference to `SCO UnixWare'.
16574
1c41aa78
CW
165752010-06-02 Colin Watson <cjwatson@ubuntu.com>
16576
16577 * docs/grub.texi (Chain-loading): New section.
16578 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16579 adjusted for GRUB 2.
16580 (SCO UnixWare): Likewise.
16581 (QNX): Likewise.
16582 (chainloader): Add reference to `Block list syntax'.
16583 (drivemap): New section.
16584 (parttool): New section.
16585
bb8ea0f5
CW
165862010-06-02 Colin Watson <cjwatson@ubuntu.com>
16587
16588 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16589 the grub shell'.
16590 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16591 (Installing GRUB using grub-install): Remove reference to the grub
16592 shell; mention `grub-mkimage' and `grub-setup' instead.
16593 (Invoking grub-install): Likewise.
16594 (Interface): Add reference to `Menu entry editor'.
16595 (serial): Remove `--device' option.
16596
288dd6ed
CW
165972010-06-02 Colin Watson <cjwatson@ubuntu.com>
16598
16599 * docs/grub.texi (Configuration): New section, documenting
16600 configuration file generation using grub-mkconfig. I've left a slot
16601 for documenting the full shell scripting format but have not yet
16602 started on writing that up.
16603 (Invoking grub-mkconfig): New section.
16604
34c9f0e9
CW
166052010-06-02 Colin Watson <cjwatson@ubuntu.com>
16606
16607 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16608 (GNU GRUB manual): Likewise.
16609 (General commands): Update description of `terminfo' for GRUB 2.
16610
9121567e
CW
166112010-06-02 Colin Watson <cjwatson@ubuntu.com>
16612
16613 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16614 (GRUB_MOD_INIT): Fix capitalisation.
16615 * docs/grub.texi (Command-line and menu entry commands): Document
16616 gettext and gptsync commands.
16617
ab631611
CW
166182010-06-02 Colin Watson <cjwatson@ubuntu.com>
16619
16620 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16621 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16622
bde4a9ac
CW
166232010-06-01 Colin Watson <cjwatson@ubuntu.com>
16624
16625 Add btrfs probing support, currently only in the single-device case.
16626
16627 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16628 function.
16629 (grub_guess_root_device): Call find_root_device_from_mountinfo
16630 before looking in /dev.
16631
b1d17e10
VS
166322010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
16635 GRUB_DISK_SIZE_UNKNOWN.
16636 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
16637
dfbfe004
JS
166382010-05-31 Jiro SEKIBA <jir@unicus.jp>
16639
16640 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
16641 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
16642 corrupted or not synced properly.
16643
c2ffc8e9
VS
166442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16645
16646 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
16647 Reported by: Seth Goldberg.
16648
56293166
VS
166492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
16652 addition of dest.
16653 Reported by: Seth Goldberg.
16654
7620e7de
VS
166552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
16658 Reported by: Seth Goldberg.
16659
c837af3f
VS
166602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
16663 64-bit address as signed on MIPS.
16664
c7c75cf4
CW
166652010-05-28 Colin Watson <cjwatson@ubuntu.com>
16666
16667 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
16668 to the empty string.
16669
fa4b8490
BC
166702010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
16671
16672 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
16673
16674 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
16675 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
16676 * kern/misc.c (__enable_execute_stack): Disable on
16677 GRUB_MACHINE_EMU.
16678
a33075b9
CW
166792010-05-28 Colin Watson <cjwatson@ubuntu.com>
16680
16681 Make grub-probe work with symbolic links under /dev/mapper as well
16682 as with real block devices. The Linux world seems to be (at best)
16683 in transition here, and GRUB shouldn't get caught in the middle.
16684
16685 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
16686 /dev/mapper.
16687
d8708134
CW
166882010-05-27 Colin Watson <cjwatson@ubuntu.com>
16689
16690 * util/grub-script-check.c (main): Ensure defined behaviour on empty
16691 input files (in which case exit zero).
16692
db2102a0
CW
166932010-05-27 Colin Watson <cjwatson@ubuntu.com>
16694
16695 * kern/emu/misc.c (canonicalize_file_name): realpath can still
16696 return NULL for various reasons even if it has a maximum-length
16697 buffer: for example, there might be a symlink loop, or the path
16698 might exceed PATH_MAX. If this happens, return NULL.
16699
5fdba519
RM
167002010-05-27 Robert Millan <rmh@gnu.org>
16701
16702 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
16703 partmap module to handle cross-partmap setups.
16704 Reported by Orestes Mas. Gràcies!
16705
d1d368e4
CW
167062010-05-27 Colin Watson <cjwatson@ubuntu.com>
16707
16708 * util/grub-mkrescue.in: Initialise override_dir rather than
16709 assuming that it's unset or empty in the environment.
16710
95ac3c73
GS
167112010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
16712
16713 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
16714 variable index into p_index to suppress a warning with -Wshadow.
16715
7d8c0213
BC
167162010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
16717
16718 * INSTALL: Added flex >= 2.5.35 requirement.
16719
db4d5813
VS
167202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
16723
f24f4300
VS
167242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 cmostest support.
16727
16728 * commands/i386/cmostest.c: New file.
16729 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
16730 (cmostest_mod_SOURCES): New variable.
16731 (cmostest_mod_CFLAGS): Likewise.
16732 (cmostest_mod_LDFLAGS): Likewise.
16733 * conf/i386-pc.rmk: Likewise.
16734 * docs/grub.texi (Vendor power-on keys): New section.
16735 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
16736 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
16737 and GRUB_BUTTON_CMOS_ADDRESS.
16738 * util/grub.d/00_header.in: Handle powering-on by separate button.
16739
ad603f61
VS
167402010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
16743 Removed drawing_scrollbar argument. All users updated
16744 Fixes #29792.
16745 Reported by Jo Shields
16746
3ecb080a
VS
167472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
16750 buffer since gfxterm handles double repaint.
16751
5f2316c1
VS
167522010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16753
16754 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
16755 * term/gfxterm.c (real_scroll): Likewise.
16756
9a25f885
VS
167572010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
16760 before calling BIOS.
16761
39fbb79a
VS
167622010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 * include/grub/i18n.h: Always enable grub_gettext.
16765
228cfa97
VS
167662010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16767
16768 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
16769 partition naming style.
16770
21717c8f
CW
167712010-05-21 Colin Watson <cjwatson@ubuntu.com>
16772
16773 * util/grub-mkconfig.in: Fix handling of -o so that it works when
16774 not the first option.
16775
c0f48e65
CW
167762010-05-20 Colin Watson <cjwatson@ubuntu.com>
16777
16778 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
16779
96779aec
CW
167802010-05-20 Colin Watson <cjwatson@ubuntu.com>
16781
16782 * util/misc.c: Move inclusion of <limits.h> to ...
16783 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
16784
fa9d256e
GS
167852010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
16786
16787 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
16788 Fix merge error in NetBSD code.
16789 (find_partition_start) [__NetBSD__]: Likewise.
16790
123b7a85
BC
167912010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
16792
16793 Fix grub-mkrescue usage unit testing.
16794
16795 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
16796
74276c0d
CF
167972010-05-18 Christian Franke <franke@computer.org>
16798
16799 * util/grub.d/10_windows.in: Use path names instead of
16800 drive letters to prevent warning from Cygwin 1.7.
16801 Add drivemap command to menuentry if needed.
16802
c4f7b523
ST
168032010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
16804
16805 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
16806 gnumach and gnumach.gz.
16807
95b97950
VS
168082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 * include/grub/i18n.h (gettext): Inline instead of using #define.
16811 (grub_gettext): Likewise.
16812 (_): Likewise.
16813
01b8d2d7
VS
168142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
16817 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
16818 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
16819 (main): Add a slash after pkglibdirroot.
16820
654e1d1e
VS
168212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 * util/grub-install.in: Add missing "in" keyword.
16824
26966aeb
VS
168252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
16828 Reported by: Seth Goldberg.
16829
75006747
VS
168302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16831
16832 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
16833
74cbf5bd
CW
168342010-05-18 Colin Watson <cjwatson@ubuntu.com>
16835
16836 * configure.ac: Check for Linux device-mapper support.
16837
16838 * util/hostdisk.c (device_is_mapped): New function.
16839 (find_partition_start): New function, partly broken out from
16840 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
16841 device-mapper support added.
16842 (linux_find_partition): Use find_partition_start.
16843 (convert_system_partition_to_system_disk): Add `st' argument.
16844 Support Linux /dev/mapper/* devices if device-mapper support is
16845 available; only DM-RAID devices are understood at present.
16846 (find_system_device): Add `st' argument. Pass it to
16847 convert_system_partition_to_system_disk.
16848 (grub_util_biosdisk_get_grub_dev): Pass stat result to
16849 find_system_device and convert_system_partition_to_system_disk. Use
16850 find_partition_start.
16851
16852 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
16853 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
16854 * util/deviceiter.c [__linux__]: Define MINOR.
16855 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
16856 * util/mkdevicemap.c (grub_putchar): New function.
16857 (grub_getkey): New function.
16858 (grub_refresh): New function.
16859 (main): Set debug=all if -v -v is used.
16860
355b51e9
CW
168612010-05-18 Colin Watson <cjwatson@ubuntu.com>
16862
16863 Fix build with non-GNU libcs.
16864
16865 * util/misc.c (canonicalize_file_name): Move to ...
16866 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
16867 grub_make_system_path_relative_to_its_root.
16868
7fb5c25f
CW
168692010-05-18 Colin Watson <cjwatson@ubuntu.com>
16870
16871 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
16872 we handle finding grub-mkimage. Default to finding grub-mkimage in
16873 ${bindir} with program_transform_name applied, and provide a
16874 --grub-mkimage option to override this.
16875
1d3293d6
VS
168762010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 Remove grub-mkisofs.
16879
16880 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
16881 (grub_mkisofs_SOURCES): Removed.
16882 (grub_mkisofs_CFLAGS): Removed.
16883 * util/mkisofs/defaults.h: Removed.
16884 * util/mkisofs/eltorito.c: Likewise.
16885 * util/mkisofs/exclude.h: Likewise.
16886 * util/mkisofs/hash.c: Likewise.
16887 * util/mkisofs/include/: Likewise.
16888 * util/mkisofs/include/fctldefs.h: Likewise.
16889 * util/mkisofs/include/mconfig.h: Likewise.
16890 * util/mkisofs/include/prototyp.h: Likewise.
16891 * util/mkisofs/include/statdefs.h: Likewise.
16892 * util/mkisofs/iso9660.h: Likewise.
16893 * util/mkisofs/joliet.c: Likewise.
16894 * util/mkisofs/match.c: Likewise.
16895 * util/mkisofs/match.h: Likewise.
16896 * util/mkisofs/mkisofs.c: Likewise.
16897 * util/mkisofs/mkisofs.h: Likewise.
16898 * util/mkisofs/msdos_partition.h: Likewise.
16899 * util/mkisofs/multi.c: Likewise.
16900 * util/mkisofs/name.c: Likewise.
16901 * util/mkisofs/rock.c: Likewise.
16902 * util/mkisofs/tree.c: Likewise.
16903 * util/mkisofs/write.c: Likewise.
16904
5dde9afe
VS
169052010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 Unify grub-mkimage accross platforms.
16908
16909 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
16910 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
16911 (grub_mkelfimage_SOURCES): Removed.
16912 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
16913 (util/grub-mkimage.c_DEPENDENCIES): .. this.
16914 (bin_UTILITIES): Add grub-mkimage.
16915 (grub_mkimage_SOURCES): New variable.
16916 (kernel_img_HEADERS): Remove machine/kernel.h.
16917 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
16918 (pkglib_PROGRAMS): Add kernel.img.
16919 (kernel_img_HEADERS): Add machine/kernel.h.
16920 (kernel_img_FORMAT): Removed.
16921 (bin_UTILITIES): Remove grub-mkimage.
16922 (grub_mkimage_SOURCES): Removed.
16923 (grub_mkimage_CFLAGS): Likewise.
16924 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16925 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
16926 (pkglib_PROGRAMS): Add kernel.img.
16927 (bin_UTILITIES): Remove grub-mkimage.
16928 (grub_mkimage_SOURCES): Removed.
16929 (grub_mkimage_CFLAGS): Likewise.
16930 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16931 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
16932 (pkglib_PROGRAMS): Add kernel.img.
16933 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
16934 (pkglib_PROGRAMS): Add kernel.img.
16935 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
16936 (grub_mkimage_SOURCES): Removed.
16937 (grub_mkimage_CFLAGS): Likewise.
16938 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16939 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
16940 (pkglib_PROGRAMS): Add kernel.img.
16941 (bin_UTILITIES): Remove grub-mkimage.
16942 (grub_mkimage_SOURCES): Removed.
16943 (grub_mkimage_CFLAGS): Likewise.
16944 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16945 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
16946 (grub_mkimage_SOURCES): Removed.
16947 (grub_mkimage_CFLAGS): Likewise.
16948 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16949 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
16950 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
16951 (grub_pe32_optional_header): ... this.
16952 (grub_pe64_optional_header): ... and this. All users updated.
16953 (GRUB_PE32_PE32_MAGIC): Split into ..
16954 (GRUB_PE32_PE32_MAGIC): .. this.
16955 (GRUB_PE32_PE64_MAGIC): .. and this.
16956 (GRUB_PE32_SIGNATURE_SIZE): New definition.
16957 * include/grub/elf.h (PT_GNU_STACK): New definition.
16958 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
16959 * include/grub/i386/efi/kernel.h: Likewise.
16960 * include/grub/i386/kernel.h: Likewise.
16961 * include/grub/i386/pc/kernel.h: Likewise.
16962 * include/grub/i386/qemu/boot.h: Likewise.
16963 * include/grub/mips/kernel.h: Likewise.
16964 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16965 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16966 * include/grub/powerpc/kernel.h: Likewise.
16967 * include/grub/sparc64/ieee1275/boot.h: Likewise.
16968 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16969 * include/grub/sparc64/kernel.h: Likewise.
16970 * include/grub/x86_64/efi/kernel.h: Likewise.
16971 * include/grub/x86_64/kernel.h: Likewise.
16972 * include/grub/offsets.h: New file.
16973 * include/grub/kernel.h (grub_module_info): Split into ...
16974 (grub_module_info32): ... this.
16975 (grub_module_info64): ... and this.
16976 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
16977 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
16978 (grub_boot_blocklist): Moved from here ...
16979 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
16980 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
16981 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
16982 * include/grub/types.h (grub_target_to_host16): Removed.
16983 (grub_target_to_host32): Likewise.
16984 (grub_target_to_host64): Likewise.
16985 (grub_host_to_target16): Likewise.
16986 (grub_host_to_target32): Likewise.
16987 (grub_host_to_target64): Likewise.
16988 (grub_host_to_target_addr): Likewise.
16989
16990 Support grub-mkrescue for efi, coreboot and qemu.
16991
16992 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
16993 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
16994 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
16995 * util/grub-mkrawimage.c: Moved from here ...
16996 * util/grub-mkimage.c: ... here. All users updated.
16997 (ALIGN_ADDR): Use image_target.
16998 (TARGET_NO_FIELD): New const.
16999 (image_target_desc): New type.
17000 (image_targets): New array.
17001 (grub_target_to_host64): Use image_target.
17002 (grub_target_to_host32): Likewise.
17003 (grub_target_to_host16): Likewise.
17004 (grub_host_to_target64): Likewise.
17005 (grub_host_to_target32): Likewise.
17006 (grub_host_to_target16): Likewise.
17007 (grub_host_to_target_addr): Likewise.
17008 (generate_image): Handle multiimage.
17009 (main): Require -O parameter. All users updated.
17010 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17011 util/efi/grub-mkimage.c
17012 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17013 New option --rom-directory.
17014 Use xorriso.
17015 * util/i386/efi/grub-mkimage.c: Removed.
17016 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17017 (grub_target_to_host32): Likewise.
17018 (grub_target_to_host64): Likewise.
17019 (grub_host_to_target16): Likewise.
17020 (grub_host_to_target32): Likewise.
17021 (grub_host_to_target64): Likewise.
17022 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17023 (grub_target_to_host32): Likewise.
17024 (grub_target_to_host64): Likewise.
17025 (grub_host_to_target16): Likewise.
17026 (grub_host_to_target32): Likewise.
17027 (grub_host_to_target64): Likewise.
17028
f4fc97d0
BC
170292010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17030
17031 Source tree is reorganized for emu build.
17032
17033 * include/grub/util/console.h: Move from here...
17034 * include/grub/emu/console.h: ...to here.
17035 * include/grub/util/getroot.h: Move from here...
17036 * include/grub/emu/getroot.h: ...to here.
17037 * include/grub/util/hostdisk.h: Move from here...
17038 * include/grub/emu/hostdisk.h: ...to here.
17039 * util/console.c: Move from here...
17040 * kern/emu/console.c: ...to here.
17041 * util/getroot.c: Move from here...
17042 * kern/emu/getroot.c: ...to here.
17043 * util/grub-emu.c: Move from here...
17044 * kern/emu/main.c: ...to here.
17045 * util/hostdisk.c: Move from here...
17046 * kern/emu/hostdisk.c: ...to here.
17047 * util/hostfs.c: Move from here...
17048 * kern/emu/hostfs.c: ...to here.
17049 * util/mm.c: Move from here...
17050 * kern/emu/mm.c: ...to here.
17051 * util/pci.c: Move from here...
17052 * bus/emu/pci.c: ...to here.
17053 * util/sdl.c: Move from here...
17054 * video/emu/sdl.c: ...to here.
17055 * util/time.c: Move from here...
17056 * kern/emu/time.c: ...to here.
17057 * util/usb.c: Move from here...
17058 * bus/usb/emu/usb.c: ...to here.
17059
17060 * include/grub/emu/misc.h: New header for grub-emu functions.
17061 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17062
17063 * conf/any-emu.rmk: Rule updates for above renames.
17064 * conf/common.rmk: Likewise.
17065 * conf/i386-pc.rmk: Likewise.
17066 * conf/i386-qemu.rmk: Likewise.
17067 * conf/mips.rmk: Likewise.
17068 * conf/sparc64-ieee1275.rmk: Likewise.
17069 * conf/x86-efi.rmk: Likewise.
17070
17071 * disk/lvm.h: #include updates for above renames.
17072 * util/grub-mkrelpath.c: Likewise.
17073 * util/grub-probe.c: Likewise.
17074 * util/i386/pc/grub-setup.c: Likewise.
17075 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17076 * kern/emu/console.c: Likewise.
17077 * kern/emu/getroot.c: Likewise.
17078 * kern/emu/hostdisk.c: Likewise.
17079 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17080
17081 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17082 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17083 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17084 * util/misc.c: Remove grub-emu functions.
17085
cced9145
VS
170862010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 Fix gfxmenu crash.
17089 Reported by: Thorsten Grützmacher.
17090
17091 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17092 timeout hook.
17093 (circprog_set_property): Register and unregister timeout hook.
17094 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17095 (label_destroy): Free template. and unregister hook.
17096 (label_set_state): New function.
17097 (label_set_property): Handle templates and hooks.
17098 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17099 timeout hook.
17100 (progress_bar_set_property): Register and unregister timeout hook.
17101 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17102 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17103 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17104 (update_timeout_visit): Removed.
17105 (update_timeouts): New function.
17106 (redraw_timeouts): Likewise.
17107 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17108 (grub_gfxmenu_clear_timeout): Likewise.
17109 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17110 (grub_gfxmenu_timeout_notify): Likewise.
17111 (grub_gfxmenu_timeout_notifications): New external variable.
17112 (grub_gfxmenu_timeout_register): New function.
17113 (grub_gfxmenu_timeout_unregister): Likewise.
17114
c6e5caab
VS
171152010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 Transform (broken) vga terminal into (working) vga video driver.
17118
17119 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17120 video/i386/pc/vga.c.
17121 * include/grub/video.h (grub_video_driver_id):
17122 Add GRUB_VIDEO_DRIVER_VGA.
17123 * term/i386/pc/vga.c: Renamed to ...
17124 * video/i386/pc/vga.c: ...this
17125 (DEBUG_VGA): Removed.
17126 (CHAR_WIDTH): Likewise.
17127 (CHAR_HEIGHT): Likewise.
17128 (TEXT_WIDTH): Likewise.
17129 (TEXT_HEIGHT): Likewise.
17130 (DEFAULT_FG_COLOR): Likewise.
17131 (DEFAULT_BG_COLOR): Likewise.
17132 (colored_char): Likewise.
17133 (xpos): Likewise.
17134 (ypos): Likewise.
17135 (cursor_state): Likewise.
17136 (fg_color): Likewise.
17137 (bg_color): Likewise.
17138 (text_buf): Likewise.
17139 (page): Likewise.
17140 (font): Likewise.
17141 (framebuffer): New variable.
17142 (set_read_map): Disabled.
17143 (setup): New variable.
17144 (is_target): Likewise.
17145 (grub_vga_mod_init): Likewise.
17146 (grub_vga_mod_fini): Likewise.
17147 (check_vga_mem): Likewise.
17148 (write_char): Likewise.
17149 (write_cursor): Likewise.
17150 (scroll_up): Likewise.
17151 (grub_vga_putchar): Likewise.
17152 (grub_vga_getcharwidth): Likewise.
17153 (grub_vga_getwh): Likewise.
17154 (grub_vga_getxy): Likewise.
17155 (grub_vga_gotoxy): Likewise.
17156 (grub_vga_cls): Likewise.
17157 (grub_vga_setcolorstate): Likewise.
17158 (grub_vga_setcursor): Likewise.
17159 (grub_video_vga_init): New function.
17160 (grub_video_vga_setup): Likewise.
17161 (grub_video_vga_fini): Likewise.
17162 (update_target): Likewise.
17163 (grub_video_vga_blit_bitmap): Likewise.
17164 (grub_video_vga_blit_render_target): Likewise.
17165 (grub_video_vga_set_active_render_target): Likewise.
17166 (grub_video_vga_get_active_render_target): Likewise.
17167 (grub_video_vga_swap_buffers): Likewise.
17168 (grub_video_vga_set_palette): Likewise.
17169 (grub_video_vga_get_info_and_fini): Likewise.
17170 (grub_vga_term): Removed.
17171 (grub_video_vga_adapter): New variable.
17172 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17173 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17174
2bf61a98
VS
171752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 * video/readers/jpeg.c: Indented.
17178
09ddcd11
VS
171792010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17180
17181 Various jpeg cleanups.
17182
17183 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17184 (grub_jpeg_decode_quan_table): Use sizeof.
17185 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17186
e5507505
PH
171872010-05-05 Peter Hurley <No e-mail available> (tiny change)
17188
17189 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17190 tables. Ignore non-last ac bit.
17191 (grub_jpeg_decode_quan_table): Likewise.
17192
7e720a9b
VS
171932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17194
17195 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17196 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17197 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17198 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17199 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17200 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17201
a7fc080b
VS
172022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17205 error.
17206
2bf6012d
VS
172072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17210
265d68cd
VS
172112010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17214 condition.
17215
172162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17217
17218 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17219 part.
17220
265d68cd 172212010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17222
17223 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17224 pointers.
17225
265d68cd 172262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17227
17228 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17229
d1b61374
CF
172302010-05-01 Christian Franke <franke@computer.org>
17231
17232 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17233 Remove broken Cygwin path conversion.
17234 * util/misc.c: [__CYGWIN__] Add include and define.
17235 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17236 for Cygwin 1.7.
17237 (make_system_path_relative_to_its_root): Simplify loop, replace early
17238 return by break.
17239 [__CYGWIN__] Add conversion to win32 path.
17240 Include "/" case in trailing slash removal.
17241
3558c6e9
VS
172422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17245 Reported by: Seth Goldberg
17246
f5f3ff93
VS
172472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 * commands/help.c (grub_cmd_help): Fix a typo.
17250 Reported by: Seth Goldberg
17251
d8b5cd40
VS
172522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17253
17254 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17255 name and add N_.
17256 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17257 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17258 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17259 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17260 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17261 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17262 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17263 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17264 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17265 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17266 * normal/context.c (GRUB_MOD_INIT): Likewise.
17267 * normal/main.c (GRUB_MOD_INIT): Likewise.
17268 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17269 * term/serial.c (GRUB_MOD_INIT): Likewise.
17270 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17271
88c14915
VS
172722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17275 extra == 0.
17276
165134bc
VS
172772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * commands/iorw.c: New file.
17280 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17281 (iorw_mod_SOURCES): New variable.
17282 (iorw_mod_CFLAGS): Likewise.
17283 (iorw_mod_LDFLAGS): Likewise.
17284
c5ac9b32
VS
172852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 Hotkey support
17288
17289 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17290 * normal/main.c (hotkey_aliases): New variable.
17291 (grub_normal_add_menu_entry): Parse "--hotkey".
17292 * normal/menu_text.c (run_menu): Handle hotkeys.
17293
ce60689c
VS
172942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 * kern/i386/coreboot/init.c (grub_machine_init): Call
17297 grub_machine_mmap_init on qemu.
17298
0359d006
VS
172992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 * boot/i386/qemu/boot.S: Add a missing .code16.
17302
7819a456
VS
173032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17304
17305 Use LBIO on coreboot.
17306
17307 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17308 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17309 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17310 New declaration.
17311 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17312 grub_machine_mmap_init on coreboot.
17313 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17314 GRUB_LINUXBIOS_MEMBER_LINK.
17315 (grub_machine_mmap_iterate): Fix declaration.
17316 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17317
7210dca9
VS
173182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17319
17320 Split coreboot and multiboot ports.
17321
17322 * conf/i386-multiboot.rmk: New file.
17323 * configure.ac: Add multiboot port.
17324 * include/grub/i386/multiboot/boot.h: New file.
17325 * include/grub/i386/multiboot/console.h: Likewise.
17326 * include/grub/i386/multiboot/init.h: Likewise.
17327 * include/grub/i386/multiboot/kernel.h: Likewise.
17328 * include/grub/i386/multiboot/loader.h: Likewise.
17329 * include/grub/i386/multiboot/memory.h: Likewise.
17330 * include/grub/i386/multiboot/serial.h: Likewise.
17331 * include/grub/i386/multiboot/time.h: Likewise.
17332 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17333 * loader/multiboot.c: Likewise.
17334 * loader/multiboot_mbi2.c: Likewise.
17335 * util/grub-mkrescue.in: Generate multiboot rescue.
17336
6f8aaf68
VS
173372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17338
3080f7a7
VS
17339 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17340
173412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17344
17345 * commands/terminal.c (abstract_terminal): New struct.
17346 (handle_command): New function. Based on grub_cmd_terminal_input.
17347 (grub_cmd_terminal_input): Use handle_command.
17348 (grub_cmd_terminal_output): Use handle_command.
17349
a8ebb841
BC
173502010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17351
17352 Fix comment handling.
17353
17354 * tests/grub_script_comments.in: New testcase.
17355 * conf/tests.rmk: Rules for new testcase.
17356 * script/yylex.l: Updated flex rules.
17357
bb06ba08
ST
173582010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17359
17360 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17361 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17362 if argc is 1.
bb06ba08 17363
cc9d2425
VS
173642010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17367 autogen issues.
17368
460d8402
CF
173692010-04-26 Christian Franke <franke@computer.org>
17370
17371 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17372 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17373 (grub_get_prefix): Remove function.
17374 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17375 make_system_path_relative_to_its_root ().
17376 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17377
553c01f9
CF
173782010-04-24 Christian Franke <franke@computer.org>
17379
17380 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17381 (kernel_img_LDFLAGS): Remove -static-libgcc.
17382
2aec1692
CF
173832010-04-24 Christian Franke <franke@computer.org>
17384
17385 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17386 and CHECK_END_SYMBOL if grub-emu is built.
17387 Unset TARGET_OBJ2ELF if grub-emu is built
17388 without module support.
17389
f67dc308
JS
173902010-04-24 Jiro SEKIBA <jir@unicus.jp>
17391
17392 Nilfs2 support.
17393
17394 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17395 (grub_fstest_SOURCES): Likewise.
17396 (pkglib_MODULES): Add nilfs2.mod.
17397 (nilfs2_mod_SOURCES): New variable.
17398 (nilfs2_mod_CFLAGS): Likewise.
17399 (nilfs2_mod_LDFLAGS): Likewise.
17400 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17401 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17402 * fs/nilfs2.c: New file.
17403
4ba8d354
VS
174042010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17405
17406 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17407 is not supported.
17408
0d2c20c6
GS
174092010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17410
17411 Add grub-mkconfig support for NetBSD.
17412
17413 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17414 * util/grub-mkconfig.in: export new NetBSD specific variables.
17415 * po/POTFILES-shell: added 10_netbsd.in.
17416 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17417
bc4a2d83
BC
174182010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17419
17420 Fix emu build with grub-emu-pci and grub-emu-modules.
17421
17422 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17423 functions.
17424 * include/grub/libpciaccess.h: New file.
17425 * conf/any-emu.rmk: Update kernel headers for emu build.
17426
f48c87aa
VS
174272010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17428
17429 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17430
18959385
VS
174312010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17434
0037de3f
VS
174352010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17438 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17439 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17440 util/ieee1275/ofpath.c.
17441 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17442 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17443 * include/grub/sparc64/ieee1275/boot.h
17444 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17445 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17446 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17447 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17448 const char *.
17449 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17450 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17451 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17452 install.
17453
38e55e90
GS
174542010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17455
17456 * util/grub-mkconfig.in: Corrected two == equality tests.
17457 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17458 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17459 expect a number appended to it.
17460 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17461 expects a number appended to it.
17462
a9e6ff28
VS
174632010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17464
17465 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17466
0b830b8f
VS
174672010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 * util/hostdisk.c (make_device_name): Change to new partition naming.
17470
0973daeb
VS
174712010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17472
17473 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17474
460d8402 174752010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17476
17477 * Makefile.in: Add missing localedir setting.
17478
0b456309
CW
174792010-04-14 Colin Watson <cjwatson@ubuntu.com>
17480
17481 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17482 mistake in r2156. Noticed by Anthony Fok.
17483
17484 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17485 @localedir@.
17486 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17487
08f46d62
BC
174882010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17489
17490 Fix a spurious, uninitialized variable warning.
17491
17492 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17493 Initialize variable, shdr.
17494 (grub_freebsd_load_elfmodule): Likewise.
17495 (grub_freebsd_load_elf_meta): Likewise.
17496
8c4a72d4
BC
174972010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17498
17499 Fix for escaped dollar in double quoted strings.
17500
17501 * script/yylex.l: Updated flex rules.
17502 * conf/tests.rmk: Rule for new testcase.
17503 * tests/grub_script_dollar.in: New testcase.
17504
ce44826e
CPE
175052010-04-13 Carles Pina i Estany <carles@pina.cat>
175062010-04-13 Colin Watson <cjwatson@ubuntu.com>
17507
17508 Enclose all translated strings in grub.cfg in single quotes, and
17509 escape them appropriately (Ubuntu bug #552921).
17510
17511 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17512 * util/grub.d/10_hurd.in: Use it.
17513 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17514 * util/grub.d/10_linux.in (linux_entry): Likewise.
17515
4b0cd8f8
VS
175162010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 Fix cygwin compilation.
17519
17520 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17521 * include/grub/misc.h (__register_frame_info)
17522 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17523 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17524 * kern/misc.c (__register_frame_info)
17525 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17526 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17527
01fcf061
VS
175282010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17531
5d04b11e
VS
175322010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 Unify libgcc processing.
17535
17536 * Makefile.in (kernel_img_LDFLAGS): New variable.
17537 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17538 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17539 overwriting.
17540 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17541 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17542 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17543 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17544 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17545 overwriting. Remove -lgcc and -static-libgcc
17546 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17547 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17548 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17549 (kernel_img_LDFLAGS): Append instead of overwriting.
17550 Remove -lgcc and -static-libgcc
17551 * conf/sparc64-ieee1275.rmk: Likewise.
17552 * include/grub/powerpc/libgcc.h: Move to ...
17553 * include/grub/libgcc.h: .. this.
17554 * include/grub/libgcc.h: Don't export most of the function on x86.
17555 (__bswapsi2): New export.
17556 (__bswapdi2): Likewise.
17557 * include/grub/mips/libgcc.h: Removed.
17558 * include/grub/sparc64/libgcc.h: Likewise.
17559
b7f3ac29
VS
175602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17563 disk_info_msg (conflicts with gettexting into languages with cases).
17564
2c7031b1
GS
175652010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17566
17567 Add grub-probe support for NetBSD.
17568
17569 * util/getroot.c (find_root_device): Convert block device to
17570 character device on NetBSD.
17571 * util/probe.c (probe): Require character device on NetBSD.
17572 * util/hostdisk.c: NetBSD specific headers.
17573 (configure_device_driver): new function to tune device driver
17574 parameters (currently only for NetBSD floppy driver).
17575 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17576 via disklabel ioctl).
17577 (open_device): call configure_device_driver on NetBSD.
17578 (convert_system_partition_to_system_disk): NetBSD specific code.
17579 (device_is_wholedisk): Likewise.
17580 (grub_util_biosdisk_get_grub_dev): Likewise.
17581 (make_device_name): Fixed a typo in bsd_part_str.
17582 * configure.ac: check for opendisk() and getrawpartition() on
17583 NetBSD and set LIBUTIL.
17584 * Makefile.in: add LIBUTIL to LIBS.
17585
f516290c
BC
175862010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17587
17588 Documentation fix.
17589
17590 * util/grub-script-check.c: Better help message.
17591
d8dcc0df
BC
175922010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17593
17594 Fix FreeBSD build.
17595
17596 * configure.ac: Flex version check.
17597 * conf/common.rmk: Add -Wno-error to sh.mod.
17598 * script/yylex.l: Remove all #pragma.
17599
6734334a
VS
176002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17603 prototype.
17604 Reported by: Seth Goldberg.
17605
daea6abd
VS
176062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17609 Rename "module" to "module2".
17610 Reported by: Seth Goldberg.
17611
f2fd9d2b
VS
176122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17615 EXPORT_FUNC.
17616 Reported by: Seth Goldberg.
17617
be124579
VS
176182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * lib/posix_wrap/locale.h: Add missing file.
17621 Reported by: Seth Goldberg.
17622
ef5da797
VS
176232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 grub-emu module load support.
17626
17627 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17628 NO_DYNAMIC_MODULES switched to this.
17629 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17630 (CFLAGS): Likewise.
17631 * conf/any-emu.rmk: Generate symlist.
17632 (kernel_img_HEADERS): Add util/datetime.h.
17633 (kernel_img_HEADERS) [sdl]: Add sdl.h.
17634 (kernel_img_HEADERS) [libusb]: Add libusb.h.
17635 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
17636 kern/$(target_cpu)/cache.S.
17637 * configure.ac (grub-emu-modules): New option.
17638 * genmk.rb: Handle multiple source lists.
17639 * include/grub/sdl.h: New file.
17640 * include/grub/libusb.h: Likewise.
17641 * util/grub-emu.c (main): Hanle (host) root.
17642 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
17643 GRUB_ERR_UNKNOWN_DEVICE.
17644 * util/misc.c: Move mm functions to ...
17645 * util/mm.c: ... here. All users updated.
17646
47822096
VS
176472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
17650 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
17651 missing files.
17652 (maintainer-clean): Remove libgcrypt-grub.
17653
5d7e7445
VS
176542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
17657
25f4e252
EC
176582010-04-09 EFI Coder <eficoder@hotmail.com>
17659
17660 * normal/menu_text.c (print_message): Clean up the message and show
17661 the Fn information when on EFI
17662 * term/efi/console.c (grub_console_checkkey): Add F4 support.
17663
027de555
VS
176642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
17667 All users updated.
17668 * normal/crypto.c (read_crypto_list): Likewise.
17669 * normal/dyncmd.c (read_command_list): Likewise.
17670 * normal/term.c (read_terminal_list): Likewise.
17671 * normal/main.c (read_lists): Use explicit prefix.
17672 (read_lists_hook): Use read_lists.
17673 (grub_normal_execute): Likewise.
17674
47779711
VS
176752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
17678 Reported by: Thomas Schmitt.
17679 Add -no-emul-boot to grub-mkisofs parameters.
17680
1118c32e
VS
176812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * font/font.c: Indented.
17684
7d652447
BC
176852010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17686
17687 Elif support to GRUB script (by Deepak Vankadaru).
17688
17689 * tests/grub_script_if.in: New testcase.
17690 * conf/tests.rmk: Rule for new testcase.
17691 * script/parser.y: Grammar rules for elif.
17692
34bb22df
BC
176932010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17694
17695 While and until loops support to GRUB script.
17696
17697 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
17698 (grub_script_create_cmdwhile): New function prototype.
17699 (grub_script_execute_cmdwhile): New function prototype.
17700 * script/execute.c (grub_script_execute_cmdwhile): New function.
17701 * script/parser.y (command): New commands.
17702 (whilecmd): New grammar rule.
17703 (untilcmd): New grammar rule.
17704 * script/script.c (grub_script_create_cmdwhile): New function.
17705 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
17706 function.
17707
17708 * tests/grub_script_while1.in: New testcase.
17709 * conf/tests.rmk: Rule for new testcase.
17710
e215d8e0
VS
177112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
17714 as *.jpg.
17715
d7c43ba1
MV
177162010-04-09 Mario Vazquez <mariovazq@gmail.com>
17717
17718 GRUB_BACKGROUND support.
17719
17720 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
17721 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
17722
d64795c0
VS
177232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 17726 Idea by: Mario Vazquez
d64795c0
VS
17727
17728 * util/grub.d/00_header.in: Load pf2 and image modules.
17729
f267f83a
VS
177302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 grub-mkconfig multiple terminal support.
17733
17734 * util/grub-mkconfig.in: Handle multiple terminals correctly.
17735 * util/grub.d/00_header.in: Likewise.
17736
b7841ceb
VS
177372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * Makefile.in: Specify files explicitly instead of using $< and $@ since
17740 we use cd $(srcdir).
17741
df60998c
CW
177422010-04-08 Colin Watson <cjwatson@ubuntu.com>
17743
17744 * util/grub.d/10_linux.in: Only use the first word of
17745 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
17746 spaces in GRUB_DISTRIBUTOR.
17747 * util/grub.d/10_kfreebsd.in: Likewise.
17748 * util/grub.d/10_hurd.in: Likewise.
17749
fa09c82e
BC
177502010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
17751
14e18ae3 17752 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
17753
17754 * tests/util/grub-shell.in: Remove -serial stdio option.
17755
daf892b3
BC
177562010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17757
17758 POSIX header file wrappers.
17759
17760 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
17761 equivalents.
17762 * lib/posix_wrap/ctype.h: Likewise.
17763 * lib/posix_wrap/errno.h: Likewise.
17764 * lib/posix_wrap/langinfo.h: Likewise.
17765 * lib/posix_wrap/limits.h: Likewise.
17766 * lib/posix_wrap/localcharset.h: Likewise.
17767 * lib/posix_wrap/stdint.h: Likewise.
17768 * lib/posix_wrap/stdio.h: Likewise.
17769 * lib/posix_wrap/stdlib.h: Likewise.
17770 * lib/posix_wrap/string.h: Likewise.
17771 * lib/posix_wrap/sys/types.h: Likewise.
17772 * lib/posix_wrap/unistd.h: Likewise.
17773 * lib/posix_wrap/wchar.h: Likewise.
17774 * lib/posix_wrap/wctype.h: Likewise.
17775 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
17776 (grub_script.yy.h): Likewise.
17777 * script/yylex.l: Remove POSIX emulation #defines.
17778 * Makefile.in (POSIX_CFLAGS): New variable.
17779 (GNULIB_UTIL_CFLAGS): Likewise.
17780
17781 Regexp support.
17782
17783 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
17784 (regexp_mod_SOURCES): New variable.
17785 (regexp_mod_CFLAGS): Likewise.
17786 (regexp_mod_LDFLAGS): Likewise.
17787 * commands/regexp.c: New file.
17788 * gnulib/regcomp.c: New file. Imported from gnulib.
17789 * gnulib/regex.c: Likewise.
17790 * gnulib/regex_internal.c: Likewise.
17791 * gnulib/regex_internal.h: Likewise.
17792 * gnulib/regexec.c: Likewise.
17793 * gnulib/regex.h: Likewise.
17794
974ac4f7
VS
177952010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
17798 unsupported video mode types.
17799
2622c3ff
VS
178002010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
17803
064cb524
VS
178042010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
17807 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
17808
a8c3b552
VS
178092010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 Remove unused grub_vga_get_font.
17812
17813 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
17814 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
17815
187bbe3d
GS
178162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17817
17818 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
17819 * include/grub/misc.h: Likewise.
17820
b9396631
GS
178212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17822
17823 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
17824 for which failure is fatal.
17825
50479feb
GS
178262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17827
17828 * util/grub-install.in: Use mkdir -p to create grub directory.
17829 * util/i386/efi/grub-install.in: Likewise.
17830 * util/ieee1275/grub-install.in: Likewise.
17831
b1654fdf
GS
178322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17833
17834 * Makefile.in (LEX): new variable.
17835
bd5a6415
GS
178362010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17837
17838 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
17839 `=' and added double quotes on operands of this equality test.
17840
3db3a82b
VS
178412010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17842
17843 * Makefile.in (uninstall): Remove a leftover debug echo.
17844 Reported by: Grégoire Sutre
17845
38023412
VS
178462010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 MIPS multiboot2 support.
17849
17850 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
17851 (multiboot2_mod_SOURCES): New variable.
17852 (multiboot2_mod_CFLAGS): Likewise.
17853 (multiboot2_mod_LDFLAGS): Likewise.
17854 (multiboot2_mod_ASFLAGS): Likewise.
17855 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
17856 definition.
17857 (MULTIBOOT_ENTRY_REGISTER): Likewise.
17858 (MULTIBOOT_MBI_REGISTER): Likewise.
17859 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
17860 (MULTIBOOT_ELF32_MACHINE): Likewise.
17861 (MULTIBOOT_ELF64_MACHINE): Likewise.
17862 * include/grub/mips/multiboot.h: New file.
17863 * include/grub/video.h (grub_video_driver_id): New type
17864 GRUB_VIDEO_DRIVER_SM712.
17865 (grub_video_get_info_and_fini): Export.
17866 (grub_video_get_palette): Likewise.
17867 (grub_video_get_driver_id): Likewise.
17868 * include/multiboot2.h: Resynced with spec.
17869 * loader/i386/multiboot.c: Moved from here ...
17870 * loader/multiboot.c: ... here. All users updated.
17871 (grub_multiboot_boot): Use platform-specific macros.
17872 * loader/i386/multiboot_elfxx.c: Moved from here ...
17873 * loader/multiboot_elfxx.c: ... here. All users updated.
17874 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
17875 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
17876 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
17877
47674667
VS
178782010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 Import gnulib argp module.
17881
17882 * gnulib/argp-ba.c: New file.
17883 * gnulib/argp-eexst.c: Likewise.
17884 * gnulib/argp-fmtstream.c: Likewise.
17885 * gnulib/argp-fmtstream.h: Likewise.
17886 * gnulib/argp-fs-xinl.c: Likewise.
17887 * gnulib/argp-help.c: Likewise.
17888 * gnulib/argp-namefrob.h: Likewise.
17889 * gnulib/argp-parse.c: Likewise.
17890 * gnulib/argp-pin.c: Likewise.
17891 * gnulib/argp-pv.c: Likewise.
17892 * gnulib/argp-pvh.c: Likewise.
17893 * gnulib/argp-version-etc.c: Likewise.
17894 * gnulib/argp-version-etc.h: Likewise.
17895 * gnulib/argp-xinl.c: Likewise.
17896 * gnulib/argp.h: Likewise.
17897
495442ed
VS
178982010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17899
17900 * kern/device.c (grub_device_iterate): Clear errors after failed
17901 opening device.
17902
f9fd65df
VS
179032010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
17906 returned by firmware.
17907
af09641e
VS
179082010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
17911 compilation on coreboot and qemu
17912
016883a5
VS
179132010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 * include/multiboot2.h: Resync with spec.
17916
f97e1f7d
VS
179172010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17918
17919 Multiboot2 tag support
17920
17921 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
17922 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
17923 Remove loader/multiboot_loader.c.
17924 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
17925 (grub_multiboot2_real_boot): Likewise.
17926 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
17927 (grub_get_multiboot_mmap_count): New proto.
17928 (grub_fill_multiboot_mmap): Likewise.
17929 (grub_multiboot_set_video_mode): Likewise.
17930 (grub_multiboot_set_console): Likewise.
17931 (grub_multiboot_load): Likewise.
17932 (grub_multiboot_load_elf): Likewise.
17933 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
17934 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
17935 * include/multiboot.h: Resynced with specification.
17936 * include/multiboot2.h: Resynced with specification.
17937 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
17938 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
17939 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
17940 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
17941 users updated.
17942 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
17943 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
17944 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
17945 Removed.
17946 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
17947 Moved from here...
17948 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
17949 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17950 Moved from here...
17951 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
17952 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
17953 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
17954 All users updated.
17955 * loader/i386/multiboot_mbi2.c: New file.
17956
3506b90b
VS
179572010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 Resync with gnulib.
17960
17961 * Makefile.in (GNULIB_CFLAGS): New variable.
17962 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
17963 (grub_script_check_CFLAGS): New variable.
17964 * gnulib/alloca.h: Resync with gnulib.
17965 * gnulib/error.c: Likewise.
17966 * gnulib/error.h: Likewise.
17967 * gnulib/fnmatch.c: Likewise.
17968 * gnulib/fnmatch_loop.c: Likewise.
17969 * gnulib/getdelim.c: Likewise.
17970 * gnulib/getline.c: Likewise.
17971 * gnulib/getopt.c: Likewise.
17972 * gnulib/getopt1.c: Likewise.
17973 * gnulib/getopt_int.h: Likewise.
17974 * gnulib/gettext.h: Likewise.
17975 * gnulib/progname.c: Likewise.
17976 * gnulib/progname.h: Likewise.
17977
394a3120
GS
179782010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
17979
17980 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
17981 which is the case with --disabled-nls.
17982
17983 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
17984 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
17985 * util/misc.c: Likewise.
17986 * util/mkisofs/mkisofs.c: Likewise.
17987 * util/mkisofs/mkisofs.h: Likewise.
17988
969d1c78
VS
179892010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17990
17991 Simplify Apple CC support.
17992
17993 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
17994 Add 0 byte at the end not to have a symbol with empty target.
17995 * mmap/i386/pc/mmap_helper.S: Likewise.
17996 * genmk.rb: Ignore errors 2030 and 2050.
17997 * kern/i386/pc/startup.S: Use LOCAL when possible.
17998
8d2977bb
BC
179992010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18000
18001 Testcase and the fix for final semicolon on cmdline.
18002
18003 * tests/grub_script_final_semicolon.in: New testcase.
18004 * conf/tests.rmk: Rules for the new testcase.
18005 * script/parser.y: Grammar fix.
18006
a7bd6915
BC
180072010-03-26 BVK Chaitanya <bvk@localhost>
18008
18009 Blank lines testcase for GRUB script.
18010
18011 * tests/grub_script_blanklines.in: New testcase.
18012 * conf/tests.rmk: Rules for the new testcase.
18013
e4ff6628
VS
180142010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 Don't use __FILE__.
18017
18018 * genmk.rb: Add -DGRUB_FILE to all C targets.
18019 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18020 * include/grub/list.h: Likewise.
18021 * include/grub/misc.h: Likewise.
18022 * include/grub/mm.h: Likewise.
18023 * include/grub/test.h: Likewise.
18024 * kern/mm.c: Likewise.
18025 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18026
6a5cf6b6
VS
180272010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 Sunpc partitions support.
18030
18031 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18032 (grub_fstest_SOURCES): Likewise.
18033 (pkglib_MODULES): Add part_sunpc.mod.
18034 (part_sunpc_mod_SOURCES): New variable.
18035 (part_sunpc_mod_CFLAGS): Likewise.
18036 (part_sunpc_mod_LDFLAGS): Likewise.
18037 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18038 * partmap/sunpc.c: New file.
18039
746d9045
BC
180402010-03-26 BVK Chaitanya <bvk@localhost>
18041
18042 For loop support to GRUB script.
18043
18044 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18045 (grub_script_create_cmdfor): New function prototype.
18046 (grub_script_execute_cmdfor): New function prototype.
18047 * script/execute.c (grub_script_execute_cmdfor): New function.
18048 * script/parser.y (command): New for command.
18049 (forcmd): New grammar rule.
18050 * script/script.c (grub_script_create_cmdfor): New function.
18051 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18052 function.
18053 * tests/grub_script_for1.in: New testcase.
18054 * conf/tests.rmk: Rules for new testcase.
18055
18486b18
VS
180562010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 Nested partitions
18059
18060 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18061 'partition' is NULL, grub_partition_get_start already does that.
18062 * commands/loadenv.c (check_blocklists): Likewise.
18063 (write_blocklists): Likewise.
18064 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18065 (grub_fstest_SOURCES): Likewise.
18066 (pkglib_MODULES): Add part_bsd.mod.
18067 (part_bsd_mod_SOURCES): New variable.
18068 (part_bsd_mod_CFLAGS): Likewise.
18069 (part_bsd_mod_LDFLAGS): Likewise.
18070 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18071 (grub_emu_SOURCES): Likewise.
18072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18073 * include/grub/bsdlabel.h: New file.
18074 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18075 'get_name'.
18076 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18077 (grub_partition_map_list): New variable.
18078 (grub_partition_map_register): Inline.
18079 (grub_partition_map_unregister): Likewise.
18080 (FOR_PARTITION_MAPS): New macro.
18081 (grub_partition_map_iterate): Removed.
18082 (grub_partition_get_start): Handle nested partitions.
18083 * include/grub/msdos_partition.h: Remove bsd-related entries.
18084 (grub_pc_partition): Remove.
18085 * kern/disk.c (grub_disk_close): Free partition data.
18086 (grub_disk_adjust_range): Handle nested partitions.
18087 * kern/partition.c (grub_partition_map_probe): New function.
18088 (grub_partition_probe): Parse name to number, handle subpartitions.
18089 (get_partmap): New function.
18090 (grub_partition_iterate): Handle subpartitions.
18091 (grub_partition_get_name): Likewise.
18092 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18093 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18094 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18095 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18096 Set 'number'.
18097 (acorn_partition_map_probe): Remove.
18098 (acorn_partition_map_get_name): Likewise.
18099 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18100 Set 'number'.
18101 Set 'index' to 0 since there can be only one partition entry per sector.
18102 (amiga_partition_map_probe): Remove.
18103 (amiga_partition_map_get_name): Likewise.
18104 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18105 Set 'number'.
18106 Set 'offset' and 'index' to real positions of partitions.
18107 (apple_partition_map_probe): Remove.
18108 (apple_partition_map_get_name): Likewise.
18109 * partmap/bsdlabel.c: New file.
18110 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18111 Set 'number'.
18112 Allocate 'data' so it can be correctly freed.
18113 Set 'index' to offset inside sector.
18114 (gpt_partition_map_probe): Remove.
18115 (gpt_partition_map_get_name): Likewise.
18116 * partmap/msdos.c (grub_partition_parse): Remove.
18117 (pc_partition_map_iterate): Don't force raw access.
18118 Set 'number'.
18119 Make 'ext_offset' a local variable.
18120 (pc_partition_map_probe): Remove.
18121 (pc_partition_map_get_name): Remove.
18122 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18123 Set 'number'.
18124 (sun_partition_map_probe): Remove.
18125 (sun_partition_map_get_name): Likewise.
18126 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18127 (grub_pcpart_type): Likewise.
18128 * util/hostdisk.c (open_device): Handle new numbering scheme.
18129 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18130 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18131 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18132 * util/grub-install.in: Insert all subpartition modules.
18133 * util/ieee1275/grub-install.in: Likewise.
18134
a3940f88
AG
181352010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18136
18137 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18138 grammar.
18139
21b99926 181402010-03-24 Colin Watson <cjwatson@ubuntu.com>
18141
18142 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18143
bed1d352
CW
181442010-03-21 Colin Watson <cjwatson@ubuntu.com>
18145
18146 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18147 match where 'make install' puts them.
18148 * util/i386/efi/grub-install.in: Likewise.
18149
c9f58427
CW
181502010-03-19 Colin Watson <cjwatson@ubuntu.com>
18151
18152 * .bzrignore: Add gentrigtables, grub-script-check,
18153 grub_script_check_init.c, grub_script_check_init.h, and
18154 trigtables.c.
18155
f84afb27
VS
181562010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * kern/parser.c: Indented.
18159
ed0e3d30
VS
181602010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18163
0ea81d98
VS
181642010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18167 alpha_mask_size == 0 case.
18168
0cdc2a09
BC
181692010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18170
18171 GRUB shell lexer and parser improvements.
18172
18173 * conf/any-emu.rmk: Build rule updates.
18174 * conf/common.rmk: Likewise.
18175 * conf/i386-coreboot.rmk: Likewise.
18176 * conf/i386-efi.rmk: Likewise.
18177 * conf/i386-ieee1275.rmk: Likewise.
18178 * conf/i386-pc.rmk: Likewise.
18179 * conf/powerpc-ieee1275.rmk: Likewise.
18180 * conf/x86_64-efi.rmk: Likewise.
18181
18182 * configure.ac: Configure check for flex.
18183
18184 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18185 types.
18186 (grub_lexer_param): Struct member updates.
18187 (grub_parser_param): Likewise.
18188 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18189 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18190 (grub_script_lexer_init): Prototype update.
18191 (grub_script_lexer_record_start): Likewise.
18192 (grub_script_lexer_record_stop): Likewise.
18193 (grub_script_lexer_yywrap): New function prototype.
18194 (grub_script_lexer_fini): Likewise.
18195 (grub_script_execute_argument_to_string): Removed by...
18196 (grub_script_execute_argument_to_argv): ...better version.
18197
18198 * script/execute.c (ROUND_UPTO): New macro.
18199 (grub_script_execute_cmdline): Out of memory fixes.
18200 (grub_script_execute_menuentry): Likewise.
18201 (grub_script_execute_argument_to_string): Removed. Update all
18202 users by...
18203 (grub_script_execute_argument_to_argv): ...better version.
18204 * script/function.c (grub_script_function_create): Use
18205 grub_script_execute_argument_to_argv instead of
18206 grub_script_execute_argument_to_string.
18207
18208 * script/lexer.c (check_varstate): Removed.
18209 (check_textstate): Removed.
18210 (grub_script_lexer_record_start): Likewise.
18211 (grub_script_lexer_record_stop): Likewise.
18212 (recordchar): Replaced with...
18213 (grub_script_lexer_record): ...new function.
18214 (nextchar): Removed.
18215 (grub_script_lexer_init): Rewritten.
18216 (grub_script_yylex): Rewritten.
18217 (append_newline): New function.
18218 (grub_script_lexer_yywrap): New function.
18219 (grub_script_lexer_fini): New function.
18220 (grub_script_yyerror): Sets error flag.
18221
18222 * script/yylex.l: New file.
18223 (grub_lexer_yyfree): Wrapper for flex yyffre.
18224 (grub_lexer_yyalloc): Likewise.
18225 (grub_lexer_yyrealloc): Likewise.
18226 * script/parser.y: Refactored.
18227
18228 * script/script.c (grub_script_arg_add): Out of memory fixes.
18229 (grub_script_add_arglist): Likewise.
18230 (grub_script_create_cmdline): Likewise.
18231 (grub_script_create_cmdmenu): Likewise.
18232 (grub_script_add_cmd): Likewise.
18233 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18234 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18235 unnecessary code.
18236
18237 * tests/grub_script_echo1.in: New testcase.
18238 * tests/grub_script_vars1.in: New testcase.
18239 * tests/grub_script_echo_keywords.in: New testcase.
18240
1d63a066
VS
182412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 Remove some redundancy in build system.
18244
18245 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18246 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18247 (TARGET_LDFLAGS): Add -nostdlib.
18248 (TARGET_IMG_LDFLAGS): Likewise.
18249 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18250 anything since mmap isn't available.
18251 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18252 Add util/time.c.
18253 (pkglib_MODULES): Remove reboot.mod.
18254 (reboot_mod_SOURCES): Removed.
18255 (reboot_mod_CFLAGS): Likewise.
18256 (reboot_mod_LDFLAGS): Likewise.
18257 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18258 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18259 (DEFSYMFILES): Add kernel_syms.lst.
18260 (kernel_img_HEADERS): Add common headers.
18261 (symlist.c): New target.
18262 (kernel_syms.lst): Likewise.
18263 (pkglib_MODULES): Add memdisk.mod.
18264 (memdisk_mod_SOURCES): New variable.
18265 (memdisk_mod_CFLAGS): Likewise.
18266 (memdisk_mod_LDFLAGS): Likewise.
18267 (pkglib_MODULES): Add reboot.mod.
18268 (reboot_mod_SOURCES): New variable.
18269 (reboot_mod_CFLAGS): Likewise.
18270 (reboot_mod_LDFLAGS): Likewise.
18271 (pkglib_MODULES): Add date.mod.
18272 (date_mod_SOURCES): New variable.
18273 (date_mod_CFLAGS): Likewise.
18274 (date_mod_LDFLAGS): Likewise.
18275 (pkglib_MODULES): Add datehook.mod.
18276 (datehook_mod_SOURCES): New variable.
18277 (datehook_mod_CFLAGS): Likewise.
18278 (datehook_mod_LDFLAGS): Likewise.
18279 (pkglib_MODULES): Add lsmmap.mod.
18280 (lsmmap_mod_SOURCES): New variable.
18281 (lsmmap_mod_CFLAGS): Likewise.
18282 (lsmmap_mod_LDFLAGS): Likewise.
18283 (pkglib_MODULES): Add boot.mod.
18284 (boot_mod_SOURCES): New variable.
18285 (boot_mod_CFLAGS): Likewise.
18286 (boot_mod_LDFLAGS): Likewise.
18287 * conf/i386-coreboot.rmk: Removed redundant parts.
18288 * conf/i386-ieee1275.rmk: Likewise.
18289 * conf/i386-pc.rmk: Likewise.
18290 * conf/mips-yeeloong.rmk: Likewise.
18291 * conf/mips.rmk: Likewise.
18292 * conf/powerpc-ieee1275.rmk: Likewise.
18293 * conf/sparc64-ieee1275.rmk: Likewise.
18294 * conf/x86_64-efi.rmk: Likewise.
18295 * conf/i386-coreboot.rmk: Moved qemu parts ..
18296 * conf/i386-qemu.rmk: ... here
18297 * conf/i386-efi.rmk: Moved common parts to...
18298 * conf/x86-efi.rmk: ... here.
18299 * conf/i386.rmk: Added modules common to all x86 variants.
18300 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18301 * disk/memdisk.c: Remove grub/machine/kernel.h.
18302 * gensymlist.sh.in: Include symbol.h.
18303 * hook/datehook.c: Correct module name.
18304 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18305 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18306 * include/grub/i386/efi/serial.h: New file.
18307 * include/grub/x86_64/efi/serial.h: Likewise.
18308 * util/time.c: Likewise.
18309 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18310
463ac55f
CK
183112010-03-14 Colin King <colin.king@ubuntu.com>
183122010-03-14 Colin Watson <cjwatson@ubuntu.com>
18313
18314 Shrink the pre-partition-table part of boot.img by eight bytes.
18315
18316 * boot/i386/pc/boot.S (ERR): New macro.
18317 (chs_mode): Use ERR.
18318 (geometry_error): Likewise.
18319 (hd_probe_error): Remove. This is only used once, so we wrwite
18320 it inline instead.
18321 (read_error): Instead of printing read_error_string, just set up
18322 %si and fall through to ...
18323 (error_message): ... this new function, also used by ERR.
18324
08e46ede
CW
183252010-03-14 Colin Watson <cjwatson@ubuntu.com>
18326
18327 Speed up consecutive hostdisk operations on the same device.
18328
18329 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18330 (grub_util_biosdisk_open): Initialise disk->data.
18331 (struct linux_partition_cache): New structure.
18332 (linux_find_partition): Cache partition start positions; these are
18333 expensive to compute on every read and write.
18334 (open_device): Cache open file descriptor in disk->data, so that we
18335 don't have to reopen it and flush the buffer cache for consecutive
18336 operations on the same device.
18337 (grub_util_biosdisk_close): New function.
18338 (grub_util_biosdisk_dev): Set `close' member.
18339
18340 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18341 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18342 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18343 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18344 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18345
4a6d2d06
VS
183462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18347
18348 Compile parts of grub-emu as modules.
18349
18350 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18351 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18352 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18353 (all-local): Add $(GRUB_EMU).
18354 (install-local): Install $(GRUB_EMU).
18355 (uninstall): Uninstall $(GRUB_EMU).
18356 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18357 * kern/dl.c: Likewise.
18358 * commands/sleep.c: Not include machine/time.h.
18359 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18360 (COMMON_CFLAGS): Likewise.
18361 (sbin_UTILITIES): Remove grub-emu.
18362 (grub_emu_SOURCES): Removed.
18363 (kernel_img_RELOCATABLE): New variable.
18364 (pkglib_PROGRAMS): Add kernel.img.
18365 (kernel_img_SOURCES): New variable
18366 (kernel_img_CFLAGS): Likewise.
18367 (kernel_img_LDFLAGS): Likewise.
18368 (TARGET_NO_STRIP): Likewise.
18369 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18370 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18371 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18372 (grub-emu): New target.
18373 (GRUB_EMU): New variable.
18374 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18375 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18376 * loader/xnu.c: Likewise.
18377 * include/grub/pci.h: Likewise.
18378 * genemuinit.sh: New file.
18379 * genemuinitheader.sh: Likewise.
18380 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18381 Support TARGET_NO_DYNAMIC_MODULES.
18382 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18383 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18384 * disk/loopback.c: Likewise.
18385 * font/font_cmd.c: Likewise.
18386 * partmap/acorn.c: Likewise.
18387 * partmap/amiga.c: Likewise.
18388 * partmap/apple.c: Likewise.
18389 * partmap/gpt.c: Likewise.
18390 * partmap/msdos.c: Likewise.
18391 * partmap/sun.c: Likewise.
18392 * parttool/msdospart.c: Likewise.
18393 * term/gfxterm.c: Likewise.
18394 * video/bitmap.c: Likewise.
18395 * video/readers/jpeg.c: Likewise.
18396 * video/readers/png.c: Likewise.
18397 * video/readers/tga.c: Likewise.
18398 * video/video.c: Likewise.
18399 * util/grub-emu.c (read_command_list): Removed.
18400 (main): Don't call util_init_nls.
18401 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18402 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18403
91fdd2ed
VS
184042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18407 date.mod, datehook.mod.
18408 (datetime_mod_SOURCES): New variable.
18409 (datetime_mod_CFLAGS): Likewise.
18410 (datetime_mod_LDFLAGS): Likewise.
18411 (date_mod_SOURCES): Likewise.
18412 (date_mod_CFLAGS): Likewise.
18413 (date_mod_LDFLAGS): Likewise.
18414 (datehook_mod_SOURCES): Likewise.
18415 (datehook_mod_CFLAGS): Likewise.
18416 (datehook_mod_LDFLAGS): Likewise.
18417 * conf/sparc64-ieee1275.rmk: Likewise.
18418 * lib/ieee1275/datetime.c: New file.
18419
873ccae6
VS
184202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18423 (ieee1275_fb_mod_SOURCES): New variable.
18424 (ieee1275_fb_mod_CFLAGS): Likewise.
18425 (ieee1275_fb_mod_LDFLAGS): Likewise.
18426 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18427 New proto.
18428 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18429 (HEAP_MAX_ADDR): Likewise.
18430 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18431 type.
18432 Correct stop condition.
18433 (grub_ieee1275_devices_iterate): New function.
18434 * video/ieee1275.c: New file.
18435
601c97c0
VS
184362010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18437
18438 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18439
18440 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18441 as scratch.
18442 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18443 SCRATCH_PAD_DISKBOOT as scratch.
18444 (bootit): Pass Openfirmware pointer in %o4.
18445 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18446 of 0x200000.
18447 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18448 with util/grub-mkrawimage.c.
18449 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18450 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18451 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18452 (grub_aout_load) [GRUB_UTIL]: Likewise.
18453 * include/grub/kernel.h (grub_modules_get_end): New proto.
18454 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18455 (SCRATCH_PAD_BOOT): New definition.
18456 (SCRATCH_PAD_DISKBOOT): Likewise.
18457 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18458 * include/grub/sparc64/ieee1275/ieee1275.h
18459 (grub_ieee1275_original_stack): New variable
18460 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18461 New definition
18462 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18463 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18464 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18465 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18466 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18467 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18468 (grub_platform_image_format_t): New type.
18469 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18470 * kern/main.c (grub_modules_get_end)
18471 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18472 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18473 (codestart): Switch stacks.
18474 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18475 variable.
18476 (grub_heap_init): Use grub_modules_get_end.
18477 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18478 stack.
18479 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18480 (main): Likewise.
18481 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18482
d68b491e
TG
184832010-03-14 Thorsten Glaser <tg@mirbsd.org>
18484
18485 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18486
4e02ed50
MK
184872010-03-08 Matt Kraai <kraai@ftbfs.org>
18488
18489 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18490 bug #559005).
18491
1f15fc1e
VS
184922010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18493
18494 * genmoddep.awk: Output all missing symbols and not only first.
18495
fce5d8ff
VS
184962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 * NEWS: Put the date of 1.98 release.
18499
d1e8a02f
VS
185002010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18501
18502 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18503 ft2build.h.
18504
696fd607
VS
185052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18506
18507 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18508 completition in the middle of string.
18509
33e2e6f3
VS
185102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18511
18512 * util/grub-mkrescue.in: Use mktemp with explicit template.
18513
b1f6d291
VS
185142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18517
2ac227c7
VS
185182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18521 right pointer.
18522
8f9a632b
VS
185232010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 Fix FreeBSD compilation.
18526
18527 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18528 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18529
60b03859
VS
185302010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18531
18532 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18533
48a5a769
VS
185342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18535
18536 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18537
3ab4bd77
VS
185382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18541
d116e0d8
RM
185422010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18543
18544 Support relative image path in theme file.
18545
18546 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18547 (image_set_property): Handle theme_dir and relative path.
18548
c7ef54aa
VS
185492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18550
18551 * configure.ac: Alias amd64 to x86_64.
18552
fcee14ed
VS
185532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 * NEWS: mention multiboot on EFI.
18556
d0780363
VS
185572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 * kern/main.c (grub_load_modules): Handle errors from init functions of
18560 embeded modules.
18561
41168ea4
VS
185622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18563
18564 * normal/autofs.c (autoload_fs_module): Handle errors.
18565
b54d93ac
VS
185662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18567
18568 Disable linux.mod on qemu-mips since it's not functional and leads
18569 to compilation failure.
18570
18571 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18572 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18573 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18574 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18575 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18576 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18577 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18578 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18579 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18580 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18581 Reported by: BVK Chaitanya
18582
fc8345da
JU
185832010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18584
18585 * INSTALL: Add gettext as a dependency and add qemu to a new section
18586 "Prerequisites for make-check".
18587
4760f979
CF
185882010-03-04 Christian Franke <franke@computer.org>
18589
18590 * util/grub-pe2elf.c: Add missing include "progname.h".
18591
f209b5b2
VS
185922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * normal/crypto.c (read_crypto_list): Fix a typo.
18595 Reported by: Seth Goldberg.
18596
b4b7be98
VS
185972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18600 Reported by: Seth Goldberg.
b4b7be98 18601
c0ee0385
VS
186022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18605 ascii.bitmaps.
18606
a8efbf64
VS
186072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18610 Reported by: Seth Goldberg.
a8efbf64 18611
08dcd913
VS
186122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18613
18614 * util/i386/efi/grub-install.in: Copy gettext files.
18615
c4d0b332
VS
186162010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18617
18618 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18619
c6f2fe52
VS
186202010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 Wait for user entry basing on presence of output rather than on errors.
18623
18624 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18625 (grub_install_newline_hook): Likewise.
18626 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18627 * normal/menu.c (show_menu): Check line_counter to determine presence
18628 of output.
18629 * normal/term.c (grub_normal_line_counter): New variable.
18630 (grub_normal_get_line_counter): New function.
18631 (grub_install_newline_hook): Likewise.
18632
5382b1e4
VS
186332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18634
18635 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
18636
5519963b
VS
186372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18638
18639 * configure.ac: Update version to 1.98.
18640
72b28631
VS
186412010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 * util/grub.d/10_linux.in (linux_entry): Don't default to
18644 gfxpayload=keep if Linux doesn't support video handover.
18645
c140a180
VS
186462010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
18647
18648 Don't compile video modules on yeeloong since video subsystem is part
18649 of kernel.
18650
18651 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
18652 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
18653 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
18654 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
18655 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
18656 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
18657 * include/grub/bitmap_scale.h: Likewise.
18658 * include/grub/bufio.h: Likewise.
18659 * include/grub/font.h: Likewise.
18660 * include/grub/gfxterm.h: Likewise.
18661 * include/grub/video.h: Likewise.
18662 * include/grub/vbe.h: Don't include video_fb.h.
18663 * video/i386/pc/vbe.c: Include video_fb.h.
18664 * commands/i386/pc/vbetest.c: Include video.h.
18665
a0ca21c2
CW
186662010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
18667
18668 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
18669 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
18670 default entry if GRUB_SAVEDEFAULT=true. This allows using
18671 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
18672 saving a new default on every boot.
18673
4a8a763c
VS
186742010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 * normal/crypto.c (read_crypto_list): Fix a memory leak.
18677 * normal/term.c (read_terminal_list): Likewise.
18678 * normal/main.c (grub_normal_init_page): Likewise.
18679 (grub_normal_read_line_real): Likewise.
18680
607ffde2
VS
186812010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
18684 memory leak.
18685 Reported by: Seth Goldberg.
18686
2b8fa975
CW
186872010-02-24 Joey Korkames <joey+lists@kidfixit.com>
18688
18689 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
18690 duplicate declaration of `start'.
18691
618307dd
VS
186922010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
18695 filename.
18696 Reported by: Georgy Buranov
18697
7dd05b96 186982010-02-20 Carles Pina i Estany <carles@pina.cat>
18699
18700 * util/grub-mkrawimage.c (usage): Change string formatting to
18701 improve gettext.
18702
d1484a42
MRA
187032010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18704
18705 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
18706 backspace keys.
18707
42b1d186
VS
187082010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
18711 Reported by: Michael Suchanek.
18712
187132010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
18714
18715 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
18716 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
18717
d9f31a41
VS
187182010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 Remove any reference to non-free fonts.
18721
18722 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
18723 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
18724 uses non-free components.
18725 * font/font.c (grub_font_get_name): Remove example name.
18726 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
18727 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18728 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
18729 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
18730
2793c71e
GB
187312010-02-16 Georgy Buranov <gburanov@gmail.com>
18732
18733 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
18734
402e3779
VS
187352010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18736
18737 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
18738 Double divisor.
18739 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
18740 features.
18741 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
18742
0dd1e0dd
VS
187432010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18744
18745 * gensymlist.sh.in: Use TARGET_CC instead of CC.
18746
6fa7cfce
ST
187472010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18748
18749 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
18750 * docs/grub.texi (Command-line and menu entry commands): Document play
18751 command.
18752
37c8483b
ST
187532010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18754
18755 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
18756 parse arguments as inline tempo and notes. Move code for playing notes
18757 to...
18758 (play): ... new function.
18759
14da0fb7
ST
187602010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18761
18762 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
18763 grub_uint16_t instead of short.
18764 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
18765 disk from little endian to cpu endianness.
18766
04459e70
ST
187672010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
18768
18769 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
18770 GRUB_TICKS_PER_SECOND instead of 120.
18771
a0876943
VS
187722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
18775 escape sequence after \e.
18776
e29f95dc
VS
187772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18778
18779 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
18780 non-ASCII characters.
18781
d27859b2
VS
187822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18783
18784 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
18785 set root in single quotes to prevent \, from being unescaped.
18786
bc028f2f
VS
187872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18788
18789 Prevent unknown commands from stopping menuentry execution.
18790
18791 * script/execute.c (grub_script_execute_cmdline): Print error after
18792 unknown command.
18793
095f5f82
VS
187942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18795
18796 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
18797 Reported by: Pavel Pisa.
18798
8c717950
VS
187992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
18802
904935c3
VS
188032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 Merge grub_ieee1275_map_physical into grub_map and rename to
18806 grub_ieee1275_map
18807
18808 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
18809 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
18810 Remove.
18811 * kern/ieee1275/openfw.c (grub_map): Rename to ...
18812 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
18813 necessary.
18814 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
18815
5b59a4e3
VS
188162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
18819 opening and not after.
18820
69e137e8
VS
188212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
18824 constants.
18825
2c0fcc36
VS
188262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
18829 (alloc_phys): Use ALIGN_UP instead of align_addr.
18830
8c6052ce
VS
188312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
18834
17cec782
VS
188352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18836
18837 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
18838
e0128bbd
VS
188392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
18842 verbose dprintf.
18843
ca62070b
VS
188442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 Fix over-4GiB seek on sparc64.
18847
18848 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
18849 Replace pos_i and pos_lo with pos. All users updated.
18850 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18851 New constant.
18852 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18853 Likewise.
18854 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
18855 and pos_lo.
18856
bdca2607
VS
188572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * util/grub-mkrawimage.c (main): Call set_program_name.
18860
da278c4d
VS
188612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 Properly align 64-bit targets.
18864
18865 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
18866 (generate_image): Use ALIGN_ADDR.
18867
b274d734
VS
188682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 Properly create cross-endian images.
18871
18872 * include/grub/types.h (grub_host_to_target_addr): New macro
18873 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
18874
82da2062
VS
188752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
18878
7cae4377
VS
188792010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
18882
18883 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
18884 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
18885 (grub_linux_boot): Divide by 64K when on VESA.
18886
65a533e7
VS
188872010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 Support GRUB_GFXPAYLOAD_LINUX.
18890
18891 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
18892 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
18893
dd01d397
VS
188942010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18895
18896 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
18897 to show messages instead of discarding them.
18898 Process errors after executing command and not before. Keep old method
18899 too as precaution.
18900
660960d6
VS
189012010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 * configure.ac: Check for ft2build.h.
18904
62509f04
VS
189052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18906
18907 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
18908
473df63d
VS
189092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 * genkernsyms.sh.in: Use TARGET_CC.
18912
c98d2a13
CW
189132010-02-07 Colin Watson <cjwatson@ubuntu.com>
18914
18915 * NEWS: Update.
18916
6e14234c
VS
189172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
18920 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
18921 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 18922
b255e9cf
YB
189232010-02-07 Yves Blusseau <blusseau@zetam.org>
18924
6e14234c 18925 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 18926
98e6959d
VS
189272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18928
18929 Fix warnings in grub-emu when compiling with maximum warning options.
18930
18931 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
18932 (grub_arch_modules_addr): Return 0 and not NULL.
18933 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 18934 (xstrdup): Use newstr instead of dup.
f88d801b
VS
18935 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
18936 of disk to dsk to avoid shadowing.
74e4934e
VS
18937 (find_free_slot): Fix prototype.
18938 * util/getroot.c (grub_util_is_dmraid): Make static.
18939 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
18940 Add missing prototype.
18941 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 18942
74e31b5c
VS
189432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 * loader/i386/linux.c (grub_linux_setup_video): Handle error
18946 appropriately.
18947
6b2ad14b
VS
189482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18949
18950 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
18951 code out.
18952
8f891adc
VS
189532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18954
18955 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
18956 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
18957 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
18958 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
18959 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
18960 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
18961
74b45184
VS
189622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * include/grub/err.h (grub_err_printf): Don't export.
18965
a4bced77
VS
189662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
18969
007d0695
VS
189702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18971
18972 * include/grub/i18n.h (grub_gettext_dummy): Removed.
18973 * kern/misc.c (grub_gettext_dummy): Make static.
18974
b6c0d9c2
VS
189752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
18978 by non-valid ones.
18979 * kern/term.c (grub_putchar): Likewise.
18980
f51a90d0
VS
189812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18982
18983 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
18984 buggy hook call and memory leak.
18985
6846cec5
VS
189862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
18989
468d69fe
VS
189902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
18993
51906b8c
VS
189942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18995
18996 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
18997 modevar.
18998 Return grub_errno on allocation error.
18999
09706ce5
VS
190002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19001
19002 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19003
911df80c
YB
190042010-02-06 Yves Blusseau <blusseau@zetam.org>
19005
19006 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19007 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19008
3746a6bc
VS
190092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19012 non-pxe disk.
19013 (grub_pxefs_open): Likewise.
19014
09706ce5
VS
190152010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19016
19017 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19018 * util/grub.d/10_kfreebsd.in: Likewise.
19019 * util/grub.d/10_linux.in: Likewise.
19020
7cc192d9
VS
190212010-02-06 Colin D Bennett <colin@gibibit.com>
19022
19023 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19024 (gfxmenu_mod_SOURCES): New variable.
19025 (gfxmenu_mod_CFLAGS): Likewise.
19026 (gfxmenu_mod_LDFLAGS): Likewise.
19027 * include/grub/term.h (grub_term_set_current_output): Declare
19028 argument as const.
19029 * docs/gfxmenu-theme-example.txt: New file.
19030 * gfxmenu/gfxmenu.c: Likewise.
19031 * gfxmenu/gui_box.c: Likewise.
19032 * gfxmenu/gui_canvas.c: Likewise.
19033 * gfxmenu/gui_circular_progress.c: Likewise.
19034 * gfxmenu/gui_image.c: Likewise.
19035 * gfxmenu/gui_label.c: Likewise.
19036 * gfxmenu/gui_list.c: Likewise.
19037 * gfxmenu/gui_progress_bar.c: Likewise.
19038 * gfxmenu/gui_string_util.c: Likewise.
19039 * gfxmenu/gui_util.c: Likewise.
19040 * gfxmenu/icon_manager.c: Likewise.
19041 * gfxmenu/model.c: Likewise.
19042 * gfxmenu/named_colors.c: Likewise.
19043 * gfxmenu/theme_loader.c: Likewise.
19044 * gfxmenu/view.c: Likewise.
19045 * gfxmenu/widget-box.c: Likewise.
19046 * include/grub/gfxmenu_model.h: Likewise.
19047 * include/grub/gfxmenu_view.h: Likewise.
19048 * include/grub/gfxwidgets.h: Likewise.
19049 * include/grub/gui.h: Likewise.
19050 * include/grub/gui_string_util.h: Likewise.
19051 * include/grub/icon_manager.h: Likewise.
19052
190532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 Agglomerate scrolling in gfxterm.
19056
19057 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19058 (grub_virtual_screen_setup): Initialise 'total_screen'.
19059 (write_char): Split to ...
19060 (paint_char): ... this ...
19061 (write_char): ... and this.
19062 (paint_char): Handle delayed scrolling.
19063 (draw_cursor): Likewise.
19064 (scroll_up): Split to ...
19065 (real_scroll): ... this ...
19066 (scroll_up): ... and this.
19067 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19068 characters.
19069 (grub_gfxterm_refresh): Call real_scroll.
19070
190712010-02-06 Colin D Bennett <colin@gibibit.com>
19072
19073 * include/grub/misc.h (grub_iscntrl): New inline function.
19074 (grub_isalnum): Likewise.
19075 (grub_strtol): Likewise.
19076
190772010-02-06 Colin D Bennett <colin@gibibit.com>
19078
19079 * normal/menu_text.c (get_entry_number): Move from here ...
19080 * normal/menu.c (get_entry_number): ... moved here.
19081 * include/grub/menu.h (grub_menu_get_default_entry_index):
19082 New prototype.
19083 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19084 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19085 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19086 (grub_menu_viewer_should_return): Likewise.
19087 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19088 * normal/menu_text.c (run_menu): Enable menu switching.
19089 * normal/menu_viewer.c (should_return): New variable.
19090 (menu_viewer_changed): Likewise.
19091 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19092 (grub_menu_viewer_should_return): New function.
19093 (menuviewer_write_hook): Likewise.
19094 (grub_menu_viewer_init): Likewise.
19095
190962010-02-06 Colin D Bennet <colin@gibibit.com>
190972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19098
19099 Support for gfxterm in a window.
19100
19101 * include/grub/gfxterm.h: New file.
19102 * include/grub/video.h (struct grub_video_rect): New declaration.
19103 (grub_video_rect_t): Likewise.
19104 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19105 (refcount): New variable.
19106 (render_target): Likewise.
19107 (window): Likewise.
19108 (repaint_callback): Likewise.
19109 (grub_virtual_screen_setup): Use 'render_target'.
19110 (init_window): New function.
19111 (grub_gfxterm_init_window): Likewise.
19112 (grub_gfxterm_init): Check reference counter.
19113 Use init_window.
19114 (destroy_window): New function.
19115 (grub_gfxterm_destroy_window): Likewise.
19116 (grub_gfxterm_fini): Check reference counter.
19117 Use destroy_window.
19118 (redraw_screen_rect): Restore viewport.
19119 Use 'render_target' and 'window'.
19120 Call 'repaint_callback'.
19121 (write_char): Use 'render_target'.
19122 (draw_cursor): Likewise.
19123 (scroll_up): Restore viewport.
19124 Use 'render_target' and 'window'.
19125 Call 'repaint_callback'.
19126 (grub_gfxterm_cls): Likewise.
19127 (grub_gfxterm_refresh): Use 'window'.
19128 (grub_gfxterm_set_repaint_callback): New function.
19129 (grub_gfxterm_background_image_cmd): Use 'window'.
19130 (grub_gfxterm_get_term): New function.
19131 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19132
191332010-02-06 Colin D Bennett <colin@gibibit.com>
19134
19135 Bitmap scaling support.
19136
19137 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19138 (bitmap_scale_mod_SOURCES): New variable.
19139 (bitmap_scale_mod_CFLAGS): Likewise.
19140 (bitmap_scale_mod_LDFLAGS): Likewise.
19141 * include/grub/bitmap_scale.h: New file.
19142 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19143 (background_image_cmd_options): New variable.
19144 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19145 (cmd): Rename and change type to ...
19146 (background_image_cmd_handle): ... this. All users updated.
19147 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19148 * video/bitmap_scale.c: New file.
19149
191502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 SDL support.
19153
19154 * Makefile.in (LIBSDL): New variable.
19155 (enable_grub_emu_sdl): Likewise.
19156 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19157 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19158 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19159 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19160 * util/sdl.c: New file.
19161
191622010-02-06 Colin D Bennett <colin@gibibit.com>
191632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 Double buffering support.
19166
19167 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19168 * include/grub/video.h: Update comment.
19169 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19170 New type.
19171 (grub_video_fb_doublebuf_blit_init): New prototype.
19172 * term/gfxterm.c (scroll_up): Support double buffering.
19173 (grub_gfxterm_refresh): Likewise.
19174 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19175 (grub_video_fb_doublebuf_blit_init): Likewise.
19176 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19177 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19178 'displayed_page', 'render_page' and 'update_screen'.
19179 (grub_video_vbe_fini): Free offscreen buffer.
19180 (doublebuf_pageflipping_commit): New function.
19181 (doublebuf_pageflipping_update_screen): Likewise.
19182 (doublebuf_pageflipping_init): Likewise.
19183 (double_buffering_init): Likewise.
19184 (grub_video_vbe_setup): Enable doublebuffering.
19185 (grub_video_vbe_swap_buffers): Implement.
19186 (grub_video_vbe_set_active_render_target): Handle double buffering.
19187 (grub_video_vbe_get_active_render_target): Likewise.
19188 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19189 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19190 (grub_video_vbe_enable_double_buffering): Likewise.
19191 (grub_video_vbe_swap_buffers): Use update_screen.
19192 (grub_video_set_mode): Use double buffering.
19193
191942010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19195
19196 * maintainance/gentrigtables.py: Remove.
19197 * lib/trig.c: Likewise.
19198
19199 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19200
19201 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19202 `trigtables.c'.
19203 (trigtables.c): New rule.
19204 (gentrigtables): Likewise.
19205 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19206
192072010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19208
19209 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19210 integer constants.
19211
192122010-02-06 Colin D Bennet <colin@gibibit.com>
19213
19214 Trigonometry support.
19215
19216 * include/grub/trig.h: New file.
19217 * lib/trig.c: Likewise.
19218 * maintainance/gentrigtables.py: Likewise.
19219 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19220 (trig_mod_SOURCES): New variable.
19221 (trig_mod_CFLAGS): Likewise.
19222 (trig_mod_LDFLAGS): Likewise.
19223
5562834e
VS
192242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19225
19226 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19227 disk devices.
19228
4f8528fc
VS
192292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19230
19231 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19232 error.
19233
2b4068e9
VS
192342010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * util/hostdisk.c (open_device): Don't use partition device when reading
19237 before the partition.
19238 (grub_util_biosdisk_read): Don't read from partition and before the
19239 partition in single operation.
19240 (grub_util_biosdisk_write): Don't write to partition and before the
19241 partition in single operation.
19242
399f6e4d
TL
192432010-02-03 Torsten Landschoff <torsten@debian.org>
19244
19245 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19246 last sectors.
19247
996649b0
VS
192482010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19251 CDROM reads.
19252 (grub_biosdisk_write): Refuse to write to CDROM.
19253
3b205d4d
VS
192542010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19255
19256 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19257
61e89d9d
VS
192582010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19259
19260 * font/font.c (find_glyph): Check that bmp_idx is available before
19261 using it.
19262 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19263 with (font == NULL).
19264
bf7fcba2
CS
192652010-01-28 Christian Schmitt <chris@ilovelinux.de>
19266
19267 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19268
f45d2663
BC
192692010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19270
19271 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19272 * util/grub-script-check.c (getline): Fix empty lines case.
19273
ec1444e6
RM
192742010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19275
19276 * Makefile.in (check): Exit with fail status when one of the tests
19277 fails.
19278 * tests/example_functional_test.c (example_test): Fix reversed assert.
19279 * tests/example_unit_test.c (example_test): Likewise.
19280
2e1cb9bb
CW
192812010-01-28 Colin Watson <cjwatson@ubuntu.com>
19282
19283 * util/grub.d/10_linux.in: This script does not use any of the
19284 contents of gettext.sh, only the external command `gettext', so stop
19285 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19286 the same prefix as GRUB.)
19287 * util/grub.d/10_kfreebsd.in: Likewise.
19288
63533ab0
VS
192892010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19292 of the line.
19293
989e1f93
VS
192942010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19297 last sectors.
19298
e709ebe2
VS
192992010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19302 having a 4KiB and not 32KiB buffer size.
19303
27dea7ed
RM
193042010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19305
19306 * util/hostfs.c: Include `<errno.h>'.
19307 (grub_hostfs_read): Handle errors from fseeko() and fread().
19308
67667b9c
RM
193092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19310
19311 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19312 loop when using read hooks on files whose size isn't sector-aligned.
19313
c294d9d8
RM
193142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19315
19316 Remove unused parameter.
19317
19318 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19319 (grub_iso9660_open): Remove initialization of `data->length'.
19320
af75a9f1
RM
193212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19322
19323 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19324 memleak conditions.
19325
254e2ce5 193262010-01-27 Carles Pina i Estany <carles@pina.cat>
19327
19328 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19329 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19330
b510928c 193312010-01-26 Carles Pina i Estany <carles@pina.cat>
19332
19333 * util/bin2h.c (usage): Fix warning (space after backslash).
19334
aa2f9dd2 193352010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19336
19337 * font/font.c: Include `grub/fontformat.h.
19338 Remove font file format constants.
19339 (grub_font_load): Use the new macros.
19340 * include/grub/fontformat.h: New file.
19341 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19342 (write_font_pf2): Use the new macros.
19343
94e7e712
RM
193442010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19345
19346 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19347 does.
19348
3973a59a
RM
193492010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19350
19351 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19352
19353 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19354 (_start): Macroify `0x7F'.
19355
19356 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19357 (make_install_device): Use "(pxe)" as fallback prefix when booting
19358 via PXE.
19359
42e0cba3
GS
193602010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * configure.ac: Reset LIBS after check for libgcc symbols.
19363
847effd8
CW
193642010-01-25 Colin Watson <cjwatson@ubuntu.com>
19365
19366 * util/hostdisk.c (open_device): Add trailing newline to debug
19367 message.
19368
ea4a7e35
GS
193692010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19370
19371 * configure.ac: Check for `limits.h'.
19372 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19373
67951a53
RM
193742010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19375
19376 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19377 capitalize error strings.
19378
c273d4ce
ST
193792010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19380
19381 * util/grub.d/10_hurd.in: Add a recovery mode.
19382
69be5b74
VS
193832010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19384
19385 * configure.ac: Check for libgcc symbols with -nostdlib.
19386
fc9e5810
BC
193872010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19388
19389 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19390
4b358c0a
VS
193912010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19392
19393 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19394 stack since heap may be unavailable at that point.
19395 (grub_ofconsole_gotoxy): Likewise.
19396
454fcd1c
VS
193972010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19398
19399 * configure.ac: Check for _restgpr_14_x.
19400 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19401 and _savegpr_* prototypes.
19402
566863ca
RM
194032010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19404
19405 Use generic grub_reboot() for i386-efi.
19406
19407 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19408 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19409 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19410
bf86e59a
VS
194112010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19414 presence of "prefix" variable as it breaks when normal.mod is
19415 embedded.
19416
d645e0f8
VS
194172010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19418
19419 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19420 stack since heap is unavailable at that point.
19421
f9ab2e25
VS
194222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19425 (grub_freebsd_bootinfo): Rewritten.
19426 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19427
01fc7054
VS
194282010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19431
caab4fd6
RM
194322010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19433
19434 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19435 domain now.
19436
67eb1427
FZ
194372010-01-20 Felix Zielcke <fzielcke@z-51.de>
19438
19439 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19440 around for handling "/" to the correct fix. Fix a memory leak. Use
19441 xstrdup instead of strdup.
19442
a9ed4ff3
VS
194432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19446
194472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19448
19449 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19450
19451 * font/font.c (struct grub_font): New member 'bmp_idx'.
19452 (font_init): Initialise 'bmp_idx'.
19453 (load_font_index): Fill 'bmp_idx'.
19454 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19455
48209f4f
VS
194562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19457
19458 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19459 unnecessary calls.
19460
9f0a4bb7
VS
194612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19462
19463 Move context handling out of the kernel.
19464
19465 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19466 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19467 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19468 * conf/i386-efi.rmk: Likewise.
19469 * conf/i386-ieee1275.rmk: Likewise.
19470 * conf/i386-pc.rmk: Likewise.
19471 * conf/powerpc-ieee1275.rmk: Likewise.
19472 * conf/sparc64-ieee1275.rmk: Likewise.
19473 * conf/x86_64-efi.rmk: Likewise.
19474 * include/grub/env.h: Include grub/menu.h.
19475 (grub_env_var_type): Removed.
19476 (grub_env_var): Replaced field 'type' with 'global'.
19477 (grub_env_find): New prototype.
19478 (grub_env_context_open): Remove EXPORT_FUNC.
19479 (grub_env_context_close): Likewise.
19480 (grub_env_export): Likewise.
19481 (grub_env_set_data_slot): Removed.
19482 (grub_env_get_data_slot): Likewise.
19483 (grub_env_unset_data_slot): Likewise.
19484 (grub_env_unset_menu): New prototype.
19485 (grub_env_set_menu): Likewise.
19486 (grub_env_get_menu): Likewise.
19487 * include/grub/env_private.h: New file.
19488 * include/grub/normal.h (grub_context_init): New prototype.
19489 (grub_context_fini): Likewise.
19490 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19491 * normal/context.c (grub_cmd_export): ... to here.
19492 * kern/env.c: Include env_private.h.
19493 (HASHSZ): Moved to include/grub/env_private.h.
19494 (grub_env_context): Likewise.
19495 (grub_env_sorted_var): Likewise.
19496 (current_context): Renamed from this ...
19497 (grub_current_context): ...to this. 'static' removed. All users updated.
19498 (grub_env_find): Removed 'static'.
19499 (grub_env_context_open): Moved to normal/context.c.
19500 (grub_env_context_close): Likewise.
19501 (grub_env_export): Likewise.
19502 (mangle_data_slot_name): Removed.
19503 (grub_env_set_data_slot): Likewise.
19504 (grub_env_get_data_slot): Likewise.
19505 (grub_env_unset_data_slot): Likewise.
19506 * kern/main.c (grub_set_root_dev): Don't export root.
19507 It will be done later.
19508 (grub_main): Don't export prefix.
19509 It will be done later.
19510 * normal/context.c: New file.
19511 * normal/main.c (free_menu): Use grub_env_unset_menu.
19512 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19513 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19514 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19515 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19516
8dd35b8c
VS
195172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 setpci support.
19520
19521 * commands/setpci.c: New file.
19522 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19523 (setpci_mod_SOURCES): New variable.
19524 (setpci_mod_CFLAGS): Likewise.
19525 (setpci_mod_LDFLAGS): Likewise.
19526
449193d5
VS
195272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19528
19529 Byte-addressable PCI configuration space.
19530
19531 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19532 dword address.
19533 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19534 GRUB_PCI_REG_CACHELINE.
19535 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19536 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19537 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19538 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19539 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19540 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19541 grub_pci_make_address.
19542 (lock_rom_area): Likewise.
19543 * commands/lspci.c (grub_lspci_iter): Use macroses
19544 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19545 of grub_pci_make_address.
19546 * disk/ata.c (grub_ata_pciinit): Likewise.
19547 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19548 (GRUB_PCI_REG_VENDOR): Likewise.
19549 (GRUB_PCI_REG_DEVICE): Likewise.
19550 (GRUB_PCI_REG_COMMAND): Likewise.
19551 (GRUB_PCI_REG_STATUS): Likewise.
19552 (GRUB_PCI_REG_REVISION): Likewise.
19553 (GRUB_PCI_REG_CLASS): Likewise.
19554 (GRUB_PCI_REG_CACHELINE): Likewise.
19555 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19556 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19557 (GRUB_PCI_REG_BIST): Likewise.
19558 (GRUB_PCI_REG_ADDRESSES): Likewise.
19559 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19560 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19561 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19562 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19563 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19564 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19565 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19566 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19567 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19568 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19569 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19570 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19571 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19572 (GRUB_PCI_REG_MIN_GNT): Likewise.
19573 (GRUB_PCI_REG_MAX_LAT): Likewise.
19574 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19575 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19576 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19577 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19578 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19579 space.
19580
96d73208
RM
195812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19582
19583 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19584 can be reliably determined to be supported.
19585
d4484482
RM
195862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19587
19588 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19589 that VESA is supported.
19590 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19591 supported.
19592
00308ecf
VS
195932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19596
f66924a4
RM
195972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19598
19599 * util/misc.c (make_system_path_relative_to_its_root): Work around
19600 special-casing of "/", as previous incarnation of this routine did.
19601
cbca0ada
VS
196022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 Fix any-emu compilation.
19605
19606 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19607 * grub_bin2h_SOURCES: New variable.
19608
34a66d99
RM
196092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19610
19611 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19612
94fabf58
RM
196132010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19614
19615 * util/grub.d/00_header.in: Fix handling of locale_dir.
19616
02cf98ca
VS
196172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19618
19619 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19620 as possible unifont location (Gentoo).
19621 Reported by: Alexander Brüning
19622
327dbcd7
VS
196232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19624
19625 Don't try to generate lists for kernel.img.
19626
19627 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19628 (pkglib_MODULES): Remove kernel.img.
19629 (kernel_img_EXPORTS): Removed.
19630 (kernel_img_RELOCATABLE): New variable.
19631 * conf/x86_64-efi.rmk: Likewise.
19632 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
19633
ca467290
VS
196342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
19637 grub_xasprintf or grub_snprintf.
19638 (grub_vsprintf): Likewise.
19639 (grub_snprintf): New proto.
19640 (grub_vsnprintf): Likewise.
19641 (grub_xasprintf): Likewise.
19642 (grub_xvasprintf): Likewise.
19643 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
19644 (grub_sprintf): Removed.
19645 (grub_vsnprintf): New function.
19646 (grub_snprintf): Likewise.
19647 (grub_xvasprintf): Likewise.
19648 (grub_xasprintf): Likewise.
19649 (grub_vsprintf): Renamed to ...
19650 (grub_vsnprintf_real): ...this. New argument max_len.
19651
aca655fd
BC
196522010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
19653
19654 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
19655 fix grub-script-check warning.
19656
7ee92c32
VS
196572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 * include/grub/font.h (grub_font_load): Fix prototype.
19660
f80927ca
VS
196612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
19664
119c50ea
VS
196652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19666
19667 * include/grub/x86_64/at_keyboard.h: New file.
19668
47d5f3c1
VS
196692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 * loader/mips/linux.c: Include missing grub/i18n.h.
19672
55ff5266
RM
196732009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19674
19675 * normal/menu.c (notify_execution_failure): Clarify error message.
19676
c893cc87
RM
196772009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19678
19679 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
19680 return value (and revert all return statements). Update users.
19681
917dd370
CW
196822010-01-20 Dan Merillat <debian@dan.merillat.org>
19683
19684 * kern/device.c (grub_device_iterate): Allocate new part_ent
19685 structure based on sizeof (*p) rather than sizeof (p->next), to
19686 account for structure padding.
19687
19688 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
19689 disk is NULL, which might happen for LVM physical volumes with no
19690 LVM signature.
19691
d4a4ee57
RM
196922009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19693
19694 * loader/mips/linux.c (grub_cmd_initrd)
19695 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
19696
196972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19698
19699 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
19700 (grub_video_video_init, grub_video_bitmap_init)
19701 (grub_font_manager_init, grub_term_gfxterm_init)
19702 (grub_at_keyboard_init): New extern declarations.
19703 (grub_machine_init): Initialize gfxterm and at_keyboard.
19704
19705 * kern/main.c (grub_main): Revert grub_printf delay kludge.
19706
19707 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
19708 `gfxterm.mod' into core image.
19709
19710 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19711 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19712 (kernel_img_FORMAT): Copy to ...
19713
19714 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19715 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19716 (kernel_img_FORMAT): ... here, and ...
19717
19718 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19719 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19720 (kernel_img_FORMAT): ... here.
19721
19722 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
19723 and input (at_keyboard) terminals in kernel.
19724 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
19725
19726 (pkglib_MODULES): Remove `pci.mod'.
19727 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
19728 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
19729 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19730 (at_keyboard_mod_LDFLAGS): Remove variables.
19731
197322010-01-11 Felix Zielcke <fzielcke@z-51.de>
19733
19734 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
19735
197362009-12-10 Robert Millan <rmh.grub@aybabtu.com>
19737
19738 * include/grub/mips/libgcc.h: Only export symbols for functions
19739 that libgcc provides.
19740
197412009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
19742
19743 MIPS support.
19744
19745 * bus/bonito.c: New file.
19746 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
19747 GRUB_PCI_NUM_DEVICES.
19748 * term/i386/pc/serial.c: Move to ...
19749 * term/serial.c: ... here. All users updated.
19750 * util/i386/pc/grub-mkimage.c: Move to ...
19751 * util/grub-mkrawimage.c: ... here. All users updated.
19752 * term/i386/pc/at_keyboard.c: Move to ...
19753 * term/at_keyboard.c: ... here. All users updated.
19754 * conf/mips-qemu-mips.rmk: New file.
19755 * conf/mips-yeeloong.rmk: Likewise.
19756 * conf/mips.rmk: Likewise.
19757 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
19758 mipsel-qemu-mips.
19759 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
19760 to port addresses.
19761 (grub_ata_pciinit): Support CS5536.
19762 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
19763 * font/font_cmd.c (loadfont_command): Open file before passing it to
19764 grub_font_load.
19765 (pseudo_file_read): New function.
19766 (pseudo_file_close): Likewise.
19767 (pseudo_fs): New structure.
19768 (load_font_module): New function.
19769 (GRUB_MOD_INIT(font_manager)): Load embedded font.
19770 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
19771 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
19772 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
19773 * include/grub/i386/at_keyboard.h: Split into ...
19774 * include/grub/at_keyboard.h: ... this ...
19775 * include/grub/i386/at_keyboard.h: ... and this.
19776 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
19777 New prototype.
19778 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
19779 updated.
19780 (grub_elf64_size): Likewise.
19781 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
19782 filename.
19783 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
19784 * include/grub/i386/coreboot/serial.h: Rewritten.
19785 * include/grub/i386/ieee1275/serial.h: Include
19786 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
19787 * include/grub/i386/pc/serial.h: Moved from here ...
19788 * include/grub/serial.h: ... to here. All users updated.
19789 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
19790 (GRUB_PCI_NUM_BUS): Likewise.
19791 (GRUB_PCI_NUM_DEVICES): Likewise.
19792 (grub_pci_device_map_range): Add missing volatile keyword.
19793 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
19794 * include/grub/mips/at_keyboard.h: New file.
19795 * include/grub/mips/cache.h: Likewise.
19796 * include/grub/mips/io.h: Likewise.
19797 * include/grub/mips/kernel.h: Likewise.
19798 * include/grub/mips/libgcc.h: Likewise.
19799 * include/grub/mips/pci.h: Likewise.
19800 * include/grub/mips/qemu-mips/boot.h: Likewise.
19801 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19802 * include/grub/mips/qemu-mips/loader.h: Likewise.
19803 * include/grub/mips/qemu-mips/memory.h: Likewise.
19804 * include/grub/mips/qemu-mips/serial.h: Likewise.
19805 * include/grub/mips/qemu-mips/time.h: Likewise.
19806 * include/grub/mips/relocator.h: Likewise.
19807 * include/grub/mips/time.h: Likewise.
19808 * include/grub/mips/types.h: Likewise.
19809 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
19810 * include/grub/mips/yeeloong/boot.h: Likewise.
19811 * include/grub/mips/yeeloong/kernel.h: Likewise.
19812 * include/grub/mips/yeeloong/loader.h: Likewise.
19813 * include/grub/mips/yeeloong/memory.h: Likewise.
19814 * include/grub/mips/yeeloong/pci.h: Likewise.
19815 * include/grub/mips/yeeloong/serial.h: Likewise.
19816 * include/grub/mips/yeeloong/time.h: Likewise.
19817 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
19818 * kern/elf.c (grub_elf32_size): New parameter. All users
19819 updated.
19820 (grub_elf64_size): Likewise.
19821 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
19822 Load modules before saying "Welcome to GRUB!".
19823 Call grub_refresh after saying "Welcome to GRUB!".
19824 * kern/mips/cache.S: New file.
19825 * kern/mips/cache_flush.S: Likewise.
19826 * kern/mips/dl.c: Likewise.
19827 * kern/mips/init.c: Likewise.
19828 * kern/mips/qemu-mips/init.c: Likewise.
19829 * kern/mips/startup.S: Likewise.
19830 * kern/mips/yeeloong/init.c: Likewise.
19831 * kern/term.c (grub_putcode): Handle NULL terminal.
19832 (grub_getcharwidth): Likewise.
19833 (grub_getkey): Likewise.
19834 (grub_checkkey): Likewise.
19835 (grub_getkeystatus): Likewise.
19836 (grub_getxy): Likewise.
19837 (grub_getwh): Likewise.
19838 (grub_gotoxy): Likewise.
19839 (grub_cls): Likewise.
19840 (grub_setcolorstate): Likewise.
19841 (grub_setcolor): Likewise.
19842 (grub_getcolor): Likewise.
19843 (grub_refresh): Likewise.
19844 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
19845 (write_jump): Add hatch nop.
19846 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
19847 * lib/mips/setjmp.S: New file.
19848 * loader/mips/linux.c: Likewise.
19849 * term/i386/pc/at_keyboard.c: Move from here ...
19850 * term/at_keyboard.c: ... to here.
19851 * term/i386/pc/serial.c: Moved from here ...
19852 * term/serial.c: ... to here. All users updated.
19853 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
19854 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
19855 (serial_translate_key_sequence): Avoid deadlock.
19856 (grub_serial_getkey): Handle backspace.
19857 (grub_serial_putchar): Fix newline handling.
19858 * util/i386/pc/grub-mkimage.c: Move from here ...
19859 * util/grub-mkrawimage.c: ... to here. All users updated.
19860 (generate_image): New parameters 'font_path' and 'format'.
19861 Support embedding font.
19862 Use grub_host_to_target* instead of grub_cpu_to_le*.
19863 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
19864 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
19865 (options): New option "--font".
19866 (usage): Likewise.
19867 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
19868 (main): Handle "--font".
19869 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
19870 (grub_virtual_screen_setup): Set bg_color_display.
19871 (redraw_screen_rect): Use bg_color_display instead of incorrect
19872 bg_color.
19873 (grub_gfxterm_cls): Likewise.
19874 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
19875 Support embedding config file.
19876 (add_segments): Likewise.
19877 (options): New option "--config".
19878 (main): Handle "--config".
19879 * video/sm712.c: New file.
19880
25c2b5b3
RM
198812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19882
19883 Fix parallel builds.
19884
19885 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
19886 font.c depend on ascii.h).
19887
198882010-01-12 Carles Pina i Estany <carles@pina.cat>
19889
19890 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
19891
198922010-01-11 Carles Pina i Estany <carles@pina.cat>
19893
19894 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
19895 By default: disabled.
19896 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
19897 parameter.
19898
198992010-01-10 Carles Pina i Estany <carles@pina.cat>
19900
19901 * font/font.c: Update copyright years.
19902 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
19903
199042010-01-10 Carles Pina i Estany <carles@pina.cat>
19905
19906 * font/font.c: Include `ascii.h'.
19907 (ASCII_BITMAP_SIZE): New macro.
19908 (ascii_font_glyph): Define.
19909 (ascii_glyph_lookup): New function.
19910 (grub_font_get_string_width): Change comment. If glyph not found, use
19911 ascii_glyph_lookup.
19912 (grub_font_get_glyph_with_fallback): If glyph not available returns
19913 ascii_glyph_lookup.
19914 * util/grub-mkfont.c (file_formats): New enum.
19915 (options): Add `ascii-bitmaps' new option.
19916 (usage): Add `asii-bitmaps' new option.
19917 (write_font_ascii_bitmap): New function.
19918 (write_font): Rename to ...
19919 (write_font_p2): ... this. Remove print_glyphs call.
19920 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
19921 used. Call print_glyphs.
19922 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
19923
199242010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19925
19926 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
19927 (grub_bin2h_SOURCES): New variable.
19928 * util/bin2h.c: New file.
19929
915fc1b8
VS
199302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * include/multiboot.h: Resynced with spec.
19933 * include/multiboot2.h: Likewise.
19934 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
19935 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
19936
9444b678
RM
199372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19938
19939 * include/grub/term.h (grub_term_register_input,
19940 grub_term_register_output): Check return of terminal init()
19941 routines, and abort if errors are raised.
19942
19943 * commands/terminal.c: Update copyright year.
19944
cba98e8d
RM
199452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19946
19947 * commands/terminal.c (grub_cmd_terminal_input)
19948 (grub_cmd_terminal_output): Check return of terminal init()
19949 routines, and abort if errors are raised.
19950
6f7db5d6
VS
199512010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 * include/grub/i386/bsd.h: Fix include pathes.
19954
262bff8d
VS
199552010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 Add missing *BSD copyright headers.
19958
19959 * include/grub/aout.h: Add BSD licence.
19960 * include/grub/i386/bsd.h: Parts under different licences moved to ...
19961 * include/grub/i386/freebsd_linker.h: ... here,
19962 * include/grub/i386/freebsd_reboot.h: ... here,
19963 * include/grub/i386/netbsd_bootinfo.h: ... here,
19964 * include/grub/i386/netbsd_reboot.h: ... here,
19965 * include/grub/i386/openbsd_bootarg.h: ... here,
19966 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
19967 licence to each file.
19968
b2cab848
RM
199692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19970
19971 * acinclude.m4: Remove `nop' assembly instruction; it's not
19972 implemented by all architectures.
19973
2cb6be4b
RM
199742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19975
19976 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
19977 ELILO. This is no longer necessary.
19978
a2eaee15
BC
199792010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
19980
19981 Added new tool, grub-scrit-check to verify grub.cfg syntax.
19982
19983 * util/grub-script-check.c: grub-script-check tool.
19984 * conf/common.rmk: Make rules for grub-script-check.
19985
88d17012
RM
199862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19987
19988 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
19989 spotting it back in 2008. Shame on me for forgetting he did.
19990
19991 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
19992
8040619d
RM
199932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19994
19995 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
19996 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
19997 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
19998 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
19999 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20000 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20001
a0c2a0f6
RM
200022010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20003
20004 * include/grub/test.h: Add license header.
20005 * tests/example_functional_test.c: Likewise.
20006 * tests/example_unit_test.c: Likewise.
20007 * tests/lib/functional_test.c: Likewise.
20008 * tests/lib/test.c: Likewise.
20009 * tests/lib/unit_test.c: Likewise.
20010
b0b13907
VS
200112010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20012
20013 Use flag-based instead of hook-based video mode selection and "auto"
20014 keyword.
20015
20016 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20017 (grub_video_set_mode): Changed prototype. All users updated.
20018 (grub_video_check_mode_flag): New inline function.
20019 * video/video.c (parse_modespec): New function.
20020 (grub_video_set_mode): Parse flags and keywords.
20021
ea379330 200222010-01-17 Carles Pina i Estany <carles@pina.cat>
20023
20024 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20025 fprintf call.
20026
e15c215e
FZ
200272010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20028
20029 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20030
409ae1c9 200312010-01-16 Carles Pina i Estany <carles@pina.cat>
20032
20033 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20034 string.
20035 * util/grub-emu.c (usage): Likewise.
20036 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20037 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20038 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20039 * util/i386/pc/grub-setup.c (usage): Likewise.
20040
70a14d3d 200412010-01-16 Carles Pina i Estany <carles@pina.cat>
20042
20043 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20044 the message.
20045 (grub_util_info): Likewise.
20046 (grub_util_error): Likewise.
20047 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20048 and/or new lines in `grub_util_warna', `grub_util_info',
20049 `grub_util_error' calls.
20050 * util/getroot.c: Likewise.
20051 * util/grub-editenv.c: Likewise.
20052 * util/grub-emu.c: Likewise.
20053 * util/grub-fstest.c: Likewise.
20054 * util/grub-mkdevicemap.c: Likewise.
20055 * util/grub-mkfont.c: Likewise.
20056 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20057 * util/grub-mkrelpath.c: Likewise.
20058 * util/grub-pe2elf.c: Likewise.
20059 * util/grub-probe.c: Likewise.
20060 * util/hostdisk.c: Likewise.
20061 * util/i386/efi/grub-mkimage.c: Likewise.
20062 * util/i386/pc/grub-mkimage.c: Likewise.
20063 * util/i386/pc/grub-setup.c: Likewise.
20064 * util/ieee1275/ofpath.c: Likewise.
20065 * util/mkisofs/eltorito.c: Likewise.
20066 * util/mkisofs/rock.c: Likewise.
20067 * util/mkisofs/write.c: Likewise.
20068 * util/raid.c: Likewise.
20069 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20070 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20071
a0b766fc
VS
200722010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 Enable multiboot on non-pc.
20075
20076 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20077 multiboot.mod and multiboot2.mod to ...
20078 * conf/i386.rmk (pkglib_MODULES): ... here.
20079 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20080 Moved to ...
20081 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20082 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20083 Moved to ...
20084 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20085 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20086 Moved to ...
20087 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20088 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20089 Moved to ...
20090 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20091 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20092 relocator.mod.
20093 (ata_mod_SOURCES): Removed.
20094 (ata_mod_CFLAGS): Likewise.
20095 (ata_mod_LDFLAGS): Likewise.
20096 (relocator_mod_SOURCES): Removed.
20097 (relocator_mod_CFLAGS): Likewise.
20098 (relocator_mod_ASFLAGS): Likewise.
20099 (relocator_mod_LDFLAGS): Likewise.
20100 Include i386.mk.
20101 * include/grub/x86_64/multiboot.h: New file.
20102 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20103 Terminate EFI.
20104
884ade56
VS
201052010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 Video multiboot support.
20108
20109 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20110 New prototype.
20111 * include/multiboot.h: Resynced with multiboot specification.
20112 * include/multiboot2.h: Likewise.
20113 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20114 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20115 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20116 (HAS_VGA_TEXT): Likewise.
20117 (accepts_video): New variable.
20118 (grub_multiboot_set_accepts_video): New function.
20119 (grub_multiboot_get_mbi_size): Account for video structures.
20120 (set_video_mode): New function.
20121 (retrieve_video_parameters): Likewise.
20122 (grub_multiboot_make_mbi): Fill video fields.
20123
0d90e8a6
VS
201242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 Video driver ids.
20127
20128 * include/grub/video.h (grub_video_driver_id): New type.
20129 (grub_video_adapter): New member 'id'. All users updated.
20130 (grub_video_get_driver_id): New proto.
20131 * video/video.c (grub_video_get_driver_id): New function.
20132
5c71db1b 201332010-01-14 Carles Pina i Estany <carles@pina.cat>
20134
20135 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20136 `var=val'.
20137
cca15b52 201382010-01-14 Carles Pina i Estany <carles@pina.cat>
20139
20140 * normal/cmdline.c (print_completion): Gettextizze.
20141
c586fbb2 201422001-01-14 Carles Pina i Estany <carles@pina.cat>
20143
20144 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20145
ba2f6848 201462010-01-14 Carles Pina i Estany <carles@pina.cat>
20147
20148 * gettext/gettext.c (grub_gettext_translate): Push and pop
20149 grub_errno.
20150 (grub_gettext_delete_list): Change comment style.
20151 * kern/err.c (grub_error): Gettextizze.
20152 (grub_fatal): Gettextizze.
20153
0a46429a
RM
201542010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20155
20156 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20157 (grub_linux16_real_boot): ... this.
20158 * kern/i386/loader.S: Likewise.
20159 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20160 (grub_linux16_boot): New function. Switches to text mode and calls
20161 grub_linux16_real_boot().
20162
20163 * loader/i386/bsd.c: Include `<grub/video.h>'.
20164 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20165 text mode before calling grub_unix_real_boot().
20166
20167 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20168 (grub_multiboot_boot): Switch to text mode before calling
20169 grub_relocator32_boot().
20170
20171 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20172 (grub_chainloader_boot): Switch to text mode before calling
20173 grub_chainloader_real_boot().
20174
d6f93a66
RM
201752010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
201762010-01-05 Colin Watson <cjwatson@ubuntu.com>
20177
20178 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20179 non-empty value.
20180
201812010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
201822010-01-05 Colin Watson <cjwatson@ubuntu.com>
20183
20184 * util/grub.d/00_header.in: Define a "savedefault" function for use
20185 in menu entries.
20186 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20187
201882010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
201892010-01-05 Colin Watson <cjwatson@ubuntu.com>
20190
20191 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20192 saved_entry if boot_once is unset.
20193 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20194 previous saved entry (i.e. grub-reboot).
20195
201962009-12-08 Colin Watson <cjwatson@ubuntu.com>
20197
20198 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20199
202002009-12-08 Colin Watson <cjwatson@ubuntu.com>
20201
20202 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20203 `var=val'.
20204 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20205
202062009-12-08 Colin Watson <cjwatson@ubuntu.com>
20207
20208 * util/grub-reboot.in: Fix --version output.
20209 * util/grub-set-default.in: Likewise.
20210
202112009-12-08 Colin Watson <cjwatson@ubuntu.com>
20212
20213 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20214 blocks.
20215
202162009-12-08 Colin Watson <cjwatson@ubuntu.com>
20217
20218 * util/grub.d/00_header.in: Quote the value assigned to `default',
20219 in case it contains spaces.
20220
202212009-12-08 Colin Watson <cjwatson@ubuntu.com>
20222
20223 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20224 `save_default_entry' call from the macosx case to the linux case.
20225
202262009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
202272009-10-25 Colin Watson <cjwatson@ubuntu.com>
20228
20229 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20230 in `chosen' environment variable.
20231 * normal/menu_text.c (get_entry_number): Check if the variable
20232 matches the title of a menu entry.
20233 (run_menu): Pass menu to get_entry_number.
20234
20235 * util/grub-reboot.in: New file.
20236 * util/grub-set-default.in: New file.
20237 * conf/common.rmk (grub-reboot): New utility.
20238 (grub-set-default): New utility.
20239
20240 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20241 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20242 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20243 move it to `saved_entry' for the next boot. Load environment on
20244 initialisation.
20245 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20246 * util/grub.d/10_hurd.in: Likewise.
20247 * util/grub.d/10_linux.in (linux_entry): Likewise.
20248 * util/grub.d/10_windows.in: Likewise.
20249 * util/grub.d/30_os-prober.in: Likewise.
20250
20251 * util/grub-install.in: Create environment block.
20252 * util/i386/efi/grub-install.in: Likewise.
20253 * util/ieee1275/grub-install.in: Likewise.
20254 * util/sparc64/ieee1275/grub-install.in: Likewise.
20255
0934d184
BC
202562010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20257
20258 Unit testing framework for GRUB.
20259
20260 * Makefile.in: Test framework build rules for 'make check'.
20261 * conf/tests.rmk: Build rules for individual tests and framework.
20262
20263 * include/grub/test.h: Header file for whitebox tests.
20264 * tests/lib/functional_test.c: Framework support for whitebox
20265 functional tests.
20266 * tests/lib/test.c: Common whitebox testing code for unit and
20267 functional tests.
20268 * tests/lib/unit_test.c: Framework support for whitebox unit
20269 tests.
20270
20271 * tests/util/grub-shell-tester.in: Support utility for grub-script
20272 tests.
20273 * tests/util/grub-shell.in: Utility to execute grub-script
20274 commands in a Qemu instance.
20275
20276 * tests/example_functional_test.c: Example whitebox functional
20277 test.
20278 * tests/example_grub_script_test.in: Example grub-script test.
20279 * tests/example_scripted_test.in: Example scripted test.
20280 * tests/example_unit_test.c: Example whitebox unit test.
20281
9c4ffeeb
VS
202822010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20285 Add loader/i386/multiboot_mbi.c.
20286 (multiboot2_mod_SOURCES): Likewise.
20287 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20288 (multiboot2_mod_SOURCES): Likewise.
20289 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20290 (grub_multiboot_make_mbi): Likewise.
20291 (grub_multiboot_free_mbi): Likewise.
20292 (grub_multiboot_init_mbi): Likewise.
20293 (grub_multiboot_add_module): Likewise.
20294 (grub_multiboot_set_bootdev): Likewise.
20295 * loader/i386/multiboot.c (mbi): Removed.
20296 (mbi_dest): Likewise.
20297 (alloc_mbi): New variable.
20298 (grub_multiboot_payload_size): Removed. All users updated.
20299 (grub_multiboot_pure_size): New variable.
20300 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20301 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20302 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20303 (grub_fill_multiboot_mmap): Likewise.
20304 (grub_multiboot_get_bootdev): Likewise.
20305 (grub_multiboot): Use multiboot_mbi functions.
20306 * loader/i386/multiboot_mbi.c: New file.
20307
17383dfe
VS
203082010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20311 it would result in module crash.
20312
c1f28820
VS
203132010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20316 (grub_ofconsole_getwh): Split to ...
20317 (grub_ofconsole_getwh): ... this.
20318 (grub_ofconsole_dimensions): ...and this.
20319 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20320
58655a16
RM
203212010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20322
20323 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20324
10891398
VS
203252010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * loader/i386/pc/multiboot2.c: Removed stalled file.
20328
0b8a223c
VS
203292010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20332 Reported by: Grégoire Sutre
20333
92ab12b0
RM
203342010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20335
20336 * util/misc.c (canonicalize_file_name): New function.
20337 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20338 instead of realpath().
20339
a788afb6
CW
203402010-01-11 Colin Watson <cjwatson@ubuntu.com>
20341
20342 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20343 and make it clearer that it's optional. Based on confusion
20344 witnessed on IRC.
20345
ffa8e3d2
VS
203462010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20349 in premature implicit newline.
20350
e9060a9d
VS
203512010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20352
20353 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20354 which resulted in garbled command line at the end of screen.
20355
f0d0c0b7
RM
203562010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20357
20358 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20359 initialization with similar approach as with other Linux loaders.
20360
0e60bae7
RM
203612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20362
20363 Fix i386-ieee1275 build.
20364
20365 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20366 and grub_term_height() for video_{width,height} initialization.
20367
203682010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20369
20370 Fix grub-emu build.
20371
20372 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20373
cdb3f378
RM
203742010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
203752010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20376
20377 Support for multiple terminals.
20378
20379 * Makefile.in (pkglib_DATA): terminal.lst.
20380 (terminal.lst): New target.
20381 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20382 (GRUB_MOD_INIT(handler)): Likewise.
20383 (GRUB_MOD_FINI(handler)): Likewise.
20384 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20385 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20386 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20387 (grub_cmd_sleep): Use grub_term_save_pos.
20388 * commands/terminal.c: New file.
20389 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20390 commands/terminal.c and lib/charset.c.
20391 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20392 (pkglib_MODULES): Add terminal.mod.
20393 (terminal_mod_SOURCES): New variable.
20394 (terminal_mod_CFLAGS): Likewise.
20395 (terminal_mod_LDFLAGS): Likewise.
20396 * genhandlerlist.sh: Don't handle terminals.
20397 * genmk.rb: Generate terminal-*.lst.
20398 * genterminallist.sh: New file.
20399 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20400 (grub_is_valid_utf8): Likewise.
20401 (grub_utf8_to_ucs4_alloc): Likewise.
20402 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20403 (grub_menu_register_viewer): Changed argument.
20404 (grub_menu_try_text): New proto.
20405 (grub_gfxmenu_try_hook): New declaration.
20406 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20407 (grub_menu_init_page): Additional argument term.
20408 (grub_normal_init_page): Likewise.
20409 (grub_cmdline_get): Arguments simplified.
20410 (grub_utf8_to_ucs4_alloc): Removed.
20411 (grub_print_ucs4): Additional argument term.
20412 (grub_getstringwidth): Likewise.
20413 (grub_print_message_indented): Likewise.
20414 (grub_menu_text_register_instances): New proto.
20415 (grub_show_menu): Likewise.
20416 (read_terminal_list): Likewise.
20417 (grub_set_more): Likewise.
20418 * include/grub/parser.h: Include handler.h.
20419 * include/grub/reader.h: Rewritten.
20420 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20421 (GRUB_TERM_WIDTH): Changed to function.
20422 (GRUB_TERM_HEIGHT): Likewise.
20423 (GRUB_TERM_BORDER_WIDTH): Likewise.
20424 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20425 (GRUB_TERM_NUM_ENTRIES): Likewise.
20426 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20427 (GRUB_TERM_CURSOR_X): Likewise.
20428 (grub_term_input_class): Likewise.
20429 (grub_term_output_class): Likewise.
20430 (grub_term_outputs_disabled): New declaration.
20431 (grub_term_inputs_disabled): Likewise.
20432 (grub_term_outputs): Likewise.
20433 (grub_term_inputs): Likewise.
20434 (grub_term_register_input): Rewritten.
20435 (grub_term_register_output): Likewise.
20436 (grub_term_unregister_input): Likewise.
20437 (grub_term_unregister_output): Likewise.
20438 (FOR_ACTIVE_TERM_INPUTS): New macro.
20439 (FOR_DISABLED_TERM_INPUTS): Likewise.
20440 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20441 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20442 * include/grub/terminfo.h: Add oterm argument to all protypes.
20443 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20444 Use grub_rescue_run.
20445 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20446 All users updated.
20447 * kern/reader.c: Removed. All users updated.
20448 * kern/rescue_reader.c (grub_rescue_init): Removed.
20449 (grub_rescue_reader): Likewise.
20450 (grub_register_rescue_reader): Likewise.
20451 (grub_rescue_run): New function based on kern/reader.c.
20452 * kern/term.c: Adapted for multiterm.
20453 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20454 (grub_is_valid_utf8): Likewise.
20455 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20456 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20457 right terminal.
20458 * loader/i386/linux.c (grub_linux_boot): Likewise.
20459 * normal/auth.c (grub_username_get): New function.
20460 (grub_auth_check_authentication): Use grub_username_get.
20461 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20462 * normal/color.c: Adapt for multiterm.
20463 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20464 (grub_normal_init_page): Additional argument term.
20465 (read_lists): Call read_terminal_lists.
20466 (grub_enter_normal_mode): Call grub_cmdline_run.
20467 Handle grub_normal_exit_level.
20468 (grub_cmd_normal): Make reentrant.
20469 (grub_cmd_normal_exit): New function.
20470 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20471 * normal/menu.c: Adapt for multiterm.
20472 * normal/menu_entry.c: Likewise.
20473 * normal/menu_text.c: Likewise.
20474 * normal/menu_viewer.c: Removed. All users updated.
20475 * normal/term.c: New file.
20476 * util/console.c: Change order of includes to workaround a bug in
20477 ncurses headers.
20478 * term/terminfo.c: New argument oterm on all exported functions.
20479 All users updated.
20480 * util/grub-editenv.c (grub_term_input_class): Removed.
20481 (grub_term_output_class): Likewise.
20482
1a064917
RM
204832010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20484
20485 Make loader output a bit more user-friendly.
20486
20487 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20488 is being loaded. Likewise for the Hurd.
20489
20490 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20491 that kernel of FreeBSD ${version} is being loaded.
20492
20493 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20494 grub_dprintf().
20495 (grub_cmd_initrd): Likewise.
20496 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20497 that Linux ${version} is being loaded. Likewise for initrd.
20498
5ce0a83a 204992010-01-09 Carles Pina i Estany <carles@pina.cat>
20500
20501 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20502
809bbfeb 205032010-01-08 Carles Pina i Estany <carles@pina.cat>
20504
20505 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20506 (GRUB_MOD_INIT): Gettextizze.
20507 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20508 (GRUB_MOD_INIT): Gettextizze.
20509 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20510 (grub_cmd_linux): Capitalise Linux.
20511 (GRUB_MOD_INIT): Gettextizze.
20512 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20513 (grub_cmd_linux): Capitalise Linux.
20514 (GRUB_MOD_INIT): Gettextizze.
20515 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20516 (grub_cmd_linux): Capitalise Linux.
20517 (GRUB_MOD_INIT): Gettextizze.
20518 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20519 (GRUB_MOD_INIT): Gettextizze.
20520 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20521 (grub_cmd_linux): Capitalise Linux.
20522 (GRUB_MOD_INIT): Gettextizze.
20523 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20524 (grub_cpu_xnu_init): Gettextizze.
20525 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20526 (GRUB_MOD_INIT): Gettextizze.
20527 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20528 (GRUB_MOD_INIT): Gettextizze.
20529 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20530 (grub_linux_load64): Capitalise Linux.
20531 (GRUB_MOD_INIT): Gettextizze.
20532 * loader/xnu.c: Include `<grub/i18n.h>'.
20533 (GRUB_MOD_INIT): Gettextizze.
20534 * po/POTFILES: Add `loader/efi/appleloader.c',
20535 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20536 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20537 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20538 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20539 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20540 and `loader/xnu.c'.
20541
b394b2ca
RM
205422010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20543
20544 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20545
205462010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20547
20548 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20549 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20550 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20551
bc8b32b3
RM
205522010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20553
20554 Reset Multiboot 2 support. New loader implements the draft in
20555 /branches/multiboot2 and shares as much code as possible with the
20556 production Multiboot 1 implementation.
20557
20558 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20559 * loader/multiboot2.c: Likewise.
20560 * loader/i386/multiboot_helper.S: Likewise.
20561 * include/multiboot2.h: Replace with latest version from the draft
20562 in /branches/multiboot2.
20563
20564 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20565 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20566 and `loader/multiboot2.c'.
20567 (pkglib_MODULES): Add `multiboot2.mod'.
20568 (multiboot2_mod_SOURCES): New variable.
20569 (multiboot2_mod_LDFLAGS): Likewise.
20570 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20571
20572 * conf/i386-pc.rmk: Likewise.
20573
20574 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20575 (multiboot_mod_SOURCES): Remove variable.
20576 (multiboot_mod_LDFLAGS): Likewise.
20577 (multiboot_mod_CFLAGS): Likewise.
20578
20579 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20580 `<multiboot2.h>' instead of `<multiboot.h>'.
20581 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20582 (MULTIBOOT_HEADER_MAGIC): New macros.
20583
20584 * loader/multiboot_loader.c (module_version_status): Remove variable.
20585 (find_multi_boot2_header): Remove function.
20586 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20587 logic. Always check for the Multiboot version we're compiling for.
20588 (grub_cmd_module_loader): Likewise.
20589 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20590 command instead of `multiboot'.
20591
5d2c52b8
RM
205922010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20593
20594 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20595 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20596 all users.
20597
53108d92
RM
205982010-01-07 Robert Millan <rmh.grub@aybabtu.com>
205992010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 Fix breakage introduced with previous commit.
20602
20603 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20604 commands.
20605 * normal/handler.c (read_handler_list): Revert part of previous commit
20606 affecting this file.
20607 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20608 (grub_normal_execute): ... here.
20609
e2e936b2
RM
206102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20611
20612 Merge prefix-redefinition-fix branch.
20613
20614 * normal/autofs.c (read_fs_list): Make function capable of being
20615 run multiple times, gracefuly replacing the previous data
20616 structures.
20617 * normal/dyncmd.c (read_command_list): Likewise.
20618 * normal/handler.c (read_handler_list): Likewise.
20619 * normal/main.c (read_lists): New function. Calls all the
20620 list reading functions.
20621 (grub_normal_execute): Use read_lists() instead of calling all
20622 list reading functions explicitly. Register read_lists() as a
20623 variable hook attached to ${prefix}.
20624
607a3701
VS
206252010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20626
20627 Merge crypto branch.
20628
20629 * Makefile.in (pkglib_DATA): Add crypto.lst.
20630 (crypto.lst): New target.
20631 * commands/hashsum.c: New file.
20632 * commands/password.c (check_password): Use grub_crypto_memcmp.
20633 * commands/password_pbkdf2.c: New file.
20634 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
20635 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
20636 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
20637 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
20638 -I$(srcdir)/lib/libgcrypt_wrap.
20639 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
20640 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
20641 password_pbkdf2.mod.
20642 (crypto_mod_SOURCES): New variable.
20643 (crypto_mod_CFLAGS): Likewise.
20644 (crypto_mod_LDFLAGS): Likewise.
20645 (hashsum_mod_SOURCES): New variable.
20646 (hashsum_mod_CFLAGS): Likewise.
20647 (hashsum_mod_LDFLAGS): Likewise.
20648 (pbkdf2_mod_SOURCES): New variable.
20649 (pbkdf2_mod_CFLAGS): Likewise.
20650 (pbkdf2_mod_LDFLAGS): Likewise.
20651 (password_pbkdf2_mod_SOURCES): New variable.
20652 (password_pbkdf2_mod_CFLAGS): Likewise.
20653 (password_pbkdf2_mod_LDFLAGS): Likewise.
20654 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
20655 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
20656 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
20657 Include conf/gcry.rmk.
20658 * include/grub/auth.h: Rewritten.
20659 * include/grub/crypto.h: New file.
20660 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
20661 * include/grub/normal.h (read_crypto_list): New prototype.
20662 * lib/crypto.c: New file.
20663 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20664 * lib/pbkdf2.c: Likewise.
20665 * normal/auth.c (grub_auth_strcmp): Removed.
20666 (grub_iswordseparator): Likewise.
20667 (grub_auth_strword): Likewise.
20668 (is_authenticated): Use grub_strword.
20669 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
20670 and grub_strword. Pass entered password to authentication callback.
20671 * normal/crypto.c: New file.
20672 * normal/main.c: Call read_crypto_list.
20673 * util/grub-mkpasswd-pbkdf2.c: New file.
20674 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
20675
42841caa
VS
206762010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
20677
20678 Fix descent and ascent calculation.
20679
20680 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
20681 (options): New option "asce".
20682 (usage): Likewise.
20683 (add_char): Ignore invalid glyphs for descent calculation.
20684 Calculate ascent from actual content.
20685 (print_glyphs): Use 'asce'.
20686 (write_font): Likewise. Allow ascent override.
20687 (main): Handle "asce" option.
20688
e7730de7 206892010-01-06 Carles Pina i Estany <carles@pina.cat>
20690
20691 * kern/err.c: Include `<grub/i18n.h>'.
20692 (grub_print_error): Add full stop. Gettextizze.
20693 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
20694 (grub_bsd_load_elf): Capitalise ELF.
20695 (grub_cmd_freebsd_loadenv): Add `s' in error string.
20696 (grub_cmd_freebsd_module): Likewise.
20697 (grub_cmd_freebsd_module_elf): Likewise.
20698 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
20699
40e3a41f 207002010-01-06 Carles Pina i Estany <carles@pina.cat>
20701
20702 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
20703 * commands/search_file.c (HELP_MESSAGE): New macro.
20704 * commands/search_label.c (HELP_MESSAGE): Likewise.
20705 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
20706 * po/POTFILES: Add `commands/search_file.c',
20707 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
20708 `commands/search.c'.
20709
83507e68
RM
207102010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20711
20712 * config.rpath: Update from Gnulib.
20713
465c787b
YB
207142010-01-05 Yves Blusseau <blusseau@zetam.org>
20715
20716 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
20717
6581dd3a
YB
207182010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
20719
20720 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
20721
3bff18c5
CW
207222010-01-05 Colin Watson <cjwatson@ubuntu.com>
20723
20724 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
20725 arguments to fread so that we get a return value in bytes, rather
20726 than something that will normally be rounded down to 0.
20727 Adjust error handling to avoid producing garbage when size_t is not
20728 the same size as long long.
20729
a1368118
CW
207302010-01-05 Colin Watson <cjwatson@ubuntu.com>
20731
20732 * util/mkisofs/write.c (padblock_write): Check return value of
20733 fread.
20734
7c302978
RM
207352010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20736
20737 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
20738 floppy images now.
20739
20740 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
20741
e33ace06
RM
207422010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20743
20744 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
20745 instead of manual alignment.
20746 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
20747 verbose). Avoid attempts to read past end of the device
20748 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
20749 but GRUB_DISK_CACHE_SIZE may exceed that).
20750
4b856776
RM
207512010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 * commands/crc.c (grub_cmd_crc): Abort on read errors.
20754 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
20755 it to upper layer.
20756
52c2d97f
VS
207572010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20758
20759 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
20760 New constant.
20761 (grub_efi_piwg_device_path): New structure
20762 (grub_efi_piwg_device_path_t): New type.
20763 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
20764 (devpath_1): Transform to a structure. All users updated.
20765 (devpath_2): Likewise.
20766 (devpath_3): Likewise.
20767 (devpath_4): Likewise.
20768 (devpath_5): Likewise.
20769
98ff6a54
VS
207702010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 * loader/efi/appleloader.c: Restored. Update all users.
20773
3a73dcb6
RM
207742010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20775
20776 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
20777
20778 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
20779 (struct boot_blocklist): Move from here ...
20780 * include/grub/i386/pc/boot.h [ASM_FILE]
20781 (struct grub_boot_blocklist): ... to here. Update all users.
20782 (setup): Only initialize `start' member of `first_block'
20783 structure. Add assert() calls to verify the other members.
20784
20785 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
20786 (generate_image): Fix broken blocklist length initialization.
20787 Add assert() call to verify blocklist `segment' field.
20788
ab0eeb0c
RM
207892010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20790
20791 * loader/efi/appleloader.c: Remove. Update all users.
20792
58bc8bd5
RM
207932010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20794
20795 * boot/i386/pc/boot.S: Update copyright year.
20796 * boot/i386/pc/cdboot.S: Likewise.
20797 * boot/i386/pc/diskboot.S: Likewise.
20798 * boot/i386/pc/lnxboot.S: Likewise.
20799 * boot/i386/pc/pxeboot.S: Likewise.
20800 * bus/pci.c: Likewise.
20801 * commands/cmp.c: Likewise.
20802 * commands/help.c: Likewise.
20803 * commands/hexdump.c: Likewise.
20804 * commands/i386/pc/halt.c: Likewise.
20805 * commands/i386/pc/play.c: Likewise.
20806 * commands/i386/pc/vbeinfo.c: Likewise.
20807 * commands/ls.c: Likewise.
20808 * commands/test.c: Likewise.
20809 * disk/dmraid_nvidia.c: Likewise.
20810 * disk/i386/pc/biosdisk.c: Likewise.
20811 * disk/ieee1275/nand.c: Likewise.
20812 * disk/ieee1275/ofdisk.c: Likewise.
20813 * disk/lvm.c: Likewise.
20814 * disk/raid.c: Likewise.
20815 * disk/raid6_recover.c: Likewise.
20816 * disk/scsi.c: Likewise.
20817 * fs/affs.c: Likewise.
20818 * fs/cpio.c: Likewise.
20819 * fs/ext2.c: Likewise.
20820 * fs/hfs.c: Likewise.
20821 * fs/iso9660.c: Likewise.
20822 * fs/ntfs.c: Likewise.
20823 * fs/sfs.c: Likewise.
20824 * fs/udf.c: Likewise.
20825 * fs/ufs.c: Likewise.
20826 * fs/xfs.c: Likewise.
20827 * gencmdlist.sh: Likewise.
20828 * genmk.rb: Likewise.
20829 * include/grub/disk.h: Likewise.
20830 * include/grub/efi/api.h: Likewise.
20831 * include/grub/efi/efi.h: Likewise.
20832 * include/grub/efi/pe32.h: Likewise.
20833 * include/grub/elf.h: Likewise.
20834 * include/grub/fs.h: Likewise.
20835 * include/grub/i386/at_keyboard.h: Likewise.
20836 * include/grub/i386/pc/memory.h: Likewise.
20837 * include/grub/i386/pc/vbe.h: Likewise.
20838 * include/grub/i386/pci.h: Likewise.
20839 * include/grub/i386/tsc.h: Likewise.
20840 * include/grub/ieee1275/ieee1275.h: Likewise.
20841 * include/grub/ntfs.h: Likewise.
20842 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20843 * include/grub/sparc64/libgcc.h: Likewise.
20844 * include/grub/symbol.h: Likewise.
20845 * include/grub/types.h: Likewise.
20846 * include/multiboot2.h: Likewise.
20847 * io/gzio.c: Likewise.
20848 * kern/device.c: Likewise.
20849 * kern/disk.c: Likewise.
20850 * kern/efi/efi.c: Likewise.
20851 * kern/efi/mm.c: Likewise.
20852 * kern/elf.c: Likewise.
20853 * kern/file.c: Likewise.
20854 * kern/i386/dl.c: Likewise.
20855 * kern/i386/pc/init.c: Likewise.
20856 * kern/i386/pc/startup.S: Likewise.
20857 * kern/ieee1275/ieee1275.c: Likewise.
20858 * kern/ieee1275/init.c: Likewise.
20859 * kern/main.c: Likewise.
20860 * kern/mm.c: Likewise.
20861 * kern/powerpc/dl.c: Likewise.
20862 * kern/sparc64/dl.c: Likewise.
20863 * kern/x86_64/dl.c: Likewise.
20864 * lib/hexdump.c: Likewise.
20865 * loader/efi/appleloader.c: Likewise.
20866 * loader/i386/ieee1275/linux.c: Likewise.
20867 * loader/i386/pc/chainloader.c: Likewise.
20868 * loader/i386/pc/linux.c: Likewise.
20869 * loader/i386/pc/multiboot2.c: Likewise.
20870 * loader/ieee1275/multiboot2.c: Likewise.
20871 * loader/multiboot2.c: Likewise.
20872 * loader/multiboot_loader.c: Likewise.
20873 * loader/powerpc/ieee1275/linux.c: Likewise.
20874 * normal/completion.c: Likewise.
20875 * normal/menu_entry.c: Likewise.
20876 * partmap/apple.c: Likewise.
20877 * util/grub.d/10_hurd.in: Likewise.
20878 * util/hostfs.c: Likewise.
20879 * video/readers/png.c: Likewise.
20880
e2d70b5c
CW
208812010-01-03 Colin Watson <cjwatson@ubuntu.com>
20882
20883 * include/grub/misc.h (GNUC_PREREQ): New macro.
20884 (ATTRIBUTE_ERROR): New macro.
20885 * include/grub/list.h (grub_bad_type_cast_real): Use
20886 ATTRIBUTE_ERROR.
20887
a173283f 208882010-01-03 Carles Pina i Estany <carles@pina.cat>
20889
20890 * normal/menu_text.c (print_message): Change messages.
20891
7fa7ff74 208922010-01-03 Carles Pina i Estany <carles@pina.cat>
20893
20894 * normal/menu_entry.c (store_completion): Gettextizze.
20895
136d24f6 208962010-01-03 Carles Pina i Estany <carles@pina.cat>
20897
20898 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
20899
f936862e 209002010-01-03 Carles Pina i Estany <carles@pina.cat>
20901
20902 * po/POTFILES: Sort correctly.
20903
29c44ad1 209042010-01-03 Carles Pina i Estany <carles@pina.cat>
20905
20906 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
20907 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
20908 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
20909 full stop.
20910 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
20911 summary. Gettextizze the strings.
20912 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
20913 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
20914 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
20915 full stop.
20916 (GRUB_MOD_INIT): Remove command name from summary.
20917 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
20918 summary.
20919 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
20920 * term/i386/pc/serial.c (options): Add full stops.
20921 (GRUB_MOD_INIT): Remove command name from the summary.
20922
77a79592 209232010-01-03 Carles Pina i Estany <carles@pina.cat>
20924
20925 * commands/acpi.c: Gettextizze help strings and/or options. Include
20926 `grub/i18n.h' if needed.
20927 * commands/blocklist.c: Likewise.
20928 * commands/boot.c: Likewise.
20929 * commands/cat.c: Likewise.
20930 * commands/cmp.c: Likewise.
20931 * commands/configfile.c: Likewise.
20932 * commands/crc.c: Likewise.
20933 * commands/date.c: Likewise.
20934 * commands/echo.c: Likewise.
20935 * commands/efi/fixvideo.c: Likewise.
20936 * commands/efi/loadbios.c: Likewise.
20937 * commands/gptsync.c: Likewise.
20938 * commands/halt.c: Likewise.
20939 * commands/handler.c: Likewise.
20940 * commands/hdparm.c: Likewise.
20941 * commands/hexdump.c: Likewise.
20942 * commands/i386/cpuid.c: Likewise.
20943 * commands/i386/pc/drivemap.c: Likewise.
20944 * commands/i386/pc/halt.c: Likewise.
20945 * commands/i386/pc/pxecmd.c: Likewise.
20946 * commands/i386/pc/vbeinfo.c: Likewise.
20947 * commands/i386/pc/vbetest.c: Likewise.
20948 * commands/ieee1275/suspend.c: Likewise.
20949 * commands/keystatus.c: Likewise.
20950 * commands/loadenv.c: Likewise.
20951 * commands/ls.c: Likewise.
20952 * commands/lsmmap.c: Likewise.
20953 * commands/lspci.c: Likewise.
20954 * commands/memrw.c: Likewise.
20955 * commands/minicmd.c: Likewise.
20956 * commands/parttool.c: Likewise.
20957 * commands/password.c: Likewise.
20958 * commands/probe.c: Likewise.
20959 * commands/read.c: Likewise.
20960 * commands/reboot.c: Likewise.
20961 * commands/search.c: Likewise.
20962 * commands/sleep.c: Likewise.
20963 * commands/test.c: Likewise.
20964 * commands/true.c: Likewise.
20965 * commands/usbtest.c: Likewise.
20966 * commands/videotest.c: Likewise.
20967 * commands/xnu_uuid.c: Likewise.
20968 * disk/loopback.c: Likewise.
20969 * hello/hello.c: Likewise.
20970 * loader/i386/bsd.c: Likewise.
20971 * term/i386/pc/serial.c: Likewise.
20972 * po/POTFILES: Add new files.
20973
da8d5c53
CW
209742010-01-02 Colin Watson <cjwatson@ubuntu.com>
20975
20976 * term/i386/pc/at_keyboard.c
20977 (keyboard_controller_wait_untill_ready): Rename to ...
20978 (keyboard_controller_wait_until_ready): ... this. Update all users.
20979
33937904 209802010-01-01 Carles Pina i Estany <carles@pina.cat>
20981
20982 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
20983 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
20984 string using string width.
20985 * normal/menu_text.c (grub_print_message_indented): Use
20986 grub_print_spaces and not print_spaces.
20987 (print_timeout): Likewise.
20988 (print_spaces): Move to...
20989 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
20990
3fd3b8d8
RM
209912010-01-01 Robert Millan <rmh.grub@aybabtu.com>
20992
20993 Import from Gnulib.
20994
20995 * gnulib/getdelim.c: New file.
20996 * gnulib/getline.c: Likewise.
20997
33433555
VS
209982009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
20999
21000 * include/grub/list.h (grub_assert_fail): Removed.
21001 (grub_bad_type_cast_real): New function.
21002 (grub_bad_type_cast): New macro.
21003 (GRUB_AS_LIST): Use grub_bad_type_cast.
21004 (GRUB_AS_LIST_P): Likewise.
e44721e8 21005 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21006 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21007 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21008 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21009 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21010
f5a51306
VS
210112009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21014 Fix syntax error.
21015
90d1e879
RM
210162009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21017
21018 * configure.ac: Check for TARGET_CFLAGS initialization before we
21019 initialize it ourselves (sigh).
21020 Move a few modifications to TARGET_CFLAGS to be unconditional
21021 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21022 eh_frame)
21023
21024 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21025 * term/i386/pc/at_keyboard.c
21026 (keyboard_controller_wait_untill_ready): Likewise.
21027 (keyboard_controller_led): Rename `led_status' paramter to avoid
21028 name conflict.
21029
465b5a81 210302009-12-28 Carles Pina i Estany <carles@pina.cat>
21031
21032 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21033 quotes.
21034
c181849b
VS
210352009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21036
21037 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21038
9c8739a4
VS
210392009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21040
21041 * normal/menu_text.c (grub_print_message_indented): Prevent
21042 past-the-end-of-array dereference.
21043
3e74249c
VS
210442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21045
21046 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21047 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21048
64fd18ed 210492009-12-27 Carles Pina i Estany <carles@pina.cat>
21050
21051 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21052 * normal/main.c (grub_normal_read_line): Remove a space from the
21053 default prompt.
21054
714af9b9 210552009-12-27 Carles Pina i Estany <carles@pina.cat>
21056
21057 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21058 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21059 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21060 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21061 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21062 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21063 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21064
82f3e412 210652009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21066
21067 * video/readers/jpeg.c (cmd): Declare.
21068 (grub_cmd_jpegtest): Use `grub_command_t' type.
21069 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21070 Assign to `cmd'.
21071 (GRUB_MOD_FINI): Use `cmd' to unregister.
21072 * video/readers/png.c (cmd): Declare.
21073 (grub_cmd_pngtest): Use `grub_command_t' type.
21074 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21075 Assign to `cmd'.
21076 (GRUB_MOD_FINI): Use `cmd' to unregister.
21077 * video/readers/tga.c (cmd): Declare.
21078 (grub_cmd_tgatest): Use `grub_command_t' type.
21079 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21080 Assign to `cmd'.
21081 (GRUB_MOD_FINI): Use `cmd' to unregister.
21082
82f3e412 210832009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21084
21085 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21086 stops.
21087 * kern/corecmd.c (grub_register_core_commands): Likewise.
21088 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21089 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21090 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21091 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21092 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21093 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21094 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21095 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21096 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21097 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21098 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21099 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21100 * normal/handler.c (insert_handler): Likewise.
21101 * normal/main.c (GRUB_MOD_INIT): Likewise.
21102 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21103
fdcdbb66 211042009-12-26 Carles Pina i Estany <carles@pina.cat>
21105
21106 * commands/help.c (grub_cmd_help): Print the command name before the
21107 summary.
21108 (GRUB_MOD_INIT): Remove command name from the summary.
21109 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21110 string as summary.
fdcdbb66 21111 * lib/arg.c (find_long): Print the command name before the summary.
21112 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21113 summary.
21114 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21115 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21116 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21117 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21118 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21119 * commands/date.c (GRUB_MOD_INIT): Likewise.
21120 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21121 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21122 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21123 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21124 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21125 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21126 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21127 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21128 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21129 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21130 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21131 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21132 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21133 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21134 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21135 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21136 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21137 * commands/password.c (GRUB_MOD_INIT): Likewise.
21138 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21139 * commands/read.c (GRUB_MOD_INIT): Likewise.
21140 * commands/search.c (GRUB_MOD_INIT): Likewise.
21141 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21142 * commands/test.c (GRUB_MOD_INIT): Likewise.
21143 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21144 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21145 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21146 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21147 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21148 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21149 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21150 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21151 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21152 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21153 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21154 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21155 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21156 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21157
9c288be2
VS
211582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21159
21160 Use search command for preliminar UUID search.
21161
21162 * commands/search.c: Split into ...
21163 * commands/search_wrap.c: ...this
21164 * commands/search.c: ...and this.
21165 * commands/search_file.c: New file.
21166 * commands/search_label.c: New file.
21167 * commands/search_uuid.c: New file.
21168 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21169 Add commands/search_wrap.c, commands/search_file.c,
21170 commands/search_label.c and commands/search_uuid.c.
21171 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21172 (search_mod_SOURCES): Set to commands/search_wrap.c.
21173 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21174 search_label.mod.
21175 (search_fs_file_mod_SOURCES): New variable.
21176 (search_fs_file_mod_CFLAGS): Likewise.
21177 (search_fs_file_mod_LDFLAGS): Likewise.
21178 (search_label_mod_SOURCES): Likewise.
21179 (search_label_mod_CFLAGS): Likewise.
21180 (search_label_mod_LDFLAGS): Likewise.
21181 (search_fs_uuid_mod_SOURCES): New variable.
21182 (search_fs_uuid_mod_CFLAGS): Likewise.
21183 (search_fs_uuid_mod_LDFLAGS): Likewise.
21184 (fs_file_mod_SOURCES): Removed.
21185 (fs_file_mod_CFLAGS): Likewise.
21186 (fs_file_mod_LDFLAGS): Likewise.
21187 (fs_uuid_mod_SOURCES): Removed.
21188 (fs_uuid_mod_CFLAGS): Likewise.
21189 (fs_uuid_mod_LDFLAGS): Likewise.
21190 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21191 Set to util/grub-install.in.
21192 * disk/fs_file.c: Removed.
21193 * disk/fs_uuid.c: Likewise.
21194 * include/grub/search.h: New file.
21195 * util/grub-install.in: Handle sparc64.
21196 Create and use load.cfg.
21197 * util/sparc64/ieee1275/grub-install.in: Removed.
21198
db943399
VS
211992009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21200
21201 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21202 Ignore return status if CF is cleared.
21203 (grub_biosdisk_get_diskinfo_standard): Likewise.
21204
3fdae612
RM
212052009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21206
21207 * term/i386/pc/at_keyboard.c
21208 (keyboard_controller_wait_untill_ready): New function.
21209 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21210 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21211 for keyboard polling, rather than duplicate the same loop. This
21212 saves a few bytes in code size.
21213
7ebaa2b4
VS
212142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 Support for (pxe[:server[:gateway]]) syntax and
21217 use environment variable for PXE.
21218
21219 * commands/i386/pc/pxecmd.c (options): Removed.
21220 (print_ip): Removed.
21221 (grub_cmd_pxe): Removed
21222 (grub_cmd_pxe_unload): New function.
21223 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21224 (grub_pxe_your_ip): Made static.
21225 (grub_pxe_default_server_ip): Likewise.
21226 (grub_pxe_default_gateway_ip): Likewise.
21227 (grub_pxe_blksize): Likewise.
21228 (parse_ip): New function.
21229 (grub_pxe_open): Support server and gateway specification.
21230 (grub_pxe_close): Free disk->data.
21231 (grub_pxefs_open): Use disk->data.
21232 (grub_pxefs_read): Likewise.
21233 (grub_env_write_readonly): New function.
21234 (set_mac_env): Likewise.
21235 (set_env_limn_ro): Likewise.
21236 (parse_dhcp_vendor): Likewise.
21237 (grub_pxe_detect): Set the environment variables.
21238 (set_ip_env): New function.
21239 (write_ip_env): Likewise.
21240 (grub_env_write_pxe_default_server): Likewise.
21241 (grub_env_write_pxe_default_gateway): Likewise.
21242 (grub_env_write_pxe_blocksize): Likewise.
21243 (GRUB_MOD_INIT(pxe)): Set environment variables.
21244 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21245 (grub_pxe_mac_addr_t): ... this. All users updated.
21246 (grub_pxe_your_ip): Removed.
21247 (grub_pxe_server_ip): Likewise.
21248 (grub_pxe_gateway_ip): Likewise.
21249 (grub_pxe_blksize): Likewise.
21250
ec5f98ab 212512009-12-25 Carles Pina i Estany <carles@pina.cat>
21252
21253 * commands/help.c: Include `<grub/i18n.h>'.
21254 (grub_cmd_help): Gettextizze.
21255 (GRUB_MOD_INIT): Likewise.
21256 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21257 (GRUB_MOD_INIT): Gettextizze.
21258 * commands/search.c: Include `<grub/i18n.h>'.
21259 (options): Gettextizze.
21260 (GRUB_MOD_INIT): Gettextizze.
21261 * lib/arg.c: Include `<grub/i18n.h>'.
21262 (help_options): Gettextizze.
21263 (find_long): Likewise.
21264 (grub_arg_show_help): Likewise.
21265 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21266 (read_command_list): Gettextizze.
21267 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21268 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21269
22815526
RM
212702009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21271
21272 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21273 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21274 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21275 (led_status): New variable.
21276 (keyboard_controller_led): New function.
21277 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21278 update led status for caps lock, num lock and scroll lock.
21279
0ad46fd7
FZ
212802009-12-25 Felix Zielcke <fzielcke@z-51.de>
21281
21282 * util/hostdisk.c (open_device): Fix a comment.
21283
d0e158c2
RM
212842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21285
21286 * util/grub-install.in (host_os): New variable.
21287 * util/i386/efi/grub-install.in (host_os): Likewise.
21288
401c0ad6
RM
212892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21290
21291 * util/mkisofs/write.c (padblock_write): Abort when given an
21292 excedingly large embed image, instead of silently truncating it.
21293
d14d3370
RM
212942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21295
21296 * include/multiboot.h: Indentation fixes.
21297
eeed10b4
RM
212982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21299
21300 * include/multiboot.h (struct multiboot_aout_symbol_table)
21301 (struct multiboot_elf_section_header_table): New structure
21302 declarations (stolen from GRUB Legacy).
21303 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21304 table information.
21305
21306 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21307 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21308 type aliases.
21309
681c70ab
RM
213102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21311
21312 * include/multiboot.h: Make comments src2texi-friendly.
21313
e4d47d8d
RM
213142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21315
21316 For consistency with [multiboot]/docs/boot.S.
21317
21318 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21319 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21320 (MULTIBOOT_MAGIC2): Rename from this ...
21321 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21322
a0b70bda
RM
213232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21324
21325 * include/multiboot.h: Remove `<grub/types.h>'.
21326 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21327 types. Update all users.
21328
61ba42be 213292009-12-25 Carles Pina i Estany <carles@pina.cat>
21330
21331 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21332 `couldn't' and `can not' by `cannot'.
21333 * commands/i386/pc/drivemap.c: Likewise.
21334 * disk/ata.c: Likewise.
21335 * disk/ieee1275/nand.c: Likewise.
21336 * fs/affs.c: Likewise.
21337 * fs/fat.c: Likewise.
21338 * fs/hfs.c: Likewise.
21339 * fs/hfsplus.c: Likewise.
21340 * fs/iso9660.c: Likewise.
21341 * fs/jfs.c: Likewise.
21342 * fs/minix.c: Likewise.
21343 * fs/reiserfs.c: Likewise.
21344 * fs/sfs.c: Likewise.
21345 * fs/udf.c: Likewise.
21346 * fs/ufs.c: Likewise.
21347 * fs/xfs.c: Likewise.
21348 * loader/powerpc/ieee1275/linux.c: Likewise.
21349 * loader/sparc64/ieee1275/linux.c: Likewise.
21350 * util/grub-probe.c: Likewise.
21351 * util/misc.c: Likewise.
21352
7fd0baee 213532009-12-24 Carles Pina i Estany <carles@pina.cat>
21354
21355 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21356 grub_errno calls.
21357 * commands/acpi.c: Likewise.
21358 * commands/blocklist.c: Likewise.
21359 * commands/efi/loadbios.c: Likewise.
21360 * commands/i386/pc/drivemap.c: Likewise.
21361 * commands/loadenv.c: Likewise.
21362 * commands/memrw.c: Likewise.
21363 * commands/password.c: Likewise.
21364 * commands/videotest.c: Likewise.
21365 * disk/ata.c: Likewise.
21366 * disk/ata_pthru.c: Likewise.
21367 * disk/dmraid_nvidia.c: Likewise.
21368 * disk/ieee1275/nand.c: Likewise.
21369 * disk/ieee1275/ofdisk.c: Likewise.
21370 * disk/loopback.c: Likewise.
21371 * disk/lvm.c: Likewise.
21372 * disk/mdraid_linux.c: Likewise.
21373 * disk/raid.c: Likewise.
21374 * disk/raid6_recover.c: Likewise.
21375 * disk/scsi.c: Likewise.
21376 * efiemu/main.c: Likewise.
21377 * efiemu/mm.c: Likewise.
21378 * efiemu/pnvram.c: Likewise.
21379 * efiemu/symbols.c: Likewise.
21380 * font/font.c: Likewise.
21381 * fs/cpio.c: Likewise.
21382 * fs/hfsplus.c: Likewise.
21383 * fs/iso9660.c: Likewise.
21384 * fs/jfs.c: Likewise.
21385 * fs/minix.c: Likewise.
21386 * fs/ntfs.c: Likewise.
21387 * fs/ntfscomp.c: Likewise.
21388 * fs/reiserfs.c: Likewise.
21389 * fs/ufs.c: Likewise.
21390 * fs/xfs.c: Likewise.
21391 * gettext/gettext.c: Likewise.
21392 * include/grub/auth.h: Likewise.
21393 * kern/elf.c: Likewise.
21394 * kern/file.c: Likewise.
21395 * kern/ieee1275/init.c: Likewise.
21396 * kern/ieee1275/mmap.c: Likewise.
21397 * kern/ieee1275/openfw.c: Likewise.
21398 * kern/powerpc/dl.c: Likewise.
21399 * kern/sparc64/dl.c: Likewise.
21400 * lib/arg.c: Likewise.
21401 * loader/i386/bsd.c: Likewise.
21402 * loader/i386/bsdXX.c: Likewise.
21403 * loader/i386/efi/linux.c: Likewise.
21404 * loader/i386/efi/xnu.c: Likewise.
21405 * loader/i386/ieee1275/linux.c: Likewise.
21406 * loader/i386/linux.c: Likewise.
21407 * loader/i386/multiboot.c: Likewise.
21408 * loader/i386/pc/linux.c: Likewise.
21409 * loader/i386/pc/multiboot2.c: Likewise.
21410 * loader/i386/xnu.c: Likewise.
21411 * loader/ieee1275/multiboot2.c: Likewise.
21412 * loader/macho.c: Likewise.
21413 * loader/machoXX.c: Likewise.
21414 * loader/multiboot2.c: Likewise.
21415 * loader/multiboot_loader.c: Likewise.
21416 * loader/powerpc/ieee1275/linux.c: Likewise.
21417 * loader/sparc64/ieee1275/linux.c: Likewise.
21418 * loader/xnu.c: Likewise.
21419 * loader/xnu_resume.c: Likewise.
21420 * mmap/i386/pc/mmap.c: Likewise.
21421 * normal/menu_viewer.c: Likewise.
21422 * partmap/acorn.c: Likewise.
21423 * partmap/amiga.c: Likewise.
21424 * partmap/apple.c: Likewise.
21425 * script/lexer.c: Likewise.
21426 * term/gfxterm.c: Likewise.
21427 * term/i386/pc/serial.c: Likewise.
21428 * term/i386/pc/vga.c: Likewise.
21429 * term/ieee1275/ofconsole.c: Likewise.
21430 * term/terminfo.c: Likewise.
21431 * video/bitmap.c: Likewise.
21432 * video/efi_gop.c: Likewise.
21433 * video/efi_uga.c: Likewise.
21434 * video/fb/video_fb.c: Likewise.
21435 * video/i386/pc/vbe.c: Likewise.
21436 * video/readers/tga.c: Likewise.
21437 * video/video.c: Likewise.
21438
0ad46fd7 214392009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21440
21441 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21442 * commands/lspci.c: Likewise.
21443 * commands/probe.c: Likewise.
21444 * commands/xnu_uuid.c: Likewise.
21445 * conf/i386-coreboot.rmk: Likewise.
21446 * conf/i386-efi.rmk: Likewise.
21447 * conf/i386-ieee1275.rmk: Likewise.
21448 * conf/i386-pc.rmk: Likewise.
21449 * conf/powerpc-ieee1275.rmk: Likewise.
21450 * conf/sparc64-ieee1275.rmk: Likewise.
21451 * conf/x86_64-efi.rmk: Likewise.
21452 * fs/i386/pc/pxe.c: Likewise.
21453 * gettext/gettext.c: Likewise.
21454 * include/grub/efi/graphics_output.h: Likewise.
21455 * include/grub/i386/pc/memory.h: Likewise.
21456 * kern/env.c: Likewise.
21457 * kern/i386/qemu/startup.S: Likewise.
21458 * lib/i386/pc/biosnum.c: Likewise.
21459 * lib/i386/relocator.c: Likewise.
21460 * lib/i386/relocator_asm.S: Likewise.
21461 * lib/relocator.c: Likewise.
21462 * loader/i386/bsd.c: Likewise.
21463 * loader/i386/multiboot.c: Likewise.
21464 * loader/i386/pc/chainloader.c: Likewise.
21465 * loader/i386/xnu.c: Likewise.
21466 * loader/xnu.c: Likewise.
21467 * normal/main.c: Likewise.
21468 * normal/menu_text.c: Likewise.
21469 * util/getroot.c: Likewise.
21470 * util/grub-mkconfig_lib.in: Likewise.
21471 * util/grub.d/00_header.in: Likewise.
21472 * util/i386/pc/grub-mkimage.c: Likewise.
21473 * util/mkisofs/eltorito.c: Likewise.
21474 * util/mkisofs/exclude.h: Likewise.
21475 * util/mkisofs/hash.c: Likewise.
21476 * util/mkisofs/iso9660.h: Likewise.
21477 * util/mkisofs/joliet.c: Likewise.
21478 * util/mkisofs/mkisofs.c: Likewise.
21479 * util/mkisofs/mkisofs.h: Likewise.
21480 * util/mkisofs/multi.c: Likewise.
21481 * util/mkisofs/name.c: Likewise.
21482 * util/mkisofs/rock.c: Likewise.
21483 * util/mkisofs/tree.c: Likewise.
21484 * util/mkisofs/write.c: Likewise.
21485 * video/efi_gop.c: Likewise.
21486
009ec743
VS
214872009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21490 size counting.
21491
0ad46fd7 214922009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21493
21494 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21495 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21496
d3d30ea0
VS
214972009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21500 (GRUB_MOD_INIT(memrw)): Update help line.
21501
a34f5c70
VS
215022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21505 Use grub_extcmd_t. All users updated.
21506 (options): New variable.
21507 (grub_cmd_read): Restructure for readability. Support "-v" option.
21508 (grub_cmd_write): Restructure for readability.
21509
0ad46fd7 215102009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21511
21512 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21513
0ad46fd7 215142009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21515
21516 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21517 with the actual contents of the correspondending make variable.
21518 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21519 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21520 specifying `*.lst' and `efiemu??.o'
21521
0ad46fd7 215222009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21523
21524 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21525 after function name.
21526 Noticed by Rene Engelhard <rene@debian.org>.
21527
dc77a799
VS
215282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21531 (options): New variable.
21532 (iospace): Likewise.
21533 (grub_lspci_iter): List IO spaces if "-i" was given.
21534 (grub_cmd_lspci): Parse options.
21535 (GRUB_MOD_INIT(lspci)): Use extcmd.
21536 (GRUB_MOD_FINI(lspci)): Likewise.
21537
0ad46fd7 215382009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21539
21540 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21541 `function' keyword.
21542 Patch by Tony Mancill <tmancill@debian.org>.
21543
b5d5993b
VS
215442009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21547 (grub_uhci_portstatus): Likewise.
21548 (grub_uhci_portstatus): Add necessary delay.
11d18281 21549 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21550
941903f2 215512009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21552
941903f2 21553 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21554 (GRUB_MOD_INIT): Likewise.
21555 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21556 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21557 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21558 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21559 (enable_rom_area): Likewise.
21560 (GRUB_MOD_INIT): Likewise.
21561 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21562 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21563 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21564 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21565 * commands/hexdump.c (options): Likewise.
21566 * commands/i386/cpuid.c (options): Likewise.
21567 (GRUB_MOD_INIT): Likewise.
21568 * commands/i386/pc/drivemap.c (options): Likewise.
21569 (GRUB_MOD_INIT): Likewise.
21570 * commands/i386/pc/halt (options): Likewise.
21571 (GRUB_MOD_INIT): Likewise.
21572 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21573 * commands/i386/pc/pxecmd.c (options): Likewise.
21574 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21575 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21576 * commands/keystatus.c (options): Likewise.
21577 (GRUB_MOD_INIT): Likewise.
21578 * commands/loadenv.c (options): Likewise.
21579 * commands/ls.c (options): Likewise.
21580 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21581 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21582 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21583 * commands/parttool.c (helpmsg): Likewise.
21584 * commands/probe.c (options): Likewise.
21585 * commands/read.c (GRUB_MOD_INIT): Likewise.
21586 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21587 * commands/search.c (options): Likewise.
21588 * commands/sleep.c (options): Likewise.
21589 * commands/test.c (GRUB_MOD_INIT): Likewise.
21590 * commands/true.c (GRUB_MOD_INIT): Likewise.
21591 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21592 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21593 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21594 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21595 `$(XGETTEXT)'.
98a50553 21596 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21597
0ad46fd7 215982009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21599
ef3c2c3a 21600 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21601 instead of specifying them explicit.
21602
7922f68b
RM
216032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21604
21605 * NEWS: Add grub-probe support for GNU/Hurd.
21606
537ce47f
RM
216072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21608
21609 * NEWS: gettext was added after 1.97.
21610
9b214e3a
RM
216112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21612
21613 * util/mkisofs/msdos_partition.h: New file (based on
21614 include/grub/msdos_partition.h).
21615 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21616 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21617 (ld_options, main): Recognize --protective-msdos-label.
21618 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21619 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21620 (padblock_write): If `use_protective_msdos_label' is set, patch a
21621 protective DOS-style label in the output image.
21622
21623 * util/grub-mkrescue.in: Use --protective-msdos-label.
21624
e9309813
RM
216252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21626
21627 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21628 boot.
21629
0ae56929
RM
216302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21631
21632 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
21633 variables.
21634 (ld_options, main): Recognize `--embedded-boot'.
21635 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
21636 declarations.
21637 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
21638 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
21639 (padblock_write): Likewise. Rewrite to support embedded boot image.
21640
21641 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
21642 for BIOS-based disk boot instead of only ElTorito.
21643
b15937b1
RM
216442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21645
21646 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
21647 build (not needed for bootstrap).
21648
52cc3ce0
RM
216492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21650
21651 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
21652 from i386-pc build (not needed for bootstrap).
21653 Rewrite a pair of strings.
21654
36f5ff04
RM
216552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21656
21657 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
21658
973c6c85 216592009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
21660
21661 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
21662
05d21547
AB
216632009-12-21 Andreas Born <futur.andy@googlemail.com>
21664
21665 * kern/env.c (grub_env_context_open): Mark exported variable for
21666 reexport.
21667
0175d51f
AB
216682009-12-21 Andreas Born <futur.andy@googlemail.com>
21669
21670 * kern/env.c (grub_env_export): Create nonexistent variables before
21671 exporting.
21672
7f39d92f 216732009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 21674
7f39d92f 21675 * include/grub/auth.h: Include `<grub/i18n.h>'.
21676 (GRUB_GET_PASSWORD): Gettextizze string.
21677 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
21678 menu_text.c.
21679 (grub_utf8_to_ucs4_alloc): Fix indentation.
21680 (grub_print_ucs4): Likewise.
21681 (grub_getstringwidth): Likewise.
21682 (print_message_indented): New declaration.
21683 * normal/auth.c: Include `<grub/i18n.h>'.
21684 (grub_auth_check_authentication): Gettexttize string.
21685 * normal/cmdline.c: Include `<grub/i18n.h>'.
21686 (grub_cmdline_get): Gettextizze.
21687 * normal/color.c: Include `<grub/i18n.h>'.
21688 (grub_parse_color_name_pair): Gettexttize strings.
21689 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
21690 string (use `print_message_indented').
21691 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
21692 `include/grub/normal.h'.
21693 (print_message_indented): Renamed to ...
21694 (grub_print_message_indented): ... this. Remove `static' qualifer (now
21695 used in normal/main.c).
21696 (print_message): Use `grub_print_message_indented' instead of
21697 `print_message_indented'.
21698 (print_timeout): Likewise.
21699 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
21700 (grub_normal_print_device_info): Gettexttize strings.
21701 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
21702
3041d898
VS
217032009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
21706 of arguments. Return number of tokens and not arguments. All users
21707 updated.
21708
de15bf8e
VS
217092009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21710
21711 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
21712 non-MSDOS paritions.
21713
e0a6ca52
VS
217142009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * include/grub/types.h (UNUSED): Removed since it conflicts with
21717 NetBSD headers. All users changed to direct __attribute__ ((unused)).
21718 Reported by Grégoire Sutre.
21719
b99518d1 217202009-12-19 Carles Pina i Estany <carles@pina.cat>
21721
21722 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
21723 (grub_print_ucs4_alloc): Likewise.
21724 (grub_getstringwidth): Likewise.
21725 * normal/main.c (grub_normal_init_page): Gettextize version string.
21726 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
21727 (getstringwidth): Renamed to ...
21728 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
21729 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
21730 (grub_print_ucs4): Remove `static' qualifer (now used in
21731 normal/main.c).
21732 * po/POTFILES: Add normal/main.c.
21733
bfd5e52b 217342009-12-19 Carles Pina i Estany <carles@pina.cat>
21735
21736 * normal/menu_text.c (STANDARD_MARGIN): New macro.
21737 (print_message_indented): Add `margin_left' and `margin_right'
21738 parameters.
21739 (print_message): Update `print_message_indented' calls. Adds '\n' to the
21740 strings.
21741 (print_timeout): Use `print_message_indented' to print the message.
21742 Deletes `second_stage' parameter.
21743 (run_menu): Update `print_timeout' calls.
21744
5a1ad2b9
VS
217452009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 Fix console palette on OpenFirmware.
21748
21749 * term/ieee1275/ofconsole.c (MAX): Removed.
21750 (colors): Redone based on VGA palette.
21751 (grub_ofconsole_setcolor): Discard brightness bit since only 8
21752 colors are supported.
21753 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
21754
b045f00a
VS
217552009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21756
21757 Fix potential EfiEmu double prepare.
21758
21759 * efiemu/main.c (prepared): New variable
21760 (grub_efiemu_unload): Set prepare to '0'.
21761 (grub_efiemu_prepare): Return if already prepared. Set prepared.
21762
21763 set_virtual_address_map support.
21764
21765 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
21766 prototype.
21767 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
21768 prototype.
21769 (grub_efiemu_crc32): Likewise.
21770 (grub_efiemu_crc64): Likewise.
21771 (grub_efiemu_set_virtual_address_map): Likewise.
21772 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
21773 New definition.
21774 (grub_autoefi_set_virtual_address_map): Likewise.
21775 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
21776 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
21777 Restructure flow to accomodate it.
21778 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
21779 (grub_efiemu_crc): Recompute CRC32.
21780 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
21781 (efiemu_ptv_relocated): ... this. Made global. All users updated.
21782 * efiemu/symbols.c (relocated_handle): New variable.
21783 (grub_efiemu_free_syms): Free relocated_handle.
21784 (grub_efiemu_alloc_syms): Allocate relocated_handle.
21785 (grub_efiemu_write_sym_markers): New function.
21786 (grub_efiemu_set_virtual_address_map): Likewise.
21787
21788 Newer XNU parameters.
21789
21790 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
21791 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
21792 (grub_xnu_fill_devicetree): New prototype.
21793 (grub_xnu_heap_real_start): New variable.
21794 * loader/xnu.c (get_name_ptr): New function.
21795 (grub_xnu_load_driver): Fill namelen and name.
21796
21797 64-bit xnu support.
21798
21799 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
21800 and 'loader/macho64.c'.
21801 * conf/i386-pc.rmk: Likewise.
21802 * conf/x86_64-efi.rmk: Likewise.
21803 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
21804 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
21805 * include/grub/macho.h (grub_macho_segment64): New structure.
21806 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
21807 (grub_macho_size32): ... to this.
21808 (grub_macho32_get_entry_point): Renamed from ...
21809 (grub_macho_get_entry_point32): ... to this.
21810 (grub_macho_contains_macho64): New prototype.
21811 (grub_macho_size64): Likewise.
21812 (grub_macho_get_entry_point64): Likewise.
21813 (grub_macho32_load): Renamed from ...
21814 (grub_macho_load32): ... to this.
21815 (grub_macho32_filesize): Renamed from ...
21816 (grub_macho_filesize32): ... to this.
21817 (grub_macho32_readfile): Renamed from ...
21818 (grub_macho_readfile32): ... to this.
21819 (grub_macho_filesize64): New prototype.
21820 (grub_macho_readfile64): Likewise.
21821 (grub_macho_parse32): Likewise.
21822 (grub_macho_parse64): Likewise.
21823 * loader/macho.c: Split into ...
21824 * loader/machoXX.c: ... and this. Replace 32 with XX.
21825 * loader/macho32.c: New file.
21826 * loader/macho64.c: Likewise.
21827 * loader/xnu.c (grub_xnu_is_64bit): New variable.
21828 (grub_cmd_xnu_kernel): Make 32-bit only.
21829 (grub_cmd_xnu_kernel64): New function.
21830 (grub_xnu_load_driver): Support Mach-O 64.
21831 (grub_cmd_xnu_mkext): Likewise.
21832 * util/grub.d/30_os-prober.in (osx_entry): New function.
21833 Generate entries for 64-bit boot too.
21834
21835 Eliminate ad-hoc tree format in XNU and EfiEmu.
21836
21837 * efiemu/main.c (grub_efiemu_prepare): Update comment.
21838 * efiemu/pnvram.c: Rewritten to use environment variables.
21839 All users updated.
21840
21841 Inline utf16_to_utf8.
21842
21843 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
21844 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
21845 All users updated.
21846 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
21847
21848 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
21849 * commands/usbtest.c (grub_usb_get_string): ... move here.
21850 (usb_print_str): Fix error handling.
21851 * include/grub/usb.h (grub_usb_get_string): Remove.
21852
21853 UTF-8 to UTF-16 transformation.
21854
21855 * conf/common.rmk (pkglib_MODULES): Add charset.mod
21856 (charset_mod_SOURCES): New variable.
21857 (charset_mod_CFLAGS): Likewise.
21858 (charset_mod_LDFLAGS): Likewise.
21859 * include/grub/utf.h: New file.
21860 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
21861
21862 Support for device properties.
21863
21864 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
21865 (grub_xnu_devprop_device_header): Likewise.
21866 (grub_xnu_devprop_device_descriptor): Likewise.
21867 (grub_xnu_devprop_add_device): New prototype.
21868 (grub_xnu_devprop_remove_device): Likewise.
21869 (grub_xnu_devprop_remove_property): Likewise.
21870 (grub_xnu_devprop_add_property_utf8): Likewise.
21871 (grub_xnu_devprop_add_property_utf16): Likewise.
21872 (grub_cpu_xnu_init): Likewise.
21873 (grub_cpu_xnu_fini): Likewise.
21874 (grub_cpu_xnu_unload): Likewise.
21875 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
21876 (property_descriptor): Likewise.
21877 (devices): New variable.
21878 (grub_xnu_devprop_remove_property): New function.
21879 (grub_xnu_devprop_add_device): Likewise.
21880 (grub_xnu_devprop_remove_device): Likewise.
21881 (grub_xnu_devprop_add_property): Likewise.
21882 (grub_xnu_devprop_add_property_utf8): Likewise.
21883 (grub_xnu_devprop_add_property_utf16): Likewise.
21884 (hextoval): Likewise.
21885 (grub_cpu_xnu_fill_devprop): Likewise.
21886 (grub_cmd_devprop_load): Likewise.
21887 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
21888 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
21889 (cmd_devprop_load): New variable.
21890 (grub_cpu_xnu_init): New function.
21891 (grub_cpu_xnu_fini): Likewise.
21892 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
21893 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
21894 (grub_cmd_xnu_devtree): Likewise.
21895 (hextoval): New function.
21896 (unescape): Likewise.
21897 (grub_xnu_fill_devicetree): Likewise.
21898
21899 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
21900 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
21901
0945f181
VS
219022009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 Workaround for broken ATI VBE.
21905
21906 * video/i386/pc/vbe.c (last_set_mode): New variable.
21907 (grub_vbe_set_video_mode): Set 'last_set_mode'.
21908 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
21909 (grub_video_vbe_setup): Don't check for reserved flag.
21910
0ad46fd7 219112009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
21912
21913 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
21914 the `find' command.
21915
c179ebe4
VS
219162009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
21917
21918 UUID support for HFS.
21919
21920 * fs/hfs.c (grub_hfs_uuid): New function.
21921 (grub_hfs_fs): New value .uuid.
21922 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
21923
0ad46fd7 219242009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
21925
21926 Fix a segfault with parsing unknown long options.
21927
21928 * util/grub-mkrelpath.c (options): Zero terminate it.
21929
c4a3e41a
CPE
219302009-12-13 Carles Pina i Estany <carles@pina.cat>
21931
21932 * include/grub/misc.h (grub_puts): New declaration.
21933 (grub_puts_): Likewise.
a22008a6 21934 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
21935 (grub_puts_): Likewise.
21936
2e8a7602
RM
219372009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21938
21939 * util/grub-probe.c (probe): Improve error message.
21940
b50b77b9
RM
219412009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21942
21943 * loader/i386/multiboot_elfxx.c
21944 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
21945 initialization.
21946
219472009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21948
21949 Relocator framework
21950
21951 * loader/i386/xnu_helper.S: Removed. All users updated.
21952 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
21953 (relocator_mod_SOURCES): New variable.
21954 (relocator_mod_CFLAGS): Likewise.
21955 (relocator_mod_LDFLAGS): Likewise.
21956 (relocator_mod_ASFLAGS): Likewise.
21957 * conf/x86_64.rmk: Likewise.
21958 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
21959 (grub_multiboot_payload_entry_offset): Likewise.
21960 (grub_multiboot_forward_relocator): Likewise.
21961 (grub_multiboot_forward_relocator_end): Likewise.
21962 (grub_multiboot_backward_relocator): Likewise.
21963 (grub_multiboot_backward_relocator_end): Likewise.
21964 (grub_multiboot_payload_eip): New variable.
21965 (grub_multiboot_payload_orig): Likewise.
21966 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
21967 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
21968 * include/grub/i386/memory.h
21969 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
21970 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
21971 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
21972 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
21973 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
21974 * include/grub/i386/relocator.h: New file.
21975 * include/grub/x86_64/relocator.h: Likewise.
21976 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
21977 (XNU_RELOCATOR): New macro.
21978 (grub_xnu_launcher_start): Remove.
21979 (grub_xnu_launcher_end): Likewise.
21980 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
21981 (grub_xnu_heap_real_start): Remove.
21982 (grub_xnu_heap_start): Change to void *. All users updated.
21983 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
21984 * lib/i386/relocator.c: New file.
21985 * lib/i386/relocator_asm.S: Likewise.
21986 * lib/i386/relocator_backward.S: Likewise.
21987 * lib/mips/relocator.c: Likewise.
21988 * lib/mips/relocator_asm.S: Likewise.
21989 * lib/relocator.c: Likewise.
21990 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
21991 (entry): Removed.
21992 (playground): Likewise.
21993 (grub_multiboot_payload_orig): New variable.
21994 (grub_multiboot_payload_dest): Likewise.
21995 (grub_multiboot_payload_size): Likewise.
21996 (grub_multiboot_payload_eip): Likewise.
21997 (grub_multiboot_payload_esp): Likewise.
21998 (grub_multiboot_boot): Use grub_relocator32_boot.
21999 (grub_multiboot_unload): Free relocators.
22000 (grub_multiboot): Setup stack. Use relocators.
22001 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22002 (grub_multiboot_load_elfXX): Use relocators.
22003 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22004 (grub_multiboot_payload_size): Likewise.
22005 (grub_multiboot_payload_dest): Likewise.
22006 (grub_multiboot_payload_entry_offset): Likewise.
22007 (grub_multiboot_forward_relocator): Likewise.
22008 (grub_multiboot_backward_relocator): Likewise.
22009 (grub_multiboot_real_boot): Likewise.
22010 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22011 (grub_xnu_entry_point): Likewise.
22012 (grub_xnu_arg1): Likewise.
22013 (grub_xnu_stack): Likewise.
22014 (grub_xnu_launch): Removed.
22015 (grub_xnu_boot_resume): New function.
22016 (grub_xnu_boot): Use relocators.
22017 * loader/i386/xnu_helper.S: Removed.
22018 * loader/xnu.c (grub_xnu_heap_start): New variable.
22019 (grub_xnu_heap_size): Likewise.
22020 (grub_xnu_heap_malloc): Use relocators.
22021 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22022
29eb90c6
VS
220232009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22024
22025 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22026 anything.
22027
31027430
CPE
220282009-12-13 Carles Pina i Estany <carles@pina.cat>
22029
22030 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22031 GRUB_ERR_NONE before calling grub_env_set.
22032
dc0c71d9
RM
220332009-12-12 Robert Millan <rmh@aybabtu.com>
22034
22035 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22036 * genmk.rb (video): New variable.
22037 (CLEANFILES, VIDEOFILES): Add #{video}.
22038 (#{video}): New target rule.
22039 * genvideolist.sh: New file.
22040 * Makefile.in (pkglib_DATA): Add video.lst.
22041 (video.lst): New target rule.
22042 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22043 `video.lst'.
22044 * util/grub.d/30_os-prober.in: Replace `vbe' with
22045 ${GRUB_VIDEO_BACKEND}.
22046
2a4bfcf0
RM
220472009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22048
22049 * THANKS: Add David Miller.
22050
2a3aa4d5
RM
220512009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22052
22053 libpciaccess support.
22054
22055 * Makefile.in (LIBPCIACCESS): New variable.
22056 (enable_grub_emu_pci): Likewise.
22057 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22058 util/pci.c and commands/lspci.c.
22059 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22060 * configure.ac (grub-emu-pci): New option.
22061 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22062 (grub_pci_device_unmap_range): Likewise.
22063 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22064 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22065 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22066 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22067 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22068 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22069 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22070 * include/grub/pciutils.h: New file.
22071 * util/pci.c: Likewise.
22072
0ad46fd7 220732009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22074
22075 * util/misc.c: Don't include <errno.h> twice.
22076
0ad46fd7 220772009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22078
22079 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22080 name in an error message.
22081 (grub_biosdisk_rw): Likewise.
22082
2e59983c
VS
220832009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 Eliminate NTFS 4Gib barrier.
22086
22087 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22088 (read_run_data): Likewise.
22089 (grub_ntfs_read_run_list): Likewise.
22090 (grub_ntfs_read_block): Likewise.
22091 (grub_ntfs_iterate_dir): Likewise.
22092 (read_mft): Likewise.
22093 (read_data): Likewise.
22094 Use COM_LOG_LEN.
22095 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22096 to avoid 64-bit division
22097 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22098 (grub_ntfs_rlst): Use grub_disk_addr_t.
22099
71ee178a
VS
221002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 Eliminate grub-fstest 4Gib barrier.
22103
22104 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22105 (read_file): Fix error reporting.
22106
2520d4b8
VS
221072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 Eliminate hexdump 4Gib barrier.
22110
22111 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22112 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22113
e1f27065
VS
221142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22115
22116 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22117 Fixes amarsh bug.
22118
1a0f7f45
RM
221192009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22120
22121 Remove miscellaneous files in distclean target.
22122
22123 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22124
c631d9fb
CW
221252009-12-09 Colin Watson <cjwatson@ubuntu.com>
22126
22127 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22128 if they're already set. This resolves the conflict between my
22129 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22130 fixing the --grub-probe option again.
22131 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22132 change on 2009-10-06, so that we now once again source
22133 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22134
7c7b6106
RM
221352009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22136
22137 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22138 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22139 `util/devicemap.c'.
22140
e3069ec1
CPE
221412009-12-08 Carles Pina i Estany <carles@pina.cat>
22142
22143 * include/grub/misc.h (grub_printf_): New declaration.
22144 * kern/misc.c (grub_printf_): New definition.
22145 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22146 instead of `grub_printf' and `_'.
22147 * normal/menu_entry.c (store_completion): Likewise.
22148 (run): Likewise.
22149 (grub_menu_entry_run): Likewise.
22150 * normal/menu_text.c (grub_wait_after_message): Likewise.
22151 (notify_booting): Likewise.
22152 (notify_fallback): Likewise.
22153 (notify_execution_failure): Likewise.
22154
d6ceebf1
CW
221552009-12-07 Colin Watson <cjwatson@ubuntu.com>
22156
22157 * configure.ac: Check for vasprintf.
22158 * util/misc.c (asprintf): Move allocation from here ...
22159 (vasprintf): ... to here. New function.
22160 (xasprintf): New function.
22161 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22162 prototypes.
22163 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22164 * util/grub-mkfont.c (write_font): Likewise.
22165 * util/grub-probe.c (probe): Likewise.
22166 * util/hostdisk.c (make_device_name): Likewise.
22167
de6daa8b
DM
221682009-12-06 David S. Miller <davem@sunset.davemloft.net>
22169
22170 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22171 anything even prefixed with 'cdrom' as a cdrom.
22172
0ad46fd7 221732009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22174
22175 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22176 mount points.
22177
98d3dc02
CPE
221782009-12-05 Carles Pina i Estany <carles@pina.cat>
22179
22180 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22181 grub_gettext_msg_list.
22182 (grub_gettext_gettranslation_from_position): Return const char *
22183 and not char *.
a2c1332b 22184 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22185 returns from the list if existing there.
22186 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22187 (grub_gettext_delete_list): Delete the list.
22188 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22189 lang environment variable is changed.
22190 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22191
b283f108
VS
221922009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22193
22194 Rename kernel.mod to kernel.img.
22195
22196 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22197 (kernel_mod_EXPORTS): Rename to ...
22198 (kernel_img_EXPORTS): ... this.
22199 (kernel_mod_SOURCES): Rename to ...
22200 (kernel_img_SOURCES): ... this.
22201 (kernel_mod_HEADERS): Rename to ...
22202 (kernel_img_HEADERS): ... this. All users updated.
22203 (kernel_mod_CFLAGS): Rename to ...
22204 (kernel_img_CFLAGS): ... this.
22205 (kernel_mod_ASFLAGS): Rename to ...
22206 (kernel_img_ASFLAGS): ... this.
22207 (kernel_mod_LDFLAGS): Rename to ...
22208 (kernel_img_LDFLAGS): ... this.
22209 * conf/x86_64-efi.rmk: Likewise.
22210 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22211 (read_kernel_image): ... this. All users updated.
22212 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22213
69055f8a
CPE
222142009-12-05 Carles Pina i Estany <carles@pina.cat>
22215
22216 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22217 (print_spaces): New function.
22218 (grub_print_ucs4): New function.
22219 (getstringwidth): New function.
22220 (print_message_indented): New function.
22221 (print_message): Gettexttize strings using print_message_indented.
22222 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22223 width.
22224 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22225 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22226 Gettextize.
22227 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22228 string.
22229 (run): Likewise.
22230 (grub_menu_entry_run): Likewise.
22231 * PO/POTFILES: Add normal/menu_entry.c.
22232
f616f51c
VS
222332009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22236
57bbe3be
CPE
222372009-12-05 Carles Pina i Estany <carles@pina.cat>
22238
22239 * util/grub-install.in: Install gettext .mo files.
22240 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22241
013d67a1
CPE
222422009-12-05 Carles Pina i Estany <carles@pina.cat>
22243
22244 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22245 grub_dprintf.
22246
fb954db0
RM
222472009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22248
22249 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22250 non-firmware-dependant one in realmode.S takes precedence.
22251
6b8474f8
RM
222522009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22253
22254 * commands/halt.c: Replace misc arch-specific headers with
22255 `<grub/misc.h>'.
22256 * commands/reboot.c: Likewise.
22257 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22258 `<grub/misc.h>'.
22259 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22260 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22261 (kernel_img_SOURCES): ... to here.
22262
22263 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22264 * include/grub/i386/pc/init.h: Likewise.
22265 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22266 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22267
22268 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22269
22270 * include/grub/i386/halt.h: Remove.
22271 * include/grub/i386/reboot.h: Likewise.
22272
22273 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22274
4b2e6ca2
DM
222752009-12-03 David S. Miller <davem@sunset.davemloft.net>
22276
22277 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22278 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22279 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22280 "progname.h"
22281 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22282 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22283 (usage): Add missing comma in printf.
22284
5239348f
RM
222852009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22286
22287 Use the same reboot approach on i386 coreboot and qemu as we do on
22288 BIOS.
22289
22290 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22291 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22292 * kern/i386/reboot.c: Remove.
22293 * include/grub/i386/reboot.h (grub_reboot): Export function.
22294 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22295 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22296 0xf000:0xfff0 instead of 0xffff:0x0000.
22297 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22298 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22299
ef34cbd4
RM
223002009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22301
22302 Fix $srcdir != $objdir build.
22303
22304 * Makefile.in (po/%.po): Rewrite as ...
22305 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22306
dc9837ea
ST
223072009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22308
22309 Fix GNU/Hurd grub-install crash.
22310 * util/grub-probe.c (probe): Try to access `path' only when it is not
22311 NULL.
22312
2f857f98
VS
223132009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 Correct module naming.
22316
22317 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22318 (GRUB_MOD_INIT(efi_uga)): ... to this
22319 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22320 (GRUB_MOD_FINI(efi_uga)): ... to this
22321 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22322 (GRUB_MOD_INIT(efi_gop)): ... to this
22323 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22324 (GRUB_MOD_FINI(efi_gop)): ... to this
22325
c5448046
RM
223262009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22327
22328 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22329 translatable.
22330 (usage): Translate `arg' strings using gettext().
22331 Thanks to Jordi Mallach for the suggestion.
22332
c85184ad
VS
223332009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22334
22335 GOP support. Based on patch from Bean
22336 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22337
22338 * video/efi_gop.c: New file.
22339 * include/grub/efi/graphics_output.h: Likewise.
22340 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22341 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22342 variables.
22343 * conf/x86_64-efi.rmk: Likewise.
22344
8a4c48d8
VS
223452009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 Rename efi_fb to efi_uga.
22348
22349 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22350 'efi_uga.mod'.
22351 (efi_fb_mod_SOURCES): Rename this ...
22352 (efi_uga_mod_SOURCES): ... to this.
22353 (efi_fb_mod_CFLAGS): Rename this ...
22354 (efi_uga_mod_CFLAGS): ... to this.
22355 (efi_fb_mod_LDFLAGS): Rename this ...
22356 (efi_uga_mod_LDFLAGS): ... to this.
22357 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22358 'efi_uga.mod'.
22359 (efi_fb_mod_SOURCES): Rename this ...
22360 (efi_uga_mod_SOURCES): ... to this.
22361 (efi_fb_mod_CFLAGS): Rename this ...
22362 (efi_uga_mod_CFLAGS): ... to this.
22363 (efi_fb_mod_LDFLAGS): Rename this ...
22364 (efi_uga_mod_LDFLAGS): ... to this.
22365 * video/efi_fb.c: Move this ...
22366 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22367
fb6c1a7b
RM
223682009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22369
22370 * po/README: New file. Explain our PO file workflow.
22371
3bc7896c
RM
223722009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22373
22374 * po/ChangeLog: Remove. Move relevant entries back to ...
22375 * ChangeLog: ... here.
22376 * po/ca.po: Remove (now handled by TLP).
22377 * po/id.po: Likewise.
22378 * po/zh_CN.po: Likewise.
22379 * Makefile.in (LINGUAS): Initialize in a way that supports
22380 empty set.
22381
9ed4841d
RM
223822009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22383
22384 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22385 reliing on po/LINGUAS.
22386 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22387 (po/%.po): ... this.
22388
0ad46fd7 223892009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22390
22391 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22392 (main): Use `program_name' instead of nonexistent `progname'.
22393
e30dd392
FZ
223942009-11-26 Felix Zielcke <fzielcke@z-51.de>
22395
22396 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22397 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22398
7656de4f
RM
223992009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22400
22401 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22402 commit.
22403 * conf/i386-efi.rmk: Likewise.
22404 * conf/i386-ieee1275.rmk: Likewise.
22405 * conf/powerpc-ieee1275.rmk: Likewise.
22406 * conf/sparc64-ieee1275.rmk: Likewise.
22407 * conf/x86_64-efi.rmk: Likewise.
22408
db77c4d4
FZ
224092009-11-26 Felix Zielcke <fzielcke@z-51.de>
22410
22411 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22412
a755bb04
FZ
224132009-11-26 Felix Zielcke <fzielcke@z-51.de>
22414
22415 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22416
8a4c07fd
RM
224172009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22418
22419 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22420 (grub_mkdevicemap_SOURCES): New variable.
22421 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22422 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22423 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22424 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22425 (grub_mkdevicemap_SOURCES): Remove.
22426 * conf/i386-efi.rmk: Likewise.
22427 * conf/i386-ieee1275.rmk: Likewise.
22428 * conf/i386-pc.rmk: Likewise.
22429 * conf/powerpc-ieee1275.rmk: Likewise.
22430 * conf/sparc64-ieee1275.rmk: Likewise.
22431 * conf/x86_64-efi.rmk: Likewise.
22432 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22433 (usage): Fix strings to use `program_name'.
22434 (main): Initialize gettext.
22435 * util/grub-editenv.c: Likewise.
22436 * util/grub-emu.c: Likewise.
22437 * util/grub-fstest.c: Likewise.
22438 * util/grub-mkdevicemap.c: Likewise.
22439 * util/grub-mkfont.c: Likewise.
22440 * util/grub-mkrelpath.c: Likewise.
22441 * util/grub-pe2elf.c: Likewise.
22442 * util/grub-probe.c: Likewise.
22443 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22444 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22445 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22446
22447 * util/misc.c: Include `"progname.h"'.
22448 (progname): Remove variable.
22449 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22450
6f61ed55
FZ
224512009-11-25 Felix Zielcke <fzielcke@z-51.de>
22452
22453 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22454 printf and print a newline after the menuentry header line.
22455 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22456
f022876b
FZ
224572009-11-25 Felix Zielcke <fzielcke@z-51.de>
22458
22459 autoconf >= 2.60 support $(localedir).
22460
22461 * INSTALL: Note that autoconf 2.60 is required.
22462 * configure.ac (AC_PREREQ): Bump to 2.60.
22463 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22464 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22465
6717926e
YB
224662009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22467
22468 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22469 aclocal is run.
22470
08806a54
RM
224712009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22472
22473 * normal/main.c (grub_normal_read_line): Fix off-by-one
22474 buffer overflow.
22475
13b33fba
RM
224762009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22477
22478 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22479 "parser.grub" in grub_command_execute() call.
22480
4a8572e9
CPE
224812009-11-24 Carles Pina i Estany <carles@pina.cat>
22482
22483 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22484 * conf/i386-efi.rmk: Likewise.
22485 * conf/i386-ieee1275.rmk: Likewise.
22486 * conf/i386-pc.rmk: Likewise.
22487 * conf/powerpc-ieee1275.rmk: Likewise.
22488 * conf/sparc64-ieee1275.rmk: Likewise.
22489 * conf/x86_64-efi.rmk: Likewise.
22490 * gettext/gettex.c: Include <grub/i18n.h>.
22491 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22492 here ...
22493 * include/grub/i18n.h: ... to here
22494 * include/grub/i18n.h: ... to here.
22495 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22496 (grub_gettext_dummy): Move above user.
4a8572e9 22497
bee48093
FZ
224982009-11-24 Felix Zielcke <fzielcke@z-51.de>
22499
22500 * util/Makefile.in (install-local): Convert a `for' into a normal
22501 shell expansion.
22502
a031e91c
RM
225032009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22504
22505 * autogen.sh: Add automake call.
22506 * config.guess: Remove.
22507 * config.sub: Likewise.
22508 * install-sh: Likewise.
22509
26bec39d
FZ
225102009-11-24 Felix Zielcke <fzielcke@z-51.de>
22511
22512 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22513
8e2532fd
FZ
225142009-11-24 Felix Zielcke <fzielcke@z-51.de>
22515
22516 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22517 function to a normal shell `for'.
22518
fefa1b7d
FZ
225192009-11-24 Felix Zielcke <fzielcke@z-51.de>
22520
22521 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22522
4501250b
FZ
225232009-11-24 Felix Zielcke <fzielcke@z-51.de>
22524
22525 * util/grub-mkrelpath.c: New file.
22526 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22527 (grub_mkrelpath_SOURCES): New variable.
22528 * include/grub/util/misc.h: New function prototype.
22529 * util/misc.c (make_system_path_relative_to_its_root): New function.
22530
22531 * util/grub-mkconfig_lib.in (bindir): New variable.
22532 (grub_mkrelpath): Likewise.
22533 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22534
22535 * util/probe.c (probe): Make the file path relative to its root.
22536 Change a info message to use the GRUB path. Enable again the
22537 check if we can read the file with GRUB facilities.
22538
22539 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22540 to its root.
22541
11d9778b
FZ
225422009-11-24 Felix Zielcke <fzielcke@z-51.de>
22543
22544 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22545 platform.
22546
4465287d
FZ
225472009-11-24 Felix Zielcke <fzielcke@z-51.de>
22548
22549 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22550 strncmp().
22551
62b47f22
FZ
225522009-11-24 Felix Zielcke <fzielcke@z-51.de>
22553
22554 * util/getroot.c (grub_util_is_dmraid): New function.
22555 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22556 devices as normal ones, not as LVM.
22557
1eafb9b9 225582009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22559
22560 * conf/common.rmk: Add grub-gettext_lib target and updates
22561 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22562 LDFLAGS.
22563 * gettext/gettext.c: New file. (Reads mo files).
22564 * include/grub/file.h (grub_file_pread): New prototype.
22565 * include/grub/i18n.h (_): New prototype.
22566 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22567 prototypes.
22568 * kern/misc.c (grub_gettext_dummy): New function.
22569 * normal/menu_text.c: Include <grub/i18n.h>.
22570 * normal/menu_text.c (print_timeout): Gettexttize string.
22571 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22572 * po/POTFILES: Add `normal/menu_text.c'.
22573 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22574 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22575 gettext module and defines locale_dir and lang in grub.cfg.
22576 * NEWS: Add gettext support.
22577
0fdb2568
RM
225782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22579
22580 * util/hostdisk.c: Include `<grub/i18n.h>'.
22581 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22582 (make_device_name): Rewrite using asprintf.
22583 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22584 (find_system_device): If a device is not found, generate one just
22585 by reusing the OS path name.
22586 (read_device_map): Make it permissible for device.map not to exist.
22587
f515aa62
RM
225882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22589
22590 * script/sh/execute.c: Move from here ...
22591 * script/execute.c: ... to here. Update all users.
22592 * script/sh/function.c: Move from here ...
22593 * script/function.c: ... to here. Update all users.
22594 * script/sh/lexer.c: Move from here ...
22595 * script/lexer.c: ... to here. Update all users.
22596 * script/sh/main.c: Move from here ...
22597 * script/main.c: ... to here. Update all users.
22598 * script/sh/parser.y: Move from here ...
22599 * script/parser.y: ... to here. Update all users.
22600 * script/sh/script.c: Move from here ...
22601 * script/script.c: ... to here. Update all users.
22602
f84b481b
RM
226032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22604
22605 * configure.ac: Detect all `emu' platforms. Define
22606 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22607 --enable-grub-emu logic. Disable include/grub/machine
22608 symlink on `emu' platforms.
22609
22610 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22611 * gensymlist.sh.in: Likewise.
22612
22613 * include/grub/i386/coreboot/machine.h: Remove file.
22614 * include/grub/i386/efi/machine.h: Likewise.
22615 * include/grub/i386/ieee1275/machine.h: Likewise.
22616 * include/grub/i386/pc/machine.h: Likewise.
22617 * include/grub/i386/qemu/machine.h: Likewise.
22618 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22619 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22620 * include/grub/x86_64/efi/machine.h: Likewise.
22621
22622 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22623 * commands/halt.c: Likewise.
22624 * commands/reboot.c: Likewise.
22625 * include/grub/autoefi.h: Likewise.
22626 * include/grub/i386/at_keyboard.h: Likewise.
22627 * include/grub/i386/kernel.h: Likewise.
22628 * include/grub/i386/loader.h: Likewise.
22629 * include/grub/i386/pc/memory.h: Likewise.
22630 * kern/dl.c: Likewise.
22631 * kern/i386/coreboot/init.c: Likewise.
22632 * loader/i386/bsd.c: Likewise.
22633 * loader/i386/linux.c: Likewise.
22634 * loader/multiboot_loader.c: Likewise.
22635 * term/i386/pc/serial.c: Likewise.
22636 * term/usb_keyboard.c: Likewise.
22637
22638 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
22639 `<grub/machine/machine.h>'
22640 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
22641 * util/misc.c: Remove `<grub/machine/machine.h>' and
22642 `<grub/machine/time.h>'.
22643
22644 * Makefile.in (enable_grub_emu): Remove variable.
22645 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
22646
22647 * conf/any-emu.rmk: New file.
22648 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
22649 (grub_emu_init.c): Move from here ...
22650 * conf/any-emu.rmk: ... to here.
22651
22652 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
22653 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
22654 * conf/any-emu.rmk: ... to here.
22655
4efeab03
RM
226562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22657
22658 * include/grub/parser.h (grub_parser_register): Document need
22659 of `name' parameter.
22660 * normal/main.c (grub_normal_read_line): Simplify prompt string.
22661 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
22662 "sh" to "grub".
22663
ea1dd8bf
RM
226642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22665
22666 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
22667 `$(XGETTEXT)'.
22668 * include/grub/i18n.h (N_): New macro.
22669 * util/mkisofs/mkisofs.h: Likewise.
22670 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
22671 around N_().
22672 (usage): Use gettext() to translate help strings when printing them.
22673
0c140626
RM
226742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22675
22676 Based on patch from Bean
22677 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22678
22679 * video/efi_fb.c: New file.
22680 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
22681 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22682 variables.
22683 * conf/x86_64-efi.rmk: Likewise.
22684
87d58298
RM
226852009-11-22 Robert Millan <rmh.grub@aybabtu.com>
22686
22687 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
22688 * util/i386/pc/grub-setup.c: Likewise.
22689
994cc3a3
ST
226902009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22691
22692 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
22693 <hurd/fs.h>
22694 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
22695 file_get_storage_info to implement grub_guess_root_device.
22696
26a61d6a
FZ
226972009-11-21 Felix Zielcke <fzielcke@z-51.de>
22698
22699 * Makefile.in (target): Use make's builtin $(shell) function
22700 instead of calling directly $(SHELL) to create the locale directories,
22701 inside the $(foreach) function.
22702
74ff1dd5
FZ
227032009-11-21 Felix Zielcke <fzielcke@z-51.de>
22704
22705 * util/grub-mkrescue.in: Print an error and usage if output option
22706 has not been given.
22707
0b787d0e
FZ
227082009-11-21 Felix Zielcke <fzielcke@z-51.de>
22709
22710 Patch from Loïc Minier <loic.minier@ubuntu.com>.
22711 * util/grub.d/30_os-prober.in: Cope with Linux entries where
22712 root and /boot are on different devices.
22713
1164b270
RM
227142009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22715
22716 Fix build for srcdir != objdir.
22717
22718 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
22719 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
22720 $(srcdir).
22721 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
22722 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
22723 reference for input.
22724
13774a2f
RM
227252009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22726
22727 * util/grub-mkrescue.in: Use source directory direcly (without copiing
22728 or hardlinking it). Remove -J option, Joliet is not compatible with
22729 multiple source directories.
22730
efda854e
RM
227312009-11-21 Carles Pina i Estany <carles@pina.cat>
227322009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22733
22734 * util/grub-mkrescue.in: Recognize `--override-directory' option.
22735 (process_input_dir): New function. Process an arbitrary input
22736 directory.
22737 Misc adjustments to support both "override mode" and system-wide mode.
22738
6c09890c
FZ
227392009-11-20 Felix Zielcke <fzielcke@z-51.de>
22740
22741 * configure.ac (UNIFONT_BDF): Rename to ...
22742 (FONT_SOURCE): ... this. Update all users.
22743
a797824f
FZ
227442009-11-20 Felix Zielcke <fzielcke@z-51.de>
22745
22746 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
22747 to the list of unifont files to look for.
22748
cd4f42b0
RM
227492009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22750
22751 Patch from Joe Auricchio <jauricchio@gmail.com>
22752 * commands/minicmd.c (grub_mini_cmd_clear): New function.
22753 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
22754 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
22755
393c783d
FZ
227562009-11-19 Felix Zielcke <fzielcke@z-51.de>
22757
22758 * Makefile.in (install-local): Add a missing backslash.
22759
b2f1e327
FZ
227602009-11-19 Felix Zielcke <fzielcke@z-51.de>
22761
22762 * include/grub/x86_64/io.h: New file.
22763
f577f7a0
RM
227642009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22765
22766 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
22767 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
22768 Include `"progname.h"'.
22769 (main): Initialize gettext.
22770 * util/i386/pc/grub-setup.c: Gettexttize.
22771 * util/i386/pc/grub-mkimage.c: Likewise.
22772
22773 * Makefile.in (po/*.po): Redefine as ...
22774 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
22775
3bc7896c
RM
22776 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
22777
c37943b6
RM
227782009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22779
22780 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
22781 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
22782 (program_name): Remove.
22783 (main): Initialize gettext support.
6323f705
RM
22784 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
22785 Include `<libintl.h>'.
22786 (_): New macro.
c37943b6
RM
22787
22788 * util/mkisofs/eltorito.c: Gettexttize.
22789 * util/mkisofs/joliet.c: Likewise.
22790 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
22791 * util/mkisofs/multi.c: Likewise.
22792 * util/mkisofs/rock.c: Likewise.
22793 * util/mkisofs/tree.c: Likewise.
22794 * util/mkisofs/write.c: Likewise.
22795
3bc7896c
RM
22796 * po/POTFILES: Update with new files.
22797
5ce77c6e
RM
227982009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22799
22800 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
22801 * util/mkisofs/iso9660.h: Likewise.
22802 * util/mkisofs/joliet.c: Likewise.
22803 * util/mkisofs/mkisofs.c: Likewise.
22804 * util/mkisofs/mkisofs.h: Likewise.
22805 * util/mkisofs/rock.c: Likewise.
22806 * util/mkisofs/tree.c: Likewise.
22807 * util/mkisofs/write.c: Likewise.
22808
22809 * util/mkisofs/eltorito.c (rcsid): Remove.
22810 * util/mkisofs/hash.c: Likewise.
22811 * util/mkisofs/joliet.c: Likewise.
22812 * util/mkisofs/name.c: Likewise.
22813 * util/mkisofs/rock.c: Likewise.
22814 * util/mkisofs/tree.c: Likewise.
22815 * util/mkisofs/write.c: Likewise.
22816
1dabbc77
RM
228172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22818
22819 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
22820 instead of static allocation.
22821 * util/mkisofs/match.h: Likewise.
22822
633877cb
RM
228232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22824
3bc7896c
RM
22825 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
22826 and `util/grub.d/10_linux.in'.
633877cb
RM
22827 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
22828 translatable Shell files.
22829
af1c0c85
RM
228302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22831
22832 * Makefile.in ($(srcdir)/aclocal.m4): New target.
22833
769ae37b
RM
228342009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22835
22836 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 22837 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
22838 * util/grub.d/10_kfreebsd.in (bindir): New variable.
22839 Add gettext initialization.
22840 (kfreebsd_entry): Make menuentry output translatable.
22841
228422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22843
22844 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
22845 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
22846 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
22847 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
22848 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 22849 * po/LINGUAS: New file.
769ae37b
RM
22850
228512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22852
22853 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
22854 other things).
22855 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
22856 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
22857 bindtextdomain() calls for gettext initialization.
22858
228592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22860
22861 * gnulib/progname.c: New file (imported from Gnulib).
22862 * gnulib/progname.h: Likewise.
22863 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22864 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
22865 (usage): Replace `progname' with `program_name'.
22866 (main): Use set_program_name() for program name initialization.
22867
228682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22869
22870 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
22871 from here ...
22872 * Makefile.in (CPPFLAGS): ... to here.
22873
228742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22875
22876 * aclocal.m4: Move from here ...
22877 * acinclude.m4: ... to here.
22878 * autogen.sh: Add call to `aclocal'.
22879 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
22880
228812009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22882
22883 * Makefile.in (CLEANFILES): Add `po/*.mo'.
22884 (LINGUAS): New variable.
22885 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
22886 (install-local): Install MO files.
22887 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
22888 * include/grub/i18n.h: New file.
3bc7896c
RM
22889 * po/POTFILES: New file.
22890 * po/ca.po: New file.
769ae37b
RM
22891 * util/grub.d/10_linux.in (bindir): New variable.
22892 Add gettext initialization.
22893 (linux_entry): Make menuentry output translatable.
22894 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
22895 (usage): Make --help output translatable.
22896 (main): Initialize gettext.
22897
02c0a6ad
RM
228982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22899
22900 * import_gcry.py: New file (written by Vladimir with minor
22901 adjustments).
22902 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
22903 ciphers.
22904 * INSTALL: Document that Python is required for bootstrap.
22905
229062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22907
22908 Import ciphers from libgcrypt 1.4.4.
22909
22910 * lib/libgcrypt/cipher/ChangeLog
22911 * lib/libgcrypt/cipher/ac.c
22912 * lib/libgcrypt/cipher/arcfour.c
22913 * lib/libgcrypt/cipher/bithelp.h
22914 * lib/libgcrypt/cipher/blowfish.c
22915 * lib/libgcrypt/cipher/camellia-glue.c
22916 * lib/libgcrypt/cipher/camellia.c
22917 * lib/libgcrypt/cipher/camellia.h
22918 * lib/libgcrypt/cipher/cast5.c
22919 * lib/libgcrypt/cipher/cipher.c
22920 * lib/libgcrypt/cipher/crc.c
22921 * lib/libgcrypt/cipher/des.c
22922 * lib/libgcrypt/cipher/dsa.c
22923 * lib/libgcrypt/cipher/ecc.c
22924 * lib/libgcrypt/cipher/elgamal.c
22925 * lib/libgcrypt/cipher/hash-common.c
22926 * lib/libgcrypt/cipher/hash-common.h
22927 * lib/libgcrypt/cipher/hmac-tests.c
22928 * lib/libgcrypt/cipher/md.c
22929 * lib/libgcrypt/cipher/md4.c
22930 * lib/libgcrypt/cipher/md5.c
22931 * lib/libgcrypt/cipher/primegen.c
22932 * lib/libgcrypt/cipher/pubkey.c
22933 * lib/libgcrypt/cipher/rfc2268.c
22934 * lib/libgcrypt/cipher/rijndael-tables.h
22935 * lib/libgcrypt/cipher/rijndael.c
22936 * lib/libgcrypt/cipher/rmd.h
22937 * lib/libgcrypt/cipher/rmd160.c
22938 * lib/libgcrypt/cipher/rsa.c
22939 * lib/libgcrypt/cipher/seed.c
22940 * lib/libgcrypt/cipher/serpent.c
22941 * lib/libgcrypt/cipher/sha1.c
22942 * lib/libgcrypt/cipher/sha256.c
22943 * lib/libgcrypt/cipher/sha512.c
22944 * lib/libgcrypt/cipher/tiger.c
22945 * lib/libgcrypt/cipher/twofish.c
22946 * lib/libgcrypt/cipher/whirlpool.c
22947
af2f93ac
RM
229482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22949
22950 Fix build for systems without error().
22951
22952 * gnulib/error.c: New file (imported from Gnulib).
22953 * gnulib/error.h: Likewise.
22954 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
22955 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
22956 (this variable is now used by error()).
22957
73fb3dd5
FZ
229582009-11-16 Felix Zielcke <fzielcke@z-51.de>
22959
814f5e96
FZ
22960 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
22961 instead of relying that char is signed.
73fb3dd5 22962
a691ca33
VS
229632009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22964
22965 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
22966 blocksize different from specified.
22967 (grub_pxefs_read): Likewise.
22968
2af8f0f4
FZ
229692009-11-16 Felix Zielcke <fzielcke@z-51.de>
22970
22971 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
22972
22973 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
22974 (grub_ata_readwrite): Likewise. Update 2 format strings.
22975 (grub_atapi_read): Likewise.
22976
22977 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
22978 * conf/i386.rmk (pkglib_MODULES): ... to here ...
22979 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
22980 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
22981 (ata_mod_LDFLAGS): Move from here ...
22982 * conf/i386.rmk: ... to here ...
22983 * conf/x86_64-efi.rmk: ... and here.
22984 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
22985 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
22986
83bdecaf
RM
229872009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22988
22989 Relicense multiboot.h, with RMS' blessing.
22990
22991 * include/multiboot.h: Change to X11 license.
22992
fd6fd3d7
RM
229932009-11-15 Robert Millan <rmh.grub@aybabtu.com>
22994
22995 Support --version in grub-mkisofs.
22996
22997 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
22998 (OPTION_VERSION): New macro.
22999 (ld_options): Recognize --version.
23000 (usage): Move `program_name' from here ...
23001 (program_name): ... to here. Add `static' qualifier.
23002 (main): Recognize `OPTION_VERSION'.
23003
16a88c49
FZ
230042009-11-15 Felix Zielcke <fzielcke@z-51.de>
23005
23006 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23007 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23008
a4158476
RM
230092009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23010
23011 Fix help2man generation for mkisofs.
23012
23013 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23014 (usage): Send output to stdout (rather than stderr).
23015
fc2208b0
RM
230162009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23017
23018 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23019 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23020 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23021 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23022 (bin_SCRIPTS): Add `grub-mkfloppy'.
23023 (grub_mkfloppy_SOURCES): New variable.
23024
23025 * util/grub-mkrescue.in: New file.
23026 * util/i386/pc/grub-mkfloppy.in: New file.
23027
23028 * util/i386/coreboot/grub-mkrescue.in: Remove.
23029 * util/i386/pc/grub-mkrescue.in: Remove.
23030
8d0edf4a
RM
230312009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23032
23033 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23034 from here ...
23035 * include/multiboot.h (struct multiboot_header): ... to here. Update
23036 all users.
23037 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23038 from here ...
23039 * include/multiboot.h (struct multiboot_info): ... to here. Update
23040 all users.
23041 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23042 from here ...
23043 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23044 Update all users.
23045 * include/grub/multiboot.h (struct grub_mod_list): Move
23046 from here ...
23047 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23048 Update all users.
23049
a73f5969
RM
230502009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23051
23052 * include/multiboot2.h (multiboot_word): Rename from this ...
23053 (multiboot2_word): ... to this. Update all users.
23054 (multiboot_header): Rename from this ...
23055 (multiboot2_header): ... to this. Update all users.
23056 (multiboot_tag_header): Rename from this ...
23057 (multiboot2_tag_header): ... to this. Update all users.
23058 (multiboot_tag_start): Rename from this ...
23059 (multiboot2_tag_start): ... to this. Update all users.
23060 (multiboot_tag_name): Rename from this ...
23061 (multiboot2_tag_name): ... to this. Update all users.
23062 (multiboot_tag_module): Rename from this ...
23063 (multiboot2_tag_module): ... to this. Update all users.
23064 (multiboot_tag_memory): Rename from this ...
23065 (multiboot2_tag_memory): ... to this. Update all users.
23066 (multiboot_tag_unused): Rename from this ...
23067 (multiboot2_tag_unused): ... to this. Update all users.
23068 (multiboot_tag_end): Rename from this ...
23069 (multiboot2_tag_end): ... to this. Update all users.
23070
1c8927f0
RM
230712009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23072
23073 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23074 this platform we should support Multiboot1 first.
23075
23076 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23077 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23078 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23079
6e1e0d89
RM
230802009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23081
23082 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23083 of write calls (converting them to fwrite() if they aren't already).
23084 (get_torito_desc): Likewise.
23085 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23086
7f2b34d8
RM
230872009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23088
23089 * util/i386/pc/grub-install.in: Move from here ...
23090 * util/grub-install.in: ... to here. Update all users.
23091
c0ef3311
CW
230922009-11-11 Colin Watson <cjwatson@ubuntu.com>
23093
23094 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23095
e1f240ff
RM
230962009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23097
23098 Support for El Torito without floppy emulation.
23099
23100 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23101 (init_boot_catalog): Improve error handling.
23102 (get_torito_desc): Don't use floppy emulation unless requested by
23103 user. Patch boot information table when requested via
23104 `-boot-info-table'.
23105 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23106 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23107 (use_boot_info_table): New variables.
23108 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23109 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23110 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23111 `--eltorito-emul-floppy'.
23112 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23113 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23114 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23115 (use_boot_info_table, get_731): New prototypes.
23116 * util/mkisofs/write.c (get_731): New function.
23117
af7d4de5
FZ
231182009-11-11 Felix Zielcke <fzielcke@z-51.de>
23119
23120 Fix the generation of the man page.
23121
23122 * util/pc/i386/grub-install.in: Source
23123 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23124
2c55dbc0
RM
231252009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23126
23127 Large file support for grub-mkisofs.
23128
23129 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23130 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23131 (session_start): Upgrade type to `uint64_t'. Update all users.
23132 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23133 (struct directory_entry): Upgrade type of `starting_block' and
23134 `size' to `uint64_t'. Update all users.
23135 (struct deferred): Remove unused structure.
23136 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23137 Update all users.
23138 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23139 file is larger than `UINT32_MAX'.
23140 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23141 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23142 return value.
23143 (struct deferred_write): Upgrade type of `extent' and `size' to
23144 `uint64_t'. Update all users.
23145 (last_extent_written): Upgrade type to `uint64_t'. Update all
23146 users.
23147 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23148 Update all users. Upgrade type of `remain' to `int64_t' and
23149 `use' to `size_t'. Use error() to handle fread() errors.
23150 (write_files): Rely on write_one_file() rather than calling
23151 xfwrite() directly.
23152
6a9cead5
FZ
231532009-11-09 Felix Zielcke <fzielcke@z-51.de>
23154
23155 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23156
4825d790
RM
231572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23158
23159 * util/mkisofs/fnmatch.c: Remove.
23160 * util/mkisofs/getopt1.c: Likewise.
23161 * util/mkisofs/getopt.c: Likewise.
23162 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23163 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23164 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23165 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23166 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23167
23168 * configure.ac: Detect `mingw32msvc' host_os.
23169 Check for lstat(), getuid() and getgid().
23170
23171 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23172 instances of `u_char' with `uint8_t'.
23173
23174 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23175 [!HAVE_GETUID] (getuid): New function (stub).
23176 [!HAVE_GETGID] (getgid): Likewise.
23177 [!HAVE_LSTAT] (lstat): Likewise.
23178 [!S_IROTH] (S_IROTH): New macro (dummy).
23179 [!S_IRGRP] (S_IRGRP): Likewise.
23180
84b860d8
RM
231812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23182
23183 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23184 conditional expression).
23185
66e9b712
RM
231862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23187
23188 Import from Gnulib.
23189
23190 * gnulib/fnmatch.c: New file.
23191 * gnulib/fnmatch.h: Likewise.
23192 * gnulib/fnmatch_loop.c: Likewise.
23193 * gnulib/getopt.c: Likewise.
23194 * gnulib/getopt.h: Likewise.
23195 * gnulib/getopt1.c: Likewise.
23196 * gnulib/getopt_int.h: Likewise.
23197 * gnulib/gettext.h: Likewise.
23198
34f4a5b0
RM
231992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23200
23201 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23202 * normal/handler.c (read_handler_list): Likewise.
23203
ac451143
RM
232042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23205
23206 Misc cleanup.
23207
23208 * kern/command.c (grub_register_command_prio): Use
23209 grub_zalloc() instead of explicitly zeroing data.
23210 * kern/list.c: Include `<grub/mm.h>'.
23211 (grub_named_list_find): Replace `0' with `NULL'.
23212 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23213 (fs_module_list): Change type to `grub_named_list_t'. Update all
23214 users.
23215 * normal/dyncmd.c (read_command_list): Add space between function
23216 call and parenthesis.
23217 * normal/handler.c (read_handler_list): Likewise.
23218
4089b167
RM
232192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23220
23221 * normal/auth.c (punishment_delay): Moved from here ...
23222 (grub_auth_strcmp): ... to here (inside function).
23223
325f5037
RM
232242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23225
23226 * include/grub/list.h (struct grub_named_list): Remove `const'
23227 qualifier from `name'.
23228 (struct grub_prio_list): Likewise.
23229
7aea29a3
RM
232302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23231
23232 * normal/auth.c: Include `<grub/time.h>'.
23233 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23234
3fd6f044
RM
232352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23236
23237 * normal/auth.c (punishment_delay): New variable.
23238 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23239 (grub_auth_check_authentication): Punish failed login attempts with
23240 an incremental (2^N) delay.
23241
a4cd68e4
RM
232422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23243
23244 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23245 path with $(srcdir).
23246
7ad12f43
VS
232472009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23248
23249 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23250
c1129f03
RM
232512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23252
23253 * util/i386/coreboot/grub-mkrescue.in: New file.
23254 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23255 variables.
23256
23257 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23258 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23259 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23260 requirements.
23261 * util/mkisofs/defaults.h: New file.
23262 * util/mkisofs/eltorito.c: Likewise.
23263 * util/mkisofs/exclude.h: Likewise.
23264 * util/mkisofs/fnmatch.c: Likewise.
23265 * util/mkisofs/getopt.c: Likewise.
23266 * util/mkisofs/getopt1.c: Likewise.
23267 * util/mkisofs/hash.c: Likewise.
23268 * util/mkisofs/include/fctldefs.h: Likewise.
23269 * util/mkisofs/include/mconfig.h: Likewise.
23270 * util/mkisofs/include/prototyp.h: Likewise.
23271 * util/mkisofs/include/statdefs.h: Likewise.
23272 * util/mkisofs/iso9660.h: Likewise.
23273 * util/mkisofs/joliet.c: Likewise.
23274 * util/mkisofs/match.c: Likewise.
23275 * util/mkisofs/match.h: Likewise.
23276 * util/mkisofs/mkisofs.c: Likewise.
23277 * util/mkisofs/mkisofs.h: Likewise.
23278 * util/mkisofs/multi.c: Likewise.
23279 * util/mkisofs/name.c: Likewise.
23280 * util/mkisofs/rock.c: Likewise.
23281 * util/mkisofs/tree.c: Likewise.
23282 * util/mkisofs/write.c: Likewise.
23283
ec8bb77d
VS
232842009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23285
23286 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23287 being insecure.
23288
3716b12c
RM
232892009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23290
23291 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23292 `grub-mkimage' (and use $0 when possible).
23293
b97b7b91
RM
232942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23295
23296 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23297 error message for excessively large memory map.
23298
04114812
RM
232992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23300
23301 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23302 executable bit.
23303
e4eb2373
RM
233042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23305
23306 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23307 message for coreboot users.
23308
c926e1d5 233092009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23310
23311 Fix build with GNU gold.
23312
23313 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23314 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23315 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23316 link addresses.
23317 * aclocal.m4: Likewise.
23318
86e5b1db 233192009-11-04 Felix Zielcke <fzielcke@z-51.de>
23320
23321 * configure.ac (AC_PREREQ): Bump to 2.59d.
23322 * INSTALL: Make it more clear when Autoconf and Ruby are
23323 needed and when to run `./autogen.sh'.
23324
246cd78f 233252009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23326
23327 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23328 OSes.
23329
4f9dfb37 233302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23331
23332 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23333
b82bd5e1 233342009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23335
23336 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23337 giving it to GNU Mach.
23338
ff1a9bca 233392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23340
23341 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23342 GNU partition number to get internal GRUB partition number.
23343
61697d9c 233442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23345
23346 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23347 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23348
a50569e1 233492009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23350
23351 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23352 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23353 case.
23354
5b153867 233552009-11-01 Felix Zielcke <fzielcke@z-51.de>
23356
23357 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23358
d9e2cd70 233592009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23360
23361 Fix build problem.
23362
23363 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23364 `-isystem=$(srcdir)/include'.
23365
805111a4 233662009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23367
23368 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23369 checked (grub-install doesn't currently rely on it).
23370
fa6e945f 233712009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23372
23373 Revert SVN r2660.
23374
23375 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23376 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23377 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23378 * conf/i386-ieee1275.rmk: Likewise.
23379 * conf/i386-pc.rmk: Likewise.
23380 * conf/powerpc-ieee1275.rmk: Likewise.
23381 * conf/sparc64-ieee1275.rmk: Likewise.
23382 * conf/x86_64-efi.rmk: Likewise.
23383
cee15086 233842009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23385
23386 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23387
95b9239e 233882009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23389
23390 * include/grub/misc.h: Stop checking for APPLE_CC.
23391
2ed19dfd 233922009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23393
23394 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23395 doesn't cause an infinite call loop.
23396
fdcdde19 233972009-10-28 Felix Zielcke <fzielcke@z-51.de>
23398
23399 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23400 strings.
23401
cefabfe1 234022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23403
23404 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23405 variable.
23406 * Makefile.in: Likewise.
23407
ed96ab6d 234082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23409
23410 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23411
0579b753 234122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23413
23414 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23415
478df409 234162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23417
23418 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23419
083d1679 234202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23421
23422 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23423 from here ...
23424 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23425
5947ae32 234262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23427
23428 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23429 in $(MAKEINFO) invocation. This makes it clear in output that
23430 errors are being ignored.
23431
94180ff6 234322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23433
23434 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23435 from here ...
23436 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23437 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23438 * conf/i386-ieee1275.rmk: Likewise.
23439 * conf/i386-pc.rmk: Likewise.
23440 * conf/powerpc-ieee1275.rmk: Likewise.
23441 * conf/sparc64-ieee1275.rmk: Likewise.
23442 * conf/x86_64-efi.rmk: Likewise.
23443
9031b03a 234442009-10-26 Colin Watson <cjwatson@ubuntu.com>
23445
23446 * util/grub-editenv.c (main): If only a command is given, use
23447 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23448 (usage): FILENAME is now optional and has a default.
23449
e4f6809b 234502009-10-26 Colin Watson <cjwatson@ubuntu.com>
23451
23452 Improve grub-mkconfig performance when there are several menu
23453 entries on a single filesystem.
23454
23455 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23456 prepare_grub_to_access_device.
23457 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23458 * util/grub.d/30_os-prober.in: Likewise.
23459
67937d4d 234602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23461
23462 * util/grub.d/10_freebsd.in: Remove.
23463 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23464 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23465
ee3756cc 234662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23467
5c35048e 23468 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23469
4dea1c6f 234702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23471
23472 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23473 grub_util_error() call.
23474
042484d7 234752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23476
23477 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23478 `reserved_first_sector' member.
23479 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23480 `reserved_first_sector' to 1.
23481 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23482 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23483 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23484 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23485 filesystems which begin at first sector.
23486 (options): New option --skip-fs-probe.
23487 (main): Handle --skip-fs-probe and pass it to setup().
23488
d64448a7 234892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23490
23491 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23492 (memset): Fix function prototype.
23493
508d42ec 234942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
234952009-10-25 Vasily Averin <vvs@parallels.com>
23496
23497 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23498 `dirent.direntlen == 0'.
23499
b240e30c 235002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23501
23502 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23503 `cpio'.
23504 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23505
346e7fbe 235062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23507
23508 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23509 `__trampoline_setup' and `__ucmpdi2'.
23510 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23511 that libgcc provides.
23512
cdb308b0 235132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23514
23515 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23516 * include/grub/sparc64/libgcc.h (memset): Likewise.
23517 * include/grub/misc.h (memset, memcmp): New function prototypes.
23518
fb26abc2 235192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23520
23521 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23522 `cpio'.
23523 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23524
f6693890 235252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23526
23527 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23528 * docs/grub.cfg: Compensate for recent change in multiboot
23529 loader (since 2009-08-14 it won't pass filename to payload).
23530 * util/grub.d/10_hurd.in: Likewise.
23531
0933cdc0 235322009-10-21 Felix Zielcke <fzielcke@z-51.de>
23533
23534 * config.guess: Update to latest version from config git
23535 repository.
23536 * config.sub: Likewise.
23537
3b2fe8c2 235382009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23539
23540 Fix build on sparc64.
23541
23542 * configure.ac: Perform checks for libgcc symbols before
23543 adding `-nostdlib' to LDFLAGS.
23544
46695a62 235452009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 Let user specify OpenBSD root device.
23548
23549 * loader/i386/bsd.c (openbsd_root): New variable.
23550 (openbsd_opts): New option 'root'.
23551 (OPENBSD_ROOT_ARG): New macro.
23552 (grub_openbsd_boot): Use 'openbsd_root'.
23553 (grub_cmd_openbsd): Fill 'openbsd_root'.
23554
d2b6b7fc 235552009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23556
23557 * NEWS: Misc adjustments.
23558
421bd7ac 235592009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23560
23561 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23562
f1d29d87 235632009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23564
23565 * configure.ac: Bump version to 1.97.
23566
6f3cd880 235672009-10-16 Colin Watson <cjwatson@ubuntu.com>
23568
23569 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23570 -mno-3dnow on x86 architectures. Some toolchains enable these
23571 features by default, but they rely on registers that aren't enabled
23572 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23573
035f7122 235742009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23575
23576 Make entry text a bit more readable.
23577
23578 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23579
44998e58 235802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23581
23582 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23583
cd2851b3 235842009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23585
23586 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23587 operations.
23588
c6f3b249 235892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23590
23591 * configure.ac: Add missing dollar.
23592
6b5886ba 235932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23594
23595 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23596
23597 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23598 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23599 exports.
23600 * include/grub/sparc64/libgcc.h: Likewise. Use
23601 preprocessor conditionals.
23602
e9d66f6d 236032009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23604
23605 * conf/common.rmk (grub-dumpbios): Remove rule.
23606 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23607 * util/grub-dumpbios.in: Remove file.
23608
9155bc17 236092009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23610
23611 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23612 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23613
23614 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23615 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23616 users.
23617
23618 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23619 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23620 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23621 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23622 users.
23623
bf7f7a18 236242009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23625
23626 * term/tparm.c: Switch to GPLv3.
23627
86564c26 236282009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23629
23630 * include/grub/i386/cpuid.h: Add header protection.
23631
5c936493 236322009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23633
23634 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
23635
23636 * include/grub/i386/cpuid.h: New file.
23637 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
23638 (has_longmode): Rename to ...
23639 (grub_cpuid_has_longmode): ... this. Update all users. Remove
23640 `static' attribute.
23641 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
23642 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
23643 on a CPU that doesn't implement AMD64 instruction set.
23644
186e7cf2 236452009-10-06 Colin Watson <cjwatson@ubuntu.com>
23646
23647 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
23648 that version.texi is rebuilt on version number changes.
23649
83b65c4a 236502009-10-06 Colin Watson <cjwatson@ubuntu.com>
23651
23652 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
23653 Fixes bug #27602.
23654
d244281c 236552009-10-06 Colin Watson <cjwatson@ubuntu.com>
23656
23657 * util/i386/pc/grub-install.in: Source
23658 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
23659 that the --grub-probe option will work.
23660 * util/sparc64/ieee1275/grub-install.in: Likewise.
23661
da25306d 236622009-10-05 Robert Millan <rmh.grub@aybabtu.com>
23663
23664 * configure.ac: Bump version to 1.97~beta4.
23665
e8ee83c0 236662009-10-03 Robert Millan <rmh.grub@aybabtu.com>
23667
23668 Resync grub-mkdevicemap in x86_64-efi.
23669
23670 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
23671 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
23672 `util/devicemap.c'.
23673
50dcabcf 236742009-10-01 Colin Watson <cjwatson@ubuntu.com>
23675
23676 * util/grub-editenv.c (create_envblk_file): Write new block with a
23677 .new suffix and then rename it into place, to ensure atomic
23678 creation.
23679
0e51c3a7 236802009-09-28 Robert Millan <rmh.grub@aybabtu.com>
23681
23682 Do not automatically install headers.
23683
23684 * Makefile.in (include_DATA): Remove. Update all users.
23685
31299a95 236862009-09-26 Robert Millan <rmh.grub@aybabtu.com>
23687
23688 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
23689 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
23690
23691 * util/osdetect.lua: Remove.
23692 * script/lua/lauxlib.c: Likewise.
23693 * script/lua/ldebug.c: Likewise.
23694 * script/lua/grub_main.c: Likewise.
23695 * script/lua/lauxlib.h: Likewise.
23696 * script/lua/ldebug.h: Likewise.
23697 * script/lua/ltablib.c: Likewise.
23698 * script/lua/liolib.c: Likewise.
23699 * script/lua/lstrlib.c: Likewise.
23700 * script/lua/lualib.h: Likewise.
23701 * script/lua/ldo.c: Likewise.
23702 * script/lua/ldump.c: Likewise.
23703 * script/lua/ldo.h: Likewise.
23704 * script/lua/loslib.c: Likewise.
23705 * script/lua/lundump.c: Likewise.
23706 * script/lua/grub_lib.c: Likewise.
23707 * script/lua/ldblib.c: Likewise.
23708 * script/lua/lundump.h: Likewise.
23709 * script/lua/lmem.c: Likewise.
23710 * script/lua/grub_lib.h: Likewise.
23711 * script/lua/lmathlib.c: Likewise.
23712 * script/lua/lstate.c: Likewise.
23713 * script/lua/ltm.c: Likewise.
23714 * script/lua/lvm.c: Likewise.
23715 * script/lua/lmem.h: Likewise.
23716 * script/lua/lstate.h: Likewise.
23717 * script/lua/ltm.h: Likewise.
23718 * script/lua/ltable.c: Likewise.
23719 * script/lua/lvm.h: Likewise.
23720 * script/lua/llex.c: Likewise.
23721 * script/lua/lgc.c: Likewise.
23722 * script/lua/grub_lua.h: Likewise.
23723 * script/lua/loadlib.c: Likewise.
23724 * script/lua/lfunc.c: Likewise.
23725 * script/lua/lopcodes.c: Likewise.
23726 * script/lua/lparser.c: Likewise.
23727 * script/lua/ltable.h: Likewise.
23728 * script/lua/llex.h: Likewise.
23729 * script/lua/lgc.h: Likewise.
23730 * script/lua/lfunc.h: Likewise.
23731 * script/lua/lbaselib.c: Likewise.
23732 * script/lua/lopcodes.h: Likewise.
23733 * script/lua/lparser.h: Likewise.
23734 * script/lua/lzio.c: Likewise.
23735 * script/lua/linit.c: Likewise.
23736 * script/lua/lobject.c: Likewise.
23737 * script/lua/llimits.h: Likewise.
23738 * script/lua/lstring.c: Likewise.
23739 * script/lua/lzio.h: Likewise.
23740 * script/lua/lapi.c: Likewise.
23741 * script/lua/lcode.c: Likewise.
23742 * script/lua/lua.h: Likewise.
23743 * script/lua/lobject.h: Likewise.
23744 * script/lua/lstring.h: Likewise.
23745 * script/lua/lapi.h: Likewise.
23746 * script/lua/lcode.h: Likewise.
23747 * script/lua/luaconf.h: Likewise.
23748
cb8a2c38 237492009-09-26 Colin Watson <cjwatson@ubuntu.com>
23750
23751 * docs/grub.texi (Command-line and menu entry commands): Document
23752 date and echo commands.
23753
6b9b6276 237542009-09-24 Pavel Roskin <proski@gnu.org>
23755
23756 * include/grub/kernel.h (struct grub_module_header): Remove
23757 `grub_module_header_types'. Make `type' unsigned. Make `size'
23758 32-bit on all platforms.
23759 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
23760 8-bit field. Use grub_host_to_target32() for `size'.
23761 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
23762 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
23763 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
23764
4e5a02a7 237652009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23766
23767 Fix "lost keypress" bug in at_keyboard.
23768
23769 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
23770 Checks for readyness of input buffer (without flushing it).
23771 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
23772 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
23773
c6dcedf6 237742009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23775
23776 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
23777 size check within GRUB_MACHINE_PCBIOS section.
23778
74c958b1 237792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23780
23781 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
23782 return value.
23783 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
23784 KEYBOARD_ISREADY check.
23785 (grub_at_keyboard_checkkey): Rename to ...
23786 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
23787 Remove gratuitous cast.
23788
ff420223 237892009-09-23 Colin Watson <cjwatson@ubuntu.com>
23790
23791 * configure.ac: Call AC_PROG_MKDIR_P.
23792 * Makefile.in (docs/stamp-vti): Create docs directory. Create
23793 version.texi in $(builddir) rather than $(srcdir).
23794 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
23795 to makeinfo's @include search path.
23796
d96875df 237972009-09-23 Felix Zielcke <fzielcke@z-51.de>
23798
23799 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
23800
9b3f8365 238012009-09-23 Felix Zielcke <fzielcke@z-51.de>
23802
23803 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
23804 for `*.dpkg-new'.
23805
c44c90db 238062009-09-21 Colin Watson <cjwatson@ubuntu.com>
23807
23808 Build info documentation. Some code borrowed from Automake.
23809
23810 * configure.ac: Check for makeinfo.
23811 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
23812 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
23813 docs/version.texi.
23814 (MOSTLYCLEANFILES): Add vti.tmp.
23815 (docs/version.texi, docs/stamp-vti): Update automatically.
23816 (docs/grub.info): Build info documentation. Use --force and ignore
23817 errors for now.
23818 (all-local): Add $(INFOS).
23819 (install-local): Install info files.
23820 (uninstall): Uninstall info files.
23821 * docs/version.texi: Remove from revision control. This file is
23822 automatically generated on build now.
23823 * gendistlist.sh: Add `*.info'.
23824
e0b37bb5 238252009-09-21 Felix Zielcke <fzielcke@z-51.de>
23826
23827 * kern/term.c: Fix indentation.
23828
5a78865b 238292009-09-21 Felix Zielcke <fzielcke@z-51.de>
23830
23831 * util/hostdisk.c: Fix a comment.
23832
dace7e8a 238332009-09-20 Robert Millan <rmh.grub@aybabtu.com>
23834
23835 Fix regression introduced in r2539.
23836
23837 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
23838 to 0xA1.
23839
a83d079b 238402009-09-19 Colin Watson <cjwatson@ubuntu.com>
23841
23842 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 23843 os-prober. Under normal operation, it does not print anything to
23844 stderr; if it does, we need to debug it, and throwing away stderr
23845 makes that excessively difficult.
a83d079b 23846
be94a509 238472009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
23848
23849 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
23850
63f745e8 238512009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23852
23853 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
23854 AC_LANG_PROGRAM from autoconf.
23855 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
23856 prototypes (fixes warning).
23857
23858 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
23859 `--disable-werror' was used.
23860
bbb2a70f 238612009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23862
23863 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
23864 uninitialized `lastaddr'.
23865
77c24f1d 238662009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23867
0f0b8c87 23868 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 23869
07197f23 238702009-09-14 Colin Watson <cjwatson@ubuntu.com>
23871
23872 * commands/test.c (get_fileinfo): Return immediately if
23873 grub_fs_probe fails.
23874
dabf1798 238752009-09-14 José Martínez <xosemp@gmail.com>
23876
23877 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
23878
d52109a7 238792009-09-14 Colin Watson <cjwatson@ubuntu.com>
23880
23881 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
23882 output.
23883
56532179 238842009-09-13 Robert Millan <rmh.grub@aybabtu.com>
23885
23886 * configure.ac: Remove --enable-grub-pe2elf. Only build
23887 grub-pe2elf when needed by the build system itself.
23888 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
23889
8ef070f5 238902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23891
23892 * configure.ac: Bump version to 1.97~beta3.
23893 * docs/version.texi: Likewise.
23894
61229557 238952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23896
23897 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
23898 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
23899 from here ...
23900 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
23901 (grub_linux_setup_video): ... to here (with some adjustments).
23902
5c9f8d84 239032009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23904
23905 Fix memory corruption issue (spotted by Colin Watson).
23906
23907 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
23908 causing returned size to be stored in an incorrect memory location.
23909 Fix use of uninitialized value when storing the returned size.
23910
e8f5d6e9 239112009-09-12 Yves Blusseau <blusseau@zetam.org>
23912
23913 Change clean rules to properly remove files
23914
23915 * genmk.rb: add new clean rules
23916 * Makefile.in (clean): add the new targets
23917 (mostlyclean): likewise
23918
cda2a409 239192009-09-11 Colin Watson <cjwatson@ubuntu.com>
23920
23921 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
23922 to grub_uint64_t.
23923 * fs/ntfs.c (init_file): Understand 64-bit sizes for
23924 non-resident files.
23925
86695375 239262009-09-11 Colin Watson <cjwatson@ubuntu.com>
23927
23928 * configure.ac: Don't look for help2man when cross-compiling. Fixes
23929 part of bug #27349.
23930
8aa1541a 239312009-09-10 Felix Zielcke <fzielcke@z-51.de>
23932
23933 * util/grub-mkconfig.in: Make the created config mode 400 and
23934 print a warning if it fails.
23935
48d9bb0a 239362009-09-10 Robert Millan <rmh.grub@aybabtu.com>
23937
23938 * util/grub.d/40_custom.in: Ask user to type custom entries below
23939 comment, rather than below 'exec tail' line.
23940
3b0521be 239412009-09-10 Colin Watson <cjwatson@ubuntu.com>
23942
23943 * util/grub.d/40_custom.in: Make sure that the explanatory text is
23944 visible in grub.cfg.
23945
50051d55 239462009-09-10 Colin Watson <cjwatson@ubuntu.com>
23947
23948 * util/grub.d/40_custom.in: Make it a little clearer how to use this
23949 file.
23950
c0d34387 239512009-09-10 Felix Zielcke <fzielcke@z-51.de>
23952
23953 * docs/grub.cfg: Add an example menu entry for memtest86+.
23954
80a608f3 239552009-09-09 Felix Zielcke <fzielcke@z-51.de>
23956
a2094832 23957 * config.guess: Update to latest version from config git.
80a608f3 23958 * config.sub: Likewise.
23959
99423078 239602009-09-08 Colin Watson <cjwatson@ubuntu.com>
23961
23962 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
23963 unknown-command case. Fixes bug #27320.
23964
44454e4c 239652009-09-08 Felix Zielcke <fzielcke@z-51.de>
23966
23967 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
23968 `help' if the command exists.
23969
e30d87ad 239702009-09-06 Robert Millan <rmh.grub@aybabtu.com>
23971
23972 * INSTALL: Require GCC 4.1.3 or later.
23973
9a86f1ec 239742009-09-06 Yves Blusseau <blusseau@zetam.org>
23975
23976 * Makefile.in (RMKFILES): add i386-qemu.rmk
23977 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
23978 $(srcdir)/stamp-h.in
23979
7f26d466 239802009-09-05 Robert Millan <rmh.grub@aybabtu.com>
23981
23982 * util/grub-probe.c (probe): Comment out buggy codepath, which
23983 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
23984 should be re-enabled after 1.97.
23985
3a613259 239862009-09-05 Felix Zielcke <fzielcke@z-51.de>
23987
23988 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
23989 find searches for.
23990
197f76c7 239912009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23992
23993 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
23994 unnecessary calls to grub_error.
23995
70ba68ce 239962009-09-04 Colin Watson <cjwatson@ubuntu.com>
23997
23998 * NEWS: Mention `keystatus' and Unicode fonts.
23999
4ff0d7a4 240002009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24001
24002 * configure.ac: Bump version to 1.97~beta2.
24003 * docs/version.texi: Likewise.
24004
77c55a87 240052009-09-03 Colin Watson <cjwatson@ubuntu.com>
24006
24007 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24008 containing unwind information in some cases where it previously did
24009 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24010 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24011 discussion.
24012
f79572cd 240132009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24014
24015 Embedding loadenv module into grub-emu
24016
24017 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24018 commands/loadenv.c
24019 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24020 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24021 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24023 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24024 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24025
93a81088 240262009-09-03 Magnus Granberg <zorry@ume.nu>
24027
24028 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24029 include -fPIE in the default specs.
24030 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24031 to TARGET_CFLAGS.
24032
160034b2 240332009-09-03 Felix Zielcke <fzielcke@z-51.de>
24034
24035 * INSTALL: Note that GNU Bison 2.3 or later is required.
24036
087c07c4 240372009-09-03 Colin Watson <cjwatson@ubuntu.com>
24038
24039 * kern/i386/pc/startup.S: Fix typo.
24040
cbf978c0 240412009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24042
24043 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24044 according to GCS.
24045
240462009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24047
24048 * docs/grub.texi (Naming convention): Describe one-based partition
24049 numbering.
24050 (Device syntax): Likewise.
24051 (File name syntax): Likewise.
24052 (Block list syntax): Likewise.
24053 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24054 menu.lst.
24055 (File name syntax): Likewise.
24056 (Command-line and menu entry commands): Document acpi, blocklist,
24057 crc, export, insmod, keystatus, ls, set, and unset commands.
24058
f3e8cdfd 240592009-09-02 Colin Watson <cjwatson@ubuntu.com>
24060
24061 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24062 to avoid implying that only one of --shift, --ctrl, or --alt may be
24063 used.
24064
c0bc232b 240652009-09-02 Colin Watson <cjwatson@ubuntu.com>
24066
24067 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24068 rather than comparing against S_IFREG, which will almost never work.
24069
aa0f752d 240702009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24071
24072 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24073 (write_blocklists): Likewise.
24074
ecb3166a 240752009-09-01 Colin Watson <cjwatson@ubuntu.com>
24076
24077 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24078 argument to grub_printf.
24079
c403a125 240802009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24081
24082 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24083 non GNU test.
31aba781 24084
b5e7312c 240852009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24086
24087 * kern/file.c (grub_file_read): Spelling fix
24088
fe00f472 240892009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24092 loading of headers in some cases.
24093
cc55302e 240942009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24095
24096 * configure.ac: Bump version to 1.97~beta1.
24097 * docs/version.texi: Likewise.
24098
5c90cdd2 240992009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24100
24101 * include/grub/i386/xnu.h: Add license header.
24102 include grub/err.h explicitly.
24103
c90edae4 241042009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24105
24106 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24107 to `ufs' in the vfs.root.mountfrom kernel parameter.
24108
d8888b5c 241092009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24110
24111 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24112
24113 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24114 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24115
24116 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24117 `ARRAY_SIZE' macro.
24118
6f07b921 241192009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24120
24121 * kern/file.c (grub_file_read): Check offset.
24122 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24123 * fs/jfs.c (grub_jfs_read_file): Likewise.
24124 * fs/ntfs.c (grub_ntfs_read): Likewise.
24125 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24126 * fs/minix.c (grub_minix_read_file): Correct offset check.
24127 * fs/ufs.c (grub_ufs_read_file): Likewise.
24128
b4f34077 241292009-08-28 Colin Watson <cjwatson@ubuntu.com>
24130
24131 * term/i386/pc/console.c (bios_data_area): Cast
24132 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24133
e7c69859 241342009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 1-bit optimised blitters.
24137
24138 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24139 prototype.
24140 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24141 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24142 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24143 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24144 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24145 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24146 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24147 function.
24148 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24149 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24150 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24151 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24152 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24153 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24154 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24155 when possible.
24156 * video/video.c (grub_video_get_blit_format): Return
24157 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24158
a57da43f 241592009-08-28 Colin Watson <cjwatson@ubuntu.com>
24160
24161 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24162 the first argument to grub_printf.
24163
4cbe67e5 241642009-08-28 Colin Watson <cjwatson@ubuntu.com>
241652009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24166
24167 Add `getkeystatus' terminal method. Add a new `keystatus' command
24168 to query it.
24169
24170 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24171 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24172 modifier key bitmasks.
24173 (struct grub_term_input): Add `getkeystatus' member.
24174 (grub_getkeystatus): Add prototype.
24175 * kern/term.c (grub_getkeystatus): New function.
24176
24177 * include/grub/i386/pc/memory.h
24178 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24179 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24180 Data Area layout.
24181 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24182 (grub_console_term_input): Set `getkeystatus' member.
24183 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24184 constants.
24185 (grub_usb_keyboard_getreport): Likewise.
24186 (grub_usb_keyboard_checkkey): Likewise.
24187 (grub_usb_keyboard_getkeystatus): New function.
24188 (grub_usb_keyboard_term): Set `getkeystatus' member.
24189
24190 * commands/keystatus.c: New file.
24191 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24192 (keystatus_mod_SOURCES): New variable.
24193 (keystatus_mod_CFLAGS): Likewise.
24194 (keystatus_mod_LDFLAGS): Likewise.
24195 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24196 commands/keystatus.c.
24197 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24198 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24199 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24201 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24202 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24203
6e2a9085 242042009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 Split befs.mod and afs.mod into *_be.mod and *.mod
24207
24208 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24209 (grub_fstest_SOURCES): Likewise.
24210 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24211 (afs_be_mod_SOURCES): New variable.
24212 (afs_be_mod_CFLAGS): Likewise.
24213 (afs_be_mod_LDFLAGS): Likewise.
24214 (befs_be_mod_SOURCES): Likewise.
24215 (befs_be_mod_CFLAGS): Likewise.
24216 (befs_be_mod_LDFLAGS): Likewise.
24217 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24218 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24219 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24220 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24221 (grub_emu_SOURCES): Likewise.
24222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24223 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24224 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24225 * fs/afs_be.c: New file.
24226 * fs/befs_be.c: New file.
24227 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24228 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24229 (U16): Replaced with ...
24230 (grub_afs_to_cpu16): ...this. All users updated.
24231 (U32): Replaced with ...
24232 (grub_afs_to_cpu32): ...this. All users updated.
24233 (U64): Replaced with ...
24234 (grub_afs_to_cpu64): ...this. All users updated.
24235 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24236 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24237 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24238 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24239 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24240 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24241 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24242 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24243 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24244 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24245 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24246
32a71655 242472009-08-26 Bean <bean123ch@gmail.com>
24248
24249 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24250 64-bit number.
24251 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24252 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24253 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24254
552bf6c5 242552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24256
24257 NetBSD memory map support.
24258
24259 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24260 (grub_netbsd_btinfo_mmap_header): New structure.
24261 (grub_netbsd_btinfo_mmap_entry): Likewise.
24262 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24263
1ae2078c 242642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24265
24266 Enable bsd.mod on coreboot.
24267
24268 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24269 (bsd_mod_SOURCES): New variable.
24270 (bsd_mod_CFLAGS): Likewise.
24271 (bsd_mod_LDFLAGS): Likewise.
24272 (bsd_mod_ASFLAGS): Likewise.
24273 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24274 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24275
beefc598 242762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24277
24278 Cleanup NetBSD root support.
24279
24280 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24281 grub_bsd_get_device.
24282 Fix typo.
24283
3b76e68b 242842009-08-25 Felix Zielcke <fzielcke@z-51.de>
24285
24286 * util/grub.d/00_header.in: Move check for the video backend of
24287 gfxterm from here ...
24288 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24289 a suitable video backend.
24290
aea664ea 242912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24292
24293 Fix breakage in grub-setup.
24294
24295 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24296 "msdos_partition_map".
24297
ff747d50 242982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24299
24300 Fix breakage in normal/auth.c.
24301
24302 * normal/auth.c (grub_iswordseparator): New function.
24303
e7e1f93f 243042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24305
24306 Authentication support.
24307
24308 * commands/password.c: New file.
24309 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24310 (password_mod_SOURCES): New variable.
24311 (password_mod_CFLAGS): Likewise.
24312 (password_mod_LDFLAGS): Likewise.
24313 (normal_mod_SOURCES): Add normal/auth.c.
24314 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24315 normal/auth.c.
24316 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24317 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24318 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24321 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24322 * include/grub/auth.h: New file.
24323 * include/grub/err.h (grub_err_t): New enum value
24324 GRUB_ERR_ACCESS_DENIED.
24325 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24326 'users'.
24327 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24328 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24329 users updated.
24330 * normal/auth.c: New file.
24331 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24332 (grub_cmdline_run): Don't allow to go to command line without
24333 authentication.
24334 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24335 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24336 menuentry without superuser rights.
24337 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24338 user isn't a superuser.
24339
70f1161d 243402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24341
24342 Save space by inlining misc.c functions.
24343
24344 * kern/misc.c (grub_iswordseparator): Made static.
24345 * kern/misc.c (grub_strcat): Moved from here ...
24346 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24347 * kern/misc.c (grub_strncat): Moved from here ...
24348 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24349 * kern/misc.c (grub_strcasecmp): Moved from here ...
24350 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24351 * kern/misc.c (grub_strncasecmp): Moved from here ...
24352 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24353 * kern/misc.c (grub_isalpha): Moved from here ...
24354 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24355 * kern/misc.c (grub_isdigit): Moved from here ...
24356 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24357 * kern/misc.c (grub_isgraph): Moved from here ...
24358 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24359 * kern/misc.c (grub_tolower): Moved from here ...
24360 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24361
48e40bff 243622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24363
24364 * script/sh/function.c (grub_script_function_find): Cut error message
24365 not to flood terminal.
24366 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24367 limit.
24368 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24369
c385bfc3 243702009-08-24 Colin Watson <cjwatson@ubuntu.com>
24371
24372 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24373 `report' grub_uint8_t *.
24374 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24375 Use a 50-millisecond timeout rather than just repeating
24376 grub_usb_keyboard_getreport 50 times.
24377 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24378
2d21e3e8 243792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24380
24381 Rename *_partition_map to part_*
24382
24383 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24384 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24385 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24386 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24387 All users updated.
24388 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24389 All users updated.
24390 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24391 * util/grub-probe.c (probe_partmap): Don't transform partition name
24392 to get module name.
24393
dd103c4e 243942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24395
24396 Fix OpenBSD and NetBSD support.
24397
24398 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24399 memory address conflict.
24400 (OPENBSD_MMAP_ACPI): New definition.
24401 (OPENBSD_MMAP_NVS): Likewise.
24402 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24403 and OPENBSD_MMAP_NVS.
24404 Add memory map terminator
24405 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24406 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24407
16c84d74 244082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 Let user specify NetBSD root device.
24411
24412 * loader/i386/bsd.c (netbsd_root): New variable.
24413 (netbsd_opts): New option 'root'.
24414 (NETBSD_ROOT_ARG): New macro.
24415 (grub_netbsd_boot): Use 'netbsd_root'.
24416 (grub_bsd_unload): Free 'netbsd_root'.
24417 (grub_cmd_netbsd): Fill 'netbsd_root'.
24418
adb29902 244192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24420
24421 Support for 64-bit NetBSD.
24422
24423 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24424 point when booting non-FreeBSD.
24425
f5ae9f74 244262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24427
24428 Support --no-smp and --no-acpi for NetBSD.
24429
24430 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24431 (NETBSD_AB_NOACPI): Likewise.
24432 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24433 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24434
de74f136 244352009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24436
24437 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24438 errors.
24439 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24440 errors. Call grub_error when needed.
24441
e9a925da 244422009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24443
24444 * commands/search.c (search_fs): Try searching without autoload first.
24445 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24446 filesystem module explicitly for faster booting.
24447
5174302b 244482009-08-23 Colin Watson <cjwatson@ubuntu.com>
24449
24450 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24451
c8c80635 244522009-08-23 Colin Watson <cjwatson@ubuntu.com>
24453
24454 * util/grub.d/30_os-prober.in: Disable os-prober if
24455 `GRUB_DISABLE_OS_PROBER' was set to true.
24456
71acf5e5 244572009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24458
24459 * partmap/pc.c: Rename to ...
24460 * partmap/msdos.c: ... this. Update all users.
24461 (grub_pc_partition_map): Rename to ...
24462 (grub_msdos_partition_map): ... this. Update all users.
24463
24464 * parttool/pcpart.c: Rename to ...
24465 * parttool/msdospart.c: ... this. Update all users.
24466
24467 * include/grub/pc_partition.h: Rename to ...
24468 * include/grub/msdos_partition.h: ... this. Update all users.
24469 (grub_pc_partition_bsd_entry): Rename to ...
24470 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24471 (grub_pc_partition_disk_label): Rename to ...
24472 (grub_msdos_partition_disk_label): ... this. Update all users.
24473 (grub_pc_partition_entry): Rename to ...
24474 (grub_msdos_partition_entry): ... this. Update all users.
24475 (grub_pc_partition_mbr): Rename to ...
24476 (grub_msdos_partition_mbr): ... this. Update all users.
24477 (grub_pc_partition): Rename to ...
24478 (grub_msdos_partition): ... this. Update all users.
24479 (grub_pc_partition_is_empty): Rename to ...
24480 (grub_msdos_partition_is_empty): ... this. Update all users.
24481 (grub_pc_partition_is_extended): Rename to ...
24482 (grub_msdos_partition_is_extended): ... this. Update all users.
24483 (grub_pc_partition_is_bsd): Rename to ...
24484 (grub_msdos_partition_is_bsd): ... this. Update all users.
24485
24486 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24487 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24488 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24489 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24490 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24491 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24492 (gpt_mod_LDFLAGS): Rename to ...
24493 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24494 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24495 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24496 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24497 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24498 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24499 (part_gpt_mod_LDFLAGS): ... this.
24500 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24501 `pcpart.mod' to `msdospart.mod'.
24502 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24503 to ...
24504 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24505 (msdospart_mod_LDFLAGS): ... this.
24506
c11fded5 245072009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24508
24509 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24510 (openbsd_opts): Likewise.
24511 (netbsd_opts): Likewise.
24512 (freebsd_flags): Added 0 terminator.
24513 (openbsd_flags): Likewise.
24514 (netbsd_flags): Likewise.
24515 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24516 (grub_cmd_freebsd): Transformed into extended command.
24517 (grub_cmd_openbsd): Likewise.
24518 (grub_cmd_netbsd): Likewise.
24519 (cmd_freebsd): Changed type to grub_extcmd_t.
24520 (cmd_openbsd): Likewise.
24521 (cmd_netbsd): Likewise.
24522 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24523 grub_cmd_openbsd as extended commands.
24524 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24525 cmd_netbsd and cmd_openbsd
24526
11d1c769 245272009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24528
24529 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24530
7a9094e5 245312009-08-21 Pavel Roskin <proski@gnu.org>
24532
5496c37e 24533 * Makefile.in (install-local): When checking if a file is in the
24534 build directory, use "test -e" to detect symlinks.
24535
7a9094e5 24536 * Makefile.in (install-local): Remove all files in
24537 $(DESTDIR)$(pkglibdir) before installing new files there.
24538
e53cea11 245392009-08-18 Felix Zielcke <fzielcke@z-51.de>
24540
24541 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24542 grub-mkelfimage.
24543
9aced544 245442009-08-18 Felix Zielcke <fzielcke@z-51.de>
24545
24546 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24547 explicitly specified by the user.
24548
b7da6bab 245492009-08-18 Pavel Roskin <proski@gnu.org>
24550
24551 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24552 grub_uint8_t pointer for data.
24553 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24554 Likewise.
24555 * video/fb/fbutil.c: Remove unnecessary casts.
24556
19f1b335 245572009-08-17 Michal Suchanek <hramrach@centrum.cz>
24558
24559 VBE cleanup.
24560
24561 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24562 (grub_vbe_set_video_mode): Save active mode info
24563 only after setting the mode.
24564 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24565 second argument.
24566
2f467aa9 245672009-08-17 Michal Suchanek <hramrach@centrum.cz>
24568
24569 Rename variables for clarity.
24570
24571 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24572 (active_vbe_mode_info): ... this. All users updated.
24573 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24574 All users updated.
24575 (initial_mode): Rename to ...
24576 (initial_vbe_mode): ... this. All users updated.
24577 (mode_in_use): Rename to ..
24578 (vbe_mode_in_use): ... this. All users updated.
24579 (mode_list): Rename to ..
24580 (vbe_mode_list): ... this. All users updated.
24581 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24582 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24583 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24584 'mode_list_size' to 'vbe_mode_list_size'.
24585 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24586 'best_mode_info' to 'best_vbe_mode_info' and
24587 'best_mode' to 'best_vbe_mode'
24588
6025fcd7 245892009-08-17 Michal Suchanek <hramrach@centrum.cz>
24590
24591 Remove duplicate grub_video_fb_get_video_ptr.
24592
24593 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24594 (grub_video_fb_get_video_ptr): ... this.
24595 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24596 * video/fb/fbutil.c: Add comment about addressing.
24597 (get_data_ptr): Rename to ...
24598 (grub_video_fb_get_video_ptr): ... this. All users updated.
24599 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24600
cc8c6faf 246012009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24602
24603 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24604 grub_dprintf() that was just added.
24605
08aa61f0 246062009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24607
24608 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24609 (DEFAULT_VIDEO_MODE): Remove macros.
24610 (grub_linux_boot): Remove assumption that Linux has FB support,
24611 and use "text" as default video mode.
24612
7cef4f75 246132009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24614
24615 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24616 grub_dprintf.
24617 * fs/fat.c (grub_fat_read_data): Likewise.
24618
e1f39873 246192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24620
24621 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24622 payload.
24623 (grub_module): Likewise.
24624
c166d79e 246252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24626
24627 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24628 mbi->cmdline but free playground.
24629
c60cee8e 246302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24631
24632 Handle group offset on UFS1.
24633
24634 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
24635 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
24636
c0d8b5d4 246372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24638
24639 Split ufs.mod into ufs1.mod and ufs2.mod.
24640
24641 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
24642 (grub_fstest_SOURCES): Likewise.
24643 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
24644 (ufs_mod_SOURCES): Remove.
24645 (ufs_mod_CFLAGS): Likewise.
24646 (ufs_mod_LDFLAGS): Likewise.
24647 (ufs1_mod_SOURCES): New variable.
24648 (ufs1_mod_CFLAGS): Likewise.
24649 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 24650 (ufs2_mod_SOURCES): New variable.
24651 (ufs2_mod_CFLAGS): Likewise.
24652 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 24653 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
24654 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24655 Likewise.
24656 (grub_emu_SOURCES): Likewise.
24657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24658 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24659 (grub_setup_SOURCES): Likewise.
24660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24661 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
24662 (grub_setup_SOURCES): Likewise.
24663 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24664 Likewise.
24665 * fs/ufs2.c: New file.
24666 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
24667
d3539132 246682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24669
24670 Framebuffer split.
24671
24672 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
24673 subsystem at the end.
24674 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
24675 (video_fb_mod_SOURCES): New variable.
24676 (video_fb_mod_CFLAGS): Likewise.
24677 (video_fb_mod_LDFLAGS): Likewise.
24678 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
24679 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
24680 * video/i386/pc/vbeblit.c: Moved from here ...
24681 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
24682 * video/i386/pc/vbefill.c: Moved from here ...
24683 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
24684 * video/i386/pc/vbeutil.c: Moved from here ...
24685 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
24686 * include/grub/i386/pc/vbeblit.h: Moved from here ...
24687 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
24688 * include/grub/i386/pc/vbefill.h: Moved from here ...
24689 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
24690 * include/grub/i386/pc/vbeutil.h: Moved from here ...
24691 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
24692 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
24693 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
24694 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
24695 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
24696 (grub_video_adapter): Added 'get_info_and_fini'.
24697 (grub_video_get_info_and_fini): New prototype.
24698 (grub_video_set_mode): make modestring const char *.
24699 * loader/i386/linux.c (grub_linux_setup_video): Use
24700 grub_video_get_info_and_fini.
24701 (grub_linux_boot): Move modesetting just before booting.
24702 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
24703 grub_video_get_info_and_fini.
24704 * video/i386/pc/vbe.c: Moved framebuffer part ...
24705 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
24706 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
24707 grub_video_fbstd_colors and grub_video_fb_set_palette.
24708 (grub_video_vbe_init): Clear 'framebuffer' variable and use
24709 grub_video_fb_init.
24710 (grub_video_vbe_fini): Use grub_video_fb_fini.
24711 (grub_video_vbe_setup): Use framebuffer.render_target instead of
24712 render_target and use grub_video_fb_set_active_render_target and
24713 grub_video_fb_set_palette.
24714 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
24715 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
24716 (grub_video_vbe_adapter): Use framebuffer.
24717 * video/video.c (grub_video_get_info_and_fini): New function.
24718 (grub_video_set_mode): Make modestring const char *.
24719 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
24720 values are already initialised.
24721
d404ee56 247222009-08-14 Pavel Roskin <proski@gnu.org>
24723
24724 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
24725 ABS and APPLE_CC.
24726 * boot/i386/pc/diskboot.S: Likewise.
24727 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
24728 sectors allow compilation on MacOSX.
24729 * conf/i386-pc.rmk: Enable unconditional compilation of
24730 lnxboot.img.
24731
9a10df16 247322009-08-13 Colin Watson <cjwatson@ubuntu.com>
24733
24734 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
24735 * util/grub.d/00_header.in: Enter interruptible sleep if
24736 GRUB_HIDDEN_TIMEOUT is set.
24737
be3c9ca7 247382009-08-13 Yves Blusseau <blusseau@zetam.org>
24739
24740 * include/grub/symbol.h: Add the LOCAL macro.
24741 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
24742 starting with "L_".
24743
1f9e557e 247442009-08-13 Pavel Roskin <proski@gnu.org>
24745
9ca62843 24746 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
24747 any modern compilers we support.
24748
1f9e557e 24749 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
24750 Use local labels starting with "L_" so that Apple assembler
24751 knows they are local.
24752
81623db6 247532009-08-10 Robert Millan <rmh.grub@aybabtu.com>
24754
24755 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
24756 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
24757 (bsd_kernel_types): ... this enum.
24758
24759 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
24760 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
24761 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
24762
24763 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
24764 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
24765 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
24766 messages.
24767
f5d35e7a 247682009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24769
24770 * util/grub-dumpdevtree: Moved from here ...
24771 * util/i386/efi/grub-dumpdevtree: ... to here.
24772 (hexify): New function. Converts a string to its hex version.
24773 Generate hex versions of "efi" and "device-properties" by calling
24774 hexify() on the ASCII strings rather than by hardcoding numbers.
24775
d1e1d527 247762009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24777
24778 * fs/jfs.c: Update copyright year.
24779
1ebbe064 247802009-08-08 Felix Zielcke <fzielcke@z-51.de>
24781
24782 * util/grub.d/00_header.in: Fix a comment.
24783 * util/grub.d/10_linux.in: Likewise.
24784 * util/grub.d/10_windows.in: Likewise.
24785 * util/grub.d/10_hurd.in: Likewise.
24786
a78c8d24 247872009-08-08 Felix Zielcke <fzielcke@z-51.de>
24788
24789 * util/grub-mkconfig.in: Allow the user to specify the used font
24790 with GRUB_FONT.
24791
29a6b9e8 247922009-08-08 Pavel Roskin <proski@gnu.org>
24793
b5f16cc4 24794 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
24795 available, xfs.mod needs it now.
24796
2f5cb827 24797 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
24798 the "g" modifier in sed when the intention is to strip something
24799 once. This fixes comparison of kernels with multiple dashes.
24800
29a6b9e8 24801 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
24802 on it. Add missing space before closing bracket. Fix
24803 misleading formatting.
24804
892a3d98 248052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24806
24807 * docs/grub.texi: Major overhaul. Remove all sections that are
24808 specific to GRUB Legacy, or mostly composed of Legacy-specific
24809 information.
24810
ed94253f 248112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24812
24813 * docs/version.texi: New file. Provides version information for
24814 grub.texi.
24815
126d6628 248162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24817
24818 * docs/grub.texi: Update CVS information to SVN.
24819 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
24820
998b5aa9 248212009-08-07 Felix Zielcke <fzielcke@z-51.de>
24822
24823 * util/grub-mkconfig.in: Remove a wrong `fi'.
24824
818e094a 248252009-08-07 Felix Zielcke <fzielcke@z-51.de>
24826
24827 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
24828 (grub_jfs_uuid): New function.
24829 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
24830
b969c52f 248312009-08-07 Felix Zielcke <fzielcke@z-51.de>
24832
24833 * util/grub-mkconfig_lib.in (font_path): Move the functionality
24834 of it to ...
24835 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
24836 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
24837
7a4894cc 248382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24839
24840 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
24841 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
24842 Update all users.
24843
24844 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
24845 not just "vmlinu[zx]".
24846 Moved from here ...
24847 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
24848 all users.
24849
24850 * util/grub.d/10_linux.in (find_latest): Moved from here ...
24851 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
24852 all users.
24853
4e2171f8 248542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24855
24856 * util/grub.d/10_freebsd.in: Use an absolute device path for
24857 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
24858
6dcfcb32 248592009-08-06 Felix Zielcke <fzielcke@z-51.de>
24860
24861 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
24862 handling of multiple abstraction modules.
24863
f56a8756 248642009-08-04 Robert Millan <rmh.grub@aybabtu.com>
24865
24866 Fix a bug resulting in black screen when loading Linux using a
24867 packed video mode.
24868
24869 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
24870 function.
24871
24872 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
24873 (grub_vbe_bios_getset_dac_palette_width): New function.
24874 (grub_vbe_bios_get_dac_palette_width)
24875 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
24876 grub_vbe_bios_getset_dac_palette_width()).
24877
24878 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
24879 check for return status.
24880 (grub_vbe_get_video_mode_info): When getting information for a packed
24881 mode (<= 8 bpp), obtain DAC palette width using
24882 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
24883 {red,green,blue}_mark_size.
24884
222671b2 248852009-08-04 Felix Zielcke <fzielcke@z-51.de>
24886
ecb1a6d9 24887 * commands/search.c (options): Fix help output to match actual code.
222671b2 24888
f84114f5 248892009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
24890
24891 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
24892 of homegrown code.
24893
bd288a20 248942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 24895
24896 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
24897 on XFS or ReiserFS.
24898
8aab5e25 248992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24900
24901 Support Apple partition map with sector size different from 512 bytes.
24902
24903 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
24904 (apple_partition_map_iterate): Respect 'aheader.blocksize'
24905 and 'apart.partmap_size'.
24906
6ad6258a 249072009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
249082009-08-01 Robert Millan <rmh.grub@aybabtu.com>
24909
24910 Fix cpuid command.
24911
24912 * commands/i386/cpuid.c (options): New variable.
24913 (grub_cmd_cpuid): Return real error.
24914 (GRUB_MOD_INIT(cpuid)): Declare options.
24915
67459bc6 249162009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
24917
24918 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
24919 valid.
24920
fbc6ab54 249212009-07-31 Bean <bean123ch@gmail.com>
24922
24923 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
24924 log2_inode.
24925 (grub_fshelp_node): Move inode field to the end.
24926 (grub_xfs_data): Remove inode field.
24927 (grub_xfs_inode_block): Calculate inode size using sblock.
24928 (grub_xfs_inode_offset): Likewise.
24929 (grub_xfs_read_inode): Calculate inode size using sblock.
24930 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
24931 (grub_xfs_iterate_dir): Calculate inode size using sblock.
24932 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
24933 to match inode size.
24934 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
24935 not accessible when data is null.
24936 (grub_xfs_open): Likewise.
24937
f45d6cfc 249382009-07-31 Bean <bean123ch@gmail.com>
24939
24940 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
24941 Don't change pv->disk if it's already set.
24942
24943 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
24944 (grub_raid_register): ... here.
24945 (grub_raid_rescan): Removed.
24946
24947 * include/grub/raid.h (grub_raid_rescan): Removed.
24948
24949 * util/grub-fstest.c: Remove include file <grub/raid.h>.
24950 (fstest): Replace grub_raid_rescan with module fini function followed
24951 by init function.
24952
24953 * util/grub-probe.c: Add include file <grub/raid.h>.
24954 (probe_raid_level): New function.
24955 (probe): Detect abstraction by walking the disk device, support two
24956 level of abstraction (LVM on RAID) when detecting partition map.
24957
24443b5a 249582009-07-31 Pavel Roskin <proski@gnu.org>
24959
24960 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
24961 to grub_zalloc(), it was erroneous.
24962 Reported by Bean <bean123ch@gmail.com>
24963
a275d9e7 249642009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
24965
24966 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 24967 embedding zone, not only the first one.
a275d9e7 24968
56c5a47f 249692009-07-29 Joe Auricchio <jauricchio@gmail.com>
24970
24971 * term/gfxterm.c (clear_char): New function.
24972 (grub_virtual_screen_setup): Use clear_char.
24973 (scroll_up): Likewise.
24974 (grub_virtual_screen_cls): Likewise.
24975
67bb323a 249762009-07-29 Felix Zielcke <fzielcke@z-51.de>
24977
24978 * util/deviceiter.c (get_acceleraid_disk_name): New static
24979 function.
24980 (grub_util_iterate_devices): Handle Accelraid devices.
24981 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
24982
388a7c75 249832009-07-28 Robert Millan <rmh.grub@aybabtu.com>
24984
24985 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
24986 separator for the suggested gfxpayload string (';' collides with the
24987 parser and needs escaping).
24988
3bb7abcf 249892009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
24992 Clear direction flag before jumping to OS.
24993 (grub_multiboot2_real_boot): Likewise.
24994
2ddd36d7 249952009-07-28 Felix Zielcke <fzielcke@z-51.de>
24996
24997 * util/i386/pc/grub-install: Fix parsing of --disk-module
24998 option.
24999
c521b62b 250002009-07-28 Felix Zielcke <fzielcke@z-51.de>
25001
25002 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25003 when embedding.
25004
880e0a0c 250052009-07-26 Felix Zielcke <fzielcke@z-51.de>
25006
25007 * util/grub-mkconfig.in (package_version): New variable.
25008 Use it do display the version.
25009
2366e356 250102009-07-25 Felix Zielcke <fzielcke@z-51.de>
25011
25012 * kern/file.c (grub_file_open): Revert to previous check with
25013 grub_errno.
25014
7ad8c80e 250152009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25016
25017 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25018 from help line. It's out of sync with code.
25019
72b9658b 250202009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25023 entries on failed boot.
25024
77435277 250252009-07-25 Felix Zielcke <fzielcke@z-51.de>
25026
25027 * kern/file.c (grub_file_open): Fix an error check.
25028
fcaa8b21 250292009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25030
35d16c74 25031 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25032 partition map couldn't be identified.
fcaa8b21 25033
48904cd1 250342009-07-23 Pavel Roskin <proski@gnu.org>
25035
ef3c317f 25036 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25037 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25038 case of little endian words becomes just an optimization.
25039 Respect const modifier.
ad8ea1f4 25040 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25041
48904cd1 25042 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25043 to avoid loss of upper bits if align is unsigned and shorter
25044 than addr.
25045
260c9a89 250462009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25047
25048 UUID support for UFS
25049
25050 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25051 (grub_ufs_uuid): New function.
25052 (grub_ufs_fs): add .uuid
25053
f76ce889 250542009-07-21 Pavel Roskin <proski@gnu.org>
25055
25056 * kern/dl.c (grub_dl_check_header): Make static.
25057
6a6cbcaf 250582009-07-21 Felix Zielcke <fzielcke@z-51.de>
25059
25060 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25061 add drivemap for Vista. It breaks Windows 7.
25062
cffcddb2 250632009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25064
25065 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25066 128 bytes
25067
1ef44b80 250682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25069
25070 Add BFS support
25071
25072 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25073 (grub_fstest_SOURCES): Likewise.
25074 (pkglib_MODULES): Add befs.mod.
25075 (befs_mod_SOURCES): New variable.
25076 (befs_mod_CFLAGS): Likewise.
25077 (befs_mod_LDFLAGS): Likewise.
25078 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25079 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25080 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25081 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25082 (grub_setup_SOURCES): Likewise.
25083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25084 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25085 (grub_setup_SOURCES): Likewise.
25086 * fs/befs.c: New file.
25087 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25088 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25089 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25090 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25091 (B_KEY_INDEX_ALIGN): New declaration.
25092 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25093 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25094 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25095 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25096 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25097 (grub_afs_mount) [MODE_BFS]: Likewise.
25098 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25099 (grub_afs_fs): Use GRUB_AFS_FSNAME
25100 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25101 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25102 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25103 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25104
4f253044 251052009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25106
25107 * util/getroot.c (find_root_device): Add support for MacOSX.
25108 * util/hostdisk.c: Likewise.
25109
57a55913 251102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25111
25112 * font/font.c (find_glyph): Check whether a font is present to avoid
25113 segmentation fault.
75421ca9 25114
251152009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25116
25117 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25118
e98cd0c2 251192009-07-20 Pavel Roskin <proski@gnu.org>
25120
25121 * configure.ac: Trim excessively wordy excuses.
25122
1d2d169a 251232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25124
25125 Add symlink, mtime and label support to AtheFS.
25126
25127 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25128 (grub_afs_iterate_dir): Handle symlinks.
25129 (grub_afs_open): Use grub_afs_read_symlink.
25130 (grub_afs_dir): Likewise.
25131 Pass mtime.
25132 (grub_afs_label): New function.
25133 (grub_afs_fs): Add grub_afs_label.
25134 (grub_afs_read_symlink): New function.
25135
186f3189 251362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25137
25138 Fix AtheFS support.
25139
25140 * fs/afs.c: Fix comments style.
25141 (grub_afs_blockrun): Declare as packed.
25142 (grub_afs_datastream): Likewise.
25143 (grub_afs_bnode): Likewise.
25144 (grub_afs_btree): Likewise.
25145 (grub_afs_sblock): Likewise.
25146 Declare `name' as char.
25147 (grub_afs_inode): Declare as packed.
25148 Change void *vnode to grub_uint32_t unused.
25149 (grub_afs_iterate_dir): Check that key_size is positive.
25150 (grub_afs_mount): Don't read superblock twice.
75421ca9 25151 (grub_afs_dir): Don't free node in case of error,
186f3189 25152 grub_fshelp_find_file already handles this.
25153 (grub_afs_open): Likewise.
25154
5680109e 251552009-07-19 Pavel Roskin <proski@gnu.org>
25156
25157 * Makefile.in: Remove LIBLZO and enable_lzo.
25158 * conf/i386-pc.rmk: Remove lzo support.
25159 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25160 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25161 support.
25162 * kern/i386/pc/lzo1x.S: Remove.
25163 * kern/i386/pc/startup.S: Remove lzo support.
25164 * util/i386/pc/grub-mkimage.c: Likewise.
25165
ac70fa32 251662009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25167
25168 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25169 * fs/xfs.c (grub_xfs_dir): Likewise.
25170 * fs/afs.c (grub_afs_dir): Likewise.
25171 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25172 (grub_iso9660_open): Likewise.
25173 * fs/jfs.c (grub_jfs_open): Likewise.
25174 * fs/ext2.c (grub_ext2_dir): Likewise.
25175 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25176 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25177
eab58da2 251782009-07-16 Pavel Roskin <proski@gnu.org>
25179
d2838156 25180 * configure.ac: Never add "-c" to CFLAGS.
25181
55c70904 25182 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25183
43e6200c 25184 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25185 grub_cv_cc_efiemu should be used.
25186
ce7a733d 25187 * configure.ac: Typo fixes.
25188
eab58da2 25189 * kern/mm.c (grub_zalloc): New function.
25190 (grub_debug_zalloc): Likewise.
25191 * include/grub/mm.h: Declare grub_zalloc() and
25192 grub_debug_zalloc().
25193 * util/misc.c (grub_zalloc): New function.
25194 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25195 instead of grub_malloc(), remove unneeded initializations.
25196 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25197 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25198 * commands/parttool.c (grub_cmd_parttool): Likewise.
25199 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25200 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25201 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25202 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25203 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25204 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25205 (grub_cmd_efiemu_pnvram): Likewise.
25206 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25207 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25208 (grub_iso9660_iterate_dir): Likewise.
25209 * fs/jfs.c (grub_jfs_opendir): Likewise.
25210 * fs/ntfs.c (list_file): Likewise.
25211 (grub_ntfs_mount): Likewise.
25212 * kern/disk.c (grub_disk_open): Likewise.
25213 * kern/dl.c (grub_dl_load_core): Likewise.
25214 * kern/elf.c (grub_elf_file): Likewise.
25215 * kern/env.c (grub_env_context_open): Likewise.
25216 (grub_env_set): Likewise.
25217 (grub_env_set_data_slot): Likewise.
25218 * kern/file.c (grub_file_open): Likewise.
25219 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25220 * loader/i386/multiboot.c (grub_module): Likewise.
25221 * loader/xnu.c (grub_xnu_create_key): Likewise.
25222 (grub_xnu_create_value): Likewise.
25223 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25224 (read_config_file): Likewise.
25225 * normal/menu_entry.c (make_screen): Likewise.
25226 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25227 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25228 * script/sh/script.c (grub_script_parse): Likewise.
25229 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25230 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25231 * video/readers/png.c (grub_png_output_byte): Likewise.
25232 (grub_video_reader_png): Likewise.
25233
830afef7 252342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25235
25236 Enable all targets that can be built by default
25237
830afef7 25238 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25239 grub-mkfont and grub-fstest if they can be built
25240
ee293aee 252412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 Fix hang and segmentation fault in grub-emu-usb
25244
25245 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25246 * util/usb.c (grub_libusb_devices): likewise
25247 (grub_libusb_init): rename to ...
25248 (GRUB_MOD_INIT (libusb)):...this
25249 (grub_libusb_fini): rename to ..
25250 (GRUB_MOD_FINI (libusb)):...this
25251 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25252 * include/grub/disk.h (grub_raid_init): removed, it's useless
25253 (grub_raid_fini): likewise
25254 (grub_lvm_init): likewise
25255 (grub_lvm_fini): likewise
25256 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25257 by grub_init_all
25258
94414221 252592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25260
25261 Fix libusb
25262
25263 * Makefile.in (LIBUSB): new macro
25264 * genmk.rb (Utility/print_tail): new method
25265 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25266 (top level): call util.print_tail at the end.
25267
59ade63d 252682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25269
25270 Make FreeBSD accept zpool.cache
25271
25272 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25273 type is /boot/zfs/zpool.cache
25274
a58da8c7 252752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25276
25277 Fix 64-bit efiemu
25278
25279 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25280 correct wrong typedef
25281 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25282
20591577 252832009-07-15 Pavel Roskin <proski@gnu.org>
25284
560ca572 25285 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25286 * kern/disk.c (struct grub_disk_cache): Likewise.
25287
e8e8e4fd 25288 * commands/probe.c (options): Typo fix.
25289
fde24e10 25290 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25291 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25292 accordingly.
25293 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25294
379c54c1 25295 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25296 the end of "Error" to make the message more readable.
25297
7bd8f5bf 25298 * boot/i386/pc/boot.S (kernel_segment): Remove.
25299 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25300 for destination.
25301
40b132c5 25302 * boot/i386/pc/boot.S (boot_version): Remove.
25303 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25304 Remove.
25305
20591577 25306 * include/grub/i386/pc/boot.h: Sort all offsets.
25307 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25308 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25309 * boot/i386/pc/boot.S: Assert location of every offset listed in
25310 include/grub/i386/pc/boot.h.
25311
2df32b2c 253122009-07-13 Pavel Roskin <proski@gnu.org>
25313
44b5d879 25314 * include/grub/i386/coreboot/machine.h: Rename
25315 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25316 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25317 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25318
17dc3751 25319 * kern/dl.c: Force native word size to suppress warnings when
25320 compiling grub-emu.
25321
2df32b2c 25322 * kern/device.c (grub_device_iterate): Change struct part_ent to
25323 hold the name, not a pointer to it. Use one grub_malloc() per
25324 partition, not two. Free partition_name if grub_malloc() fails.
25325 Set ents to NULL only before grub_partition_iterate() is called.
25326
75c59f59 253272009-07-11 Bean <bean123ch@gmail.com>
25328
25329 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25330 childname.
25331
0ae1bf88 253322009-07-10 Bean <bean123ch@gmail.com>
253332009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25334
25335 * kern/ieee1275/openfw.c (grub_children_iterate)
25336 (grub_devalias_iterate): Fix size evaluation for property or path
25337 strings, which was broken since r2132.
25338
8279cade 253392009-07-07 Pavel Roskin <proski@gnu.org>
25340
7d8a52d3 25341 * commands/search.c (search_file): Merge into ...
25342 (search_fs): ... this. Accept search type as argument.
25343 (grub_cmd_search): Pass search type to search_fs().
25344
25f9a05a 25345 * include/grub/util/console.h: New file.
25346 * util/console.c: Use it instead of grub/machine/console.h.
25347 * util/grub-emu.c: Likewise.
25348
8279cade 25349 * lib/arg.c (find_long_option): Remove.
25350 (find_long): Add `len' argument, make `s' const char *.
25351 (grub_arg_parse): Parse long options in place, not in a
25352 temporary buffer.
25353
4a11b60f 253542009-07-06 Pavel Roskin <proski@gnu.org>
25355
99f68041 25356 * commands/search.c (search_fs): Fix potential NULL pointer
25357 dereference.
25358
4a11b60f 25359 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25360 function pointer.
25361
e110f4de 253622009-07-06 Daniel Mierswa <impulze@impulze.org>
25363
25364 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25365 comparison.
25366
46eeb6a2 253672009-07-05 Pavel Roskin <proski@gnu.org>
25368
bab74958 25369 * include/grub/i386/linux.h (struct linux_kernel_params):
25370 Restore padding3, it's still needed.
25371
46eeb6a2 25372 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25373 FreeBSD.
25374 * util/osdetect.lua: Likewise.
25375
b4a1dc79 253762009-07-05 Bean <bean123ch@gmail.com>
25377
25378 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25379
25380 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25381 (grub_lua_getenv): Likewise.
25382 (grub_lua_setenv): Likewise.
25383 (save_errno): New function.
25384 (push_result): Likewise.
25385 (grub_lua_enum_device): Likewise.
25386 (grub_lua_enum_file): Likewise.
25387 (grub_lua_file_open): Likewise.
25388 (grub_lua_file_close): Likewise.
25389 (grub_lua_file_seek): Likewise.
25390 (grub_lua_file_read): Likewise.
25391 (grub_lua_file_getline): Likewise.
25392 (grub_lua_file_getsize): Likewise.
25393 (grub_lua_file_getpos): Likewise.
25394 (grub_lua_file_eof): Likewise.
25395 (grub_lua_file_exist): Likewise.
25396 (grub_lua_add_menu): Likewise.
25397
25398 * script/lua/grub_lua.h (isupper): New inline function.
25399 (islower): Likewise.
25400 (ispunct): Likewise.
25401 (isxdigit): Likewise.
25402 (strcspn): Change to normal function.
25403 (strpbkr): New function declaration.
25404 (memchr): Likewise.
25405
25406 * script/lua/grub_main.c (scan_str): New function.
25407 (strcspn): Likewise.
25408 (strpbrk): Likewise.
25409 (memchr): Likewise.
25410
25411 * script/lua/linit.c (lualibs): Enable the string library.
25412
25413 * util/osdetect.lua: New file.
25414
2da92295 254152009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25416
25417 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25418 `capabilities' member.
25419
b2582ec9 254202009-07-02 Pavel Roskin <proski@gnu.org>
25421
25422 * genparttoollist.sh: Add missing newline at the end.
25423
32622956 254242009-07-01 Pavel Roskin <proski@gnu.org>
25425
87a7339e 25426 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25427
d23af54e 25428 * util/hostdisk.c (open_device): Remove `const' from
25429 `sysctl_size', as sysctlbyname() can change it (in this case it
25430 doesn't actually happen).
25431
c94b18a9 25432 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25433 using signed long int constants.
25434
c6cd3ef0 25435 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25436 constant to avoid a warning on FreeBSD.
25437
0df63420 25438 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25439 where it's needed.
25440
999577f1 25441 * Makefile.in: Install include/grub/machine symlink.
25442
6f41557f 25443 * Makefile.in: When installing symlinks, use "cp -fR", which
25444 works on FreeBSD and MacOSX.
25445 From Yves Blusseau <cl7m42e02@sneakemail.com>
25446
c8d22988 25447 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25448 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25449
1b96e952 25450 * util/misc.c: Move grub_reboot() and grub_halt() ...
25451 * util/grub-emu.c: ... here. Make main_env static.
25452 * include/grub/util/misc.h: Remove main_env.
25453
2ef0084d 25454 * kern/mm.c: Use correct format to print size_t.
25455
32622956 25456 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25457 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25458 * kern/powerpc/dl.c: Likewise.
25459 * kern/sparc64/dl.c: Likewise.
25460 * kern/x86_64/dl.c: Likewise.
25461
3f7f0cd0 254622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25463
25464 Fix grub-emu build on sparc64-ieee1275.
25465
75421ca9 25466 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25468
211d06b5 254692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25470
25471 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25472 (grub_reboot, grub_halt): New functions.
25473
25474 * util/i386/pc/misc.c: Delete. Update all users.
25475 * util/sparc64/ieee1275/misc.c: Likewise.
25476 * util/powerpc/ieee1275/misc.c: Likewise.
25477
aaf53e3c 254782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25479
25480 * conf/i386.rmk (setjmp_mod_SOURCES)
25481 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25482 * conf/common.rmk (setjmp_mod_SOURCES)
25483 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25484 to use $(target_cpu).
25485 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25486 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25487 * conf/powerpc-ieee1275.rmk: Likewise.
25488 * conf/sparc64-ieee1275.rmk: Likewise.
25489
25490 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25491 $(target_cpu) for kern/$(target_cpu)/dl.c.
25492 * conf/i386-efi.rmk: Likewise.
25493 * conf/i386-ieee1275.rmk: Likewise.
25494 * conf/x86_64-efi.rmk: Likewise.
25495 * conf/i386-coreboot.rmk: Likewise.
25496 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25497 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25498 kern/$(target_cpu)/cache.S.
25499 * conf/sparc64-ieee1275.rmk: Likewise.
25500
a337130b 255012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25502
25503 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25504 type to `grub_uint8_t', and adjust `padding9' accordingly.
25505
c6fe4d53 255062009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25507
b09db61d 25508 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25509
c6fe4d53 25510 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25511 assembly in final jump, using register constraints.
25512
b09db61d 25513 (grub_linux_boot): For text mode, initialize `have_vga' using
25514 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25515
25516 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25517 right before the final jump.
25518
25519 Set `video_mode' to 0x3.
25520
25521 Document initialization of `video_page', `video_mode' and
25522 `video_ega_bx'.
25523
28333ad0 255242009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25525
25526 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25527 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25528 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25529
02164e1b 255302009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25531
25532 Fix build on Debian / sparc.
25533
25534 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25535
18b6c557 255362009-06-28 Pavel Roskin <proski@gnu.org>
25537
85f2aab6 25538 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25539 fix a warning.
25540
18b6c557 25541 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25542
ad760f81 255432009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25544
25545 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25546 `err'.
25547
87a4623b 255482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25549
25550 Revert r2338.
25551
25552 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25553 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25554 grub_errno / grub_errmsg appropriately.
87a4623b 25555 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25556
8231fb77 255572009-06-27 Pavel Roskin <proski@gnu.org>
255582009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25559
25560 * include/grub/dl.h: Include grub/elf.h.
25561 (struct grub_dl): Add symtab field.
25562 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25563 GRUB_MODULES_MACHINE_READONLY.
25564 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25565 of the header for read-only modules.
25566 (grub_dl_unload): Free mod->symtab for read-only modules.
25567 * kern/i386/dl.c: Use mod->symtab.
25568 * kern/powerpc/dl.c: Likewise.
25569 * kern/sparc64/dl.c: Likewise.
25570 * kern/x86_64/dl.c: Likewise.
25571
25572 * conf/i386-qemu.rmk: New file.
25573 * kern/i386/qemu/startup.S: Likewise.
25574 * kern/i386/qemu/mmap.c: Likewise.
25575 * boot/i386/qemu/boot.S: Likewise.
25576 * include/grub/i386/qemu/time.h: Likewise.
25577 * include/grub/i386/qemu/serial.h: Likewise.
25578 * include/grub/i386/qemu/kernel.h: Likewise.
25579 * include/grub/i386/qemu/console.h: Likewise.
25580 * include/grub/i386/qemu/boot.h: Likewise.
25581 * include/grub/i386/qemu/init.h: Likewise.
25582 * include/grub/i386/qemu/machine.h: Likewise.
25583 * include/grub/i386/qemu/loader.h: Likewise.
25584 * include/grub/i386/qemu/memory.h: Likewise.
25585
25586 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25587 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25588 [qemu] (pkglib_IMAGES): Add `boot.img'.
25589 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25590 [qemu] (boot_img_FORMAT): New variables.
25591 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25592 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25593 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25594 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25595 [qemu] (kernel_img_FORMAT): New variables.
25596
25597 * configure.ac: Recognise `i386-qemu'.
25598
25599 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25600 (for no compression).
25601 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25602 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25603 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25604 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25605 ifdefs).
25606
97fe384e 256072009-06-27 Pavel Roskin <proski@gnu.org>
25608
25609 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25610 read.
25611 * efiemu/prepare32.c: Likewise.
25612 * efiemu/prepare64.c: Likewise.
25613
c402ab17 256142009-06-26 Pavel Roskin <proski@gnu.org>
25615
25616 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25617 * include/grub/elf.h: Define symbols without "32" or "64" based
25618 on GRUB_TARGET_WORDSIZE.
25619 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25620 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25621 ELF definitions.
25622 * efiemu/loadcore64.c: Likewise.
25623 * loader/i386/bsd32.c: Likewise.
25624 * loader/i386/bsd64.c: Likewise.
25625 * kern/dl.c: Remove own ELF definitions.
25626 * util/i386/efi/grub-mkimage.c: Likewise.
25627
9bbdfd4d 256282009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25629
25630 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25631 segment 0x0 unconditionally, because the reference generated by
25632 GAS is an absolute address.
25633
a42ce6e9 256342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25635
25636 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
25637 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
25638
c952cf92 256392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25640
25641 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
25642 indexes. Check for -f explicitly.
cc3752ad 25643 (search_file): Improve error message.
25644 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 25645
132a0a59 256462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25647
25648 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
25649 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
25650
387a140c 256512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25652
25653 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
25654 * conf/i386-ieee1275.rmk: Likewise.
25655 * conf/i386-coreboot.rmk: Likewise.
25656
25657 * kern/i386/pc/startup.S (grub_stop): Remove function.
25658 * kern/i386/ieee1275/startup.S: Likewise.
25659 * kern/i386/coreboot/startup.S: Likewise.
25660 * kern/i386/misc.S (grub_stop): New function.
25661
41da9665 256622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25663
25664 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
25665 * kern/i386/realmode.S (real_to_prot): ... to here.
25666
bf337234 256672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25668
25669 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
25670 with `kernel.img'.
25671 (kernel_elf_SOURCES): Rename to ...
25672 (kernel_img_SOURCES): ... this.
25673 (kernel_elf_HEADERS): Rename to ...
25674 (kernel_img_HEADERS): ... this. Update all users.
25675 (kernel_elf_ASFLAGS): Rename to ...
25676 (kernel_img_ASFLAGS): ... this.
25677 (kernel_elf_CFLAGS): Rename to ...
25678 (kernel_img_CFLAGS): ... this.
25679 (kernel_elf_LDFLAGS): Rename to ...
25680 (kernel_img_LDFLAGS): ... this.
25681 * conf/i386-coreboot.rmk: Likewise.
25682 * conf/powerpc-ieee1275.rmk: Likewise.
25683
25684 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
25685 with "kernel.img".
25686
f52196ff 256872009-06-21 Pavel Roskin <proski@gnu.org>
25688
c3cee413 25689 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
25690 to match nested functions.
25691 * loader/sparc64/ieee1275/linux.c: Likewise.
25692
f52196ff 25693 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
25694
58750afc 256952009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25696
25697 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
25698 all i386 platforms.
25699
15355c7d 257002009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25701
25702 Fix asm file handling on ELF, and remove workarounds.
25703
25704 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 25705 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 25706 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
25707 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
25708
3f3ec72b 257092009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
25710
25711 Load BSD ELF modules
25712
25713 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
25714 and loader/i386/bsd64.c
25715 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
25716 (FREEBSD_MODTYPE_ELF_MODULE): New definition
25717 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
25718 (grub_freebsd_load_elfmodule32): New declaration
25719 (grub_freebsd_load_elfmoduleobj64): Likewise
25720 (grub_freebsd_load_elf_meta32): Likewise
25721 (grub_freebsd_load_elf_meta64): Likewise
25722 (grub_freebsd_add_meta): Likewise
25723 (grub_freebsd_add_meta_module): Likewise
25724 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
25725 (grub_freebsd_add_meta_module): Likewise and move module-specific
25726 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
25727 (grub_cmd_freebsd): Add elf-kernel specific parts
25728 based on grub_freebsd_add_meta_module
25729 (grub_cmd_freebsd_module): Add type parsing moved from
25730 grub_freebsd_add_meta_module
25731 (grub_cmd_freebsd_module_elf): New function
25732 (cmd_freebsd_module_elf): New variable
25733 (GRUB_MOD_INIT): Register freebsd_module_elf
25734 * loader/i386/bsd32.c: New file
25735 * loader/i386/bsd64.c: Likewise
25736 * loader/i386/bsdXX.c: Likewise
25737 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
25738 (grub_elf64_load): Likewise
25739 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
25740 All users updated
25741 (grub_elf64_load_hook_t): Likewise
25742
0db15301 257432009-06-21 Colin Watson <cjwatson@ubuntu.com>
25744
25745 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
25746 variable.
25747 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
25748 don't write a menu entry for recovery mode.
25749
546796c1 257502009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25751
25752 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
25753 after it's no longer needed.
25754
cd7310d5 257552009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25756
25757 * include/grub/i386/loader.h (grub_linux_prot_size)
25758 (grub_linux_tmp_addr, grub_linux_real_addr)
25759 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
25760 GRUB_MACHINE_PCBIOS.
25761 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
25762 common grub_util_info() call to ...
25763 (generate_image): ... here.
25764 Fix use of uninitialized memory, comparison of signed with
25765 unsigned integers and memory leak.
25766 Remove bogus module address message.
25767
ab32d3b5 257682009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25769
25770 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
25771 grub_raid_register
25772 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
25773
024ef597 257742009-06-19 Pavel Roskin <proski@gnu.org>
25775
25776 * configure.ac: Remove stray AC_MSG_CHECKING.
25777
3ac72b51 257782009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
25779
25780 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 25781
e14cd814 257822009-06-18 Pavel Roskin <proski@gnu.org>
25783
25784 * conf/common.rmk: Add fs_file.mod.
25785 * disk/fs_file.c: New file.
25786 * include/grub/disk.h (enum grub_disk_dev_id): Add
25787 GRUB_DISK_DEVICE_FILE_ID.
25788
26586d98 257892009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25790
25791 Fix build with Apple's toolchain. Part 2
25792
25793 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
25794 a fake start
25795
26de2bcd 257962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25797
25798 Fix build with Apple's toolchain. Part 1
25799
25800 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
25801 for long calls
25802 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 25803 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 25804 Apple's toolchain
25805
09b3490b 258062009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 Fix warnings
25809
25810 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
25811 (decomp_block): initialize ch
25812 use grub_memcpy instead of memcpy
25813
c22a006a 258142009-06-17 Pavel Roskin <proski@gnu.org>
25815
d3638678 25816 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
25817 version, use declarations needed to use vga_text as the startup
25818 console.
25819
c22a006a 25820 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
25821 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
25822 the kernel.
25823 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
25824 and grub_at_keyboard_fini(), it's done on module load and
25825 unload.
25826
05b129e0 258272009-06-17 Felix Zielcke <fzielcke@z-51.de>
25828
25829 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
25830 file can't be found.
25831 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25832
cf24ed9e 258332009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25834
25835 Fix newline handling
25836
25837 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 25838 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 25839 (grub_script_yylex): don't segfault on unterminated script
25840 newline terminates command and variable
25841
74aa8e4b 258422009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25843
25844 avoid double grub_adjust_range call. Bug reported by David Simner
25845
25846 * kern/disk.c (grub_disk_write): change to raw disk access before
25847 calling disk_read
25848
1bd265f3 258492009-06-17 Colin Watson <cjwatson@ubuntu.com>
25850
25851 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
25852 spaces, for the benefit of help2man.
25853 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25854
a2d08c06 258552009-06-16 Pavel Roskin <proski@gnu.org>
25856
25857 * kern/i386/halt.c: Include grub/machine/init.h.
25858 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
25859
b97bcb19 258602009-06-16 Felix Zielcke <fzielcke@z-51.de>
25861
25862 * util/grub.d/30_os-prober.in: Use ${root} in the generated
25863 drivemap menuentry.
25864
0644f96c 258652009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
25866
25867 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
25868 `echo' command.
25869
3ef17a2e 258702009-06-16 Pavel Roskin <proski@gnu.org>
25871
25872 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
25873 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
25874 save %dx, we only need %dl and we never change it.
25875 * boot/i386/pc/cdboot.S: Don't set the root drive.
25876 * boot/i386/pc/pxeboot.S: Likewise.
25877 * include/grub/i386/pc/boot.h: Remove
25878 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
25879 GRUB_BOOT_MACHINE_DRIVE_CHECK.
25880 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
25881 * kern/i386/pc/init.c (make_install_device): Remove references
25882 to grub_root_drive.
25883 * kern/i386/pc/startup.S: Likewise.
25884 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
25885
693fe637 258862009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25887
25888 xnu_uuid command
25889
25890 * commands/xnu_uuid.c: new file
25891 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
25892 (xnu_uuid_mod_SOURCES): new variable
25893 (xnu_uuid_mod_CFLAGS): likewise
25894 (xnu_uuid_mod_LDFLAGS): likewise
25895 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25896 * conf/i386-ieee1275.rmk: likewise
25897 * conf/i386-pc.rmk: likewise
25898 * conf/powerpc-ieee1275.rmk: likewise
25899 * conf/sparc64-ieee1275.rmk: likewise
25900 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
25901
c9da87d0 259022009-06-16 Pavel Roskin <proski@gnu.org>
25903
25904 * configure.ac: Avoid '==' in test command, it's not portable.
25905
9c6f4596 259062009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25907
25908 Probe command
25909
25910 * commands/probe.c: new file
25911 * conf/common.rmk (pkglib_MODULES): add probe.mod
25912 (probe_mod_SOURCES): new variable
25913 (probe_mod_CFLAGS): likewise
25914 (probe_mod_LDFLAGS): likewise
25915 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25916 * conf/i386-ieee1275.rmk: likewise
25917 * conf/i386-pc.rmk: likewise
25918 * conf/powerpc-ieee1275.rmk: likewise
25919 * conf/sparc64-ieee1275.rmk: likewise
25920
70b7f9fd 259212009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
25922
25923 Fix handling of string like \"hello\" and "a
25924 b"
25925
25926 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
25927 (grub_script_yylex): fix parsing of quoting, escaping and newline
25928
71c79a6b 259292009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
25930
dd74360c 25931 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 25932 handling
dd74360c 25933
0644f96c 259342009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 25935
25936 * util/grub-mkconfig.in: Fix parsing of --output option.
25937
e40893c3 259382009-06-12 Pavel Roskin <proski@gnu.org>
25939
25940 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
25941 genmk.rb don't need to be generated or installed.
25942
3a1acfe2 259432009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25944
25945 * commands/i386/pc/drivemap_int13h.S: add more comments
25946
3a4575d4 259472009-06-11 Pavel Roskin <proski@gnu.org>
25948
0658e928 25949 * Makefile.in (uninstall): Uninstall manuals.
25950
ca0388f0 25951 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
25952 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
25953 and update-grub_lib in two places.
25954 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
25955
e3b27c39 25956 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
25957 a compiler warning.
25958
3a4575d4 25959 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
25960 `entry_lo' to fix variable shadowing.
25961
af1f4f55 259622009-06-11 Christian Franke <franke@computer.org>
25963
25964 * kern/misc.c (__enable_execute_stack): Add missing return type
25965 to prevent gcc warning.
25966
5225e649 259672009-06-11 Felix Zielcke <fzielcke@z-51.de>
25968
25969 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
25970
7d83bd47 259712009-06-11 Pavel Roskin <proski@gnu.org>
25972
c1cb63ba 25973 * Makefile.in: Don't rely on any scripts being executable.
25974 Always use $(SHELL) to run shell scripts.
25975
7d83bd47 25976 * configure.ac: Always define ___main if using -nostdlib. This
25977 fixes tests on Cygwin.
25978
948f48e7 259792009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
25980
25981 UDF fix
25982
7d83bd47 25983 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 25984 is in bytes and not in blocks
7d83bd47 25985
8ada9bc1 259862009-06-11 Pavel Roskin <proski@gnu.org>
25987
25988 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
25989 warning.
25990
25ad2323 259912009-06-11 Felix Zielcke <fzielcke@z-51.de>
25992
25993 * util/grub.d/30_os-prober.in: Fix a comment. Source
25994 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
25995 to set the root device. Place drivemap command in the generated
25996 chain entry.
25997
e65acb0c 259982009-06-11 Pavel Roskin <proski@gnu.org>
25999
26000 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26001 have long been resolved.
26002
f285fe2d 260032009-06-11 Colin Watson <cjwatson@ubuntu.com>
26004
bd47b0b5 26005 * util/grub.d/10_linux.in: Capitalise "Linux".
26006
f285fe2d 26007 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26008
a0c62e4e 260092009-06-11 Pavel Roskin <proski@gnu.org>
26010
b6783cb2 26011 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26012 fix a gcc warning and ensure that the function won't ever exit.
26013
dde032e8 26014 * kern/i386/ieee1275/init.c: Add missing prototype for
26015 grub_stop_floppy().
26016
22cd079d 26017 * loader/ieee1275/multiboot2.c [__i386__]: Include
26018 grub/cpu/multiboot.h.
26019
a0c62e4e 26020 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26021 casts to short - they are not portable and cause warnings. Fix
26022 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26023
63963d17 260242009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26025
26026 Drivemap fixes
26027
26028 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26029 new function
26030 (grub_get_root_biosnumber_saved): new variable
26031 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26032 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26033 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26034 %dx after the call if necessary
26035 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26036 (boot_mod_SOURCES): remove
26037 (boot_mod_CFLAGS): remove
26038 (boot_mod_LDFLAGS): remove
26039 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26040 (boot_mod_SOURCES): new variable
26041 (boot_mod_CFLAGS): likewise
26042 (boot_mod_LDFLAGS): likewise
26043 * conf/i386-efi.rmk: likewise
26044 * conf/i386-ieee1275.rmk: likewise
26045 * conf/i386-pc.rmk: likewise
26046 * conf/powerpc-ieee1275.rmk: likewise
26047 * conf/sparc64-ieee1275.rmk: likewise
26048 * conf/x86_64-efi.rmk: likewise
26049 * include/grub/i386/pc/biosnum.h: new file
26050 * lib/i386/pc/biosnum.c: likewise
26051 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26052 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26053 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26054
33abf7ae 260552009-06-10 Pavel Roskin <proski@gnu.org>
26056
5ac35b35 26057 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26058 Use separate variables. Read only the file size at the end, but
26059 not the checksum that we don't use.
26060
5c5215d5 26061 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26062 Adjust all callers.
26063
27d5fef7 26064 * kern/ieee1275/openfw.c: Remove libc includes.
26065 * kern/ieee1275/cmain.c: Likewise.
26066 * include/grub/ieee1275/ieee1275.h: Likewise.
26067
33abf7ae 26068 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26069 compiler warnings.
26070
19d50c2b 260712009-06-10 Felix Zielcke <fzielcke@z-51.de>
26072
26073 * Makefile.in: Remove all trailing whitespace.
26074 * conf/i386-pc.rmk: Likewise.
26075 * conf/powerpc-ieee1275.rmk: Likewise.
26076 * conf/sparc64-ieee1275.rmk: Likewise.
26077 * docs/grub.texi: Likewise.
26078 * docs/texinfo.tex: Likewise.
26079 * disk/fs_uuid.c: Likewise.
26080 * disk/lvm.c: Likewise.
26081 * disk/scsi.c: Likewise.
26082 * disk/ata.c: Likewise.
26083 * disk/ieee1275/ofdisk.c: Likewise.
26084 * disk/i386/pc/biosdisk.c: Likewise.
26085 * disk/host.c: Likewise.
26086 * disk/raid.c: Likewise.
26087 * disk/efi/efidisk.c: Likewise.
26088 * disk/usbms.c: Likewise.
26089 * disk/memdisk.c: Likewise.
26090 * disk/loopback.c: Likewise.
26091 * kern/powerpc/dl.c: Likewise.
26092 * kern/device.c: Likewise.
26093 * kern/dl.c: Likewise.
26094 * kern/sparc64/dl.c: Likewise.
26095 * kern/ieee1275/ieee1275.c: Likewise.
26096 * kern/term.c: Likewise.
26097 * kern/fs.c: Likewise.
26098 * kern/i386/dl.c: Likewise.
26099 * kern/i386/pc/startup.S: Likewise.
26100 * kern/i386/pc/init.c: Likewise.
26101 * kern/i386/pc/mmap.c: Likewise.
26102 * kern/i386/pc/lzo1x.S: Likewise.
26103 * kern/i386/ieee1275/init.c: Likewise.
26104 * kern/i386/realmode.S: Likewise.
26105 * kern/i386/tsc.c: Likewise.
26106 * kern/partition.c: Likewise.
26107 * kern/corecmd.c: Likewise.
26108 * kern/file.c: Likewise.
26109 * kern/efi/efi.c: Likewise.
26110 * kern/efi/init.c: Likewise.
26111 * kern/efi/mm.c: Likewise.
26112 * kern/main.c: Likewise.
26113 * kern/err.c: Likewise.
26114 * kern/env.c: Likewise.
26115 * kern/disk.c: Likewise.
26116 * kern/generic/millisleep.c: Likewise.
26117 * kern/generic/rtc_get_time_ms.c: Likewise.
26118 * kern/misc.c: Likewise.
26119 * kern/parser.c: Likewise.
26120 * genmk.rb: Likewise.
26121 * configure.ac: Likewise.
26122 * boot/i386/pc/diskboot.S: Likewise.
26123 * boot/i386/pc/pxeboot.S: Likewise.
26124 * boot/i386/pc/boot.S: Likewise.
26125 * boot/i386/pc/lnxboot.S: Likewise.
26126 * boot/i386/pc/cdboot.S: Likewise.
26127 * parttool/pcpart.c: Likewise.
26128 * video/readers/tga.c: Likewise.
26129 * video/video.c: Likewise.
26130 * video/bitmap.c: Likewise.
26131 * lib/envblk.c: Likewise.
26132 * lib/i386/setjmp.S: Likewise.
26133 * fs/xfs.c: Likewise.
26134 * fs/afs.c: Likewise.
26135 * fs/fat.c: Likewise.
26136 * fs/ntfs.c: Likewise.
26137 * fs/udf.c: Likewise.
26138 * fs/affs.c: Likewise.
26139 * fs/iso9660.c: Likewise.
26140 * fs/hfs.c: Likewise.
26141 * fs/fshelp.c: Likewise.
26142 * fs/ext2.c: Likewise.
26143 * fs/jfs.c: Likewise.
26144 * fs/reiserfs.c: Likewise.
26145 * fs/hfsplus.c: Likewise.
26146 * fs/minix.c: Likewise.
26147 * fs/cpio.c: Likewise.
26148 * fs/sfs.c: Likewise.
26149 * fs/ufs.c: Likewise.
26150 * efiemu/prepare.c: Likewise.
26151 * efiemu/loadcore_common.c: Likewise.
26152 * efiemu/runtime/efiemu.sh: Likewise.
26153 * efiemu/runtime/efiemu.S: Likewise.
26154 * efiemu/runtime/efiemu.c: Likewise.
26155 * efiemu/pnvram.c: Likewise.
26156 * efiemu/main.c: Likewise.
26157 * efiemu/i386/pc/cfgtables.c: Likewise.
26158 * efiemu/i386/loadcore64.c: Likewise.
26159 * efiemu/i386/loadcore32.c: Likewise.
26160 * efiemu/loadcore.c: Likewise.
26161 * efiemu/symbols.c: Likewise.
26162 * efiemu/mm.c: Likewise.
26163 * include/grub/autoefi.h: Likewise.
26164 * include/grub/datetime.h: Likewise.
26165 * include/grub/term.h: Likewise.
26166 * include/grub/hfs.h: Likewise.
26167 * include/grub/lvm.h: Likewise.
26168 * include/grub/i386/tsc.h: Likewise.
26169 * include/grub/i386/linux.h: Likewise.
26170 * include/grub/i386/xnu.h: Likewise.
26171 * include/grub/i386/efiemu.h: Likewise.
26172 * include/grub/i386/pc/biosdisk.h: Likewise.
26173 * include/grub/i386/pc/memory.h: Likewise.
26174 * include/grub/i386/pc/vbe.h: Likewise.
26175 * include/grub/parttool.h: Likewise.
26176 * include/grub/video.h: Likewise.
26177 * include/grub/memory.h: Likewise.
26178 * include/grub/fs.h: Likewise.
26179 * include/grub/partition.h: Likewise.
26180 * include/grub/xnu.h: Likewise.
26181 * include/grub/efi/api.h: Likewise.
26182 * include/grub/efi/pe32.h: Likewise.
26183 * include/grub/efi/memory.h: Likewise.
26184 * include/grub/multiboot.h: Likewise.
26185 * include/grub/usbdesc.h: Likewise.
26186 * include/grub/multiboot2.h: Likewise.
26187 * include/grub/acpi.h: Likewise.
26188 * include/grub/efiemu/efiemu.h: Likewise.
26189 * include/grub/disk.h: Likewise.
26190 * include/grub/ieee1275/ieee1275.h: Likewise.
26191 * include/grub/net.h: Likewise.
26192 * include/grub/machoload.h: Likewise.
26193 * include/grub/macho.h: Likewise.
26194 * include/multiboot.h: Likewise.
26195 * genmoddep.awk: Likewise.
26196 * normal/main.c: Likewise.
26197 * normal/menu_entry.c: Likewise.
26198 * normal/menu_viewer.c: Likewise.
26199 * normal/completion.c: Likewise.
26200 * normal/cmdline.c: Likewise.
26201 * normal/misc.c: Likewise.
26202 * normal/datetime.c: Likewise.
26203 * bus/usb/usbtrans.c: Likewise.
26204 * bus/usb/ohci.c: Likewise.
26205 * bus/usb/uhci.c: Likewise.
26206 * bus/usb/usb.c: Likewise.
26207 * mmap/efi/mmap.c: Likewise.
26208 * mmap/i386/pc/mmap_helper.S: Likewise.
26209 * mmap/i386/pc/mmap.c: Likewise.
26210 * mmap/i386/mmap.c: Likewise.
26211 * mmap/i386/uppermem.c: Likewise.
26212 * mmap/mmap.c: Likewise.
26213 * commands/acpi.c: Likewise.
26214 * commands/echo.c: Likewise.
26215 * commands/blocklist.c: Likewise.
26216 * commands/loadenv.c: Likewise.
26217 * commands/usbtest.c: Likewise.
26218 * commands/boot.c: Likewise.
26219 * commands/parttool.c: Likewise.
26220 * commands/search.c: Likewise.
26221 * commands/cat.c: Likewise.
26222 * commands/i386/pc/play.c: Likewise.
26223 * commands/i386/pc/drivemap.c: Likewise.
26224 * commands/i386/pc/vbeinfo.c: Likewise.
26225 * commands/i386/pc/acpi.c: Likewise.
26226 * commands/i386/pc/vbetest.c: Likewise.
26227 * commands/ls.c: Likewise.
26228 * commands/cmp.c: Likewise.
26229 * commands/test.c: Likewise.
26230 * commands/efi/acpi.c: Likewise.
26231 * commands/gptsync.c: Likewise.
26232 * commands/help.c: Likewise.
26233 * partmap/amiga.c: Likewise.
26234 * partmap/apple.c: Likewise.
26235 * partmap/acorn.c: Likewise.
26236 * partmap/pc.c: Likewise.
26237 * partmap/sun.c: Likewise.
26238 * partmap/gpt.c: Likewise.
26239 * script/sh/lexer.c: Likewise.
26240 * script/sh/function.c: Likewise.
26241 * font/font.c: Likewise.
26242 * font/font_cmd.c: Likewise.
26243 * loader/powerpc/ieee1275/linux.c: Likewise.
26244 * loader/efi/chainloader.c: Likewise.
26245 * loader/multiboot_loader.c: Likewise.
26246 * loader/macho.c: Likewise.
26247 * loader/i386/multiboot.c: Likewise.
26248 * loader/i386/linux.c: Likewise.
26249 * loader/i386/pc/linux.c: Likewise.
26250 * loader/i386/pc/multiboot2.c: Likewise.
26251 * loader/i386/pc/chainloader.c: Likewise.
26252 * loader/i386/pc/xnu.c: Likewise.
26253 * loader/i386/bsd_trampoline.S: Likewise.
26254 * loader/i386/efi/linux.c: Likewise.
26255 * loader/i386/multiboot_elfxx.c: Likewise.
26256 * loader/i386/bsd_helper.S: Likewise.
26257 * loader/i386/bsd.c: Likewise.
26258 * loader/i386/linux_trampoline.S: Likewise.
26259 * loader/i386/xnu_helper.S: Likewise.
26260 * loader/i386/xnu.c: Likewise.
26261 * loader/i386/bsd_pagetable.c: Likewise.
26262 * loader/i386/multiboot_helper.S: Likewise.
26263 * loader/xnu.c: Likewise.
26264 * loader/xnu_resume.c: Likewise.
26265 * io/gzio.c: Likewise.
26266 * term/efi/console.c: Likewise.
26267 * term/terminfo.c: Likewise.
26268 * term/ieee1275/ofconsole.c: Likewise.
26269 * term/i386/pc/serial.c: Likewise.
26270 * term/i386/pc/vesafb.c: Likewise.
26271 * term/i386/pc/vga.c: Likewise.
26272 * term/usb_keyboard.c: Likewise.
26273 * term/gfxterm.c: Likewise.
26274 * aclocal.m4: Likewise.
26275 * util/lvm.c: Likewise.
26276 * util/grub.d/30_os-prober.in: Likewise.
26277 * util/grub.d/10_hurd.in: Likewise.
26278 * util/console.c: Likewise.
26279 * util/grub-macho2img.c: Likewise.
26280 * util/grub-probe.c: Likewise.
26281 * util/hostfs.c: Likewise.
26282 * util/i386/pc/grub-mkimage.c: Likewise.
26283 * util/i386/pc/grub-setup.c: Likewise.
26284 * util/i386/efi/grub-mkimage.c: Likewise.
26285 * util/grub-mkconfig.in: Likewise.
26286 * util/raid.c: Likewise.
26287 * util/resolve.c: Likewise.
26288 * util/grub-mkdevicemap.c: Likewise.
26289 * util/grub-emu.c: Likewise.
26290 * util/getroot.c: Likewise.
26291 * util/hostdisk.c: Likewise.
26292 * util/usb.c: Likewise.
26293 * util/grub-editenv.c: Likewise.
26294 * util/misc.c: Likewise.
26295
d2d49665 262962009-06-10 Felix Zielcke <fzielcke@z-51.de>
26297
26298 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26299 `genparttoollist.sh'.
26300 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26301 Add `*.sh' to the list find searches for and change `mdate.sh'
26302 to `mdate-sh'.
26303
fe052e37 263042009-06-10 Pavel Roskin <proski@gnu.org>
26305
2763ac18 26306 * include/grub/multiboot2.h: Provide compatibility defines for
26307 multiboot2.h.
26308 * include/multiboot2.h: Include stdint.h only if needed, using
26309 angle brackets.
26310 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26311 grub/multiboot2.h.
26312 * loader/ieee1275/multiboot2.c: Likewise.
26313 * loader/multiboot2.c: Likewise.
26314 * loader/multiboot_loader.c: Likewise.
26315
437e6adc 26316 * configure.ac: Use -nostdlib when probing for the target. It
26317 should not be required to have libc for the target.
26318
06a6836c 26319 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26320 they fail without libc headers for the target.
26321 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26322 exports.
26323 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26324 preprocessor conditionals.
26325
fe052e37 26326 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26327 build system doesn't need to be aware of the tar.c internals.
26328
afd22553 263292009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26330
afd22553 26331 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26332
6b787c4f 263332009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26334
26335 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26336 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26337
263382009-06-09 Felix Zielcke <fzielcke@z-51.de>
26339
26340 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26341 aren't available if ata.mod gets used.
6b787c4f 26342
473d1e45 263432009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26344
473d1e45 26345 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26346 initialising controller.
473d1e45 26347 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26348
255a27d4 263492009-06-08 Felix Zielcke <fzielcke@z-51.de>
26350
26351 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26352 to choose between ata and biosdisk module on i386-pc.
26353
473d1e45 263542009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26355
d55842d8 26356 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26357 Subclass and Programming Interface fields in terms of the 3 byte
26358 Class Code register.
26359 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26360
fa5db0b1 26361 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26362 interface is OHCI. Add grub_dprintf for symmetry with
26363 bus/usb/uhci.c.
26364 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26365 interface is UHCI. Add interf variable for programming
26366 interface. Print interface with class/subclass.
26367
c0947beb 26368 * bus/usb/ohci.c: Set interf with correct field.
26369
69da8877 26370 * bus/usb/uhci.c: Remove unneeded doubled lines.
26371 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26372 Remove whitespace inside comment.
26373
9e172e30 263742009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26375
26376 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26377 as fallback an equivalent option without depth.
26378
de65ee2b 263792009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 Not fail if unable to retrieve C/H/S on LBA disks
26382
473d1e45 26383 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26384 if unable to retrieve C/H/S on LBA disks
26385
b57ea2c9 263862009-06-08 Pavel Roskin <proski@gnu.org>
26387
26388 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26389 about aliasing.
26390
af361263 263912009-06-08 Felix Zielcke <fzielcke@z-51.de>
26392
26393 * Makefile.in (uninstall): Remove all $lib_DATA files.
26394
4c9ec6b3 263952009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26396
26397 Bugfix: install on partitionless device
26398
26399 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26400 is a whole disk
26401
e76fc924 264022009-06-08 Felix Zielcke <fzielcke@z-51.de>
26403
26404 * Makefile.in (uninstall): Remove all $include_DATA files.
26405
ba5a0d05 264062009-06-08 Felix Zielcke <fzielcke@z-51.de>
26407
26408 * commands/true.c: New file. Implement the true and false commands.
26409 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26410 (true_mod_SOURCES): New variable.
26411 (true_mod_CFLAGS): Likewise.
26412 (true_mod_LDFLAGS): Likewise.
26413
c8048e32 264142009-06-05 Colin D Bennett <colin@gibibit.com>
26415
26416 Optimized font character lookup using binary search instead of linear
26417 search. Fonts now are required to have the character index ordered by
26418 code point.
26419
26420 * font/font.c (load_font_index): Verify that fonts have ordered
26421 character indices.
26422 (find_glyph): Use binary search instead of linear search to find a
26423 character in a font.
26424
408305be 264252009-06-05 Michael Scherer <misc@mandriva.org>
26426
26427 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26428 uses case sensitive btree.
26429 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26430 only for case insensitive filesystems.
26431
8ee1e0d9 264322009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26433
26434 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26435 * conf/common.rmk (search_mod_CFLAGS): likewise
26436
a9966eb1 264372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26438
473d1e45 26439 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26440 compensate a compiler bug
26441
9e7100fb 264422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26443
473d1e45 26444 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26445 instead of '\b'
473d1e45 26446
ede21d71 264472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26448
26449 Definitions for creating asm symbols with Apple's CC
26450
26451 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26452 [APPLE_CC] (VARIABLE): likewise
26453
9dbf7653 264542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26455
26456 Disable lnxboot.img when compiled
26457 with Apple's CC
26458
26459 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26460 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26461 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26462 [! APPLE_CC] (CODE_LENG): skip
26463 [! APPLE_CC] (setup_sects): likewise
26464 [! APPLE_CC]: skip filling
473d1e45 26465
e93cdc3d 264662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26467
26468 Address in trampolines based on 32-bit registers when compiled
26469 with Apple's CC
26470
473d1e45 26471 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26472 for addresses
26473 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26474
6c688477 264752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26476
26477 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26478
26479 * kern/misc.c [APPLE_CC] (memcpy): new function
26480 [APPLE_CC] (memmove): likewise
26481 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26482 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26483 (memset): likewise
26484 (abort): likewise
26485 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26486 APPLE_CC are defined
26487 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26488 (grub_assert_fail): make prototype conditional
26489
e37ffc5c 264902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26491
26492 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26493
473d1e45 26494 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26495 grub-macho2img
e37ffc5c 26496 (CLEANFILES): add grub-macho2img
26497 (grub_macho2img_SOURCES): new variable
26498 * kern/i386/pc/startup.S (bss_start): new variable
26499 (bss_end): likewise
26500 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26501 * util/grub-macho2img.c: new file
26502
cf00df31 265032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26504
26505 Use objconv when compiling with Apple's CC
26506
26507 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26508 (efiemu64.o): likewise
26509 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26510 when compiling with Apple's CC
26511 (efiemu64_s.o): likewise
26512 * configure.ac: check for objconv when compiling with Apple's CC
26513 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26514
d119a20c 265152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26516
26517 Define segment as well as section when compiling with
26518 Apple's CC
26519
26520 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26521 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26522 (efiemu_convert_pointer): likewise
26523 (efiemu_set_virtual_address_map): likewise
26524 (efiemu_convert_pointer): likewise
26525 (efiemu_getcrc32): likewise
26526 (init_crc32_table): likewise
26527 (reflect): likewise
26528 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26529 (GRUB_MOD_DEP): likewise
473d1e45 26530
c8600122 265312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26532
26533 Allow a compilation without -mcmodel=large
26534
26535 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26536 when compiled without -mcmodel=large
473d1e45 26537 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26538 without -mcmodel=large
473d1e45 26539 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26540 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26541
e8df1d4e 265422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26543
26544 Remove nested functions in efiemu core
26545
26546 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26547
cc6c3ac1 265482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26549
26550 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26551
26552 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26553 temporary storage
473d1e45 26554 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26555 using Apple's CC
cc6c3ac1 26556 (grub_cpu_is_tsc_supported): likewise
26557 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26558
3e325901 265592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26560
26561 Absolute addressing through constant with Apple's cc
26562
26563 * kern/i386/pc/startup.S: Define necessary constants
26564 and address through it when using ABS with Apple's CC
26565 * boot/i386/pc/diskboot.S: likewise
26566 * boot/i386/pc/boot.S: likewise
26567 * boot/i386/pc/lnxboot.S: likewise
26568 * boot/i386/pc/cdboot.S: likewise
26569 * mmap/i386/pc/mmap_helper.S: likewise
26570 * commands/i386/pc/drivemap_int13h.S: likewise
26571
2b167a72 265722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26573
26574 Check if compiler is apple cc
26575
26576 * Makefile.in (ASFLAGS): new variable
26577 (TARGET_ASFLAGS): likewise
26578 (TARGET_MODULE_FORMAT): likewise
26579 (TARGET_APPLE_CC): likewise
26580 (OBJCONV): likewise
26581 (TARGET_IMG_CFLAGS): likewise
26582 (TARGET_CPPFLAGS): add includedir
26583 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26584 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26585 Check for linker script only if compiler isn't Apple's CC
26586 (TARGET_MODULE_FORMAT): set
26587 (TARGET_APPLE_CC): likewise
26588 (TARGET_ASFLAGS): likewise
26589 (ASFLAGS): likewise
26590 Check for objcopy only if compiler isn't Apple's CC
26591 Check for BSS symbol only if compiler isn't Apple's CC
26592 * genmk.rb: adapt nm options if we use Apple's utils
26593 * aclocal.m4 (grub_apple_cc): new test
26594 (grub_apple_target_cc): likewise
473d1e45 26595
fb14123e 265962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 Simplify sed expressions and improve awk
26599
26600 * Makefile.in (install-local): simplify sed expression
26601 * gencmdlist.sh: likewise
26602 * genmoddep.awk: avoid adding module as a dependency of itself
26603
5b889789 266042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26605
26606 Add missing start symbols
26607
26608 * boot/i386/pc/boot.S: add start
fb14123e 26609 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26610
fd2bf2e3 266112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26612
26613 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26614
26615 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26616 (relocate_addresses): consider both r_addend and value at offset
26617 (make_mods_section): zerofill modinfo and header
26618 (convert_elf): write prefix here
473d1e45 26619
5389763d 266202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 Use .asciz instead of .string
26623
26624 * i386/pc/diskboot.S: use .asciz instead of .string
26625 * i386/pc/boot.S: likewise
26626 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26627 (GRUB_MOD_NAME): likewise
473d1e45 26628
3eb5ed4e 266292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26630
26631 gfxpayload support
26632
26633 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
26634 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
26635 (grub_video_setup): remove
26636 (grub_video_set_mode): new prototype
26637 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
26638 (vid_mode): remove
26639 (linux_vesafb_res): compile only on PCBIOS
26640 (grub_linux_boot): support gfxpayload
26641 * loader/i386/pc/xnu.c (video_hook): new function
26642 (grub_xnu_set_video): support gfxpayload
26643 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
26644 (DEFAULT_VIDEO_HEIGHT): likewise
26645 (DEFAULT_VIDEO_FLAGS): likewise
26646 (DEFAULT_VIDEO_MODE): new definition
26647 (video_hook): new function
26648 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 26649 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 26650 loading xnu
26651 * video/video.c (grub_video_setup): removed
473d1e45 26652 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 26653 grub_video_setup
26654
4b0e1143 266552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26656
26657 Avoid calling biosdisk in drivemap
26658
26659 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
26660 (revparse_biosdisk): likewise
26661 (list_mappings): derive name from id directly
26662 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 26663
fda6cb98 266642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26665
26666 Script fixes
26667
26668 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
26669 (grub_lexer_param): add tokenonhold
26670 (grub_script_create_cmdline): remove cmdline. All callers updated
26671 (grub_script_function_create): make functionname
26672 grub_script_arg. All callers updated
26673 (grub_script_execute_argument_to_string): new prototype
26674 * kern/parser.c (state_transitions): reorder
26675 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 26676 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 26677 make global
26678 (grub_script_execute_cmdline): use new format
26679 * script/sh/function.c (grub_script_function_create): make functionname
26680 grub_script_arg. All callers updated
473d1e45 26681 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 26682 (grub_script_yylex): remove
26683 (grub_script_yylex2): renamed to ...
26684 (grub_script_yylex): ...renamed
26685 parse the expressions like a${b}c
26686 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
26687 (GRUB_PARSER_TOKEN_VAR): remove
26688 (GRUB_PARSER_TOKEN_NAME): likewise
26689 ("if"): declare as typeless
26690 ("while"): likewise
26691 ("function"): likewise
26692 ("else"): likewise
26693 ("then"): likewise
26694 ("fi"): likewise
26695 (text): remove
26696 (argument): likewise
26697 (script): accept empty scripts and make exit on error
26698 (arguments): use GRUB_PARSER_TOKEN_ARG
26699 (function): likewise
26700 (command): move error handling to script
26701 (menuentry): move grub_script_lexer_ref before
473d1e45 26702 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 26703 argument. All callers updated
26704
f4448a07 267052009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26706
26707 Prevent GRUB from probing floppies during boot.
26708
26709 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
26710 * commands/search.c (options): Add --no-floppy.
26711 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
26712 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
26713 --no-floppy when searching for UUIDs.
26714
2bf5885a 267152009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26716
26717 Simplify the code duplication in commands/search.c.
26718
26719 * commands/search.c (search_label, search_fs_uuid): Merge into ...
26720 (search_fs): ... this. Update all users.
26721
f6fd460a 267222009-06-03 Felix Zielcke <fzielcke@z-51.de>
26723
26724 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
26725
cbb3c83e 267262009-05-28 Pavel Roskin <proski@gnu.org>
26727
57788cfd 26728 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
26729 Remove the original symlink explicitly.
26730
cbb3c83e 26731 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
26732 just one slash. That's how grub_fshelp_find_file() does it.
26733
cd0d5e30 267342009-05-26 Pavel Roskin <proski@gnu.org>
26735
f0f8bbe2 26736 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
26737 to `str'.
26738
cd0d5e30 26739 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
26740 possibly unused.
26741
8c2cab51 267422009-05-25 Christian Franke <franke@computer.org>
26743
26744 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
26745 register.
26746 (grub_atapi_identify): Add wait after drive select.
26747 (grub_ata_identify): Do more strict status register check before
26748 calling grub_atapi_identify (). Suppress error message if status
26749 register is 0x00 after command failure. Add status register
26750 check after PIO read to avoid bogus identify due to stuck DRQ.
26751 Thanks to Pavel Roskin for testing.
26752 (grub_device_initialize): Remove unsafe status register check.
26753 Thanks to 'phcoder' for problem report and patch.
26754 Prevent sign extension in debug message.
26755
230c0ad6 267562009-05-23 Colin D Bennett <colin@gibibit.com>
26757
26758 Cleaned up `include/grub/normal.h'. Grouped prototypes by
26759 definition file, and functions defined in `normal/menu.c' have had
26760 their prototypes moved to `include/grub/menu.h' for consistency.
26761
26762 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
26763 from normal.h.
26764 (grub_menu_get_entry): Likewise.
26765 (grub_menu_get_timeout): Likewise.
26766 (grub_menu_set_timeout): Likewise.
26767 (grub_menu_execute_entry): Likewise.
26768 (grub_menu_execute_with_fallback): Likewise.
26769 (grub_menu_entry_run): Likewise.
26770
26771 * include/grub/normal.h: Re-ordered and grouped function
26772 prototypes by file that the function is defined in.
26773 (grub_menu_execute_callback): Removed; moved to menu.h.
26774 (grub_menu_get_entry): Likewise.
26775 (grub_menu_get_timeout): Likewise.
26776 (grub_menu_set_timeout): Likewise.
26777 (grub_menu_execute_entry): Likewise.
26778 (grub_menu_execute_with_fallback): Likewise.
26779 (grub_menu_entry_run): Likewise.
26780 (grub_menu_addentry): Renamed from this ...
26781 (grub_normal_add_menu_entry): ... to this.
26782
26783 * normal/main.c (grub_menu_addentry): Renamed from this ...
26784 (grub_normal_add_menu_entry): ... to this.
26785
26786 * script/sh/execute.c (grub_script_execute_menuentry): Update
26787 reference to renamed grub_menu_addentry function.
26788
861f03a5 267892009-05-23 Felix Zielcke <fzielcke@z-51.de>
26790
26791 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
26792
96b1619a 267932009-05-22 Pavel Roskin <proski@gnu.org>
26794
bf6a5fb2 26795 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
26796 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
26797 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
26798 compiling for the i386 targets, but not for the utilities.
26799
96b1619a 26800 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
26801 to grub_uint8_t.
26802 (grub_root_drive): Likewise.
26803 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
26804 remove alignment.
26805 (grub_root_drive): Change size to byte.
26806 (grub_start_addr): Remove.
26807 (grub_end_addr): Likewise.
26808 (grub_apm_bios_info): Likewise.
26809
b729776b 268102009-05-21 Felix Zielcke <fzielcke@z-51.de>
26811
26812 * normal/i386: Remove.
26813 * normal/powerpc: Likewise.
26814 * normal/sparc64: Likewise.
26815 * normal/x86_64: Likewise.
26816
0a15ce80 268172009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
26818
26819 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 26820 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 26821 * loader/i386/xnu_helper.S: Likewise
d6da58e6 26822
33db9015 268232009-05-18 Colin D Bennett <colin@gibibit.com>
26824
d6da58e6 26825 Display error messages when parsing a Lua statement fails.
26826 Previously, executing a syntactically invalid statement like
26827 ")foo" or "bar;" would silently fail.
33db9015 26828
26829 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 26830 (grub_lua_parse_line): Improved reporting of Lua parser and
26831 execution errors.
33db9015 26832
46422c89 268332009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26834
26835 Remove -Werror which causes build to fail on some systems
26836
26837 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
26838 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
26839 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 26840
22f53a96 268412009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 trampoline for linux on 64-bit platform
26844
18f547ad 26845 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
26846 loader/i386/efi/linux_trampoline.S
26847 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 26848 declaration
d6da58e6 26849 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
26850 here
22f53a96 26851 * loader/i386/linux_trampoline.S: moved here
d6da58e6 26852 * loader/i386/efi/linux.c (allocate_pages): reserve space for
26853 trampoline
22f53a96 26854 (jumpvector): removed
26855 (grub_linux_trampoline_start): new declaration
26856 (grub_linux_trampoline_end): likewise
26857 (grub_linux_boot): use trampoline when on 64-bit platform
26858 * loader/i386/linux.c: likewise
26859
cb5a0f40 268602009-05-16 Pavel Roskin <proski@gnu.org>
26861
26862 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
26863 const to avoid a warning.
26864 (grub_lua_setenv): Likewise.
26865 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
26866 lmsg to fix a warning.
26867
334f2c28 268682009-05-16 Felix Zielcke <fzielcke@z-51.de>
26869
26870 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 26871 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26872 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
26873 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26874 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26875 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26876 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26877 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 26878
59e5d3ec 268792009-05-16 Felix Zielcke <fzielcke@z-51.de>
26880
26881 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
26882
9d87a1ba 268832009-05-16 Bean <bean123ch@gmail.com>
26884
26885 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
26886 (lua_mod_SOURCES): New variable.
26887 (lua_mod_CFLAGS): Likewise.
26888 (lua_mod_LDFLAGS): Likewise.
26889
26890 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
26891 (setjmp_mod_SOURCES): New variable.
26892 (setjmp_mod_CFLAGS): Likewise.
26893 (setjmp_LDFLAGS): Likewise.
26894
26895 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
26896 (setjmp_mod_SOURCES): New variable.
26897 (setjmp_mod_CFLAGS): Likewise.
26898 (setjmp_LDFLAGS): Likewise.
26899
26900 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26901 (setjmp_mod_SOURCES): New variable.
26902 (setjmp_mod_CFLAGS): Likewise.
26903 (setjmp_LDFLAGS): Likewise.
26904
26905 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26906 (setjmp_mod_SOURCES): New variable.
26907 (setjmp_mod_CFLAGS): Likewise.
26908 (setjmp_LDFLAGS): Likewise.
26909
26910 * normal/i386/setjmp.S: Moved from here ...
26911 * lib/i386/setjmp.S: ... Moved here
26912 * normal/x86_64/setjmp.S: Moved from here ...
26913 * lib/x86_64/setjmp.S: ... Moved here
26914 * normal/powerpc/setjmp.S: Moved from here ...
26915 * lib/powerpc/setjmp.S: ... Moved here
26916 * normal/sparc64/setjmp.S: Moved from here ...
26917 * lib/sparc64/setjmp.S: ... Moved here
26918
26919 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
26920 returns_twice in mingw.
26921
26922 * script/lua/grub_lib.c: New file.
26923 * script/lua/grub_lib.h: Likewise.
26924 * script/lua/grub_lua.h: Likewise.
26925 * script/lua/grub_main.c: Likewise.
26926 * script/lua/lapi.c: Likewise.
26927 * script/lua/lapi.h: Likewise.
26928 * script/lua/lauxlib.c: Likewise.
26929 * script/lua/lauxlib.h: Likewise.
26930 * script/lua/lbaselib.c: Likewise.
26931 * script/lua/lcode.c: Likewise.
26932 * script/lua/lcode.h: Likewise.
26933 * script/lua/ldblib.c: Likewise.
26934 * script/lua/ldebug.c: Likewise.
26935 * script/lua/ldebug.h: Likewise.
26936 * script/lua/ldo.c: Likewise.
26937 * script/lua/ldo.h: Likewise.
26938 * script/lua/ldump.c: Likewise.
26939 * script/lua/lfunc.c: Likewise.
26940 * script/lua/lfunc.h: Likewise.
26941 * script/lua/lgc.c: Likewise.
26942 * script/lua/lgc.h: Likewise.
26943 * script/lua/linit.c: Likewise.
26944 * script/lua/liolib.c: Likewise.
26945 * script/lua/llex.c: Likewise.
26946 * script/lua/llex.h: Likewise.
26947 * script/lua/llimits.h: Likewise.
26948 * script/lua/lmathlib.c: Likewise.
26949 * script/lua/lmem.c: Likewise.
26950 * script/lua/lmem.h: Likewise.
26951 * script/lua/loadlib.c: Likewise.
26952 * script/lua/lobject.c: Likewise.
26953 * script/lua/lobject.h: Likewise.
26954 * script/lua/lopcodes.c: Likewise.
26955 * script/lua/lopcodes.h: Likewise.
26956 * script/lua/loslib.c: Likewise.
26957 * script/lua/lparser.c: Likewise.
26958 * script/lua/lparser.h: Likewise.
26959 * script/lua/lstate.c: Likewise.
26960 * script/lua/lstate.h: Likewise.
26961 * script/lua/lstring.c: Likewise.
26962 * script/lua/lstring.h: Likewise.
26963 * script/lua/lstrlib.c: Likewise.
26964 * script/lua/ltable.c: Likewise.
26965 * script/lua/ltable.h: Likewise.
26966 * script/lua/ltablib.c: Likewise.
26967 * script/lua/ltm.c: Likewise.
26968 * script/lua/ltm.h: Likewise.
26969 * script/lua/lua.h: Likewise.
26970 * script/lua/luaconf.h: Likewise.
26971 * script/lua/lualib.h: Likewise.
26972 * script/lua/lundump.c: Likewise.
26973 * script/lua/lundump.h: Likewise.
26974 * script/lua/lvm.c: Likewise.
26975 * script/lua/lvm.h: Likewise.
26976 * script/lua/lzio.c: Likewise.
26977 * script/lua/lzio.h: Likewise.
26978
5e898c9d 269792009-05-16 Bean <bean123ch@gmail.com>
26980
26981 * include/grub/kernel.h (grub_module_header_types): Add type
26982 OBJ_TYPE_CONFIG.
26983
26984 * kern/main.c (grub_load_config): New function.
26985 (grub_main): Call grub_load_config to read boot config.
26986
26987 * grub-mkimage (generate_image): New parameter config_path.
26988 (options): New option --config.
26989 (main): Parse --config option, and pass it to generate_image.
26990
cf353a47 269912009-05-14 Christian Franke <franke@computer.org>
26992
26993 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
26994 This fixes build on Cygwin.
26995
3834887f 269962009-05-14 Pavel Roskin <proski@gnu.org>
26997
26998 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
26999 jump. This saves two bytes, so the typical case of 2 swapped
27000 drives would fit 32 bytes.
27001
8090fc01 270022009-05-13 Pavel Roskin <proski@gnu.org>
27003
ac963883 27004 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27005 grub_uint32_t to avoid a warning.
27006
8090fc01 27007 * loader/i386/linux.c (allocate_pages): When assigning
27008 real_mode_mem, cast through grub_size_t to fix a warning. The
27009 code already makes sure that the value would fit a pointer.
27010 (grub_linux_setup_video): Cast render_target->data to
27011 grub_size_t to fix a warning.
27012
18f547ad 270132009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27014
27015 * commands/i386/pc/drivemap.c: New file - implement drivemap
27016 command.
27017 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27018 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27019
6f6a8b28 270202009-05-13 Pavel Roskin <proski@gnu.org>
27021
27022 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27023 embedding_area_exists.
27024
15fbf4c4 270252009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27026
27027 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27028 it easier to understand / work with.
59978c8a 27029 Improve warning messages for cases where there's no embedding area,
27030 or when it is too small (or core.img too large).
15fbf4c4 27031
238e871f 270322009-05-13 Pavel Roskin <proski@gnu.org>
27033
0ab3a9a4 27034 * loader/i386/pc/multiboot2.c: Add necessary includes for
27035 grub_multiboot2_real_boot().
27036
a2c8c5f8 27037 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27038 PX record is always little-endian. We only need the lower 2
27039 bytes of the mode.
27040
faec96af 27041 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27042 facilitate code reuse.
27043 (grub_cpio_mount): Use "struct head", not a char buffer. This
27044 fixes a warning reported by gcc 4.4.
27045
238e871f 27046 * kernel/disk.c (grub_disk_read): Use void pointer for the
27047 buffer.
27048 (grub_disk_write): Use const void pointer for the buffer.
27049 Adjust all callers. Remove unnecessary casts.
27050
901d2f0c 270512009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27052
27053 * util/i386/pc/grub-install.in: Update copyright year.
27054
18f547ad 270552009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27056
27057 gptsync
27058
27059 * commands/gptsync.c: new file
27060 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27061 (gptsync_mod_SOURCES): new variable
27062 (gptsync_mod_CFLAGS): likewise
27063 (gptsync_mod_LDFLAGS): likewise
18f547ad 27064 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27065 new definition
27066 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27067 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27068 * conf/i386-ieee1275.rmk: likewise
27069 * conf/i386-pc.rmk: likewise
27070 * conf/powerpc-ieee1275.rmk: likewise
27071
b4ba690a 270722009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27073
27074 Fixed grub-emu
27075
27076 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27077 (grub_dl_ref): likewise
27078
317e1a44 270792009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27080
27081 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27082 split in two functions (one for msdos and one for gpt).
27083
041b8094 270842009-05-08 Pavel Roskin <proski@gnu.org>
27085
752473c2 27086 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27087 not modified.
27088
041b8094 27089 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27090 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27091 Initialize them with -1. Add sanity check for bad1. Eliminate
27092 nerr variable.
27093
172800ce 270942009-05-08 David S. Miller <davem@davemloft.net>
27095
27096 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27097
29aa5e81 270982009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27099
27100 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27101 existence.
29aa5e81 27102
96613b62 271032009-05-05 Felix Zielcke <fzielcke@z-51.de>
27104
27105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27106 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27107
eef73c8a 271082009-05-05 David S. Miller <davem@davemloft.net>
27109
27110 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27111
119494b5 271122009-05-05 Pavel Roskin <proski@gnu.org>
27113
27114 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27115 of grub_dl_ref() and grub_dl_unref().
27116 * commands/parttool.c: Remove preprocessor conditionals around
27117 grub_dl_ref() and grub_dl_unref().
27118 * fs/affs.c: Likewise.
27119 * fs/afs.c: Likewise.
27120 * fs/cpio.c: Likewise.
27121 * fs/ext2.c: Likewise.
27122 * fs/fat.c: Likewise.
27123 * fs/hfs.c: Likewise.
27124 * fs/hfsplus.c: Likewise.
27125 * fs/iso9660.c: Likewise.
27126 * fs/jfs.c: Likewise.
27127 * fs/minix.c: Likewise.
27128 * fs/ntfs.c: Likewise.
27129 * fs/reiserfs.c: Likewise.
27130 * fs/sfs.c: Likewise.
27131 * fs/udf.c: Likewise.
27132 * fs/ufs.c: Likewise.
27133 * fs/xfs.c: Likewise.
27134 * include/grub/dl.h: Likewise.
27135 * loader/xnu.c: Likewise.
27136
de5fd76e 271372009-05-04 Pavel Roskin <proski@gnu.org>
27138
27139 * commands/acpi.c: Remove unused variable my_mod.
27140 * partmap/amiga.c: Likewise.
27141 * partmap/apple.c: Likewise.
27142 * partmap/gpt.c: Likewise.
27143 * partmap/pc.c: Likewise.
27144 * partmap/sun.c: Likewise.
27145 * term/gfxterm.c: Likewise.
27146 * term/i386/pc/vesafb.c: Likewise.
27147 * term/i386/pc/vga.c: Likewise.
27148
983598ad 271492009-05-04 David S. Miller <davem@davemloft.net>
27150
27151 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27152 pointer args to grub_ieee1275_get_property().
27153
8aadec43 27154 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27155
9554b15e 27156 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27157 devices, and do not traverse down under controller nodes.
27158
67e23c90 27159 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27160 (grub_ofdisk_open): Use it to un-escape "," characters.
27161 * kern/disk.c (find_part_sep): New.
27162 (grub_disk_open): Use it to find the first non-escaped ','
27163 character in the disk name.
27164 * util/ieee1275/devicemap.c (escape_of_path): New.
27165 (grub_util_emit_devicemap_entry): Use it.
27166 * util/sparc64/ieee1275/grub-install.in: Update script to
27167 strip partition specifiers properly by not triggering on
27168 '\' escaped ',' characters.
27169
74bfdd2f 271702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27171
27172 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27173 to 0x300.
27174 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27175 resolutions.
27176 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27177 on documentation from Wikipedia).
27178
4241d2b1 271792009-05-04 Pavel Roskin <proski@gnu.org>
27180
27181 * disk/ata.c: Spelling fixes.
27182 * disk/raid.c: Likewise.
27183 * disk/usbms.c: Likewise.
27184 * disk/dmraid_nvidia.c: Likewise.
27185 * kern/ieee1275/openfw.c: Likewise.
27186 * kern/ieee1275/init.c: Likewise.
27187 * kern/ieee1275/cmain.c: Likewise.
27188 * boot/i386/pc/cdboot.S: Likewise.
27189 * video/readers/png.c: Likewise.
27190 * video/i386/pc/vbe.c: Likewise.
27191 * fs/udf.c: Likewise.
27192 * fs/hfs.c: Likewise.
27193 * fs/reiserfs.c: Likewise.
27194 * efiemu/runtime/efiemu.c: Likewise.
27195 * efiemu/main.c: Likewise.
27196 * efiemu/mm.c: Likewise.
27197 * include/grub/elf.h: Likewise.
27198 * include/grub/xnu.h: Likewise.
27199 * include/grub/usbdesc.h: Likewise.
27200 * include/grub/usb.h: Likewise.
27201 * include/grub/script_sh.h: Likewise.
27202 * include/grub/lib/LzmaEnc.h: Likewise.
27203 * include/grub/efiemu/efiemu.h: Likewise.
27204 * include/grub/command.h: Likewise.
27205 * normal/menu.c: Likewise.
27206 * normal/main.c: Likewise.
27207 * normal/datetime.c: Likewise.
27208 * bus/usb/uhci.c: Likewise.
27209 * mmap/i386/uppermem.c: Likewise.
27210 * mmap/mmap.c: Likewise.
27211 * commands/acpi.c: Likewise.
27212 * commands/test.c: Likewise.
27213 * partmap/apple.c: Likewise.
27214 * font/font.c: Likewise.
27215 * loader/sparc64/ieee1275/linux.c: Likewise.
27216 * loader/macho.c: Likewise.
27217 * loader/i386/bsd_trampoline.S: Likewise.
27218 * loader/i386/bsd.c: Likewise.
27219 * loader/xnu.c: Likewise.
27220 * term/i386/pc/vesafb.c: Likewise.
27221 * term/usb_keyboard.c: Likewise.
27222 * util/resolve.c: Likewise.
27223 * util/getroot.c: Likewise.
27224
0cfc0083 272252009-05-04 Felix Zielcke <fzielcke@z-51.de>
27226
27227 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27228
7c1d00cd 272292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27230
27231 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27232 build error.
27233
b01f0548 272342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27235
27236 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27237 parameter only available on BIOS.
27238
ecc3eb22 272392009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27240
27241 Removed wrong semicolon in declaration
27242
27243 * grub/misc.h (grub_dprintf): remove semicolon
27244
112972a9 272452009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27246
27247 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27248 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27249 is done by grub_cmd_linux() now).
27250 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27251 restore video to text mode.
27252 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27253 indicates lack of "vga=" parameter. "vga=0" is mapped to
27254 `GRUB_LINUX_VID_MODE_NORMAL'.
27255
afd5c115 272562009-05-04 Felix Zielcke <fzielcke@z-51.de>
27257
27258 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27259 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27260 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27261 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27262 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27263 `grub_script.tab.c'.
27264
27265 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27266 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27269 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27270
faa517ce 27271 * Makefile.in: Remove duplicated 2008 in Copyright line.
27272
ae0c0bdc 272732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27274
473d1e45 27275 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27276 unconditionally.
27277 * include/grub/util/misc.h (grub_util_warn): New declaration.
27278
27279 * util/i386/pc/grub-install.in: Understand --force and pass it down
27280 to grub-setup.
27281
27282 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27283 down to setup().
27284 (setup): Improve error messages and add warnings when requested to
27285 install in odd layouts. Refuse to install using blocklists unless
27286 --force was set.
27287
18f547ad 272882009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27289
27290 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27291
6d260daa 272922009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27293
27294 Updated copyright year
27295
27296 * fs/hfsplus.c: updated copyright year
18f547ad 27297
69f853f8 272982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27299
27300 HFS+ UUID
27301
18f547ad 27302 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27303 in the space previously used by unused3
27304 (grub_hfsplus_uuid): new function
27305 (grub_hfsplus_fs): added uuid field
27306
4c402e73 273072009-05-03 Pavel Roskin <proski@gnu.org>
27308
27309 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27310 suppress warnings. It's no longer needed.
27311 * disk/host.c: Likewise.
27312 * disk/ata_pthru.c: Likewise.
27313 * disk/loopback.c: Likewise.
27314 * hook/datehook.c: Likewise.
27315 * parttool/pcpart.c: Likewise.
27316 * fs/i386/pc/pxe.c: Likewise.
27317 * fs/ntfscomp.c: Likewise.
27318 * efiemu/main.c: Likewise.
27319 * mmap/mmap.c: Likewise.
27320 * commands/crc.c: Likewise.
27321 * commands/hexdump.c: Likewise.
27322 * commands/hdparm.c: Likewise.
27323 * commands/acpi.c: Likewise.
27324 * commands/echo.c: Likewise.
27325 * commands/minicmd.c: Likewise.
27326 * commands/blocklist.c: Likewise.
27327 * commands/memrw.c: Likewise.
27328 * commands/loadenv.c: Likewise.
27329 * commands/usbtest.c: Likewise.
27330 * commands/lsmmap.c: Likewise.
27331 * commands/boot.c: Likewise.
27332 * commands/parttool.c: Likewise.
27333 * commands/configfile.c: Likewise.
27334 * commands/search.c: Likewise.
27335 * commands/ieee1275/suspend.c: Likewise.
27336 * commands/cat.c: Likewise.
27337 * commands/i386/pc/pxecmd.c: Likewise.
27338 * commands/i386/pc/play.c: Likewise.
27339 * commands/i386/pc/halt.c: Likewise.
27340 * commands/i386/pc/vbeinfo.c: Likewise.
27341 * commands/i386/pc/vbetest.c: Likewise.
27342 * commands/lspci.c: Likewise.
27343 * commands/date.c: Likewise.
27344 * commands/handler.c: Likewise.
27345 * commands/ls.c: Likewise.
27346 * commands/test.c: Likewise.
27347 * commands/cmp.c: Likewise.
27348 * commands/efi/loadbios.c: Likewise.
27349 * commands/efi/fixvideo.c: Likewise.
27350 * commands/halt.c: Likewise.
27351 * commands/help.c: Likewise.
27352 * commands/reboot.c: Likewise.
27353 * hello/hello.c: Likewise.
27354 * script/sh/main.c: Likewise.
27355 * loader/xnu.c: Likewise.
27356 * term/terminfo.c: Likewise.
27357 * term/i386/pc/serial.c: Likewise.
27358 * term/usb_keyboard.c: Likewise.
27359
515b5079 273602009-05-03 David S. Miller <davem@davemloft.net>
27361
27362 * normal/menu.c: Include grub/parser.h
27363
dfc31a22 273642009-05-03 Pavel Roskin <proski@gnu.org>
27365
2fee74f1 27366 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27367 not char*.
27368 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27369 Suggested by Javier Martín <lordhabbit@gmail.com>
27370
dfc31a22 27371 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27372 efiemu??.o doesn't exist.
27373 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27374 copying.
27375
18f547ad 273762009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27377
27378 FreeBSD 64-bit support
27379
18f547ad 27380 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27381 and loader/i386/bsd_trampoline.S
27382 (bsd_mod_ASFLAGS): new variable
27383 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27384 (FREEBSD_MODTYPE_KERNEL64): likewise
27385 (grub_bsd64_trampoline_start): likewise
27386 (grub_bsd64_trampoline_end): likewise
27387 (grub_bsd64_trampoline_selfjump): likewise
27388 (grub_bsd64_trampoline_gdt): likewise
27389 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27390 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27391 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27392 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27393 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27394 of "attrib" member
27395 * loader/i386/bsd_pagetable.c: new file
27396 * loader/i386/bsd_trampoline.S: likewise
27397 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27398 (ALIGN_VAR): likewise
27399 (entry_hi): new variable
27400 (kern_end_mdofs): likewise
27401 (is_64bit): likewise
27402 (grub_freebsd_add_meta): use ALIGN_VAR
27403 (grub_e820_mmap): new declaration
27404 (grub_freebsd_add_mmap): new function
27405 (grub_freebsd_add_meta_module): support 64 bit kernels
27406 (grub_freebsd_list_modules): use ALIGN_VAR
27407 (gdt_descriptor): new declaration
27408 (grub_freebsd_boot): support 64 bit kernels
27409 (grub_bsd_elf64_hook): new function
27410 (grub_bsd_load_elf): support elf64
27411
038c5720 274122009-05-03 Bean <bean123ch@gmail.com>
27413
27414 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27415 after we get the result of if statement.
27416
fc45fb58 274172009-05-03 Bean <bean123ch@gmail.com>
27418
27419 * Makefile.in (enable_efiemu): New variable.
27420
27421 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27422 set.
27423 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27424 path.
27425 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27426 path, add -mno-red-zone option.
27427 (efiemu64_s.o): Likewise.
27428 (efiemu64.o): Use macro $^ for source file.
27429
27430 * configure.ac (--enable-efiemu): New option.
27431
bbee0f2b 274322009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27433
27434 xnu support
27435
27436 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27437 (pkglib_MODULES): add xnu.mod
27438 (xnu_mod_SOURCES): new variable
27439 (xnu_mod_CFLAGS): likewise
27440 (xnu_mod_LDFLAGS): likewise
27441 (xnu_mod_ASFLAGS): likewise
27442 * conf/i386-pc.rmk: likewise
27443 * conf/x86_64-efi.rmk: likewise
7dd4a573 27444 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27445 new declaration
27446 * include/grub/i386/macho.h: new file
27447 * include/grub/i386/xnu.h: likewise
27448 * include/grub/macho.h: likewise
27449 * include/grub/machoload.h: likewise
27450 * include/grub/x86_64/macho.h: likewise
27451 * include/grub/x86_64/xnu.h: likewise
27452 * include/grub/xnu.h: likewise
27453 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27454 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27455 * loader/i386/efi/xnu.c: new file
27456 * loader/i386/pc/xnu.c: likewise
27457 * loader/i386/xnu.c: likewise
27458 * loader/i386/xnu_helper.S: likewise
27459 * loader/macho.c: likewise
27460 * loader/xnu.c: likewise
27461 * loader/xnu_resume.c: likewise
27462 * util/grub-dumpdevtree: likewise
27463 * include/grub/i386/pit.h: include grub/err.h
27464 (grub_pit_wait): export
27465 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27466
5caf964d 274672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27468
27469 Efiemu
7dd4a573 27470
5caf964d 27471 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27472 _linux_efi, linux_efi.
27473 new files in grub-emu
5caf964d 27474 new targets efiemu32.o and efiemu64.o
27475 * loader/linux_normal_efiemu.c: likewise
27476 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27477 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27478 files to copy
27479 * include/grub/autoefi.h: new file
7dd4a573 27480 * include/grub/i386/efiemu.h: likewise
5caf964d 27481 * include/grub/i386/pc/efiemu.h: likewise
27482 * include/grub/efi/api.h: add LL suffix when necessary
27483 new definitions relating to tables
27484 * include/grub/efiemu/efiemu.h: new file
27485 * include/grub/efiemu/runtime.h: likewise
27486 * efiemu/prepare.c: likewise
27487 * efiemu/loadcore_common.c: likewise
27488 * efiemu/loadcore64.c: likewise
27489 * efiemu/runtime/efiemu.sh: likewise
27490 * efiemu/runtime/efiemu.S: likewise
27491 * efiemu/runtime/efiemu.c: likewise
27492 * efiemu/runtime/config.h: likewise
27493 * efiemu/prepare32.c: likewise
27494 * efiemu/main.c: likewise
27495 * efiemu/modules/pnvram.c: likewise
27496 * efiemu/modules/i386: likewise
27497 * efiemu/modules/i386/pc: likewise
27498 * efiemu/modules/acpi.c: likewise
27499 * efiemu/i386/pc/cfgtables.c: likewise
27500 * efiemu/i386/loadcore64.c: likewise
27501 * efiemu/i386/loadcore32.c: likewise
27502 * efiemu/prepare64.c: likewise
27503 * efiemu/loadcore.c: likewise
27504 * efiemu/symbols.c: likewise
27505 * efiemu/mm.c: likewise
27506 * efiemu/loadcore32.c: likewise
7dd4a573 27507
275082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27509
27510 ACPI spoofing
27511
27512 * commands/acpi.c: new file
27513 * commands/i386/pc/acpi.c: likewise
27514 * commands/efi/acpi.c: likewise
27515 * include/grub/acpi.h: likewise
27516 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27517 (acpi_mod_SOURCES): new variable
27518 (acpi_mod_CFLAGS): likewise
27519 (acpi_mod_LDFLAGS): likewise
27520 * conf/i386-efi.rmk: likewise
27521 * conf/x86_64-efi.rmk: likewise
27522
7dd4a573 275232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27524
27525 Missing part from mmap patch
27526
27527 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27528 (grub_mmap_unregister)
27529 (grub_mmap_free_and_unregister): use grub_mmap_register
27530
7dd4a573 275312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27532
27533 Mmap services
27534
27535 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27536 * loader/i386/linux.c (find_mmap_size): likewise
27537 (allocate_pages): likewise
27538 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27539 (grub_fill_multiboot_mmap): likewise
27540 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27541 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27542 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27543 (OPENBSD_MMAP_RESERVED): likewise
27544 * include/grub/i386/pc/memory.h: include grub/memory.h
27545 (grub_lower_mem): removed
27546 (grub_upper_mem): likewise
27547 (GRUB_MACHINE_MEMORY_ACPI): new definition
27548 (GRUB_MACHINE_MEMORY_NVS): likewise
27549 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27550 (GRUB_MACHINE_MEMORY_HOLE): likewise
27551 (grub_machine_mmap_register): likewise
27552 (grub_machine_mmap_unregister): likewise
27553 (grub_machine_get_upper): likewise
27554 (grub_machine_get_lower): likewise
27555 (grub_machine_get_post64): likewise
27556 * include/grub/i386/efi/memory.h: new file
27557 * include/grub/x86_64/efi/memory.h: likewise
27558 * include/grub/efi/memory.h: likewise
27559 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27560 (mmap_mod_SOURCES): new variable
27561 (mmap_mod_LDFLAGS): likewise
27562 (mmap_mod_ASFLAGS): likewise
27563 * conf/i386-coreboot.rmk: likewise
27564 * conf/i386-ieee1275.rmk: likewise
27565 * conf/i386-efi.rmk: likewise
27566 * conf/x86_64-efi.rmk: likewise
27567 * include/grub/types.h (UINT_TO_PTR): new macro
27568 (PTR_TO_UINT32): likewise
27569 (PTR_TO_UINT64): likewise
27570 * include/grub/memory.h: new file
27571 * mmap/i386/pc/mmap.c: likewise
27572 * mmap/i386/pc/mmap_helper.S: likewise
27573 * mmap/i386/uppermem.c: likewise
27574 * mmap/mmap.c: likewise
27575 * mmap/efi/mmap.c: likewise
7dd4a573 27576 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27577 grub_upper_mem
27578 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27579 (grub_upper_mem): likewise
27580 (grub_machine_init): don't use grub_upper_mem,
27581 make grub_lower_mem local
27582 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27583 grub_mmap_iterate and grub_mmap_get_upper
27584 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27585
d558e6b5 275862009-05-02 Bean <bean123ch@gmail.com>
27587
27588 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27589 script/sh/parser.y.
27590 (pkglib_MODULES): Add normal.mod and sh.mod.
27591 (normal_SOURCES): New variable.
27592 (normal_mod_CFLAGS): Likewise.
27593 (normal_mod_LDFLAGS): Likewise.
27594 (sh_mod_SOURCES): Likewise.
27595 (sh_mod_CFLAGS): Likewise.
27596 (sh_mod_LDFLAGS): Likewise.
27597
27598 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27599 script/sh/lexer.c_DEPENDENCIES.
27600 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27601 kern/rescue_reader.c and kern/rescue_parser.c.
27602 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27603 (grub_emu_SOURCES): Change source files.
27604 (pkglib_MODULES): Remove normal.mod.
27605 (normal_SOURCES): Removed.
27606 (normal_mod_CFLAGS): Likewise.
27607 (normal_mod_LDFLAGS): Likewise.
27608 * conf/i386-coreboot.rmk: Likewise.
27609 * conf/i386-efi.rmk: Likewise.
27610 * conf/i386-ieee1276.rmk: Likewise.
27611 * conf/powerpc-ieee1275.rmk: Likewise.
27612 * conf/sparc64-ieee1275.rmk: Likewise.
27613 * conf/x86_64-efi.rmk: Likewise.
27614
27615 * include/grub/command.h (grub_command_execute): New inline function.
27616
27617 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27618
27619 * include/grub/normal.h: Remove <grub/setjmp.h>.
27620 (grub_fs_module_list): Moved to normal/autofs.c.
27621 (grub_exit_env): Removed.
27622 (grub_command_execute): Likewise.
27623 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27624 parameter script.
27625 (read_command_list): New function declaration.
27626 (read_fs_list): Likewise.
27627
27628 * include/parser.h: Include <grub/reader.h>.
27629 (grub_parser_split_cmdline): Change type of getline parameter.
27630 (grub_parser): New structure.
27631 (grub_parser_class): New variable.
27632 (grub_parser_execute): New function declaration.
27633 (grub_register_rescue_parser): Likewise.
27634 (grub_parser_register): New inline function.
27635 (grub_parser_unregister): Likewise.
27636 (grub_parser_get_current): Likewise.
27637 (grub_parser_set_current): Likewise.
27638
27639 * include/grub/reader.h: New file.
27640 * kern/reader.c: Likewise.
27641 * kern/rescue_parser.c: Likewise.
27642 * kern/rescue_reader.c: Likewise.
27643 * normal/autofs.c: Likewise.
27644 * normal/dyncmd.c: Likewise.
27645
27646 * include/grub/rescue.h: Removed.
27647 * normal/command.h: Likewise.
27648
27649 * include/grub/script.h: Moved to ...
27650 * include/grub/script_sh.h: ... Moved here.
27651 * normal/execute.c: Moved to ...
27652 * script/sh/execute.c: ... Moved here.
27653 * normal/function.c: Moved to ...
27654 * script/sh/function.c: ... Moved here.
27655 * normal/lexer.c: Moved to ...
27656 * script/sh/lexer.c: ... Moved here.
27657 * normal/parser.y: Moved to ...
27658 * script/sh/parser.y: ... Moved here.
27659 * normal/script.c: Moved to ...
27660 * script/sh/script.c: ... Moved here.
27661
27662 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
27663 <grub/reader.h>.
27664 (grub_exit_env): Removed.
27665 (fs_module_list): Moved to normal/autofs.c.
27666 (grub_file_getline): Don't handle comment here.
27667 (free_menu): Skip removed field entry->commands.
27668 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
27669 script parameter.
27670 (read_config_file): Removed nested parameter, change getline function.
27671 (grub_enter_normal_mode): Removed.
27672 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
27673 (read_command_list): Likewise.
27674 (autoload_fs_module): Moved to normal/autofs.c.
27675 (read_fs_list): Likewise.
27676 (reader_nested): New variable.
27677 (grub_normal_execute): Run parser.sh to switch to sh parser.
27678 (grub_cmd_rescue): Removed.
27679 (cmd_normal): Removed.
27680 (grub_cmd_normal): Unregister itself at the beginning. Don't register
27681 rescue command.
27682 (grub_cmdline_run): New function.
27683 (grub_normal_reader_init): Likewise.
27684 (grub_normal_read_line): Likewise.
27685 (grub_env_write_pager): Likewise.
27686 (cmdline): New variable.
27687 (grub_normal_reader): Likewise.
27688 (GRUB_MOD_INIT): Register normal reader and set as current, register
27689 pager hook, register normal command with grub_register_command_prio,
27690 so that it won't show up in command.lst.
27691 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
27692 grub_fs_autoload_hook.
27693
27694 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
27695 (grub_menu_execute_entry): Replace grub_script_execute with
27696 grub_parser_execute, change parameter to grub_command_execute.
27697
27698 * normal/menu_text.c: Remove <grub/script.h>.
27699
27700 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
27701 and <grub/parser.h>.
27702 (run): Change editor_getline to use new parser interface. Change
27703 parameter to grub_command_execute.
27704
27705 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
27706 <grub/reader.h> and <grub/parser.h>.
27707 (grub_load_normal_mode): Execute normal command.
27708 (grub_main): Call grub_register_core_commands,
27709 grub_register_rescue_parser and grub_register_rescue_reader, use
27710 grub_reader_loop to enter input loop.
27711
7dd4a573 27712 * kern/parser.c (grub_parser_split_cmdline): Change type of
27713 getline parameter.
d558e6b5 27714 (grub_parser_class): New variable.
27715 (grub_parser_execute): New function.
27716
27717 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
27718 * loader/multiboot2.c: Likewise.
27719 * loader/sparc64/ieee1275/linux.c: Likewise.
27720
27721 * util/grub-emu.c (read_command_list): New dummy function.
27722
18db813d 277232009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27724
27725 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
27726 count to 16 for CCISS and IDA.
27727
6c67de15 277282009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27729
27730 * normal/menu_text.c (grub_wait_after_message): Print a newline
27731 after waiting for user input.
27732
27733 * loader/i386/linux.c: Include `<grub/normal.h>'.
27734 (grub_cmd_linux): Improve the error message about `ask' mode, by
27735 waiting for user input so it's not missed (we can do this, since
27736 user requested interaction).
27737
d9dc87b0 277382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27739
27740 Added missing lst to grub-mkrescue
27741
27742 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
27743 and ${input_dir}/parttool.lst
27744
ac8a2baa 277452009-04-30 David S. Miller <davem@davemloft.net>
27746
ad22a610 27747 * util/hostdisk.c (device_is_wholedisk): New function.
27748 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
27749 zero only if device_is_wholedisk() returns true.
27750
6966215d 27751 * util/hostdisk.c (convert_system_partition_to_system_disk):
27752 Handle virtual disk devices named /dev/vdiskX as found on sparc
27753 and powerpc.
27754
ac8a2baa 27755 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
27756 lettered partition specifier is found, convert to numbered.
27757
979b4fb4 277582009-04-29 David S. Miller <davem@davemloft.net>
27759
e2bf39b2 27760 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
27761 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27762
3c64e104 27763 * normal/command.c: Add missing newline at end of file.
27764
979b4fb4 27765 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
27766 warnings.
27767 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
27768 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
27769 grub_ofdisk_read): Likewise, and deal similarly with the fact that
27770 ihandles have a 32-bit type but need to be stored in a "void *".
27771
136d9f82 277722009-04-28 Pavel Roskin <proski@gnu.org>
27773
9459c306 27774 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
27775 not disk. Adjust all dependencies.
2e08a26a 27776 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 27777 grub_disk_close().
27778
136d9f82 27779 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
27780 parent's partition, don't copy it by reference, as it gets freed
27781 on close.
27782
7dd4a573 277832009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 27784
27785 Preboot hooks support
27786
27787 * commands/boot.c (struct grub_preboot_t): new declaration
27788 (preboots_head): new variable
27789 (preboots_tail): likewise
27790 (grub_loader_register_preboot_hook): new function
27791 (grub_loader_unregister_preboot_hook): likewise
27792 (grub_loader_set): launch preboot hooks
27793 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
27794 (grub_loader_register_preboot_hook): new declaration
27795 (grub_loader_unregister_preboot_hook): likewise
27796
5af922b5 277972009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27798
27799 Warning fix
27800
7dd4a573 27801 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 27802 calling grub_dprintf
27803
a5562c30 278042009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
27805
27806 Bug and warning fixes
27807
7dd4a573 27808 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 27809 declaration
27810 * commands/test.c (test_parse): fixed bug with file tests and corrected
27811 declaration of find_file
27812
4006f85c 278132009-04-26 Pavel Roskin <proski@gnu.org>
27814
27815 * Makefile.in: Don't install empty manual pages if help2man is
27816 missing. Use help2man option for output, not shell redirection.
27817
5c77c3de 278182009-04-26 David S. Miller <davem@davemloft.net>
27819
27820 * util/grub-mkdevicemap.c (make_device_map): Add missing
27821 NESTED_FUNC_ATTR to process_device().
27822
033b10a8 278232009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27824
27825 Test command
27826
27827 * commands/test.c: rewritten to use bash-like test
27828
e4343593 278292009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27830
27831 Parttool autoloading and improvements
27832
7dd4a573 27833 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 27834 (parttool.lst): new target
27835 * genmk.rb: generate parttool-*
27836 (CLEANFILES): add #{parttool}
27837 (PARTTOOLFILES): new variable
27838 * genparttoollist.sh: new file
7dd4a573 27839 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 27840 (grub_pcpart_type): likewise
27841 * commands/parttool.c (helpmsg): new variable
27842 (grub_cmd_parttool): output help if not enough arguments are supplied
27843 autoload modules
27844 (GRUB_MOD_INIT(parttool)): use helpmsg
27845
0d312500 278462009-04-24 David S. Miller <davem@davemloft.net>
27847
7dd4a573 27848 Avoiding opening same device multiple times in device iterator.
0d312500 27849
27850 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 27851 and use it to build a list of partitions in iterate_disk() and
0d312500 27852 iterate_partition().
27853
ac20caff 27854 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
27855 on disk->data.
27856
0dcf7495 27857 * disk/ieee1275/nand.c (grub_nand_iterate): Return
27858 grub_devalias_iterate() result instead of unconditional 0.
27859 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
27860 Also, capture hook return value, either directly or via
27861 grub_children_iterate(), and propagate to caller.
27862 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
27863 grub_children_iterate): Return value is now 'int' instead of
27864 'grub_err_t'.
27865 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
27866 like a proper iterator, stopping when hooks return non-zero.
27867 (grub_devalias_iterate): Likewise.
27868
c8c08833 278692009-04-23 David S. Miller <davem@davemloft.net>
27870
27871 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
27872
f01005a8 278732009-04-22 David S. Miller <davem@davemloft.net>
27874
27875 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
27876 is larger than address_cells, use that value for address_cells too.
27877
4e8269da 27878 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
27879 IEEE1275_MAX_PATH_LEN): Define.
27880 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
27881 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
27882 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
27883 'devtype'. Explicitly NULL terminate devalias expansion.
27884
a1447506 27885 * util/sparc64/ieee1275/misc.c: New file.
27886 * util/sparc64/ieee1275/grub-setup.c: New file.
27887 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
27888 * util/sparc64/ieee1275/grub-mkimage.c: New file.
27889 * util/sparc64/ieee1275/grub-install.in: New file.
27890 * util/ieee1275/ofpath.c: New file.
27891 * util/ieee1275/devicemap.c: New file.
27892 * util/devicemap.c: New file.
27893 * util/deviceiter.c: New file.
27894 * kern/sparc64/ieee1275/init.c: New file.
27895 * include/grub/util/ofpath.h: New file.
27896 * include/grub/util/deviceiter.h: New file.
27897 * util/grub-mkdevicemap.c: Include deviceiter.h.
27898 Implement using grub_util_emit_devicemap_entry and
27899 grub_util_iterate_devices.
27900 * conf/i386-corebook.rmk: Build util/deviceiter.c and
27901 util/devicemap.c into grub-mkdevicemap
27902 * conf/i386-efi.rmk: Likewise.
27903 * conf/i386-ieee1275.rmk: Likewise.
27904 * conf/i386-pc.rmk: Likewise.
27905 * conf/powerpc-ieee1275.rmk: Likewise.
27906 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
27907 images and installation utilities. Build kernel as image
27908 instead of as elf binary. Use common rules as much as possible.
27909
7dd4a573 279102009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 27911
27912 Correct GPT definition
27913
7dd4a573 27914 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 27915 of "attrib" member
27916
c6c5219f 279172009-04-19 Felix Zielcke <fzielcke@z-51.de>
27918
27919 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
27920
0552ff9f 279212009-04-19 David S. Miller <davem@davemloft.net>
27922
27923 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
27924 (grub_rescue_cmd_linux): Rename to...
27925 (grub_cmd_linux): and fix prototype.
27926 (grub_rescue_cmd_initrd): Rename to...
27927 (grub_cmd_initrd): and fix prototype.
27928 (cmd_linux, cmd_initrd): New.
27929 (GRUB_MOD_INIT(linux)): Use grub_register_command().
27930 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
27931
d1a282fc 279322009-04-17 Pavel Roskin <proski@gnu.org>
27933
07c5039f 27934 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
27935 format.
27936 (grub_ohci_transfer): Likewise.
27937
b012002d 27938 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
27939
1bc09c35 27940 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
27941 return without a value. Fix inconsistent indentation.
27942
e0ff9126 27943 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
27944 match struct grub_fs.
27945
d1a282fc 27946 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
27947 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
27948 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27949 * commands/lspci.c (grub_lspci_iter): Likewise.
27950
a96df3f2 279512009-04-16 Bean <bean123ch@gmail.com>
27952
27953 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
27954 value.
27955
41bb0fe9 279562009-04-15 Pavel Roskin <proski@gnu.org>
27957
27958 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
27959 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
27960 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
27961 definitions.
27962
596c6970 279632009-04-15 Felix Zielcke <fzielcke@z-51.de>
27964
27965 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 27966 that no multiple data or metadata areas are supported and `Unknown
596c6970 27967 metadata header'.
27968
7dd4a573 279692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 27970
27971 Move loader out of the kernel
27972
27973 * kern/loader.c: moved to ...
27974 * commands/boot.c: ... moved here
27975 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
27976 * commands/boot.c (grub_cmd_boot): moved here. All users updated
27977 * include/grub/kernel.h (grub_machine_fini): export
27978 * include/grub/loader.h (grub_loader_is_loaded): update declaration
27979 (grub_loader_set): likewise
27980 (grub_loader_unset): likewise
27981 (grub_loader_boot): likewise
27982 * conf/common.rmk: new module boot.mod
27983 (pkglib_MODULES): add boot.mod
27984 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
27985 (grub_emu_SOURCES): likewise
27986 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
27987 (grub_emu_SOURCES): likewise
27988 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
27989 (grub_emu_SOURCES): likewise
27990 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
27991 (grub_emu_SOURCES): likewise
27992 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
27993 (grub_emu_SOURCES): likewise
7dd4a573 27994 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
27995 (grub_emu_SOURCES): likewise
0d5d5653 27996 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 27997 (grub_emu_SOURCES): likewise
0d5d5653 27998
7dd4a573 279992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28000
28001 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28002
5999d619 28003 * kern/misc.c (grub_itoa): Removed function
28004 (grub_ltoa): likewise
28005 (grub_vsprintf): use grub_lltoa
28006
7dd4a573 280072009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28008
28009 Restore grub-emu
28010
28011 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28012 * conf/i386-coreboot.rmk: likewise
28013 * conf/i386-ieee1275.rmk: likewise
28014 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28015
20318222 280162009-04-15 Felix Zielcke <fzielcke@z-51.de>
28017
28018 * INSTALL: Add that `./autogen.sh' needs to be run before
28019 `./configure.'.
28020
d05f0df3 280212009-04-14 Bean <bean123ch@gmail.com>
28022
28023 * Makefile.in (pkglib_DATA): Add handler.lst.
28024 (handler.lst): New rule.
28025
28026 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28027 * conf/i386-coreboot.rmk: Likewise.
28028 * conf/i386-ieee1275.rmk: Likewise.
28029 * conf/i386-efi.rmk: Likewise.
28030 * conf/x86_64-efi.rmk: Likewise.
28031 * conf/powerpc-ieee1275.rmk: Likewise.
28032 * conf/sparc64-ieee1275.rmk: Likewise.
28033
28034 * genhandlerlist.sh: New file.
28035
28036 * genmk.rb: Add rules to generate handler.lst.
28037
28038 * include/grub/normal.h (grub_file_getline): New function definition.
28039 (read_handler_list): Likewise.
28040 (free_handler_list): Likewise.
28041
28042 * include/grub/term.h (grub_term_register_input): Add name parameter
28043 for auto generation of handler.lst.
28044 (grub_term_register_output): Likewise.
28045
28046 * normal/handler.c: New file.
28047
28048 * normal/main.c (get_line): Renamed to grub_file_getline.
28049 (read_config_file): Use the newly renamed grub_file_getline.
28050 (read_command_list): Likewise.
28051 (read_fs_list): Likewise.
28052 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28053 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28054
28055 * term/efi/console.c (grub_console_init): Add name parameter for auto
28056 generation of handler.lst.
28057 * term/gfxterm.c: Likewise.
28058 * term/i386/pc/at_keyboard.c: Likewise.
28059 * term/i386/pc/console.c: Likewise.
28060 * term/i386/pc/serial.c: Likewise.
28061 * term/i386/pc/vesafb.c: Likewise.
28062 * term/i386/pc/vga.c: Likewise.
28063 * term/i386/pc/vga_text.c: Likewise.
28064 * term/ieee1275/ofconsole.c: Likewise.
28065 * term/usb_keyboard.c: Likewise.
28066
33c846be 280672009-04-14 Bean <bean123ch@gmail.com>
28068
28069 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28070 properly with null character.
28071
4484e01e 280722009-04-14 Felix Zielcke <fzielcke@z-51.de>
28073
28074 * configure: Remove.
28075 * config.h.in: Likewise.
f93d668e 28076 * stamp-h.in: Likewise.
4484e01e 28077 * DISTLIST: Likewise.
28078 * conf/common.mk: Likewise.
28079 * conf/i386-coreboot.mk: Likewise.
28080 * conf/i386-efi.mk: Likewise.
28081 * conf/i386-ieee1275.mk: Likewise.
28082 * conf/i386.mk: Likewise.
28083 * conf/i386-pc.mk: Likewise.
28084 * conf/powerpc-ieee1275.mk: Likewise.
28085 * conf/sparc64-ieee1275.mk: Likewise.
28086 * conf/x86_64-efi.mk: Likewise.
28087
28088 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28089 develop on GRUB.
28090
7dd4a573 280912009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28092 David S. Miller <davem@davemloft.net>
28093
28094 * util/hostdisk.c (make_device_name): Fix buffer length
28095 calculations.
28096
e25b5a8c 280972009-04-14 Felix Zielcke <fzielcke@z-51.de>
28098
28099 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28100 <sys/param.h> and <sys/sysctl.h>.
28101 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28102 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28103 opening the device and reset them afterwards.
28104
1f1f580c 281052009-04-13 Pavel Roskin <proski@gnu.org>
28106
28107 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28108 Reported by John Stanley <jpsinthemix@verizon.net>
28109
7ebc2d6b 281102009-04-13 Robert Millan <rmh@aybabtu.com>
28111
28112 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28113 that name for menuentries when appropriate.
7ebc2d6b 28114
d8ba3667 281152009-04-13 Felix Zielcke <fzielcke@z-51.de>
28116
28117 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28118
cba416eb 281192009-04-13 Robert Millan <rmh@aybabtu.com>
28120
28121 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28122 to Linux, simply abort telling the user it's no longer supported.
28123
a547a745 281242009-04-13 Felix Zielcke <fzielcke@z-51.de>
28125
28126 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28127 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28128 `freebsd_loadenv' only when devices.hints exist.
28129
232a769c 281302009-04-13 Pavel Roskin <proski@gnu.org>
28131
28132 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28133
c3012039 281342009-04-13 Felix Zielcke <fzielcke@z-51.de>
28135
28136 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28137 partition number.
28138 (grub_drive): Likewise.
28139
234022fe 281402009-04-13 David S. Miller <davem@davemloft.net>
28141
28142 * kern/sparc64/ieee1275/ieee1275.c: New file.
28143 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28144 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28145 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28146 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28147 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28148 grub_ieee1275_alloc_physmem): Declare new exported functions.
28149
d8e1836c 28150 * include/grub/sparc64/ieee1275/loader.h: New file.
28151 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28152 * include/grub/sparc64/kernel.h: Likewise.
28153 * loader/sparc64/ieee1275/linux.c: Likewise.
28154
96bd81ec 28155 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28156 (grub_fstest_SOURCES): Likewise.
28157
6a4737e5 28158 * util/hostdisk.c (make_device_name): Do not make any assumptions
28159 about the length of drive names.
28160
1d7a72fd 28161 * kern/dl.c (grub_dl_load_file): Close file immediately when
28162 we are done using it.
28163
56bc2471 281642009-04-12 David S. Miller <davem@davemloft.net>
28165
28166 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28167 values. Noticed by Pavel Roskin.
28168
df38d0bb 28169 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28170 target compiler.
7dd4a573 28171
e382e93a 28172 * genmk.rb: Add more flexible image type specification, also
28173 pass --strip-unneeded to objcopy.
28174 * conf/i386-pc.rmk: Use *_FORMAT.
28175 * conf/i386-pc.mk: Rebuilt.
28176
f5dbbca9 28177 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28178 (OFDISK_HASH_SZ): Define.
28179 (ofdisk_hash): New hash table.
28180 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28181 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28182 instead of device phandle which is not unique.
28183
91c88b12 28184 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28185 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28186 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28187 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28188 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28189 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28190 GRUB_KERNEL_MACHINE_DATA_END): Define.
28191 (grub_kernel_image_size, grub_total_module_size): Declare.
28192
5b5d4aa5 281932009-04-12 Pavel Roskin <proski@gnu.org>
28194
7dd4a573 28195 * configure.ac: Change the logic when we check for target tools.
28196 Do it when the target is specified and it's different from the
28197 specified value of the host.
5b5d4aa5 28198
c91e1793 281992009-04-11 Felix Zielcke <fzielcke@z-51.de>
28200
28201 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28202 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28203 GNU/kFreeBSD. Check if a device is a character device. Use
28204 DIOCGMEDIASIZE to get the size.
28205 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28206 support for GNU/kFreeBSD.
28207 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28208 is a character device instead of a block device. Add support for
28209 FreeBSD device names.
28210
28211 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28212 is a character device instead of a block device.
28213
28214 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28215 is a character device instead of a block device.
28216
b1ac8644 282172009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28218
28219 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28220 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28221 FreeBSD. Check if a device is a character device. Use
28222 DIOCGMEDIASIZE to get the size.
28223 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28224 support for FreeBSD.
28225 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28226 is a character device instead of a block device. Add support for
28227 FreeBSD device names.
28228
28229 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28230 a character device instead of a block device.
28231 (grub_util_check_char_device): New function.
28232
28233 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28234 a character device instead of a block device.
28235
28236 * include/grub/util/getroot.h (grub_util_check_char_device): New
28237 prototype.
28238
a3f7515a 282392009-04-11 David S. Miller <davem@davemloft.net>
28240
28241 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28242 static libgcc.
28243 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28244 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28245 function, if present.
28246 (__bswapdi2): Likewise.
28247
0d44993d 28248 * include/grub/sparc64/ieee1275/boot.h: New file.
28249 * boot/sparc64/ieee1275/boot.S: Likewise.
28250 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28251
ed3d2bc2 28252 * kern/misc.c (grub_ltoa): New function.
28253 (grub_vsprintf): Use it to format 'long' integers.
28254
d3bfb59c 282552009-04-10 David S. Miller <davem@davemloft.net>
28256
28257 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28258 slots are of type grub_ieee1275_cell_t.
28259 (grub_nand_read): Likewise.
28260 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28261 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28262 macros are used to compare values in arg/ret block of the call.
28263 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28264 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28265 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28266 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28267 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28268 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28269 grub_ieee1275_close, grub_ieee1275_set_property,
28270 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28271 grub_ieee1275_cell_t.
28272 * kern/ieee1275/openfw.c (grub_map): Likewise.
28273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28274 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28275
450e2238 28276 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28277 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28278 (grub_devalias_iterate): Likewise.
28279
7dd4a573 282802009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28281
28282 UFS improvements
28283
28284 * fs/ufs.c (INODE_NBLOCKS): new definition
28285 (struct grub_ufs_dirent): added fields for non-BSD dirents
28286 (grub_ufs_get_file_block): fixed double indirect handling
28287 (grub_ufs_lookup_symlink): use more robust way to determine whether
28288 symlink is inline
28289 (grub_ufs_find_file): support for non-BSD dirents
28290 (grub_ufs_dir): support for non-BSD dirents
28291
e7e6862a 282922009-04-10 Bean <bean123ch@gnail.com>
28293
28294 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28295 attribute, otherwise the size would be wrong for i386 platform.
28296
28297 * include/grub/pci.h (grub_pci_read_word): New inline function.
28298 (grub_pci_read_byte): Likewise.
28299 (grub_pci_write): Likewise.
28300 (grub_pci_write_word): Likewise.
28301 (grub_pci_write_byte): Likewise.
28302
28303 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28304
28305 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28306 (find_framebuf): Scan pci to locate the frame buffer address.
28307
28308 * commands/efi/fixvideo.c: New file.
28309
28310 * commands/efi/loadbios.c: Likewise.
28311
28312 * commands/memrw.c: Likewise.
28313
28314 * util/grub-dumpbios.in: Likewise.
28315
28316 * conf/common.rmk (grub-dumpbios): New utility.
28317 (pkglib_MODULES): New module memrw.mod.
28318 (memrw_mod_SOURCE): New macro.
28319 (memrw_mod_CFLAGS): Likewise.
28320 (memrw_mod_LDFLAGS): Likewise.
28321
7dd4a573 28322 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28323 fixvideo.mod.
28324 (loadbios_mod_SOURCE): New macro.
28325 (loadbios_mod_CFLAGS): Likewise.
28326 (loadbios_mod_LDFLAGS): Likewise.
28327 (fixvideo_mod_SOURCE): Likewise.
28328 (fixvideo_mod_CFLAGS): Likewise.
28329 (fixvideo_mod_LDFLAGS): Likewise.
28330
7dd4a573 28331 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28332 fixvideo.mod.
28333 (loadbios_mod_SOURCE): New macro.
28334 (loadbios_mod_CFLAGS): Likewise.
28335 (loadbios_mod_LDFLAGS): Likewise.
28336 (fixvideo_mod_SOURCE): Likewise.
28337 (fixvideo_mod_CFLAGS): Likewise.
28338 (fixvideo_mod_LDFLAGS): Likewise.
28339
af63ada2 283402009-04-08 Felix Zielcke <fzielcke@z-51.de>
28341
28342 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28343
c2cdde70 283442009-04-07 David S. Miller <davem@davemloft.net>
28345
28346 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28347 support for R_SPARC_OLO10 relocations. Fix compile warning for
28348 R_SPARC_WDISP30 case.
ea3f72cf 28349 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28350
761319cf 283512009-04-06 Pavel Roskin <proski@gnu.org>
28352
1007d1f5 28353 * include/grub/misc.h (ARRAY_SIZE): New macro.
28354 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28355 New macro.
28356 * loader/i386/linux.c (allocate_pages): Use free_pages().
28357 (grub_linux_unload): Don't use free_pages().
28358 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28359 wrong index. Treat all other modes as text modes.
28360 (grub_cmd_linux): Initialize vid_mode unconditionally to
28361 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28362
761319cf 28363 * commands/help.c (print_command_help): Use cmd->prio, not
28364 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28365
ea761d40 283662009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28367
ea761d40 28368 Parttool
28369
28370 * parttool/pcpart.c: new file
28371 * commands/parttool.c: likewise
28372 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28373 (parttool_mod_SOURCES): new variable
28374 (parttool_mod_CFLAGS): likewise
28375 (parttool_mod_LDFLAGS): likewise
28376 (pcpart_mod_SOURCES): likewise
28377 (pcpart_mod_CFLAGS): likewise
28378 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28379 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28380 and parttool/pcpart.c
28381 * conf/i386-efi.rmk: likewise
28382 * conf/i386-ieee1275.rmk: likewise
28383 * conf/i386-pc.rmk: likewise
28384 * conf/powerpc-ieee1275.rmk: likewise
28385 * conf/sparc64-ieee1275.rmk: likewise
28386 * conf/x86_64-ieee1275.rmk: likewise
28387
05aaebfb 283882009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28389
28390 Support for mtime and further expandability of dir command
28391
28392 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28393 * include/grub/datetime.h: ... moved here and added
05aaebfb 28394 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28395 * include/grub/fs.h: new syntax for dir and mtime functions in
28396 struct grub_fs
05aaebfb 28397 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28398 and GRUB_FSHELP_FLAGS_MASK
28399 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28400 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28401 (grub_ext2_mtime): new function
28402 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28403 (grub_hfsplus_mtime): new function
28404 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28405 (GRUB_UFS_ATTR_FILE): likewise
28406 (GRUB_UFS_ATTR_LNK): likewise
28407 (struct grub_ufs_sblock): new fields mtime
28408 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28409 all users updated
28410 (grub_ufs_dir): mtime support
28411 (grub_ufs_mtime): new function
28412 * fs/affs.c (grub_affs_dir): use new dir syntax
28413 * fs/afs.c (grub_afs_dir): likewise
28414 * fs/cpio.c (grub_cpio_dir): likewise
28415 * fs/fat.c (grub_fat_find_dir): likewise
28416 * fs/hfs.c (grub_hfs_dir): likewise
28417 * fs/iso9660.c (grub_iso9660_dir): likewise
28418 * fs/jfs.c (grub_jfs_dir): likewise
28419 * fs/minix.c (grub_minix_dir): likewise
28420 * fs/ntfs.c (grub_ntfs_dir): likewise
28421 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28422 * fs/sfs.c (grub_sfs_dir): likewise
28423 * fs/xfs.c (grub_xfs_dir): likewise
28424 * util/hostfs.c (grub_hostfs_dir): likewise
28425 * lib/datetime.c: moved to ...
28426 * normal/datetime.c: ... moved here
28427 (grub_unixtime2datetime): new function
28428 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28429 * normal/completion.c (iterate_dir): use new dir syntax
28430 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28431 last modification time of a volume
7dd4a573 28432 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28433 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28434 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28435 (normal_mod_SOURCES): likewise
28436 (datetime_mod_SOURCES): Removed lib/datetime.c
28437 * conf/i386-efi.rmk: likewise
7dd4a573 28438 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28439 * conf/i386-pc.rmk: likewise
28440 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28441 * conf/sparc64-ieee1275.rmk: likewise
28442 * conf/x86_64-efi.rmk: likewise
05aaebfb 28443
8a7e1a14 284442009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28445
28446 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28447
28448 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28449 on grub_fat_find_dir
28450 (grub_fat_find_dir): use grub_fat_iterate_dir
28451 (grub_fat_label): likewise
28452
04186a9c 284532009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28454
7dd4a573 28455 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28456 and command.h
28457 remove extraneous kernel_elf_HEADERS
28458
da4c0bb6 284592009-04-04 Bean <bean123ch@gnail.com>
28460
28461 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28462
28463 * util/misc.c: Likewise.
28464
54ad9555 284652009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28466
28467 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28468 instead of grub_printf.
28469
7a6bf9f2 284702009-04-03 Robert Millan <rmh@aybabtu.com>
28471
28472 * loader/i386/linux.c (grub_linux_setup_video): Fill
28473 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28474 values from `mode info' structure instead of hardcoded
28475 values.
28476
3fcc2083 284772009-04-01 Pavel Roskin <proski@gnu.org>
28478
28479 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28480 unused now.
28481 * genmk.rb: Likewise.
28482 * configure.ac: Likewise.
28483
5ec9740b 284842009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28485
28486 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28487 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28488
5270cec8 284892009-04-01 David S. Miller <davem@davemloft.net>
28490
28491 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28492 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28493 (grub_setjmp): Mark with 'returns_twice' attribute.
28494 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28495 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28496 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28497
9c3dd854 284982009-04-01 Robert Millan <rmh@aybabtu.com>
28499
28500 Reapply fix from 2008-07-28 which was accidentally reverted; also
28501 perform the same fix to a similar check in same function.
28502
28503 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28504 with the same number are found, just use issue a warning with
28505 grub_dprintf(), as this error has been reported to be non-fatal.
28506
0d818b7e 285072009-03-31 Pavel Roskin <proski@gnu.org>
28508
28509 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28510 for cross-compilation.
28511
95646d92 285122009-03-30 Robert Millan <rmh@aybabtu.com>
28513
28514 Fix i386-ieee1275 build.
28515
28516 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28517 Remove declaration.
28518
6a003ed1 285192009-03-30 Pavel Roskin <proski@gnu.org>
28520
28521 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28522 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28523 zero-terminated, rely only on the strlen value. Fix comparison
28524 of strings differing in length.
28525
92f33540 285262009-03-30 Robert Millan <rmh@aybabtu.com>
28527
28528 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28529 checking for abi version. Improve error messages on BIOS to notify
28530 user about `linux16' command.
28531
a8c48fd5 285322009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28533
f968172e 28534 Leak fixes
a8c48fd5 28535
f968172e 28536 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28537 in case of collision
28538 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28539
9c323f09 285402009-03-29 Robert Millan <rmh@aybabtu.com>
28541
28542 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28543 set `vid_mode' accordingly.
28544 (grub_linux_boot): Process `vid_mode' and set video mode.
28545
ae68f423 285462009-03-29 Robert Millan <rmh@aybabtu.com>
28547
28548 * util/grub.d/10_linux.in (linux_entry): New function.
28549 Factorize generation of Linux boot entries.
28550
5709cfc4 285512009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28552
28553 Make the format of Environment Block plain text. The boot loader
28554 part is not tested well yet.
7dd4a573 28555
5709cfc4 28556 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28557 (buffer): Removed.
28558 (envblk): Likewise.
28559 (usage): Remove "info" and "clear". Add "unset". Update the
28560 description of "set", as this does not delete variables any
28561 longer.
28562 (create_envblk_file): Complete rewrite.
28563 (open_envblk_file): Likewise.
28564 (cmd_info): Removed.
28565 (cmd_list): Likewise.
28566 (cmd_set): Likewise.
28567 (cmd_clear): Likewise.
28568 (list_variables): New function.
28569 (write_envblk): Likewise.
28570 (set_variables): Likewise.
28571 (unset_variables): Likewise.
28572 (main): Complete rewrite.
28573
28574 * commands/loadenv.c (buffer): Removed.
28575 (envblk): Likewise.
28576 (open_envblk_file): New function.
28577 (read_envblk_file): Complete rewrite.
28578 (grub_cmd_load_env): Likewise.
28579 (grub_cmd_list_env): Likewise.
28580 (struct blocklist): New struct.
28581 (free_blocklists): New function.
28582 (check_blocklists): Likewise.
28583 (write_blocklists): Likewise.
28584 (grub_cmd_save_env): Complete rewrite.
28585
28586 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28587 a plain text signature.
28588 (GRUB_ENVBLK_MAXLEN): Removed.
28589 (struct grub_envblk): Complete rewrite.
28590 (grub_envblk_find): Removed.
28591 (grub_envblk_insert): Likewise.
28592 (grub_envblk_open): New prototype.
28593 (grub_envblk_set): Likewise.
28594 (grub_envblk_delete): Put const to VALUE.
28595 (grub_envblk_iterate): Put const to NAME and VALUE.
28596 (grub_envblk_close): New prototype.
28597 (grub_envblk_buffer): New inline function.
28598 (grub_envblk_size): Likewise.
28599
28600 * lib/envblk.c: Include grub/mm.h.
28601 (grub_env_find): Removed.
28602 (grub_envblk_open): New function.
28603 (grub_envblk_close): Likewise.
28604 (escaped_value_len): Likewise.
28605 (find_next_line): Likewise.
28606 (grub_envblk_insert): Removed.
28607 (grub_envblk_set): New function.
28608 (grub_envblk_delete): Complete rewrite.
28609 (grub_envblk_iterate): Likewise.
28610
a9368fd3 286112009-03-28 Robert Millan <rmh@aybabtu.com>
28612
28613 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28614 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28615 variables. Use 16-bit loader.
28616 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28617 loader.
28618 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28619 (grub_linux16_boot): ... this. Update all users.
28620 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28621 (grub_linux_boot): ... this. Update all users.
28622
28623 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28624 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28625 commands to `linux16' and `initrd16'.
28626 (GRUB_MOD_FINI(linux)): Rename to ...
28627 (GRUB_MOD_FINI(linux16)): ... this.
28628
e4dd5a7e 286292009-03-24 Pavel Roskin <proski@gnu.org>
28630
28631 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
28632 not just for compilation.
28633
c04d6e05 286342009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
28635
28636 Move multiboot helper out of kernel
28637
28638 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
28639 `loader/i386/multiboot_helper.S'.
28640 * conf/i386-coreboot.rmk: Likewise
28641 * conf/i386-ieee1275.rmk: Likewise
28642
28643 * kern/i386/loader.S: Move multiboot helpers from here...
28644 * loader/i386/multiboot_helper.S: ...moved here
28645 * include/grub/i386/loader.h: Move declarations of multiboot
28646 helpers from here...
28647 * include/grub/i386/multiboot.h: ...moved here
28648 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
28649
42a5b3fc 286502009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28651
28652 * kern/env.c (grub_env_context_open): Added an argument to specify
28653 whether a new context inherits exported variables from current
28654 one. This is useful when making a sandbox to interpret a config
28655 file.
28656 All callers updated.
28657
28658 * include/grub/env.h (grub_env_context_open): Updated the prototype.
28659
b28bbc4e 286602009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28661
28662 * kern/env.c (grub_env_context_close): Fix memory leaks.
28663
f04f02e4 286642009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28665
28666 * normal/main.c (grub_normal_execute): Added an argument
28667 BATCH to specify if an interactive interface should be provided
28668 after reading a config file.
28669 All callers updated.
28670 (read_command_list): Prevent being executed twice.
28671 (read_fs_list): Likewise.
28672
42a5b3fc 28673 * include/grub/normal.h (grub_normal_execute): Updated the
28674 prototype.
f04f02e4 28675
41473ac2 286762009-03-22 Pavel Roskin <proski@gno.org>
28677
fbc00b0c 28678 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
28679 _start.
28680 * kern/i386/pc/startup.S: Likewise.
28681 * kern/i386/efi/startup.S: Likewise.
28682 * kern/i386/ieee1275/startup.S: Likewise.
28683 * kern/i386/coreboot/startup.S: Likewise.
28684 * kern/x86_64/efi/startup.S: Likewise.
28685
41473ac2 28686 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
28687 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
28688 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
28689
2274cc8f 286902009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
28691
28692 Bugfixes in multiboot for bugs uncovered by solaris kernel.
28693
28694 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
28695 limit detection.
28696 Use vaddr of correct segment for entry_point.
28697
b1b797cb 286982009-03-21 Bean <bean123ch@gmail.com>
28699
28700 * commands/blocklist.c: Add include file <grub/command.h>, remove
28701 <grub/normal.h> and <grub/arg.h>.
28702 (grub_cmd_blocklist): Use the new command interface.
28703 (GRUB_MOD_INIT): Likewise.
28704 (GRUB_MOD_FINI): Likewise.
28705 * commands/boot.c: Likewise.
28706 * commands/cat.c: Likewise.
28707 * commands/cmp.c: Likewise.
28708 * commands/configfile.c: Likewise.
28709 * commands/crc.c: Likewise.
28710 * commands/echo.c: Likewise.
28711 * commands/halt.c: Likewise.
28712 * commands/handler.c: Likewise.
28713 * commands/hdparm.c: Likewise.
28714 * commands/help.c: Likewise.
28715 * commands/hexdump.c: Likewise.
28716 * commands/loadenv.c: Likewise.
28717 * commands/ls.c: Likewise.
28718 * commands/lsmmap.c: Likewise.
28719 * commands/lspci.c: Likewise.
28720 * commands/loadenv.c: Likewise.
28721 * commands/read.c: Likewise.
28722 * commands/reboot.c: Likewise.
28723 * commands/search.c: Likewise.
28724 * commands/sleep.c: Likewise.
28725 * commands/test.c: Likewise.
28726 * commands/usbtest.c: Likewise.
28727 * commands/videotest.c: Likewise.
28728 * commands/i386/cpuid.c: Likewise.
28729 * commands/i386/pc/halt.c: Likewise.
28730 * commands/i386/pc/play.c: Likewise.
28731 * commands/i386/pc/pxecmd.c: Likewise.
28732 * commands/i386/pc/vbeinfo.c: Likewise.
28733 * commands/i386/pc/vbetest.c: Likewise.
28734 * commands/ieee1275/suspend.c: Likewise.
28735 * disk/loopback.c: Likewise.
28736 * font/font_cmd.c: Likewise.
28737 * hello/hello.c: Likewise.
28738 * loader/efi/appleloader.c: Likewise.
28739 * loader/efi/chainloader.c: Likewise.
28740 * loader/i386/bsd.c: Likewise.
28741 * loader/i386/efi/linux.c: Likewise.
28742 * loader/i386/ieee1275/linux.c: Likewise.
28743 * loader/i386/linux.c: Likewise.
28744 * loader/i386/pc/chainloader.c: Likewise.
28745 * loader/i386/pc/linux.c: Likewise.
28746 * loader/powerpc/ieee1275/linux.c: Likewise.
28747 * loader/multiboot_loader.c: Likewise.
28748 * term/gfxterm.c: Likewise.
28749 * term/i386/pc/serial.c: Likewise.
28750 * term/terminfo.c: Likewise.
28751
28752 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
28753 * term/i386/pc/vga.c: Likewise.
28754 * video/readers/jpeg.c: Likewise.
28755 * video/readers/png.c: Likewise.
28756 * video/readers/tga.c: Likewise.
28757
28758 * util/grub-fstest (cmd_loopback): Removed.
28759 (cmd_blocklist): Likewise.
28760 (cmd_ls): Likewise.
28761 (grub_register_command): Likewise.
28762 (grub_unregister_command): Likewise.
28763 (execute_command): Use grub_command_find to locate command and execute
28764 it.
28765
28766 * include/grub/efi/chainloader.h: Removed.
28767 * loader/efi/chainloader_normal.c: Likewise.
28768 * loader/i386/bsd_normal.c: Likewise.
28769 * loader/i386/pc/chainloader_normal.c: Likewise.
28770 * loader/i386/pc/multiboot_normal.c: Likewise.
28771 * loader/linux_normal.c: Likewise.
28772 * loader/multiboot_loader_normal.c: Likewise.
28773 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28774
28775 * gencmdlist.sh: Scan new registration command grub_register_extcmd
28776 and grub_register_command_p1.
28777
28778 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
28779 kern/command.c, lib/arg.c and commands/extcmd.c.
28780 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
28781 (minicmd_mod_SOURCES): New variable.
28782 (minicmd_mod_CFLAGS): Likewise.
28783 (minicmd_mod_LDFLAGS): Likewise.
28784 (extcmd_mod_SOURCES): Likewise.
28785 (extcmd_mod_CFLAGS): Likewise.
28786 (extcmd_mod_LDFLAGS): Likewise.
28787 (boot_mod_SOURCES): Removed.
28788 (boot_mod_CFLAGS): Likewise.
28789 (boot_mod_LDFLAGS): Likewise.
28790
28791 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
28792 kern/corecmd.c.
28793 (kernel_img_HEADERS): Add command.h.
28794 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
28795 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
28796 and lib/arg.c.
28797 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
28798 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
28799 remove the corresponding normal mode command.
28800 (normal_mod_SOURCES): Remove normal/arg.c.
28801 * conf/i386-coreboot.rmk: Likewise.
28802 * conf/i386-efi.rmk: Likewise.
28803 * conf/i386-ieee1275.rmk: Likewise.
28804 * conf/powerpc-ieee1275.rmk: Likewise.
28805 * conf/x86_64-efi.rmk: Likewise.
28806
28807 * include/grub/arg.h: Move from here ...
28808 * include/grub/lib/arg.h: ... to here.
28809
28810 * normal/arg.c: Move from here ...
28811 * lib/arg.c: ... to here.
28812
28813 * commands/extcmd.c: New file.
28814 * commands/minicmd.c: Likewise.
28815 * include/grub/command.h: Likewise.
28816 * include/grub/extcmd.h: Likewise.
28817 * kern/command.c: Likewise.
28818 * kern/corecmd.c: Likewise.
28819
28820 * kern/list.c (grub_list_iterate): Return int instead of void.
28821 (grub_list_insert): New function.
28822 (grub_prio_list_insert): Likewise.
28823
28824 * kern/rescue.c (grub_rescue_command): Removed.
28825 (grub_rescue_command_list): Likewise.
28826 (grub_rescue_register_command): Likewise.
28827 (grub_rescue_unregister_command): Likewise.
28828 (grub_rescue_cmd_boot): Move to minicmd.c
28829 (grub_rescue_cmd_help): Likewise.
28830 (grub_rescue_cmd_info): Likewise.
28831 (grub_rescue_cmd_boot): Likewise.
28832 (grub_rescue_cmd_testload): Likewise.
28833 (grub_rescue_cmd_dump): Likewise.
28834 (grub_rescue_cmd_rmmod): Likewise.
28835 (grub_rescue_cmd_lsmod): Likewise.
28836 (grub_rescue_cmd_exit): Likewise.
28837 (grub_rescue_print_devices): Moved to corecmd.c.
28838 (grub_rescue_print_files): Likewise.
28839 (grub_rescue_cmd_ls): Likewise.
28840 (grub_rescue_cmd_insmod): Likewise.
28841 (grub_rescue_cmd_set): Likewise.
28842 (grub_rescue_cmd_unset): Likewise.
7d074e3c 28843 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 28844 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 28845 commands, remove grub_rescue_register_command calls.
b1b797cb 28846
7d074e3c 28847 * normal/command.c (grub_register_command): Removed.
b1b797cb 28848 (grub_unregister_command): Likewise.
28849 (grub_command_find): Likewise.
28850 (grub_iterate_commands): Likewise.
28851 (rescue_command): Likewise.
28852 (export_command): Moved to corecmd.c.
28853 (set_command): Removed.
28854 (unset_command): Likewise.
28855 (insmod_command): Likewise.
28856 (rmmod_command): Likewise.
28857 (lsmod_command): Likewise.
28858 (grub_command_init): Likewise.
28859
28860 * normal/completion.c (iterate_command): Use cmd->prio to check for
28861 active command.
28862 (complete_arguments): Use grub_extcmd_t structure to find options.
28863 (grub_normal_do_completion): Change function grub_iterate_commands to
28864 grub_command_iterate.
28865
28866 * normal/execute.c (grub_script_execute_cmd): No need to parse
28867 argument here.
28868
28869 * normal/main.c (grub_dyncmd_dispatcher): New function.
28870 (read_command_list): Register unload commands as dyncmd.
28871 (grub_cmd_normal): Use new command interface, register rescue,
28872 unregister normal at entry, register normal, unregister rescue at exit.
28873
28874 * include/grub/list.h (grub_list_test_t): New type.
28875 (grub_list_iterate): Return int instead of void.
28876 (grub_list_insert): New function.
28877 (GRUB_AS_NAMED_LIST_P): New macro.
28878 (GRUB_AS_PRIO_LIST): Likewise.
28879 (GRUB_AS_PRIO_LIST_P): Likewise.
28880 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
28881 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
28882 (grub_prio_list): New structure.
28883 (grub_prio_list_insert): New function.
28884 (grub_prio_list_remove): New inline function.
28885
28886 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
28887 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
28888 (GRUB_COMMAND_FLAG_MENU): Likewise.
28889 (GRUB_COMMAND_FLAG_BOTH): Likewise.
28890 (GRUB_COMMAND_FLAG_TITLE): Likewise.
28891 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
28892 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
28893 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
28894 (grub_command): Likewise.
28895 (grub_register_command): Likewise.
28896 (grub_command_find): Likewise.
28897 (grub_iterate_commands): Likewise.
28898 (grub_command_init): Likewise.
28899 (grub_arg_parse): Likewise.
28900 (grub_arg_show_help): Likewise.
28901
28902 * include/grub/rescue.h (grub_rescue_register_command): Removed.
28903 (grub_rescue_unregister_command): Likewise.
28904
28905 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
28906 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
28907 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
28908
28909 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
28910 grub_rescue_cmd_initrd.
28911 * include/grub/i386/loader.h: Likewise.
28912 * include/grub/x86_64/loader.h: Likewise.
28913
28914 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
28915
1f4147aa 289162009-03-21 Bean <bean123ch@gmail.com>
28917
28918 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
28919 instead of stat in mingw environment.
28920
28921 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
28922
28923 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
28924
28925 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
28926 AC_CONFIG_LINKS.
28927
2156d5ba 289282009-03-21 Bean <bean123ch@gmail.com>
28929
28930 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
28931 out of range error.
28932
177b82ca 289332009-03-18 Michel Dänzer <michel@daenzer.net>
28934
28935 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
28936 checking inode flags for EXT4_EXTENTS_FLAG.
28937
14aad807 289382009-03-18 Robert Millan <rmh@aybabtu.com>
28939
28940 * loader/i386/linux.c: Include `<grub/video.h>' and
28941 `<grub/i386/pc/vbe.h>'..
28942 (grub_linux_setup_video): New function. Loosely based on the EFI one.
28943 (grub_linux32_boot): Attempt to configure video settings with
28944 grub_linux_setup_video().
28945 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
28946 to avoid grub_console_fini() which would step out of graphical mode
28947 unconditionally.
28948
8cf83a27 289492009-03-14 Robert Millan <rmh@aybabtu.com>
28950
28951 Fix build on powerpc.
28952 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
28953
40164e75 289542009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
28955
28956 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
28957 background image command.
28958
c58bc32a 289592009-03-12 Colin D Bennett <colin@gibibit.com>
28960
28961 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
28962 (grub_gfxterm_putchar): Extract pairs of identical calls to
28963 draw_cursor out of conditional blocks.
28964
5415144a 289652009-03-11 Pavel Roskin <proski@gnu.org>
28966
28967 * fs/hfs.c (grub_hfs_strncasecmp): New function.
28968 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
28969
6394042e 289702009-03-11 Robert Millan <rmh@aybabtu.com>
28971
28972 * loader/i386/multiboot_elfxx.c
28973 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
28974
b7b50e5f 289752009-03-11 Felix Zielcke <fzielcke@z-51.de>
28976
28977 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
28978 `kern/handler.c'.
28979
1ca7fc96 289802009-03-11 Robert Millan <rmh@aybabtu.com>
28981
28982 * loader/i386/multiboot.c (code_size): New variable.
28983 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 28984 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 28985 4-byte alignment to MBI and others by increasing
7d074e3c 28986 `boot_loader_name_length' appropriately.
1ca7fc96 28987
28988 * loader/i386/multiboot_elfxx.c
28989 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
28990
a83ea1d2 289912009-03-09 Felix Zielcke <fzielcke@z-51.de>
28992
28993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
28994 `fs/ext2.c'.
28995
aa9f3bff 289962009-03-08 Robert Millan <rmh@aybabtu.com>
28997
28998 Make loader/i386/linux.c usable on i386-pc again.
28999
29000 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29001 memory to heap.
29002 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29003 `#error' stanza.
29004
d8b3b60e 290052009-03-07 Bean <bean123ch@gmail.com>
29006
29007 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29008 allocation.
29009
b362c9e9 290102009-03-06 Robert Millan <rmh@aybabtu.com>
29011
29012 Fix display issue on terminals with screen size other than 80x25
29013 (e.g. gfxterm with resolution higher than 640x480).
29014
29015 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29016 position relative to the center of the terminal instead of relying
b362c9e9 29017 on a hardcoded offset.
29018
9304eef1 290192009-03-04 Robert Millan <rmh@aybabtu.com>
29020
29021 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29022 installed.
29023
29024 * Makefile.in (host_kernel): New variable.
29025 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29026 scripts instead of just the windows one.
29027 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29028
eabc95fb 290292009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29030
29031 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29032 `kern/handler.c'.
29033 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29034 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29035 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29037 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29038 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29039
ceb1223c 290402009-03-04 Felix Zielcke <fzielcke@z-51.de>
29041
29042 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29043 or if there's no space for the disk label and print the partition number on a
29044 invalid magic.
29045
4910684a 290462009-03-04 Felix Zielcke <fzielcke@z-51.de>
29047
29048 * util/misc.c: Include <time.h>.
29049 (grub_millisleep): New function.
29050
7e9ca17a 290512009-03-04 Bean <bean123ch@gmail.com>
29052
29053 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29054 another option -mno-red-zone.
29055
29056 * commands/handler.c: Change module description.
29057
29058 * kern/handler.c: Add missing space at the end of description line.
29059
29060 * kern/list.c: Likewise.
29061
f501677c 290622009-03-03 Robert Millan <rmh@aybabtu.com>
29063
29064 Move more components to the relocation area, and fix mbi pointer
29065 handling to use the destination rather than the origin (thanks to
29066 Vladimir Serbinenko for spotting).
29067
29068 * loader/i386/multiboot.c (mbi_dest): New variable.
29069 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29070 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29071 relocation area.
29072
9902d047 290732009-03-01 Bean <bean123ch@gmail.com>
29074
50fb7002 29075 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29076 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29077 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29078 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29079
29080 * loader/i386/efi/linux.c (acpi_guid): New variable.
29081 (acpi_guid): Likewise.
29082 (EBDA_SEG_ADDR): New constant.
29083 (LOW_MEM_ADDR): Likewise.
29084 (FAKE_EBDA_SEG): Likewise.
29085 (fake_bios_data): New function.
29086 (grub_linux_boot): Call fake_bios_data.
29087
71b9f361 290882009-03-01 Bean <bean123ch@gmail.com>
29089
29090 * commands/terminal.c: Removed.
29091
29092 * commands/handler.c: New file.
29093
29094 * include/grub/list.h: Likewise.
29095
29096 * include/grub/handler.h: Likewise.
29097
29098 * kern/list.c: Likewise.
29099
29100 * kern/handler.c: Likewise.
29101
29102 * kern/term.h: Include header file <grub/handler.h>.
29103 (grub_term_input): Move next field to the beginning.
29104 (grub_term_output): Likewise.
29105 (grub_term_input_class): New variable.
29106 (grub_term_output_class): Likewise.
29107 (grub_term_register_input): Changed to inline function.
29108 (grub_term_register_output): Likewise.
29109 (grub_term_unregister_input): Likewise.
29110 (grub_term_unregister_output): Likewise.
29111 (grub_term_set_current_input): Likewise.
29112 (grub_term_set_current_output): Likewise.
29113 (grub_term_get_current_input): Likewise.
29114 (grub_term_get_current_output): Likewise.
29115 (grub_term_iterate_input): Removed.
29116 (grub_term_iterate_output): Likewise.
29117
29118 * kern/term.c (grub_term_list_input): Removed.
29119 (grub_term_list_output): Likewise.
29120 (grub_term_input_class): New variable.
29121 (grub_term_output_class): Likewise.
50fb7002 29122 (grub_cur_term_input): Change variable as macro.
71b9f361 29123 (grub_cur_term_output): Likewise.
29124 (grub_term_register_input): Removed.
29125 (grub_term_register_output): Likewise.
29126 (grub_term_unregister_input): Likewise.
29127 (grub_term_unregister_output): Likewise.
29128 (grub_term_set_current_input): Likewise.
29129 (grub_term_set_current_output): Likewise.
29130 (grub_term_iterate_input): Likewise.
29131 (grub_term_iterate_output): Likewise.
29132 (grub_term_get_current_input): Likewise.
29133 (grub_term_get_current_output): Likewise.
29134
29135 * util/grub-editenv.c: Include header file <grub/handler.h>.
29136 (grub_term_get_current_input): Removed.
29137 (grub_term_get_current_output): Likewise.
29138 (grub_term_input_class): New variable.
50fb7002 29139 (grub_term_output_class): Likewise.
71b9f361 29140
29141 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29142 (grub_term_get_current_output): Likewise.
29143 (grub_term_input_class): New variable.
50fb7002 29144 (grub_term_output_class): Likewise.
71b9f361 29145
29146 * util/grub-probe.c (grub_term_get_current_input): Removed.
29147 (grub_term_get_current_output): Likewise.
29148 (grub_term_input_class): New variable.
50fb7002 29149 (grub_term_output_class): Likewise.
71b9f361 29150
29151 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29152 (grub_term_get_current_output): Likewise.
29153 (grub_term_input_class): New variable.
50fb7002 29154 (grub_term_output_class): Likewise.
71b9f361 29155
29156 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29157 (terminal_mod_SOURCES): Likewise.
29158 (terminal_mod_CFLAGS): Likewise.
29159 (terminal_mod_LDFLAGS): Likewise.
29160
29161 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29162 handler.c.
29163 (kernel_img_SOURCES): Add list.c and handler.c.
29164 (kernel_img_HEADERS): Add list.h and handler.h.
29165
29166 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29167 handler.c.
29168 (kernel_mod_SOURCES): Add list.c and handler.c.
29169 (kernel_mod_HEADERS): Add list.h and handler.h.
29170
29171 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29172 handler.c.
29173 (kernel_elf_SOURCES): Add list.c and handler.c.
29174 (kernel_elf_HEADERS): Add list.h and handler.h.
29175
29176 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29177 handler.c.
29178 (kernel_elf_SOURCES): Add list.c and handler.c.
29179 (kernel_elf_HEADERS): Add list.h and handler.h.
29180
29181 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29182 handler.c.
29183 (kernel_mod_SOURCES): Add list.c and handler.c.
29184 (kernel_mod_HEADERS): Add list.h and handler.h.
29185
29186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29187 handler.c.
29188 (kernel_elf_SOURCES): Add list.c and handler.c.
29189 (kernel_elf_HEADERS): Add list.h and handler.h.
29190
8a31787f 291912009-02-27 Robert Millan <rmh@aybabtu.com>
29192
29193 Factorize elf32 / elf64 code in Multiboot loader. This will
29194 prevent it from getting out of sync again.
29195
29196 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29197 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29198 grub_multiboot_load_elf64): Move from here ...
29199 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29200 grub_multiboot_load_elf): ... to here (new file).
29201
51cd3dfc 292022009-02-27 Robert Millan <rmh@aybabtu.com>
29203
29204 * util/grub.d/10_linux.in: Rename "single-user mode" to
29205 "recovery mode".
29206
6e8c9c3a 292072009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29208
29209 Don't leak in SCSI code.
29210 * disk/scsi.c (grub_scsi_close): free `scsi'.
29211
4b6bf4f9 292122009-02-27 Robert Millan <rmh@aybabtu.com>
29213
29214 * loader/i386/pc/multiboot.c: Move from here ...
29215 * loader/i386/multiboot.c: ... to here. Update all users.
29216
b9413424 292172009-02-27 Robert Millan <rmh@aybabtu.com>
29218
29219 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29220 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29221
50fb7002 292222009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29223
29224 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29225 b-tree.
29226
8cc50345 292272009-02-27 Robert Millan <rmh@aybabtu.com>
29228
29229 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29230 `0x' qualifier as 0 when base is specified as parameter).
29231
6e09b8b7 292322009-02-24 Bean <bean123ch@gmail.com>
29233
29234 * configure.ac: Check for -mcmodel=large in x86_64 target.
29235
29236 * include/grub/efi/api.h (efi_call_10): New macro.
29237 (efi_wrap_10): New function.
29238
29239 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29240 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29241 (GRUB_PE32_REL_BASED_LOW): Likewise.
29242 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29243 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29244 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29245 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29246 (GRUB_PE32_REL_BASED_REL): Likewise.
29247 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29248 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29249 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29250
29251 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29252 issue.
29253
29254 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29255 (efi_wrap_10): New function.
29256
29257 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29258
29259 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29260 MB/MBP model (NV chipset).
29261 (devdata_devs): Add devpath_5 to the list.
29262
29263 * load/i386/efi/linux.c (video_base): Remove variable.
29264 (RGB_MASK): New macro.
29265 (RGB_MAGIC): Likewise.
29266 (LINE_MIN): Likewise.
29267 (LINE_MAX): Likewise.
29268 (FBTEST_STEP): Likewise.
29269 (FBTEST_COUNT): Likewise.
29270 (fb_list): New variable.
29271 (grub_find_video_card): Remove function.
29272 (find_framebuf): New function.
29273 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29274 line length.
29275
29276 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29277 problem for x86_64.
29278
74b21bee 292792009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29280
29281 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29282
29283 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29284 coding tool name.
29285
a455f472 292862009-02-22 Robert Millan <rmh@aybabtu.com>
29287
29288 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29289 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29290 in our relocation, instead of using it directly from heap. Also
29291 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29292
6374daf3 292932009-02-21 Robert Millan <rmh@aybabtu.com>
29294
29295 Implement USB keyboard support (based on patch by Marco Gerards)
29296
29297 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29298 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29299 (usb_keyboard_mod_LDFLAGS): New variables.
29300
29301 * term/usb_keyboard.c: New file.
29302
8fa4ea70 293032009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29304
29305 Corrected wrong declaration
29306
29307 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29308
353976ac 293092009-02-14 Christian Franke <franke@computer.org>
29310
29311 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29312 (grub_lspci_iter): Print class code and programming interface byte.
29313
6aa1169b 293142009-02-14 Christian Franke <franke@computer.org>
29315
29316 * gendistlist.sh: Ignore `.svn' directories.
29317
265372ca 293182009-02-14 Felix Zielcke <fzielcke@z-51.de>
29319
29320 * fs/fat.c: Add 2009 to Copyright line.
29321
9ff516f3 293222009-02-14 Christian Franke <franke@computer.org>
29323
29324 * commands/hdparm.c: New file. Provides `hdparm' command
29325 which sends ATA commands via grub_disk_ata_pass_through ().
29326
29327 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29328
29329 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29330 and <grub/cpu/io.h> to include/grub/ata.h.
29331 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29332 (GRUB_CDROM_SECTOR_SIZE): Remove.
29333 (GRUB_ATA_*): Move to include/grub/ata.h.
29334 (GRUB_ATAPI_*): Likewise.
29335 (enum grub_ata_commands): Likewise.
29336 (enum grub_ata_timeout_milliseconds): Likewise.
29337 (struct grub_ata_device): Likewise.
29338 (grub_ata_regset): Likewise.
29339 (grub_ata_regget): Likewise.
29340 (grub_ata_regset2): Likewise.
29341 (grub_ata_regget2): Likewise.
29342 (grub_ata_check_ready): Likewise.
29343 (grub_ata_wait_not_busy): Remove static, exported in
29344 include/grub/ata.h.
29345 (grub_ata_wait_drq): Likewise.
29346 (grub_ata_pio_read): Likewise.
29347
29348 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29349 function for hdparm.mod.
29350
29351 * include/grub/ata.h: New file, contains declarations from
29352 disk/ata.c.
29353 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29354
29355 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29356 (grub_disk_ata_pass_through): New exported variable.
29357
29358 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29359
772e23da 293602009-02-13 Colin D Bennett <colin@gibibit.com>
29361
29362 Support multiple fallback entries, and provide an API to support
29363 executing default+fallback menu entries. Renamed the `terminal' menu
29364 viewer to `text'.
29365
29366 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29367 variable declaration.
29368 (grub_menu_execute_callback): New structure declaration.
29369 (grub_menu_execute_callback_t): New typedef.
29370 (grub_menu_execute_with_fallback): New function declaration.
29371 (grub_menu_get_entry): Likewise.
29372 (grub_menu_get_timeout): Likewise.
29373 (grub_menu_set_timeout): Likewise.
29374
29375 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29376
29377 * normal/menu.c (grub_wait_after_message): Moved to
29378 `normal/menu_text.c'.
29379 (draw_border): Likewise.
29380 (print_message): Likewise.
29381 (print_entry): Likewise.
29382 (print_entries): Likewise.
29383 (grub_menu_init_page): Likewise.
29384 (get_entry_number): Likewise.
29385 (print_timeout): Likewise.
29386 (run_menu): Likewise.
29387 (grub_menu_execute_entry): Likewise.
29388 (show_text_menu): Likewise.
29389 (get_and_remove_first_entry_number): New function.
29390 (grub_menu_execute_with_fallback): Likewise.
29391 (get_entry): Renamed to ...
29392 (grub_menu_get_entry): .. this and made it global.
29393 (get_timeout): Renamed to ...
29394 (grub_menu_get_timeout): ... this and made it global.
29395 (set_timeout): Renamed to ...
29396 (grub_menu_set_timeout): ... this and made it global.
29397 (grub_normal_terminal_menu_viewer): Renamed to ...
29398 (grub_normal_text_menu_viewer): ... this.
29399
29400 * normal/menu_text.c: New file. Extracted text-menu-specific code
29401 from normal/menu.c.
29402
29403 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29404 (normal_mod_SOURCES): Likewise.
29405
29406 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29407 (normal_mod_SOURCES): Likewise.
29408
29409 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29410 (normal_mod_SOURCES): Likewise.
29411
29412 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29413 (normal_mod_SOURCES): Likewise.
29414
29415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29416 (normal_mod_SOURCES): Likewise.
29417
29418 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29419 (normal_mod_SOURCES): Likewise.
29420
29421 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29422 (normal_mod_SOURCES): Likewise.
29423
16ac430e 294242009-02-11 Robert Millan <rmh@aybabtu.com>
29425
29426 * util/grub.d/00_header.in: Update old reference to `font' command.
29427
06ff20fc 294282009-02-10 Felix Zielcke <fzielcke@z-51.de>
29429
29430 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29431
29432 Based on patch from Javier Martín.
29433
96da9407 294342009-02-09 Felix Zielcke <fzielcke@z-51.de>
29435
29436 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29437 to avoid false positives with FAT.
96da9407 29438 (grub_fstest_SOURCES): Likewise.
29439 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29440 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29442 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29443 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29444 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29445
6dca6fe4 294462009-02-09 Felix Zielcke <fzielcke@z-51.de>
29447
06ff20fc 29448 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29449 bpb.version_specific.fat12_or_fat16.fstype and
29450 bpb.version_specific.fat32.fstype.
29451
2550c62f 294522009-02-08 Robert Millan <rmh@aybabtu.com>
29453
be110b30 29454 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29455
56978920 294562009-02-08 Robert Millan <rmh@aybabtu.com>
29457
29458 * Makefile.in (host_os, host_cpu): New variables.
29459 (target_os): Remove. Update all users.
29460
d64399b5 294612009-02-08 Marco Gerards <marco@gnu.org>
29462
29463 * Makefile.in (enable_grub_emu_usb): New variable.
29464 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29465 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29466 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29467 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29468 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29469 `usbtest.mod' and `usbms.mod'.
29470 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29471 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29472 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29473 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29474 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29475 variables.
29476
29477 * disk/usbms.c: New file.
29478
29479 * include/grub/usb.h: Likewise.
29480
29481 * include/grub/usbtrans.h: Likewise.
29482
29483 * include/grub/usbdesc.h: Likewise.
29484
29485 * bus/usb/usbtrans.c: Likewise.
29486
29487 * bus/usb/ohci.c: Likewise.
29488
29489 * bus/usb/uhci.c: Likewise.
29490
29491 * bus/usb/usbhub.c: Likewise.
29492
29493 * bus/usb/usb.c: Likewise.
29494
29495 * commands/usbtest.c: Likewise.
29496
29497 * util/usb.c: Likewise.
50fb7002 29498
d64399b5 29499 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29500
29501 * configure.ac: Test for libusb presence.
50fb7002 29502
d64399b5 29503 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29504
2b40d6bb 295052009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29506
29507 * kern/mm.c: Add more comments.
29508
73a4ce81 295092009-02-08 Robert Millan <rmh@aybabtu.com>
29510
29511 Patch from Javier Martín.
29512 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29513 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29514
f821ce59 295152009-02-08 Robert Millan <rmh@aybabtu.com>
29516
29517 * fs/cpio.c: Split tar functionality to ...
29518 * fs/tar.c: ... here (new file). Update all users.
29519
aebfc4b0 295202009-02-07 Robert Millan <rmh@aybabtu.com>
29521
29522 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29523 backward-incompatible features.
29524
29525 Based on patch from Javier Martín, with some adjustments.
29526
50fb7002 295272009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29528
29529 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29530
0bb5115e 295312009-02-07 Robert Millan <rmh@aybabtu.com>
29532
29533 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29534 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29535 after the RAID stuff.
29536
38a0f8e7 295372009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29538
50fb7002 29539 Fixes problem when running vbetest command as reported by
38a0f8e7 29540 Vladimir Serbinenko <phcoder@gmail.com>.
29541
29542 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29543
3143cc1c 295442009-02-04 Felix Zielcke <fzielcke@z-51.de>
29545
29546 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29547 /dev/md/NpN style mdraid devices.
29548
9cba6fce 295492009-02-03 Felix Zielcke <fzielcke@z-51.de>
29550
29551 * util/unifont2pff.rb: Remove.
29552
e507a2c1 295532009-02-03 Felix Zielcke <fzielcke@z-51.de>
29554
29555 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29556 `#'.
29557
d2c2b4cd 295582009-02-03 Felix Zielcke <fzielcke@z-51.de>
29559
29560 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29561 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29562 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29563 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29565 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29567
b4315fb0 295682009-02-02 Christian Franke <franke@computer.org>
29569
29570 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29571
de3aa260 295722009-02-01 Felix Zielcke <fzielcke@z-51.de>
29573
7c3ff286 29574 * INSTALL: Note that we now require at least autoconf 2.59 and
29575 that LZO is optional.
de3aa260 29576
825a182b 295772009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29578
29579 Base on patch on bug #24154 created by Tomas Tintera
29580 <trosos@seznam.cz>.
29581
29582 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29583
a69ef770 295842009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29585
7c3ff286 29586 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29587 <bero@arklinux.org>.
29588
29589 * normal/parser.y (script_init): Add missing semicolon.
29590
6fa42fa6 295912009-01-31 Colin D Bennett <colin@gibibit.com>
29592
7c3ff286 29593 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29594 (free_menu_entry_classes): Added.
29595 (grub_normal_menu_addentry): Added class property handling.
29596 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29597 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29598
29599 * normal/menu_viewer.c: New file.
29600
29601 * normal/menu.c (run_menu_entry): Renamed to ...
29602 (grub_menu_execute_entry): ... this and made it as global.
29603 (grub_menu_run): Renamed to ...
29604 (show_text_menu): ... this and made it local.
29605 (show_text_menu): Adapt to new function names.
29606 (grub_normal_terminal_menu_viewer): New global variable.
29607
29608 * include/grub/menu.h: New file.
29609
29610 * include/grub/menu_viewer.h: New file.
29611
29612 * include/grub/normal.h: Added include to grub/menu.h.
29613 (grub_menu_entry): Moved to include/grub/menu.h.
29614 (grub_menu_entry_t): Likewise.
29615 (grub_menu): Likewise.
29616 (grub_menu_t): Likewise.
29617 (grub_normal_terminal_menu_viewer): Added.
29618 (grub_menu_execute_entry): Likewise.
29619 (grub_menu_run): Removed.
29620
29621 * DISTLIST: Added include/grub/menu.h.
29622 Added include/grub/menu_viewer.h.
29623 Added normal/menu_viewer.c.
29624
296252009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29626
29627 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29628 arglist for menutitle arguments.
29629
29630 * normal/main.c (grub_normal_menu_addentry): Likewise.
29631
29632 * normal/parser.y (menuentry): Likewise.
29633
29634 * normal/script.c (grub_script_create_cmdmenu): Likewise.
29635
29636 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
29637 (grub_script_create_cmdmenu): Likewise.
29638
29639 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
29640
29641 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
29642 changes.
29643
29644 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
29645
29646 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
29647
29648 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
29649
29650 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29651
29652 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29653
29654 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29655
56192c23 296562009-01-30 Christian Franke <franke@computer.org>
29657
29658 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
29659 in option help text.
29660
d72521b3 296612009-01-27 Pavel Roskin <proski@gnu.org>
29662
29663 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
29664
994b5e84 296652009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29666
29667 * commands/lsmmap.c: Add include to grub/machine/memory.h.
29668
29669 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
29670
29671 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
29672 unregister function.
29673
6a7eab2c 296742009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29675
29676 * disk/scsi.c (grub_scsi_read): Fix sign problem.
29677
29678 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
29679
29680 * util/grub-mkfont.c (usage): Fix typo.
29681
29682 * util/elf/grub-mkimage.c (load_modules): Fix warning.
29683
1806b56e 296842009-01-26 Daniel Mierswa <impulze@impulze.org>
29685
3fb18f09 29686 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
29687
336e1fb9 29688 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
29689
1806b56e 29690 * kern/misc.c (grub_strcasecmp): New function.
29691 (grub_strcasecmp): Use grub_size_t instead of int for length.
29692 Fix return value.
29693 * include/grub/misc.h: Update function prototypes.
29694
580b2a0f 296952009-01-26 Robert Millan <rmh@aybabtu.com>
29696
29697 * configure.ac: Fix cross-compilation check.
ef257b36 29698
d31c24f1 296992009-01-22 Christian Franke <franke@computer.org>
29700
29701 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
29702 (precision) digit string. Allow `.format2' without `format1' (width).
29703 Limit input chars for `%s' output to `format2' if specified. This is
29704 compatible with standard printf ().
29705
3138b44c 297062009-01-22 Christian Franke <franke@computer.org>
29707
29708 * disk/ata.c (grub_ata_wait_status): Replace by ...
29709 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
29710 other status bits may be invalid while BSY is asserted.
29711 (grub_ata_check_ready): New function.
29712 (grub_ata_cmd): Removed.
29713 (grub_ata_wait_drq): New function.
29714 (grub_ata_strncpy): Remove inline.
29715 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
29716 and error check now done by grub_ata_wait_drq ().
29717 (grub_ata_pio_write): Likewise.
29718 (grub_atapi_identify): Set DEV before check for !BSY. Use
29719 grub_ata_wait_drq () to wait for data.
29720 (grub_ata_device_initialize): Add status register check to
29721 detect missing SATA slave devices. Add debug messages.
29722 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
29723 (grub_atapi_packet): Set DEV before check for !BSY. Replace
29724 transfer loop by grub_ata_pio_write ().
29725 (grub_ata_identify): Set DEV before check for !BSY. Use
29726 grub_ata_wait_drq () to wait for data.
ef257b36 29727 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 29728 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
29729 read/write in one loop. Fix invalid command on write. Fix incomplete
29730 command on (size % batch) == 0. Add missing error check after write of
29731 last block. Add debug messages.
29732 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
29733
59a64ef6 297342009-01-19 Christian Franke <franke@computer.org>
29735
29736 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
29737 (GRUB_ATAPI_IREASON_*): Likewise.
29738 (grub_ata_pio_write): Fix timeout error return.
29739 (grub_atapi_identify): Add grub_ata_wait () after cmd.
29740 (grub_atapi_wait_drq): New function.
29741 (grub_atapi_packet): New parameter `size'.
29742 Use grub_atapi_wait_drq () and direct write instead of
29743 grub_ata_pio_write ().
29744 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
29745 reads the number of bytes requested by the device for each DRQ
29746 assertion.
29747 (grub_atapi_write): Remove old implementation, return not
29748 implemented instead.
29749
1cfe20b3 297502009-01-19 Christian Franke <franke@computer.org>
29751
29752 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
29753 of 512 to calculate data size.
29754 (grub_scsi_read12): Likewise.
29755 (grub_scsi_write10): Likewise.
29756 (grub_scsi_write12): Likewise.
29757 (grub_scsi_read): Adjust size according to blocksize.
29758 Add checks for invalid blocksize and unaligned transfer.
29759
bee5fe5d 297602009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
29761
29762 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
29763
ef257b36 29764 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 29765 width glyphs.
29766
3e643f8c 297672009-01-19 Robert Millan <rmh@aybabtu.com>
29768
29769 * config.guess: Update to latest version from config git.
29770 * config.sub: Likewise.
29771
4fa80998 297722009-01-17 Felix Zielcke <fzielcke@z-51.de>
29773
29774 * Makefile.in: Change font compilation to use new grub-mkfont instead
29775 of java version.
29776
29777 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
29778 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
29779 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29780 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29781 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
29782 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
29783 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
29784 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
29785 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29786
7086085b 297872009-01-16 Christian Franke <franke@computer.org>
29788
29789 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
29790 (enum grub_ata_timeout_milliseconds): New enum.
29791 (grub_ata_wait_status): Add parameter milliseconds.
29792 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
29793 recovery from timed-out commands.
29794 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
29795 return grub_errno instead of REG_ERROR.
29796 (grub_ata_pio_write): Add parameter milliseconds.
29797 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
29798 Pass milliseconds to grub_ata_wait_status () and
29799 grub_ata_pio_read ().
29800 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
29801 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
29802 grub_ata_wait_status (). Fix IDENTIFY timeout check.
29803 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
29804 It is not suitable for device detection, because DEV bit is ignored,
29805 the command may run too long, and not all devices set the signature
29806 properly.
29807 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
29808 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
29809 Fix device selection, DEV bit must be set first to address the registers
29810 of the correct device.
29811 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
29812 grub_ata_pio_read/write ().
29813 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
29814 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
29815
4a412913 298162009-01-13 Carles Pina i Estany <carles@pina.cat>
29817
29818 * util/grub-editenv.c (main): Use fseeko(), not fseek().
29819
7795c55e 298202009-01-13 Bean <bean123ch@gmail.com>
d913988c 29821
29822 * util/grub-mkfont.c (write_font): forget to remove some debug code.
29823
7795c55e 298242009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 29825
29826 * Makefile.in: (enable_grub_mkfont): New variable.
29827 (freetype_cflags): Likewise.
29828 (freetype_libs): Likewise.
29829
29830 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
29831 (grub_mkfont_SOURCES): New variable.
29832 (grub_mkfont_CFLAGS): Likewise.
29833 (grub_mkfont_LDFLAGS): Likewise.
29834
29835 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
29836 library if `--enable-grub-mkfont' is requested.
29837 (enable_grub_mkfont): New variable.
29838 (freetype_cflags): Likewise.
29839 (freetype_libs): Likewise.
29840
29841 * util/grub-mkfont.c: New file.
29842
093af1fe 298432009-01-12 Christian Franke <franke@computer.org>
29844
29845 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
29846 mode check. Fix setting of compat_use[].
29847
f36cc108 298482009-01-10 Robert Millan <rmh@aybabtu.com>
29849
29850 Update a few copyright years which we forgot to do in 2008 (only for
29851 files whose changes made in 2008 were copyright-significant)
29852
29853 * Makefile.in: Add 2008 to Copyright line.
29854 * disk/ieee1275/ofdisk.c: Likewise.
29855 * disk/efi/efidisk.c: Likewise.
29856 * kern/dl.c: Likewise.
29857 * kern/sparc64/ieee1275/init.c: Likewise.
29858 * kern/mm.c: Likewise.
29859 * kern/efi/mm.c: Likewise.
29860 * boot/i386/pc/boot.S: Likewise.
29861 * genfslist.sh: Likewise.
29862 * fs/iso9660.c: Likewise.
29863 * fs/hfs.c: Likewise.
29864 * fs/jfs.c: Likewise.
29865 * fs/minix.c: Likewise.
29866 * fs/ufs.c: Likewise.
29867 * gensymlist.sh.in: Likewise.
29868 * genkernsyms.sh.in: Likewise.
29869 * include/grub/misc.h: Likewise.
29870 * include/grub/types.h: Likewise.
29871 * include/grub/symbol.h: Likewise.
29872 * include/grub/elf.h: Likewise.
29873 * include/grub/kernel.h: Likewise.
29874 * include/grub/disk.h: Likewise.
29875 * include/grub/dl.h: Likewise.
29876 * include/grub/i386/linux.h: Likewise.
29877 * include/grub/i386/pc/biosdisk.h: Likewise.
29878 * include/grub/efi/api.h: Likewise.
29879 * include/grub/efi/pe32.h: Likewise.
29880 * include/grub/util/misc.h: Likewise.
29881 * normal/execute.c: Likewise.
29882 * normal/arg.c: Likewise.
29883 * normal/completion.c: Likewise.
29884 * normal/lexer.c: Likewise.
29885 * normal/parser.y: Likewise.
29886 * normal/misc.c: Likewise.
29887 * commands/i386/pc/vbeinfo.c: Likewise.
29888 * commands/hexdump.c: Likewise.
29889 * commands/terminal.c: Likewise.
29890 * commands/ls.c: Likewise.
29891 * commands/help.c: Likewise.
29892 * partmap/pc.c: Likewise.
29893 * loader/efi/chainloader.c: Likewise.
29894 * loader/multiboot_loader.c: Likewise.
29895 * loader/i386/pc/multiboot2.c: Likewise.
29896 * term/efi/console.c: Likewise.
29897 * term/i386/pc/serial.c: Likewise.
29898 * util/lvm.c: Likewise.
29899 * util/console.c: Likewise.
29900 * util/i386/efi/grub-mkimage.c: Likewise.
29901 * util/raid.c: Likewise.
29902
7f02114b 299032009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
29904
29905 * commands/videotest.c: Removed include to grub/machine/memory.h.
29906
29907 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
29908 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
29909 (video_mod_SOURCES): Removed.
29910 (video_mod_CFLAGS): Likewise.
29911 (video_mod_LDFLAGS): Likewise.
29912 (gfxterm_mod_SOURCES): Likewise.
29913 (gfxterm_mod_CFLAGS): Likewise.
29914 (gfxterm_mod_LDFLAGS): Likewise.
29915 (videotest_mod_SOURCES): Likewise.
29916 (videotest_mod_CFLAGS): Likewise.
29917 (videotest_mod_LDFLAGS): Likewise.
29918 (bitmap_mod_SOURCES): Likewise.
29919 (bitmap_mod_CFLAGS): Likewise.
29920 (bitmap_mod_LDFLAGS): Likewise.
29921 (tga_mod_SOURCES): Likewise.
29922 (tga_mod_CFLAGS): Likewise.
29923 (tga_mod_LDFLAGS): Likewise.
29924 (jpeg_mod_SOURCES): Likewise.
29925 (jpeg_mod_CFLAGS): Likewise.
29926 (jpeg_mod_LDFLAGS): Likewise.
29927 (png_mod_SOURCES): Likewise.
29928 (png_mod_CFLAGS): Likewise.
29929 (png_mod_LDFLAGS): Likewise.
29930
29931 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
29932 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
29933 (video_mod_SOURCES): Added.
29934 (video_mod_CFLAGS): Likewise.
29935 (video_mod_LDFLAGS): Likewise.
29936 (videotest_mod_SOURCES): Likewise.
29937 (videotest_mod_CFLAGS): Likewise.
29938 (videotest_mod_LDFLAGS): Likewise.
29939 (bitmap_mod_SOURCES): Likewise.
29940 (bitmap_mod_CFLAGS): Likewise.
29941 (bitmap_mod_LDFLAGS): Likewise.
29942 (tga_mod_SOURCES): Likewise.
29943 (tga_mod_CFLAGS): Likewise.
29944 (tga_mod_LDFLAGS): Likewise.
29945 (jpeg_mod_SOURCES): Likewise.
29946 (jpeg_mod_CFLAGS): Likewise.
29947 (jpeg_mod_LDFLAGS): Likewise.
29948 (png_mod_SOURCES): Likewise.
29949 (png_mod_CFLAGS): Likewise.
29950 (png_mod_LDFLAGS): Likewise.
29951 (gfxterm_mod_SOURCES): Likewise.
29952 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 29953 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 29954
29955 * term/gfxterm.c: Removed include to grub/machine/memory.h,
29956 grub/machine/console.h.
29957
644fff97 299582009-01-04 Jerone Young <jerone@gmail.com>
29959
29960 Make on screen instructions clearer
29961
29962 Based on patch created by Jidanni <jidanni@jidanni.org>
29963
29964 * normal/menu.c: print clearer instructions on the screen
29965
1e901a75 299662009-01-02 Colin D Bennett <colin@gibibit.com>
29967
29968 New font engine.
34c44600 29969
1e901a75 29970 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
29971 build system and fixed gfxterm.c to work with different sized fonts.
29972
29973 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 29974
1e901a75 29975 * configure: Re-generated.
34c44600 29976
1e901a75 29977 * DISTLIST: Removed font/manager.c.
29978 Added font/font.c.
29979 Added font/font_cmd.c.
34c44600 29980
1e901a75 29981 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
29982 compilation.
34c44600 29983
1e901a75 29984 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 29985
29986 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 29987
29988 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 29989
1e901a75 29990 * normal/menu.c: Likewise.
34c44600 29991
1e901a75 29992 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
29993 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 29994
1e901a75 29995 * include/grub/font.h: Replaced with new file.
34c44600 29996
1e901a75 29997 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
29998 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
29999 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30000 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30001 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30002 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30003 fg_red, fg_green, fg_blue, fg_alpha.
30004 (grub_video_adapter): Removed blit_glyph.
34c44600 30005 (grub_video_blit_glyph): Removed.
30006
1e901a75 30007 * font/manager.c: Removed file.
34c44600 30008
30009 * font/font.c: New file.
30010
1e901a75 30011 * font/font_cmd.c: Likewise.
34c44600 30012
1e901a75 30013 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30014
1e901a75 30015 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30016 (grub_video_vbe_map_rgba): Likewise.
30017 (grub_video_vbe_unmap_color_int): Likewise.
30018 (grub_video_vbe_blit_glyph): Removed.
30019 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30020
1e901a75 30021 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30022 (get_pixel): Likewise.
34c44600 30023 (set_pixel): Likewise.
30024
1e901a75 30025 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30026
1e901a75 30027 * term/gfxterm.c: Adapted to new font engine.
34c44600 30028
1e901a75 30029 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30030
1e901a75 30031 * term/i386/pc/vga.c: Likewise.
34c44600 30032
1e901a75 30033 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30034
1e901a75 30035 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30036
1e901a75 30037 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30038
1e901a75 30039 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30040
1e901a75 30041 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30042
1e901a75 30043 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30044
1e901a75 30045 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30046
1e901a75 30047 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30048
1e901a75 30049 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30050
30051 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30052
1e901a75 30053 * util/grub-mkconfig_lib.in: Changed font extension.
30054
278922e8 300552008-12-28 Felix Zielcke <fzielcke@z-51.de>
30056
30057 * util/getroot.c (grub_util_get_grub_dev): Add support for
30058 /dev/md/dNNpNN style partitionable mdraid devices.
30059
3ced05cf 300602008-12-12 Alex Smith <alex@alex-smith.me.uk>
30061
30062 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30063 at a time limit of the PXE TFTP API correctly.
30064 (grub_pxefs_close): Likewise.
30065
7fd0ee30 300662008-11-29 Robert Millan <rmh@aybabtu.com>
30067
34c44600 30068 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30069 grub_ata_device_initialize() calls.
30070
34c44600 300712008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30072
30073 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30074 iteration failed.
30075 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30076
89313780 300772008-11-28 Robert Millan <rmh@aybabtu.com>
30078
30079 Fix build on powerpc-ieee1275. Based on patch created by
30080 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30081 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30082 `kern/ieee1275/mmap.c'.
30083 * include/grub/powerpc/ieee1275/memory.h: New file.
30084
15257703 30085 Provide grub-install on coreboot.
30086 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30087 (grub_install_SOURCES): New variable.
30088 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30089 usable on coreboot.
30090
9fc5388a 300912008-11-25 Felix Zielcke <fzielcke@z-51.de>
30092
30093 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30094 to `grub_term_input_t'.
30095 (grub_term_get_current_output): Change return type to
30096 `grub_term_output_t'.
30097
bc3a2f31 300982008-11-22 Robert Millan <rmh@aybabtu.com>
30099
34c44600 30100 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30101 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30102 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30103 grub_vga_text_cls().
30104
80fc88f2 30105 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30106 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30107
cbf36fd3 30108 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30109 to 0x200000 (avoids trouble with some OFW implementations, and matches
30110 with the one in Yaboot).
30111 Reported by Manoel Abranches
30112
73e8e268 301132008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30114
30115 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30116 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30117
73e8e268 30118 * util/grub-mkconfig_lib.in (grub_warn): New function.
30119 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30120 warnings, to obtain consistent formatting.
30121 * util/grub.d/00_header.in: Likewise.
30122 * util/update-grub_lib.in: Likewise.
30123
e94045a1 30124 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30125 Move comment text to `#error' stanza.
e94045a1 30126
79d29fd7 30127 Harmonize ieee1275's grub_available_iterate() with the generic
30128 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30129 build problem on i386-ieee1275):
30130 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30131 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30132 parameter `type'. Update all users of this function.
30133 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30134 `kern/ieee1275/mmap.c'.
30135 * kern/ieee1275/init.c
30136 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30137 with ...
30138 (grub_machine_mmap_iterate): ... this.
30139 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30140 return type to `grub_err_t'. Update all implementations of this
30141 function prototype.
30142 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30143 Likewise.
30144
60d6b16e 30145 Add `lsmmap' command (lists firmware-provided memory map):
30146 * commands/lsmmap.c: New file.
30147 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30148 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30149 variables.
30150 * conf/powerpc-ieee1275.rmk: Likewise.
30151 * conf/i386-coreboot.rmk: Likewise.
30152 * conf/i386-ieee1275.rmk: Likewise.
30153
ebaaf49b 301542008-11-19 Robert Millan <rmh@aybabtu.com>
30155
30156 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30157 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30158 constraints to initrd allocation (based on code from
30159 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30160 for Linux to find it.
ebaaf49b 30161
dfab719f 301622008-11-14 Robert Millan <rmh@aybabtu.com>
30163
30164 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30165 order to cope with duplicate slashes.
30166
10fc3eb9 301672008-11-14 Robert Millan <rmh@aybabtu.com>
30168
30169 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30170 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30171 don't want to mess with lower memory, because it is used in the Linux
30172 loader.
30173
30174 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30175 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30176 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30177 is in our heap (probably as a result of it being corrupted during
2f2a3442 30178 decompression). Add #error instance with comment to explain why this
30179 loader isn't currently usable on PC/BIOS.
10fc3eb9 30180
e2e07847 301812008-11-14 Robert Millan <rmh@aybabtu.com>
30182
30183 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30184 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30185
fe8e8d69 301862008-11-12 Robert Millan <rmh@aybabtu.com>
30187
30188 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30189
30190 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30191 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30192 from here ...
30193 * include/grub/i386/pc/memory.h: ... to here.
30194
976b07d0 301952008-11-12 Robert Millan <rmh@aybabtu.com>
30196
30197 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30198 split).
30199
30200 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30201 (grub_console_cur_color, grub_console_real_putchar)
30202 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30203 (grub_console_setcolorstate, grub_console_setcolor)
30204 (grub_console_getcolor): Move from here ...
30205 * include/grub/i386/vga_common.h: ... to here (new file).
30206
30207 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30208 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30209 `<grub/i386/io.h>'.
30210 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30211 `<grub/i386/vga_common.h>'.
30212
76679cd3 302132008-11-12 Robert Millan <rmh@aybabtu.com>
30214
30215 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30216 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30217 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30218 variables.
30219 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30220 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30221
30222 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30223 grub_console_init() with call to grub_vga_text_init().
30224 (grub_machine_fini): Replace call to
30225 grub_console_fini() with call to grub_vga_text_fini() and
30226 grub_at_keyboard_fini().
30227
30228 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30229 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30230 (grub_console_setcolorstate, grub_console_setcolor)
30231 (grub_console_getcolor): New function prototypes.
30232
30233 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30234 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30235 (grub_vga_text_setcursor): Static-ize.
30236 (grub_vga_text_term): New structure.
30237 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30238
30239 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30240 (grub_console_cur_color, grub_console_standard_color)
30241 (grub_console_normal_color, grub_console_highlight_color)
30242 (map_char, grub_console_putchar, grub_console_getcharwidth)
30243 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30244 (grub_console_getcolor): Move from here ...
30245 * term/i386/vga_common.c: ... to here (same function names).
30246
95b841d3 302472008-11-12 Robert Millan <rmh@aybabtu.com>
30248
30249 Use newly-added Multiboot support in coreboot.
30250
30251 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30252 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30253
30254 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30255 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30256 (codestart): Store the MBI in `startup_multiboot_info' when we're
30257 being loaded using Multiboot.
30258
30259 * kern/i386/coreboot/init.c (grub_machine_init): Move
30260 grub_at_keyboard_init() call to beginning of function (useful for
30261 debugging). Call grub_machine_mmap_init() before attempting to use
30262 grub_machine_mmap_iterate().
30263 (grub_lower_mem, grub_upper_mem): Move from here ...
30264 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30265 here (new file).
30266
30267 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30268 function prototype.
30269
761ca975 302702008-11-12 Robert Millan <rmh@aybabtu.com>
30271
30272 Fix a regression introduced by the at_keyboard.mod split. Because
30273 some terminals are default on some platforms and non-default on
30274 others, the first terminal being registered determines which is
30275 going to be default.
30276
30277 * kern/term.c (grub_term_register_input): If this is the first
30278 terminal being registered, set it as the current one.
30279 (grub_term_register_output): Likewise.
30280
30281 * term/efi/console.c (grub_console_init): Do not call
30282 grub_term_set_current_output() or grub_term_set_current_input().
30283 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30284 * term/i386/pc/console.c (grub_console_init): Likewise.
30285 (grub_console_fini): Do not call grub_term_set_current_input()
30286 (but leave grub_term_set_current_output() to restore text mode).
30287
6c529df7 302882008-11-10 Robert Millan <rmh@aybabtu.com>
30289
30290 * util/grub.d/00_header.in: Add backward compatibility check for
30291 versions of terminal.mod that don't understand `terminal_input' or
30292 `terminal_output'.
30293
132e4113 302942008-11-09 Robert Millan <rmh@aybabtu.com>
30295
30296 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30297 `terminal_input' / `terminal_output', not `terminal'.
30298
ac293d50 302992008-11-08 Robert Millan <rmh@aybabtu.com>
30300
30301 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30302 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30303
0025933a 303042008-11-08 Robert Millan <rmh@aybabtu.com>
30305
30306 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30307 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30308 members. Update all users.
30309 * util/console.c (grub_ncurses_term): Split in ...
30310 (grub_ncurses_term_input): ... this, and ...
30311 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30312 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30313
37c86336 303142008-11-08 Robert Millan <rmh@aybabtu.com>
30315
30316 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30317 (PKGDATA): Add $(pkgdata_SRCDIR).
30318 (pkglib_BUILDDIR): New variable.
30319 (pkgdata_SRCDIR): New variable.
30320 (build_env.mk): New target.
30321 (include_DATA): New variable.
30322 (install-local): Install $(include_DATA) files in $(includedir).
30323
b6c15a2d 303242008-11-07 Pavel Roskin <proski@gnu.org>
30325
d99d46f1 30326 * gendistlist.sh: Use C locale for sorting to ensure consistent
30327 output on all systems.
30328
b6c15a2d 30329 * util/grub.d/00_header.in: Remove incorrect space before
30330 "serial".
30331
c32ee8c9 303322008-11-07 Robert Millan <rmh@aybabtu.com>
30333
30334 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30335 per specification.
30336 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30337 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30338 (based on find_multi_boot1_header).
30339 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30340 using find_multi_boot2_header(), and abort if neither Multiboot or
30341 Multiboot headers were found.
30342
651c29b7 303432008-11-07 Robert Millan <rmh@aybabtu.com>
30344
30345 Modularize at_keyboard.mod:
30346
30347 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30348 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30349 (at_keyboard_mod_LDFLAGS): New variables.
30350
30351 Actual terminal split:
30352
30353 * include/grub/term.h (struct grub_term): Split in ...
30354 (struct grub_term_input): ... this, and ...
30355 (struct grub_term_output): ... this. Update all users.
30356 (grub_term_set_current): Split in ...
30357 (grub_term_set_current_input): ... this, and ...
30358 (grub_term_set_current_output): ... this.
30359 (grub_term_get_current): Split in ...
30360 (grub_term_get_current_input): ... this, and ...
30361 (grub_term_get_current_output): ... this.
30362 (grub_term_register): Split in ...
30363 (grub_term_register_input): ... this, and ...
30364 (grub_term_register_output): ... this.
30365 (grub_term_unregister): Split in ...
30366 (grub_term_unregister_input): ... this, and ...
30367 (grub_term_unregister_output): ... this.
30368 (grub_term_iterate): Split in ...
30369 (grub_term_iterate_input): ... this, and ...
30370 (grub_term_iterate_output): ... this.
30371
30372 * kern/term.c (grub_term_list): Split in ...
30373 (grub_term_list_input): ... this, and ...
30374 (grub_term_list_output): ... this. Update all users.
30375 (grub_cur_term): Split in ...
30376 (grub_cur_term_input): ... this, and ...
30377 (grub_cur_term_output): ... this. Update all users.
30378 (grub_term_set_current): Split in ...
30379 (grub_term_set_current_input): ... this, and ...
30380 (grub_term_set_current_output): ... this.
30381 (grub_term_get_current): Split in ...
30382 (grub_term_get_current_input): ... this, and ...
30383 (grub_term_get_current_output): ... this.
30384 (grub_term_register): Split in ...
30385 (grub_term_register_input): ... this, and ...
30386 (grub_term_register_output): ... this.
30387 (grub_term_unregister): Split in ...
30388 (grub_term_unregister_input): ... this, and ...
30389 (grub_term_unregister_output): ... this.
30390 (grub_term_iterate): Split in ...
30391 (grub_term_iterate_input): ... this, and ...
30392 (grub_term_iterate_output): ... this.
30393
30394 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30395 a check for input and one for output (and only attempt to get keys
30396 from user when input works).
30397
30398 * util/grub-probe.c (grub_term_get_current): Split in ...
30399 (grub_term_get_current_input): ... this, and ...
30400 (grub_term_get_current_output): ... this.
30401 * util/grub-fstest.c: Likewise.
30402 * util/i386/pc/grub-setup.c: Likewise.
30403 * util/grub-editenv.c: Likewise.
30404
30405 Portability adjustments:
30406
30407 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30408 `term/i386/pc/at_keyboard.c'.
30409 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30410 grub_keyboard_controller_init() (now handled by terminal .init).
30411 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30412 grub_at_keyboard_init().
30413 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30414 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30415 at_keyboard.mod via input terminal interface).
30416 * include/grub/i386/coreboot/console.h: Convert into a stub for
30417 `<grub/i386/pc/console.h>'.
30418
30419 Migrate full terminals to new API:
30420
30421 * term/efi/console.c (grub_console_term): Split into ...
30422 (grub_console_term_input): ... this, and ...
30423 (grub_console_term_output): ... this. Update all users.
30424 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30425 (grub_ofconsole_init): Split into ...
30426 (grub_ofconsole_init_input): ... this, and ...
30427 (grub_ofconsole_init_output): ... this.
30428 (grub_ofconsole_term): Split into ...
30429 (grub_ofconsole_term_input): ... this, and ...
30430 (grub_ofconsole_term_output): ... this. Update all users.
30431 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30432 (grub_serial_term_input): ... this, and ...
30433 (grub_serial_term_output): ... this. Update all users.
30434 * term/i386/pc/console.c (grub_console_term): Split into ...
30435 (grub_console_term_input): ... this, and ...
30436 (grub_console_term_output): ... this. Update all users.
30437 (grub_console_term_input): Only enable it on PC/BIOS platform.
30438 (grub_console_init): Remove grub_keyboard_controller_init() call.
30439
30440 Migrate input terminals to new API:
30441
30442 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30443 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30444 i386-specific anyway).
30445 (grub_console_checkkey): Rename to ...
30446 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30447 users.
30448 (grub_keyboard_controller_orig): New variable.
30449 (grub_console_getkey): Rename to ...
30450 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30451 users.
30452 (grub_keyboard_controller_init): Static-ize. Save original
30453 controller value so that it can be restored ...
30454 (grub_keyboard_controller_fini): ... here (new function).
30455 (grub_at_keyboard_term): New structure.
30456 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30457 functions.
30458
30459 Migrate output terminals to new API:
30460
30461 * term/i386/pc/vga.c (grub_vga_term): Change type to
30462 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30463 members. Update all users.
30464 * term/gfxterm.c (grub_video_term): Change type to
30465 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30466 members. Update all users.
30467 * include/grub/i386/pc/console.h (grub_console_checkkey)
30468 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30469 etc).
30470
30471 Migrate `terminal' command and userland tools to new API:
30472
30473 * commands/terminal.c (grub_cmd_terminal): Split into ...
30474 (grub_cmd_terminal_input): ... this, and ...
30475 (grub_cmd_terminal_output): ... this.
30476 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30477 `terminal_input' and `terminal_output'.
30478 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30479 `terminal_input' / `terminal_output' API.
30480 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30481 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30482 provided ${GRUB_TERMINAL}, convert it).
30483
96e5d876 304842008-11-04 Robert Millan <rmh@aybabtu.com>
30485
30486 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30487 for FreeBSD.
30488 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30489
556f3775 304902008-11-03 Bean <bean123ch@gmail.com>
30491
30492 * kern/elf.c (grub_elf32_load): Revert to previous code.
30493 (grub_elf64_load): Likewise.
30494
30495 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30496
926b9823 304972008-11-01 Robert Millan <rmh@aybabtu.com>
30498
30499 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30500 (TARGET_CPPFLAGS): Likewise.
30501 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30502
1432e958 305032008-11-01 Carles Pina i Estany <carles@pina.cat>
30504
30505 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30506
dba3f844 305072008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30508
30509 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30510 addition of objects until the code is not going to be able to fail.
30511
dba3f844 305122008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30513
30514 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30515 (add a missing NULL check, and correct them by moving the pointer
30516 operations after the actual check).
30517
7ab28c21 305182008-10-29 Robert Millan <rmh@aybabtu.com>
30519
30520 * util/i386/pc/grub-install.in: Handle empty string as output from
30521 make_system_path_relative_to_its_root().
30522
1b7748eb 305232008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30524
30525 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30526 circular metadata worst case scenario. If the metadata is circular
30527 then copy the wrap in place.
30528 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30529 project lib/format_text/layout.h
30530 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30531
c9618ab2 305322008-10-03 Felix Zielcke <fzielcke@z-51.de>
30533
7a36edca 30534 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30535
bf981c62 305362008-10-03 Felix Zielcke <fzielcke@z-51.de>
30537
30538 * util/update-grub_lib.in: Mention filename in warning message.
30539
6d994591 305402008-09-29 Felix Zielcke <fzielcke@z-51.de>
30541
30542 * NEWS: Update for rename of update-grub to grub-mkconfig.
30543
18ade780 305442008-09-29 Felix Zielcke <fzielcke@z-51.de>
30545
30546 * util/update-grub_lib.in: Copy to ...
30547 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30548 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30549 * util/update-grub.in: Rename to ...
30550 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30551 option. Add `--output' option to allow users to specify the generated
30552 configuration file. Default to stdout.
30553 (update_grub_dir): Rename to ...
30554 (grub_mkconfig_dir): ... this.
30555 (grub_cfg): Default to an empty string.
30556 * conf/common.rmk (update-grub): Rename to ...
30557 (grub-mkconfig): ... this.
30558 (update-grub_lib): Copy to ...
30559 (grub-mkconfig_lib): ... this.
30560 (update-grub_SCRIPTS): Copy to ...
30561 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30562 (update-grub_DATA): Rename to ...
30563 (grub-mkconfig_DATA): ... this.
30564
556ce6ac 305652008-09-28 Robert Millan <rmh@aybabtu.com>
30566
30567 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30568 to `modified'. Add the real `created' field.
30569 (grub_iso9660_uuid): Use `modified' rather than `created' for
30570 constructing the UUID.
30571
305722008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30573
30574 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30575 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30576
92274e85 305772008-09-28 Bean <bean123ch@gmail.com>
30578
30579 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30580 Thanks to Christian Franke for finding this bug.
30581
add6f17a 305822008-09-25 Robert Millan <rmh@aybabtu.com>
30583
30584 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30585 instances of grub_util_get_disk_name() (see previous commit).
30586
d2a367b8 305872008-09-25 Robert Millan <rmh@aybabtu.com>
30588
30589 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30590 `util/i386/get_disk_name.c'.
30591 * conf/i386-efi.rmk: Likewise.
30592 * conf/x86_64-efi.rmk: Likewise.
30593 * conf/i386-coreboot.rmk: Likewise.
30594 * conf/i386-ieee1275.rmk: Likewise.
30595 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30596 `util/ieee1275/get_disk_name.c'.
30597 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30598 * util/ieee1275/get_disk_name.c: Remove file.
30599 * util/i386/get_disk_name.c: Remove file.
30600 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30601 "hd%d" for device.map entries, rather than using
30602 grub_util_get_disk_name().
30603
81a06771 306042008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30605
30606 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30607 warning.
30608 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30609
5a004279 306102008-09-24 Carles Pina i Estany <carles@pina.cat>
30611
30612 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30613 Changed to 0x5100.
30614 (GRUB_TERM_PPAGE): Changed to 0x4900.
30615
397093d3 306162008-09-24 Robert Millan <rmh@aybabtu.com>
30617
30618 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30619 macros (they were i386-pc specific).
30620 * include/grub/sparc64/ieee1275/console.h: Likewise.
30621 * include/grub/efi/console.h: Likewise.
30622
a91b6c7c 306232008-09-22 Bean <bean123ch@gmail.com>
30624
30625 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30626 resident and in attribute list.
30627
30628 * include/grub/ntfs.h (BMP_LEN): Removed.
30629
c40fd116 306302008-09-22 Bean <bean123ch@gmail.com>
30631
81a06771 30632 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 30633 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
30634
30635 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
30636 error occurs, as grub_disk_open will call grub_disk_close, which will
30637 call p->close (scsi).
30638
81a06771 306392008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 30640
30641 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
30642 (AC_PREREQ): Bumped to 2.59.
30643 (AC_TRY_COMPILE): Replace obsolete macro with ...
30644 (AC_COMPILE_IFELSE): ... this.
30645 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
30646 (AC_LINK_IFELSE): ... this.
30647
5dc43410 306482008-09-21 Felix Zielcke <fzielcke@z-51.de>
30649
30650 * autogen.sh: Add a call to `gendistlist.sh'.
30651
9035dce4 306522008-09-19 Christian Franke <franke@computer.org>
30653
30654 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
30655 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
30656 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
30657 Export __enable_execute_stack() to modules.
30658 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
30659 New function.
30660
7fd75377 306612008-09-09 Felix Zielcke <fzielcke@z-51.de>
30662
040030b3 30663 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
30664 Sort the list.
30665
306662008-09-09 Felix Zielcke <fzielcke@z-51.de>
30667
30668 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 30669 #include <grub/util/hostdisk.h>.
30670
89d5ffcf 306712008-09-08 Robert Millan <rmh@aybabtu.com>
30672
30673 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
30674 segments when their filesz is zero (grub_file_read() interprets
81a06771 30675 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 30676 Use `lowest_segment' rather than 0 for calculating the current
30677 segment load address.
30678
40da438f 306792008-09-08 Robert Millan <rmh@aybabtu.com>
30680
30681 * util/hostdisk.c (open_device): Replace a grub_util_info() call
30682 with grub_dprintf("hostdisk", ...), as it was so verbose that it
30683 clobbered useful information.
30684
ddbf5556 306852008-09-08 Robert Millan <rmh@aybabtu.com>
30686
30687 * include/grub/util/biosdisk.h: Move to ...
30688 * include/grub/util/hostdisk.h: ... here. Update all users.
30689 * util/biosdisk.c: Move to ...
30690 * util/hostdisk.c: ... here. Update all users.
30691
783d0f48 306922008-09-07 Robert Millan <rmh@aybabtu.com>
30693
30694 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
30695 variables.
30696 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
30697 and length can be stored directly in the `mbi->mmap_addr' and
30698 `mbi->mmap_length' struct fields.
30699
548e2ea5 307002008-09-07 Robert Millan <rmh@aybabtu.com>
30701
30702 * conf/i386.rmk: New file. Provides declaration for building
30703 `cpuid.mod'.
30704 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
30705 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
30706 variables.
30707 Include `conf/i386.mk'.
30708 * conf/i386-efi.rmk: Likewise.
30709 * conf/x86_64-efi.rmk: Likewise.
30710 * conf/i386-coreboot.rmk: Likewise.
30711 * conf/i386-ieee1275.rmk: Likewise.
30712
0ea85a37 307132008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
30714
30715 Based on patch created by Colin D Bennett <colin@gibibit.com>.
30716 Adds optimization support for BGR based modes.
30717
30718 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
30719 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30720 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30721 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30722 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30723 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30724 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30725 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30726 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30727 (grub_video_i386_vbeblit_index_index): Likewise.
30728 (grub_video_i386_vbeblit_replace_directN): Added.
30729 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30730 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30731 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30732 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30733 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30734 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 30735 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 30736 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30737 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30738 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30739 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30740 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30741 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
30742
30743 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
30744 (grub_video_i386_vbefill_R8G8B8): Likewise.
30745 (grub_video_i386_vbefill_index): Likewise.
30746 (grub_video_i386_vbefill_direct32): Added.
30747 (grub_video_i386_vbefill_direct24): Likewise.
30748 (grub_video_i386_vbefill_direct16): Likewise.
30749 (grub_video_i386_vbefill_direct8): Likewise.
30750
81a06771 30751 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 30752 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
30753 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
30754 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
30755 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
30756 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 30757
0ea85a37 30758 * video/video.c (grub_video_get_blit_format): Updated to use new
30759 blit formats. Added handling for 16 bit color modes.
81a06771 30760
30761 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 30762 fillers.
30763 (common_blitter): Updated to use new blitters.
30764
30765 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
30766 Removed.
30767 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30768 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30769 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30770 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30771 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30772 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30773 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30774 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30775 (grub_video_i386_vbeblit_index_index): Likewise.
30776 (grub_video_i386_vbeblit_replace_directN): Added.
30777 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30778 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30779 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30780 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30781 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30782 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
30783 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
30784 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30785 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30786 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30787 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30788 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30789 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 30790
0ea85a37 30791 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
30792 (grub_video_i386_vbefill_R8G8B8): Likewise.
30793 (grub_video_i386_vbefill_index): Likewise.
30794 (grub_video_i386_vbefill_direct32): Added.
30795 (grub_video_i386_vbefill_direct24): Likewise.
30796 (grub_video_i386_vbefill_direct16): Likewise.
30797 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 30798
0ea85a37 30799 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
30800 types.
81a06771 30801
0ea85a37 30802 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
30803 types.
81a06771 30804
0ea85a37 30805 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
30806 blitter types.
81a06771 30807
0ea85a37 30808 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
30809 types.
30810
e8a83df6 308112008-09-06 Felix Zielcke <fzielcke@z-51.de>
30812
30813 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
30814 RAID level 1.
30815
6bcd8ee5 308162008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 30817
6bcd8ee5 30818 * fs/iso9660.c (grub_iso9660_date): New structure.
30819 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
30820 (grub_iso9660_uuid): New function.
c375ae58 30821
59261157 308222008-09-05 Bean <bean123ch@gmail.com>
30823
30824 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
30825
30826 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
30827 insensitive bit for names in Win32 and Win32 & DOS namespace.
30828
30829 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
30830
30831 * include/grub/types.h (LONG_MAX): Likewise.
30832
58b6645a 308332008-09-04 Felix Zielcke <fzielcke@z-51.de>
30834
4ee55921 30835 * util/getroot.c: Include <config.h>.
30836 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
30837 add support for /dev/md/N devices and handle LVM double dash escaping.
30838
308392008-09-04 Felix Zielcke <fzielcke@z-51.de>
30840
30841 * config.guess: Update to latest version from config git.
30842 * config.sub: Likewise.
58b6645a 30843
9124f65d 308442008-09-03 Robert Millan <rmh@aybabtu.com>
30845
30846 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
30847 `disk->total_sectors'.
30848
81a06771 308492008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 30850
30851 * include/grub/normal.h: Fixed incorrect comment for
30852 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
30853
81a06771 308542008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 30855
30856 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
30857 values with defines.
30858
30859 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
30860 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
30861 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
30862 (GRUB_VBE_MODEATTR_COLOR): Likewise.
30863 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
30864 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
30865 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
30866 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
30867 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
30868 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
30869 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
30870 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
30871 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
30872 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
30873 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
30874 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
30875 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
30876 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
30877 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
30878
93d5cbf8 308792008-08-31 Robert Millan <rmh@aybabtu.com>
30880
30881 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
30882 declaration.
30883 (grub_multiboot): Fix a few warnings.
30884
21751d50 308852008-08-31 Robert Millan <rmh@aybabtu.com>
30886
30887 * loader/i386/pc/multiboot.c: Update comment not to say that
30888 boot_device support is unimplemented.
30889
e27a75c5 308902008-08-31 Robert Millan <rmh@aybabtu.com>
30891
30892 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
30893 or memory map support are unimplemented.
30894
81a06771 308952008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 30896
30897 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
30898
81a06771 308992008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 30900
30901 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
30902 total video memory in 'vbeinfo' output; show color format details for
30903 each video mode.
30904
7c5d8d95 309052008-08-30 Pavel Roskin <proski@gnu.org>
30906
30907 * util/genmoddep.c: Remove for real this time.
30908 * DISTLIST: Remove util/genmoddep.c.
30909
4cebd25a 309102008-08-30 Robert Millan <rmh@aybabtu.com>
30911
30912 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
30913 as required by Multiboot spec (it was already 4-byte aligned, but
30914 only by chance).
30915
b497a269 309162008-08-29 Pavel Roskin <proski@gnu.org>
30917
e3925185 30918 * kern/powerpc/ieee1275/crt0.S: Rename to ...
30919 * kern/powerpc/ieee1275/startup.S: ... this.
30920 * conf/powerpc-ieee1275.rmk: Adjust for the above.
30921 * DISTLIST: Likewise.
30922
b497a269 30923 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
30924 grub/cpu/kernel.h. Add start label for consistency with other
30925 platforms. Add grub_prefix immediately after start. Add jump
30926 to the code after grub_prefix.
30927 * include/grub/powerpc/kernel.h: Provide valid values for
30928 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
30929
6e5a42fe 309302008-08-29 Bean <bean123ch@gmail.com>
30931
30932 * configure.ac: Change host_os to cygwin for mingw.
30933 (asprintf): New check for function.
30934
30935 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
30936 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
30937
30938 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 30939 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 30940 sync, sleep and grub_util_get_disk_size for mingw.
30941
30942 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
30943 to get size in mingw.
30944 (open_device): Use flag O_BINARY if it's defined.
30945 (find_root_device): Add dummy code for mingw.
30946
30947 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
30948 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
30949 (get_scsi_disk_name): Return 0 for mingw.
30950
30951 * util/hostfs.c: #include <grub/util/misc.h>.
30952 (grub_hostfs_open): Use "rb" flag to open file, use
30953 grub_util_get_disk_size to get disk size for mingw.
30954
30955 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
30956 (asprintf): New function if HAVE_ASPRINTF is not set.
30957 (sync): New function for mingw.
30958 (sleep): Likewise.
30959 (grub_util_get_disk_size): Likewise.
30960
ab3f2673 309612008-08-28 Pavel Roskin <proski@gnu.org>
30962
30963 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30964 kern/time.c.
30965
1c282483 309662008-08-28 Robert Millan <rmh@aybabtu.com>
30967
30968 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
30969
678e849c 309702008-08-28 Robert Millan <rmh@aybabtu.com>
30971
30972 Change find_grub_drive() syntax so it doesn't prevent it from
30973 detecting NULL names as errors.
30974
30975 * util/biosdisk.c (find_grub_drive): Move free slot search code
30976 from here ...
30977 (find_free_slot): ... to here.
30978 (read_device_map): Use find_free_slot() to search for free slots.
30979
965c75ca 309802008-08-27 Marco Gerards <marco@gnu.org>
30981
30982 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
30983 (scsi_mod_SOURCES): New variable.
30984 (scsi_mod_CFLAGS): Likewise
30985 (scsi_mod_LDFLAGS): Likewise.
30986
30987 * disk/scsi.c: New file.
30988
30989 * include/grub/scsi.h: Likewise.
30990
30991 * include/grub/scsicmd.h: Likewise.
30992
30993 * disk/ata.c: Include <grub/scsi.h>.
30994 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
30995 instead.
30996 (grub_ata_iterate): Skip ATAPI devices.
30997 (grub_ata_open): Only handle ATAPI devices.
30998 (struct grub_atapi_read): Removed.
30999 (grub_atapi_readsector): Likewise.
31000 (grub_ata_read): No longer handle ATAPI devices.
31001 (grub_ata_write): Likewise.
31002 (grub_atapi_iterate): New function.
31003 (grub_atapi_read): Likewise.
31004 (grub_atapi_write): Likewise.
31005 (grub_atapi_open): Likewise.
31006 (grub_atapi_close): Likewise.
31007 (grub_atapi_dev): New variable.
31008 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31009 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31010
31011 * include/grub/disk.h (enum grub_disk_dev_id): Add
31012 `GRUB_DISK_DEVICE_SCSI_ID'.
31013
c07ae501 310142008-08-26 Robert Millan <rmh@aybabtu.com>
31015
31016 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31017 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31018 descriptive.
31019
5ed20adc 310202008-08-23 Bean <bean123ch@gmail.com>
31021
31022 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31023 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31024 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31025 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31026 dm_nv.mod.
31027 (raid5rec_mod_SOURCES): New macro.
31028 (raid5rec_mod_CFLAGS): Likewise.
31029 (raid5rec_mod_LDFLAGS): Likewise.
31030 (raid6rec_mod_SOURCES): Likewise.
31031 (raid6rec_mod_CFLAGS): Likewise.
31032 (raid6rec_mod_LDFLAGS): Likewise.
31033 (mdraid_mod_SOURCES): Likewise.
31034 (mdraid_mod_CFLAGS): Likewise.
31035 (mdraid_mod_LDFLAGS): Likewise.
31036 (dm_nv_mod_SOURCES): Likewise.
31037 (dm_nv_mod_CFLAGS): Likewise.
31038 (dm_nv_mod_LDFLAGS): Likewise.
31039
31040 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31041 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31042 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31043
31044 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31045 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31046
31047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31048
31049 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31050
31051 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31052
31053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31054
31055 * disk/raid5_recover.c: New file.
31056
31057 * disk/raid6_recover.c: Likewise.
31058
31059 * disk/mdraid_linux.c: Likewise.
31060
31061 * disk/dmraid_nvidia.c: Likewise.
31062
31063 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31064 ULONG_MAX.
31065
31066 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31067 calculate the size of raid device.
31068 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31069 different layout of raid5.
31070 (grub_raid_scan_device): Remove code specific to mdraid.
31071 (grub_raid_list): New variable.
31072 (free_array): New function.
31073 (grub_raid_register): Likewise.
31074 (grub_raid_unregister): Likewise.
31075 (grub_raid_rescan): Likewise.
31076 (GRUB_MOD_INIT): Don't iterate device here.
31077 (GRUB_MOD_FINI): Use free_array to release resource.
31078
31079 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31080 (grub_raid5_recover_func_t): New function variable type.
31081 (grub_raid6_recover_func_t): Likewise.
31082 (grub_raid5_recover_func): New variable.
31083 (grub_raid6_recover_func): Likewise.
31084 (grub_raid_register): New function.
31085 (grub_raid_unregister): Likewise.
31086 (grub_raid_rescan): Likewise.
31087 (grub_raid_block_xor): Likewise.
31088
31089 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31090 (CMD_CRC): New macro.
31091 (part): Removed.
31092 (read_file): Handle device as well as file.
31093 (cmd_crc): New function.
31094 (fstest): Handle multiple disks.
31095 (options): Remove part, raw and long, add root and diskcount.
31096 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31097 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31098 add handling for the new options, support multiple disks.
31099
31100 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31101
29c18915 311022008-08-23 Bean <bean123ch@gmail.com>
31103
31104 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31105
31106 * genfslist.sh: Ignore kernel.mod.
31107
31108 * genpartmaplist.sh: Likewise.
31109
8415f261 311102008-08-23 Robert Millan <rmh@aybabtu.com>
31111
31112 * util/getroot.c (find_root_device): Skip anything that starts with
31113 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31114
d5a7dc5b 311152008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31116
d5a7dc5b 31117 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31118 * util/grub.d/00_header.in: Allow the administrator to change default
31119 gfxmode via ${GRUB_GFXMODE}.
31120
380cfbb4 311212008-08-21 Felix Zielcke <fzielcke@z-51.de>
31122
31123 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31124
c9baafe7 311252008-08-21 Robert Millan <rmh@aybabtu.com>
31126
31127 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31128 loader.
31129 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31130 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31131
e290bef2 311322008-08-20 Carles Pina i Estany <carles@pina.cat>
31133
31134 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31135 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31136
f9dbfc96 311372008-08-19 Robert Millan <rmh@aybabtu.com>
31138
31139 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31140 (struct grub_virtual_screen): Remove `cursor_color'.
31141 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31142 initialization.
31143 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31144
dd6bd6ab 311452008-08-18 Robert Millan <rmh@aybabtu.com>
31146
31147 Unify (identical) linux_normal.c files.
31148 * loader/i386/efi/linux_normal.c: Move from here ...
31149 * loader/linux_normal.c: ... to here. Update all users.
31150 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31151 * loader/i386/ieee1275/linux_normal.c: Likewise.
31152
7f42f83e 311532008-08-18 Robert Millan <rmh@aybabtu.com>
31154
31155 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31156 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31157 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31158 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31159 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31160 New macros.
31161 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31162 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31163 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31164 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31165 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31166 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31167 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31168 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31169 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31170 portably using grub_getxy().
31171 Replace `-EFI' with `-bzImage' in boot message.
31172
38487ddb 311732008-08-17 Robert Millan <rmh@aybabtu.com>
31174
31175 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31176
deceb3ec 311772008-08-17 Robert Millan <rmh@aybabtu.com>
31178
31179 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31180
31181 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31182 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31183 (grub_machine_mmap_iterate): New function declaration.
31184 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31185 structure.
31186 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31187 macros.
31188
31189 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31190 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31191 Move e820 parsing from here ...
31192 * kern/i386/pc/mmap.c: New file.
31193 (grub_machine_mmap_iterate): ... to here.
31194
31195 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31196 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31197 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31198 (grub_available_iterate): Redeclare to return `void', and redeclare
31199 its hook to use grub_uint64_t as addr and size parameters, and rename
31200 to ...
31201 (grub_machine_mmap_iterate): ... this. Update all users.
31202
31203 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31204 to make it more readable. Rename to ...
31205 (grub_machine_mmap_iterate): ... this.
31206
31207 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31208 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31209 (grub_multiboot): Allocate an extra region after the payload, and fill
31210 it with a Multiboot memory map. Adjust a.out loader to calculate size
31211 with the extra space.
31212 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31213 with the extra space.
31214
f8aa0f43 312152008-08-17 Carles Pina i Estany <carles@pina.cat>
31216
9807deb9 31217 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31218
605f5bb6 312192008-08-17 Felix Zielcke <fzielcke@z-51.de>
31220
31221 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31222 mdate-sh to the list `find' searches for.
31223 * DISTLIST: Regenerated.
31224
210db6c6 312252008-08-16 Felix Zielcke <fzielcke@z-51.de>
31226
31227 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31228 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31229 genmoddep.awk, gensymlist.sh.in.
31230 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31231 * DISTLIST: Regenerated.
48cdbfd4 31232 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31233
1082b929 312342008-08-16 Robert Millan <rmh@aybabtu.com>
31235
31236 * disk/raid.c (grub_raid_init): Handle/report errors set by
31237 grub_device_iterate().
31238 * disk/lvm.c (grub_lvm_init): Likewise.
31239
42ce5170 312402008-08-15 Bean <bean123ch@gmail.com>
31241
31242 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31243 and datehook.mod.
31244 (datetime_mod_SOURCES): New macro.
31245 (datetime_mod_CFLAGS): Likewise.
31246 (datetime_mod_LDFLAGS): Likewise.
31247 (date_mod_SOURCES): Likewise.
31248 (date_mod_CFLAGS): Likewise.
31249 (date_mod_LDFLAGS): Likewise.
31250 (datehook_mod_SOURCES): Likewise.
31251 (datehook_mod_CFLAGS): Likewise.
31252 (datehook_mod_LDFLAGS): Likewise.
31253
31254 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31255 and datehook.mod.
31256 (datetime_mod_SOURCES): New macro.
31257 (datetime_mod_CFLAGS): Likewise.
31258 (datetime_mod_LDFLAGS): Likewise.
31259 (date_mod_SOURCES): Likewise.
31260 (date_mod_CFLAGS): Likewise.
31261 (date_mod_LDFLAGS): Likewise.
31262 (datehook_mod_SOURCES): Likewise.
31263 (datehook_mod_CFLAGS): Likewise.
31264 (datehook_mod_LDFLAGS): Likewise.
31265
31266 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31267 and datehook.mod.
31268 (datetime_mod_SOURCES): New macro.
31269 (datetime_mod_CFLAGS): Likewise.
31270 (datetime_mod_LDFLAGS): Likewise.
31271 (date_mod_SOURCES): Likewise.
31272 (date_mod_CFLAGS): Likewise.
31273 (date_mod_LDFLAGS): Likewise.
31274 (datehook_mod_SOURCES): Likewise.
31275 (datehook_mod_CFLAGS): Likewise.
31276 (datehook_mod_LDFLAGS): Likewise.
31277
31278 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31279 and datehook.mod.
31280 (datetime_mod_SOURCES): New macro.
31281 (datetime_mod_CFLAGS): Likewise.
31282 (datetime_mod_LDFLAGS): Likewise.
31283 (date_mod_SOURCES): Likewise.
31284 (date_mod_CFLAGS): Likewise.
31285 (date_mod_LDFLAGS): Likewise.
31286 (datehook_mod_SOURCES): Likewise.
31287 (datehook_mod_CFLAGS): Likewise.
31288 (datehook_mod_LDFLAGS): Likewise.
31289
31290 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31291 and datehook.mod.
31292 (datetime_mod_SOURCES): New macro.
31293 (datetime_mod_CFLAGS): Likewise.
31294 (datetime_mod_LDFLAGS): Likewise.
31295 (date_mod_SOURCES): Likewise.
31296 (date_mod_CFLAGS): Likewise.
31297 (date_mod_LDFLAGS): Likewise.
31298 (datehook_mod_SOURCES): Likewise.
31299 (datehook_mod_CFLAGS): Likewise.
31300 (datehook_mod_LDFLAGS): Likewise.
31301
31302 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31303
31304 * commands/date.c: New file.
31305
31306 * hook/datehook.c: Likewise.
31307
31308 * include/grub/lib/datetime.h: Likewise.
31309
31310 * include/grub/i386/cmos.h: Likewise.
31311
31312 * lib/datetime.c: Likewise.
31313
31314 * lib/i386/datetime.c: Likewise.
31315
31316 * lib/efi/datetime.c: Likewise.
31317
0e9242da 313182008-08-14 Robert Millan <rmh@aybabtu.com>
31319
31320 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31321 (grub_mkelfimage_SOURCES): New variable.
31322 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31323
31324 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31325 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31326 * conf/powerpc-ieee1275.rmk: Likewise.
31327 * conf/i386-ieee1275.rmk: Likewise.
31328
31329 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31330 * kern/i386/coreboot/init.c: Likewise.
31331
31332 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31333 with `<grub/cpu/kernel.h>'.
31334 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31335 to ...
31336 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31337 * kern/i386/coreboot/startup.S: Likewise.
31338
31339 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31340 (GRUB_MOD_GAP): Remove.
31341 * include/grub/powerpc/kernel.h: New file.
31342 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31343 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31344 * include/grub/i386/kernel.h: New file.
31345 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31346 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31347 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31348
31349 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31350 `grub-mkelfimage'.
31351 Use --directory when invoking grub_mkimage.
31352
31353 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31354 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31355 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31356 and GRUB_KERNEL_CPU_PREFIX.
31357
b86408f8 313582008-08-14 Felix Zielcke <fzielcke@z-51.de>
31359
d5e619ca 31360 * include/grub/err.h (grub_err_printf): New function prototype.
31361 * util/misc.c (grub_err_printf): New function.
31362 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31363 grub_printf.
31364 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31365
7161f0e0 313662008-08-13 Robert Millan <rmh@aybabtu.com>
31367
31368 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31369
a1967522 313702008-08-13 Robert Millan <rmh@aybabtu.com>
31371
31372 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31373 boot entry.
31374
371458b5 313752008-08-12 Robert Millan <rmh@aybabtu.com>
31376
31377 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31378 of the relocation code from here ...
31379 (grub_multiboot): ... to here.
31380 (forward_relocator, backward_relocator): Move from here ...
31381 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31382 (grub_multiboot_backward_relocator): ... to here.
31383 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31384 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31385 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31386 (grub_multiboot_forward_relocator_end)
31387 (grub_multiboot_backward_relocator)
31388 (grub_multiboot_backward_relocator_end): New variables.
31389
05f9452b 313902008-08-12 Bean <bean123ch@gmail.com>
31391
31392 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31393
20024ab0 313942008-08-11 Robert Millan <rmh@aybabtu.com>
31395
31396 * kern/i386/linuxbios/startup.S: Move from here ...
31397 * kern/i386/coreboot/startup.S: ... to here.
31398
31399 * kern/i386/linuxbios/init.c: Move from here ...
31400 * kern/i386/coreboot/init.c: ... to here.
31401
31402 * kern/i386/linuxbios/table.c: Move from here ...
31403 * kern/i386/coreboot/mmap.c: ... to here.
31404
31405 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31406
e352e9cd 314072008-08-11 Robert Millan <rmh@aybabtu.com>
31408
31409 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31410 errors. Leave it to the upper layer to handle them.
31411
2d05bc6a 314122008-08-09 Christian Franke <franke@computer.org>
31413
31414 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31415 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31416 Install `grub.d/10_windows' only on Cygwin.
31417 * configure.ac: Add subst of `target_os'.
31418 Check `target_os' also before setting TARGET_OBJ2ELF.
31419 Add `--enable-grub-pe2elf'.
31420
042bd419 314212008-08-08 Robert Millan <rmh@aybabtu.com>
31422
31423 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31424 (grub_last_time): Change type to grub_uint64_t.
31425 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31426 (grub_disk_close): Likewise.
31427
31428 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31429 (run_menu): Migrate code from to using grub_get_time_ms().
31430
31431 * util/misc.c (grub_get_time_ms): New function.
31432
7f280db5 314332008-08-08 Marco Gerards <marco@gnu.org>
31434
31435 * disk/ata.c (grub_ata_regget): Change return type to
31436 `grub_uint8_t'.
31437 (grub_ata_regget2): Likewise.
31438 (grub_ata_wait_status): New function.
31439 (grub_ata_wait_busy): Removed function, updated all users to use
31440 `grub_ata_wait_status'.
31441 (grub_ata_wait_drq): Likewise.
31442 (grub_ata_cmd): New function.
31443 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31444 error handling.
31445 (grub_ata_pio_write): Add error handling.
31446 (grub_atapi_identify): Likewise.
31447 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31448 handling.
31449 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31450 handling. Actually use the detected registers. Reorder the
31451 detection logic such that it is easier to read.
31452 (grub_ata_pciinit): Do not assign the same ID to each controller.
31453 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31454 handling.
31455 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31456
31457 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31458
1fbc5e66 314592008-08-08 Marco Gerards <marco@gnu.org>
31460
31461 * NEWS: Update.
31462
819ce6c0 314632008-08-07 Bean <bean123ch@gmail.com>
31464
31465 * include/grub/x86_64/pci.h: New file.
31466
5c41d44d 314672008-08-07 Christian Franke <franke@computer.org>
31468
31469 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31470 (TIMER2_GATE): Likewise.
31471 (grub_pit_wait): Add enable/disable of the timer2 gate
31472 bit of port 0x61. This fixes a possible infinite loop.
31473
5ebc275d 314742008-08-07 Bean <bean123ch@gmail.com>
31475
31476 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31477 kern/i386/tsc.c and kern/i386/pit.c.
31478
31479 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31480 x86_64 platform.
31481
31482 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31483 <grub/i386/tsc.h>.
31484
31485 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31486
e383b3d0 314872008-08-07 Bean <bean123ch@gmail.com>
31488
31489 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31490
31491 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31492
31493 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31494 multiple inclusion. Add #include <grub/types.h>.
31495
1cbb58ac 314962008-08-06 Christian Franke <franke@computer.org>
31497
31498 * conf/common.rmk: Build and install `10_windows'.
31499 * util/grub.d/10_windows.in: New script.
31500
337f5a1e 315012008-08-06 Pavel Roskin <proski@gnu.org>
31502
31503 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31504
057bc4ac 315052008-08-06 Robert Millan <rmh@aybabtu.com>
31506
31507 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31508 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31509
2b99f123 315102008-08-06 Bean <bean123ch@gmail.com>
31511
31512 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31513 (grub_pxefs_fs_int): Remove dummy definition.
31514 (grub_pxefs_open): Use data->block_size to store the current block
31515 size setting.
31516 (grub_pxefs_read): Use block size stored in data->block_size. As the
31517 value of grub_pxe_blksize can be changed after the file is opened.
31518
9f0234cb 315192008-08-06 Bean <bean123ch@gmail.com>
31520
31521 * fs/i386/pc/pxe.c (curr_file): new variable.
31522 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31523 require the dummy internal file system anymore.
31524 (grub_pxefs_read): Removed.
31525 (grub_pxefs_close): Likewise.
31526 (grub_pxefs_fs_int): Likewise.
31527 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31528 connection when we switch file.
31529 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31530
a55d42e0 315312008-08-06 Robert Millan <rmh@aybabtu.com>
31532
31533 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31534 `halt.mod'.
31535 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31536 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31537
31538 * kern/i386/halt.c: New file.
31539 * kern/i386/reboot.c: Likewise.
31540 * include/grub/i386/reboot.h: Likewise.
31541 * include/grub/i386/halt.h: Likewise.
31542
31543 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31544 Include `<grub/cpu/halt.h>'.
31545 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31546 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31547
31548 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31549 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31550 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31551 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31552 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31553 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31554 from here ...
31555 * include/grub/i386/at_keyboard.h: ... to here.
31556
24371d26 315572008-08-05 Robert Millan <rmh@aybabtu.com>
31558
31559 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31560 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31561 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31562 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31563 `kern/generic/millisleep.c'.
31564
31565 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31566 instead of grub_get_rtc().
31567 (grub_tsc_init): Initialize `tsc_boot_time'.
31568
31569 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31570 (grub_machine_init): Use grub_tsc_init() rather than
31571 installing an RTC-based handler via grub_install_get_time_ms().
31572
31573 * kern/i386/pit.c: New file.
31574 * include/grub/i386/pit.h: Likewise.
31575
9e7007b3 315762008-08-05 Bean <bean123ch@gmail.com>
31577
31578 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31579
31580 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31581 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31582 (pxe_mod_SOURCES): New macro.
31583 (pxe_mod_CFLAGS): Likewise.
31584 (pxe_mod_LDFLAGS): Likewise.
31585 (pxecmd_mod_SOURCES): Likewise.
31586 (pxecmd_mod_CFLAGS): Likewise.
31587 (pxecmd_mod_LDFLAGS): Likewise.
31588
31589 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31590 (grub_pxe_call): Likewise.
31591
31592 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31593
31594 * commands/i386/pc/pxecmd.c: New file.
31595
9f0234cb 31596 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31597
31598 * include/grub/i386/pc/pxe.h: Likewise.
31599
6977d49f 316002008-08-05 Bean <bean123ch@gmail.com>
31601
31602 * util/console.c (grub_console_cur_color): New variable.
31603 (grub_console_standard_color): Likewise.
31604 (grub_console_normal_color): Likewise.
31605 (grub_console_highlight_color): Likewise.
31606 (color_map): Likewise.
31607 (use_color): Likewise.
31608 (NUM_COLORS): New macro.
31609 (grub_ncurses_setcolorstate): Handle color properly.
31610 (grub_ncurses_setcolor): Don't change color here, just remember the
31611 settings, color will be set in grub_ncurses_setcolorstate.
31612 (grub_ncurses_getcolor): New function.
31613 (grub_ncurses_init): Initialize color pairs.
31614 (grub_ncurses_term): New member grub_ncurses_getcolor.
31615
9c2ff3ee 316162008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31617
9c2ff3ee 31618 High resolution timer support. Implemented for x86 CPUs using TSC.
31619 Extracted generic grub_millisleep() so it's linked in only as needed.
31620 This requires a Pentium compatible CPU; if the RDTSC instruction is
31621 not supported, then it falls back on the generic grub_get_time_ms()
31622 implementation that uses the machine's RTC.
31623
31624 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31625 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31626 `kern/generic/millisleep.c'.
31627
31628 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31629 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31630
31631 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
31632 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
31633
31634 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31635
31636 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31637 `kern/generic/millisleep.c'.
31638
31639 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31640
31641 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
31642
31643 * kern/generic/rtc_get_time_ms.c: New file.
31644
31645 * kern/generic/millisleep.c: New file.
337f5a1e 31646
9c2ff3ee 31647 * kern/misc.c: Don't include
31648 <kern/time.h> anymore.
31649 (grub_millisleep_generic): Removed.
31650
31651 * commands/sleep.c (grub_interruptible_millisleep): Uses
31652 grub_get_time_ms() instead of grub_get_rtc().
31653
31654 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
31655 function.
31656 (grub_cpu_is_cpuid_supported): New inline function.
31657 (grub_cpu_is_tsc_supported): New inline function.
31658 (grub_tsc_init): New function prototype.
31659 (grub_tsc_get_time_ms): New function prototype.
31660
31661 * kern/i386/tsc.c (grub_get_time_ms): New file.
31662
31663 * include/grub/time.h: Include <grub/types.h.
31664 (grub_millisleep_generic): Removed.
31665 (grub_get_time_ms): New prototype.
31666 (grub_install_get_time_ms): New prototype.
31667 (grub_rtc_get_time_ms): New prototype.
31668
31669 * kern/time.c (grub_get_time_ms): New function.
31670 (grub_install_get_time_ms): New function.
31671
31672 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
31673 <grub/time.h> anymore.
31674 (grub_millisleep): Removed.
31675 (grub_machine_init): Call grub_tsc_init.
31676
31677 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
31678 get_time_ms() implementation.
31679
31680 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
31681 (ieee1275_get_time_ms): New function.
31682 (grub_machine_init): Install get_time_ms() implementation.
31683
31684 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
31685 (grub_machine_init): Call grub_tsc_init().
31686 (grub_millisleep): Removed.
bf06a93f 31687
9c2ff3ee 31688 * kern/ieee1275/init.c (grub_millisleep): Removed.
31689 (grub_machine_init): Install ieee1275_get_time_ms()
31690 implementation.
31691 (ieee1275_get_time_ms): New function.
31692 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
31693 real work.
31694
9ec92aaf 316952008-08-05 Marco Gerards <marco@gnu.org>
31696
31697 * disk/ata.c: Include <grub/pci.h>.
31698 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
31699 (grub_ata_initialize): Rewritten.
31700 (grub_ata_device_initialize): New function.
31701
8d23f507 317022008-08-04 Pavel Roskin <proski@gnu.org>
31703
31704 * kern/main.c: Include grub/mm.h.
31705
5e15ee3d 317062008-08-04 Robert Millan <rmh@aybabtu.com>
31707
31708 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
31709 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
31710 corruption problem).
31711
a9053f8f 317122008-08-04 Robert Millan <rmh@aybabtu.com>
31713
31714 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
31715 warnings introduced in my last commit.
31716
dd19c7d7 317172008-08-03 Robert Millan <rmh@aybabtu.com>
31718
31719 Make PCI available on all i386 architectures.
31720
31721 * include/grub/i386/pc/pci.h: Move from here ...
31722 * include/grub/i386/pci.h: ... to here.
31723
31724 * include/grub/i386/pc/pci.h: Remove.
31725 * include/grub/i386/efi/pci.h: Remove.
31726 * include/grub/x86_64/efi/pci.h: Remove.
31727
31728 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
31729 `<grub/cpu/pci.h>'.
31730
31731 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
31732 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
31733 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
31734
31735 * conf/i386-ieee1275.rmk: Likewise.
31736
e14a6184 317372008-08-03 Robert Millan <rmh@aybabtu.com>
31738
31739 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
31740 (grub_console_setcursor): Make it possible to set cursor off.
31741
52768e37 317422008-08-03 Robert Millan <rmh@aybabtu.com>
31743
31744 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
31745 of modules instead of assuming which platform provides what.
31746 * util/update-grub.in: Likewise.
31747
2d52f57f 317482008-08-03 Robert Millan <rmh@aybabtu.com>
31749
31750 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
31751 instead of `grub_install_dos_part' to determine whether a drive needs
31752 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 31753 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 31754
2a5cd121 317552008-08-02 Robert Millan <rmh@aybabtu.com>
31756
31757 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
31758
93808428 317592008-08-02 Robert Millan <rmh@aybabtu.com>
31760
31761 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
31762 of informational grub_dprintf() calls.
31763
3bd0a12a 317642008-08-02 Robert Millan <rmh@aybabtu.com>
31765
31766 * disk/memdisk.c (memdisk_size): Don't initialize.
31767 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
31768
31769 * include/grub/i386/pc/kernel.h
31770 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
31771 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
31772 (grub_memdisk_image_size, grub_arch_memdisk_addr)
31773 (grub_arch_memdisk_size): Remove.
31774
31775 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
31776 field (was only used to transfer a constant). Add `type' field to
31777 support multiple module types.
31778 (grub_module_iterate): New function.
31779
31780 * kern/device.c (grub_device_open): Do not hide error messages
31781 when grub_disk_open() fails. Use grub_print_error() instead.
31782
31783 * kern/i386/pc/init.c (grub_arch_modules_addr)
31784 (grub_arch_memdisk_size): Remove functions.
31785 (grub_arch_modules_addr): Return the module address in high memory
31786 (now that it isn't copied anymore).
31787
31788 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
31789 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
31790 decompression routine (grub_total_module_size already includes that
31791 now). Don't copy modules back to low memory.
31792
31793 * kern/main.c: Include `<grub/mm.h>'.
31794 (grub_load_modules): Split out (and use) ...
31795 (grub_module_iterate): ... this function, which iterates through
31796 module objects and runs a hook.
31797 Comment out grub_mm_init_region() call, as it would cause non-ELF
31798 modules to be overwritten.
31799
31800 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
31801 the memdisk image in its own region, make it part of the module list.
31802 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
31803 (main): Parse --memdisk|-m option, and pass user-provided path as
31804 parameter to generate_image().
31805 (add_segments): Pass `memdisk_path' down to load_modules().
31806 (load_modules): Embed memdisk image in module section when requested.
31807 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
31808 `header.type' instead of `header.offset'.
31809
31810 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
31811 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
31812 (memdisk_mod_LDFLAGS): New variables.
31813 * conf/i386-coreboot.rmk: Likewise.
31814 * conf/i386-ieee1275.rmk: Likewise.
31815
a927cc73 318162008-08-02 Robert Millan <rmh@aybabtu.com>
31817
31818 * loader/i386/pc/multiboot.c (playground, forward_relocator)
31819 (backward_relocator): New variables. Used to allocate and relocate
31820 the payload, respectively.
31821 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 31822 address, install the appropriate relocator code in each bound of
a927cc73 31823 the payload, and set the entry point such that
31824 grub_multiboot_real_boot() will jump to one of them.
31825
31826 * kern/i386/loader.S (grub_multiboot_payload_size)
31827 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31828 (grub_multiboot_payload_entry_offset): New variables.
31829 (grub_multiboot_real_boot): Set cpu context to what the relocator
31830 expects, and jump to the relocator instead of the payload.
31831
31832 * include/grub/i386/loader.h (grub_multiboot_payload_size)
31833 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31834 (grub_multiboot_payload_entry_offset): Export.
31835
b15d8a0c 318362008-08-01 Bean <bean123ch@gmail.com>
31837
31838 * normal/menu_entry.c (editor_getline): Don't return the original
31839 string as result, as it will be released by lexer once it has done
31840 using it.
31841
cdfb3d22 318422008-08-01 Robert Millan <rmh@aybabtu.com>
31843
31844 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
31845 within menuentries, not before them.
31846 util/grub.d/10_hurd.in: Likewise.
31847
9175e93d 318482008-08-01 Bean <bean123ch@gmail.com>
31849
31850 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
31851 (bufio_mod_SOURCES): New macro.
31852 (bufio_mod_CFLAGS): Likewise.
31853 (bufio_mod_LDFLAGS): Likewise.
31854
31855 * include/grub/bufio.h: New file.
31856
31857 * io/bufio.c: Likewise.
31858
31859 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
31860 (grub_video_reader_png): Use grub_buffile_open to open file.
31861
31862 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
31863 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
31864
31865 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
31866 (grub_video_reader_tga): Use grub_buffile_open to open file.
31867
31868 * font/manager.c: Include <grub/bufio.h>.
31869 (add_font): Use grub_buffile_open to open file.
31870
3d8383e7 318712008-07-31 Robert Millan <rmh@aybabtu.com>
31872
31873 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
31874 ELF segments, use a macro for arbitrarily accessing any of them instead
31875 of preparing a pointer that allows access to one at a time.
31876 (grub_multiboot_load_elf64): Likewise.
31877
16e641b6 318782008-07-31 Bean <bean123ch@gmail.com>
31879
31880 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
31881 GRUB_KERNEL_MACHINE_DATA_END.
31882
59198b72 318832008-07-30 Robert Millan <rmh@aybabtu.com>
31884
31885 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
31886 Increase from 0x50 to 0x60.
31887 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
31888 use UUIDs to identify the root drive for them. If that's not
31889 possible, abort.
31890 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
31891 check, for cross-disk installs.
31892
ae88bca3 318932008-07-30 Robert Millan <rmh@aybabtu.com>
31894
31895 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
31896 is non-empty, use it to set the `prefix' environment variable instead
31897 of the usual approach.
31898 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
31899 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
31900 environment variable instead of dummy make_install_device().
31901
31902 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
31903 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 31904 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 31905
31906 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
31907 New variable reference.
31908 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
31909 New macro. Defines offset of `grub_prefix' within startup.S (relative
31910 to `start').
31911 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
31912 section within startup.S (relative to `start').
31913 * include/grub/i386/coreboot/kernel.h: Likewise.
31914
31915 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
31916 Overwrite grub_prefix with its contents, at the beginning of the
31917 first segment.
31918 (main): Understand -p|--prefix.
31919
14f41dd1 319202008-07-30 Robert Millan <rmh@aybabtu.com>
31921
31922 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
31923
4ca049a3 319242008-07-30 Robert Millan <rmh@aybabtu.com>
31925
31926 * term/i386/pc/vga_text.c (grub_console_cls): Use
31927 grub_console_gotoxy() to go back to beginning of the screen.
31928 Found by Patrick Georgi <patrick.georgi@coresystems.de>
31929
2921d337 319302008-07-29 Christian Franke <franke@computer.org>
31931
31932 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31933 Add conversion of emulated mount points on Cygwin.
31934
b609876d 319352008-07-29 Christian Franke <franke@computer.org>
31936
31937 * util/update-grub.in: Add a check for admin
31938 group on Cygwin.
31939 Remove old `grub.cfg.new' before creation.
31940 Add `-f' to `mv' to handle the different filesystem
31941 semantics of Windows.
31942
e93e4679 319432008-07-29 Bean <bean123ch@gmail.com>
31944
31945 * normal/main.c (get_line): Fix buffer overflow bug.
31946
41694fd0 319472008-07-28 Robert Millan <rmh@aybabtu.com>
31948
31949 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
31950 (struct grub_apple_header): New struct. Describes the layout of
31951 the partmap header.
31952 (apple_partition_map_iterate): Check the header magic as well as the
31953 partition magic (which was already being checked).
31954
cfd0b4e6 319552008-07-28 Pavel Roskin <proski@gnu.org>
31956
31957 * genmk.rb: Add a warning to the beginning of the output that
31958 it's a generated file and should not be edited.
31959
93cce016 319602008-07-28 Robert Millan <rmh@aybabtu.com>
31961
31962 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31963 with the same number are found, just use issue a warning with
31964 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 31965
cd1df915 319662008-07-27 Robert Millan <rmh@aybabtu.com>
31967
31968 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
31969 information.
31970
b70a8427 319712008-07-27 Bean <bean123ch@gmail.com>
31972
31973 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
31974 (grub_fat_find_dir): Ignore case when comparing filename.
31975
8f5e379f 319762008-07-27 Bean <bean123ch@gmail.com>
31977
31978 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
31979 smallino, as it's more descriptive, and i8count can be confused with
31980 the other field count.
31981 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
31982 inode type.
31983
a85cd5a0 319842008-07-27 Bean <bean123ch@gmail.com>
31985
31986 * commands/crc.c: New file.
31987
31988 * lib/crc.c: Likewise.
31989
31990 * include/grub/lib/crc.h: Likewise.
31991
31992 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
31993
31994 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
31995 (hexdump): Move this function to ...
31996
31997 * lib/hexdump.c: ... here.
31998
31999 * include/grub/hexdump.h: Renamed to ...
32000
32001 * include/grub/lib/hexdump.h: ... this.
32002
32003 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32004
32005 * util/grub-editenv.c: Likewise.
32006
32007 * include/envblk.h: Renamed to ...
32008
32009 * include/lib/envblk.h: ... this.
32010
32011 * util/envblk.c: Renamed to ...
32012
32013 * lib/envblk.c: ... this.
32014
32015 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32016 lib/hexdump.c.
32017 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32018 (pkglib_MODULES): Add crc.mod.
32019 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32020 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32021 (crc_mod_SOURCES): New macro.
32022 (crc_mod_CFLAGS): Likewise.
32023 (crc_mod_LDFLAGS): Likewise.
32024
32025 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32026
32027 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32028
32029 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32030
32031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32032
32033 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32034
c298def0 320352008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32036
32037 * commands/help.c: Include <grub/term.h>.
32038 (TERM_WIDTH): Removed. Updated all users.
32039
cc349fb3 320402008-07-27 Pavel Roskin <proski@gnu.org>
32041
32042 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32043 spurious warnings about a comment within a comment.
32044
9051607e 320452008-07-25 Robert Millan <rmh@aybabtu.com>
32046
32047 * util/getroot.c (find_root_device): Skip devices that match
32048 /dev/dm-[0-9]. This lets the real device be found for any type of
32049 abstraction (LVM, EVMS, RAID..).
32050 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32051 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32052 device is found first, find_root_device() will now skip it.
32053
01453bfc 320542008-07-24 Pavel Roskin <proski@gnu.org>
32055
32056 * include/grub/types.h: Use __builtin_bswap32() and
32057 __builtin_bswap64() with gcc 4.3 and newer.
32058
6af9849f 320592008-07-24 Christian Franke <franke@computer.org>
32060
3a0fa256 32061 * util/i386/pc/grub-install.in: If `--debug' is specified,
32062 pass `--verbose' to grub-setup.
32063 Abort script if make_system_path_relative_to_its_root() fails.
32064
7810e747 320652008-07-24 Bean <bean123ch@gmail.com>
32066
32067 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32068 variable `target_platform' should be `platform'.
32069
42290e17 320702008-07-24 Bean <bean123ch@gmail.com>
32071
51cc5193 32072 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32073 (grub_png_init_fixed_block): New function.
32074 (grub_png_decode_image_data): Handle fixed huffman code compression.
32075
2a8a80e4 320762008-07-24 Bean <bean123ch@gmail.com>
32077
32078 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32079 (grub_pe2elf_SOURCES): New macro.
32080 (CLEANFILES): Add grub-pe2elf.
32081
32082 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32083 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32084 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32085 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32086 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32087 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32088 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32089 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32090 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32091 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32092 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32093 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32094 (GRUB_PE32_DT_FUNCTION): Likewise.
32095 (GRUB_PE32_REL_I386_DIR32): Likewise.
32096 (GRUB_PE32_REL_I386_REL32): Likewise.
32097 (grub_pe32_symbol): New structure.
32098 (grub_pe32_reloc): Likewise.
32099
32100 * util/grub-pe2elf.c: New file.
32101
32102 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32103 start symbol in non pc platform.
32104
32105 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32106
32107 The following patches are from Christian Franke.
32108
32109 * include/grub/dl.h: Remove .previous, gas supports this only
32110 for ELF format.
32111
32112 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32113 Remove .type, gas supports this only for ELF format.
32114
32115 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32116 nullbytes in symbol table. This fixes an infinite loop if table is
32117 zero filled.
32118
32119 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32120 TARGET_IMG_LDFLAGS and EXEEXT.
32121
32122 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32123 TARGET_IMG_LDFLAGS_AC.
32124 (grub_CHECK_STACK_ARG_PROBE): New function.
32125
32126 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32127
32128 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32129
32130 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32131 to set TARGET_IMG_LD* accordingly.
32132 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32133 Add call to grub_CHECK_STACK_ARG_PROBE.
32134 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32135
32136 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32137
32138 * genmk.rb: Add EXEEXT to CLEANFILES.
32139
12ccdb75 321402008-07-23 Robert Millan <rmh@aybabtu.com>
32141
32142 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32143 define the codes for arrows and lines used for the menu).
32144 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32145 as well.
32146
32147 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32148 fonts, because the latter are too slow.
32149
18eeaf04 321502008-07-21 Bean <bean123ch@gmail.com>
32151
32152 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32153 a20. Run keyboard test last, as it will cause macbook to halt.
32154
b095e2ad 321552008-07-18 Pavel Roskin <proski@gnu.org>
32156
32157 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32158 load foreign architecture modules correctly anyway. Keep
32159 support for loading host architecture modules, whether we
32160 compile them or not.
32161
737feb35 321622008-07-17 Pavel Roskin <proski@gnu.org>
32163
3f4ce737 32164 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32165 change target_cpu. The compiler default can mismatch target_cpu
32166 in any case.
32167
4ad2d049 32168 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32169 * kern/efi/efi.c: Likewise.
32170
f6130a12 32171 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32172 target compiler is functional.
32173 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32174 are set up.
32175
58393a2d 32176 * configure.ac: Default to efi platform for x86_64-apple. Allow
32177 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32178 adjustments from the rest, only do them if target is not
32179 explicitly given. Merge other adjustments with the final sanity
32180 check. Remove an extraneous check for supported CPU. Be
32181 specific which CPU and which platform is not supported.
32182
737feb35 32183 * configure.ac: Default to pc platform for x86_64.
32184
546f966a 321852008-07-17 Robert Millan <rmh@aybabtu.com>
32186
32187 Partial LinuxBIOS -> Coreboot rename.
32188
32189 * conf/i386-linuxbios.rmk: Renamed to ...
32190 * conf/i386-coreboot.rmk: ... this.
32191 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32192 * configure.ac: Accept "coreboot" as input platform (but maintain
32193 compatibility with "linuxbios").
32194 * include/grub/i386/linuxbios: Renamed to ...
32195 * include/grub/i386/coreboot: ... this.
32196
20011694 321972008-07-17 Bean <bean123ch@gmail.com>
32198
32199 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32200 (appleldr_mod_SOURCE): New variable.
20011694 32201 (appleldr_mod_CFLAGS): Likewise.
32202 (appleldr_mod_LDFLAGS): Likewise.
32203 (pci_mod_SOURCES): Likewise.
32204 (pci_mod_CFLAGS): Likewise.
32205 (pci_mod_LDFLAGS): Likewise.
32206 (lspci_mod_SOURCES): Likewise.
32207 (lspci_mod_CFLAGS): Likewise.
32208 (lspci_mod_LDFLAGS): Likewise.
32209
32210 * conf/x86_64-efi.rmk: New file.
32211
32212 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32213 macro.
32214 (grub_efidisk_write): Likewise.
32215
32216 * include/efi/api.h (efi_call_0): New macro.
32217 (efi_call_1): Likewise.
32218 (efi_call_2): Likewise.
32219 (efi_call_3): Likewise.
32220 (efi_call_4): Likewise.
32221 (efi_call_5): Likewise.
32222 (efi_call_6): Likewise.
32223
32224 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32225 grub_rescue_cmd_chainloader.
32226
32227 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32228 (grub_pe32_optional_header): Change some fields based on i386 or
32229 x86_64 platform.
32230 (GRUB_PE32_PE32_MAGIC): Likewise.
32231
32232 * include/grub/efi/uga_draw.h: New file.
32233
32234 * include/grub/elf.h (STN_ABS): New constant.
32235 (R_X86_64_NONE): Relocation constant for x86_64.
32236 (R_X86_64_64): Likewise.
32237 (R_X86_64_PC32): Likewise.
32238 (R_X86_64_GOT32): Likewise.
32239 (R_X86_64_PLT32): Likewise.
32240 (R_X86_64_COPY): Likewise.
32241 (R_X86_64_GLOB_DAT): Likewise.
32242 (R_X86_64_JUMP_SLOT): Likewise.
32243 (R_X86_64_RELATIVE): Likewise.
32244 (R_X86_64_GOTPCREL): Likewise.
32245 (R_X86_64_32): Likewise.
32246 (R_X86_64_32S): Likewise.
32247 (R_X86_64_16): Likewise.
32248 (R_X86_64_PC16): Likewise.
32249 (R_X86_64_8): Likewise.
32250 (R_X86_64_PC8): Likewise.
32251
32252 * include/grub/i386/efi/pci.h: New file.
32253
32254 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32255 Change it value based on platform.
32256 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32257 (GRUB_E820_RAM): Likewise.
32258 (GRUB_E820_RESERVED): Likewise.
32259 (GRUB_E820_ACPI): Likewise.
32260 (GRUB_E820_NVS): Likewise.
32261 (GRUB_E820_EXEC_CODE): Likewise.
32262 (GRUB_E820_MAX_ENTRY): Likewise.
32263 (grub_e820_mmap): New structure.
32264 (linux_kernel_header): Change the efi field according to different
32265 kernel version, also field from linux_kernel_header.
32266
32267 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32268
32269 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32270 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32271 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32272 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32273 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32274 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32275 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32276 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32277 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32278 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32279
32280 * include/grub/x86_64/efi/kernel.h: New file.
32281
32282 * include/grub/x86_64/efi/loader.h: Likewise.
32283
32284 * include/grub/x86_64/efi/machine.h: Likewise.
32285
32286 * include/grub/x86_64/efi/pci.h: Likewise.
32287
32288 * include/grub/x86_64/efi/time.h: Likewise.
32289
32290 * include/grub/x86_64/linux.h: Likewise.
32291
32292 * include/grub/x86_64/setjmp.h: Likewise.
32293
32294 * include/grub/x86_64/time.h: Likewise.
32295
32296 * include/grub/x86_64/types.h: Likewise.
32297
32298 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32299 GRUB_TARGET_SIZEOF_VOID_P.
32300
32301 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32302 (grub_efi_locate_handle): Likewise.
32303 (grub_efi_open_protocol): Likewise.
32304 (grub_efi_set_text_mode): Likewise.
32305 (grub_efi_stall): Likewise.
32306 (grub_exit): Likewise.
32307 (grub_reboot): Likewise.
32308 (grub_halt): Likewise.
32309 (grub_efi_exit_boot_services): Likewise.
32310 (grub_get_rtc): Likewise.
32311
32312 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32313 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32314 (grub_efi_allocate_pages): Wrap efi calls.
32315 (grub_efi_free_pages): Wrap efi calls.
32316 (grub_efi_get_memory_map): Wrap efi calls.
32317
32318 * kern/x86_64/dl.c: New file.
32319
32320 * kern/x86_64/efi/callwrap.S: Likewise.
32321
32322 * kern/x86_64/efi/startup.S: Likewise.
32323
32324 * loader/efi/appleloader.c: Likewise.
32325
32326 * loader/efi/chainloader.c (cmdline): New variable.
32327 (grub_chainloader_unload): Wrap efi calls.
32328 (grub_chainloader_boot): Likewise.
32329 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32330 command line.
32331
32332 * loader/efi/chainloader_normal.c (chainloader_command):
32333 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32334 command line.
32335
32336 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32337 method.
32338 (grub_e820_add_region): New function.
32339 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32340 booting.
32341 (grub_find_video_card): New function.
32342 (grub_linux_setup_video): New function.
32343 (grub_rescue_cmd_linux): Probe for video information.
32344
32345 * normal/x86_64/setjmp.S: New file.
32346
32347 * term/efi/console.c (map_char): New function.
32348 (grub_console_putchar): Map unicode char.
32349 (grub_console_checkkey): Wrap efi calls.
32350 (grub_console_getkey): Likewise.
32351 (grub_console_getwh): Likewise.
32352 (grub_console_gotoxy): Likewise.
32353 (grub_console_cls): Likewise.
32354 (grub_console_setcolorstate): Likewise.
32355 (grub_console_setcursor): Likewise.
32356
32357 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32358
59652a20 323592008-07-16 Pavel Roskin <proski@gnu.org>
32360
ef294055 32361 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32362 format strings.
32363
59652a20 32364 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32365 pointer, not an integer. This fixes a warning and prevents
32366 precision loss on 64-bit systems.
32367 (relocate_addresses): Remove unneeded cast.
32368
afc3b5d7 323692008-07-15 Pavel Roskin <proski@gnu.org>
32370
506b2b3e 32371 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32372
62ead89c 32373 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32374
c4cd51d7 32375 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32376 Fix comparison between signed and unsigned.
32377
0d3d8f28 32378 * include/grub/i386/ieee1275/console.h: Declare
32379 grub_console_init() and grub_console_fini().
32380
8804b286 32381 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32382 It's empty and unused.
32383
ee01cf35 32384 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32385 beginning to avoid warnings with some compilers.
32386
afc3b5d7 32387 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32388 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32389
e4e8eaa5 323902008-07-14 Pavel Roskin <proski@gnu.org>
32391
407aceb4 32392 * kern/env.c (grub_register_variable_hook): Don't copy empty
32393 string, it leaks memory. Pass "" to grub_env_set(), it should
32394 handle constant strings.
32395
e4e8eaa5 32396 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32397 * commands/cmp.c (grub_cmd_cmp): Likewise.
32398 * kern/dl.c (grub_dl_flush_cache): Likewise.
32399 (grub_dl_load_core): Likewise.
32400 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32401 (grub_elf64_load_phdrs): Likewise.
32402
d4e2dad3 324032008-07-13 Pavel Roskin <proski@gnu.org>
32404
32405 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32406 between signed and unsigned.
32407 (LzmaEnc_Finish): Fix warning about an unused parameter.
32408
aa24b516 324092008-07-13 Bean <bean123ch@gmail.com>
32410
32411 * Makefile.in (enable_lzo): New rule.
32412
32413 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32414
32415 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32416
32417 * boot/i386/pc/lnxboot.S: #include <config.h>.
32418
32419 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32420 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32421
32422 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32423 compression algorithm according to configure macro.
32424
32425 * kern/i386/pc/startup.S (codestart): Likewise.
32426
32427 * kern/i386/pc/lzma_decode.S: New file.
32428
32429 * include/grub/lib/LzFind.h: Likewise.
32430
32431 * include/grub/lib/LzHash.h: Likewise.
32432
32433 * include/grub/lib/LzmaDec.h: Likewise.
32434
32435 * include/grub/lib/LzmaEnc.h: Likewise.
32436
32437 * include/grub/lib/LzmaTypes.h: Likewise.
32438
32439 * lib/LzFind.c: Likewise.
32440
32441 * lib/LzmaDec.c: Likewise.
32442
32443 * lib/LzmaEnc.c: Likewise.
32444
4ae821ac 324452008-07-13 Bean <bean123ch@gmail.com>
32446
32447 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32448 (grub_ext4_extent_header): New structure.
32449 (grub_ext4_extent): Likewise.
32450 (grub_ext4_extent_idx): Likewise.
32451 (grub_ext4_find_leaf): New function.
32452 (grub_ext2_read_block): Handle extents.
32453
9a745147 324542008-07-12 Robert Millan <rmh@aybabtu.com>
32455
32456 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32457
d49a4cf6 324582008-07-11 Robert Millan <rmh@aybabtu.com>
32459
32460 * util/grub.d/40_custom.in: New file. Example on how to add custom
32461 entries to /etc/grub.d.
32462 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32463 40_custom (implicitly, by merging all the grub.d rules).
32464
947414b4 324652008-07-11 Pavel Roskin <proski@gnu.org>
32466
0059cf6f 32467 * commands/read.c (grub_getline): Fix invalid memory access.
32468 Don't add newline to the variable value.
32469
947414b4 32470 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32471 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32472 (serial_hw_get_port): Check validity of the port number.
32473 (grub_cmd_serial): Check return value of serial_hw_get_port().
32474
62a02d00 324752008-07-07 Pavel Roskin <proski@gnu.org>
32476
32477 * boot/i386/pc/diskboot.S (notification_string): Replace
32478 "Loading kernel" with just "loading". This is shorter, less
32479 confusing and saves a few bytes for possible future changes.
32480
3e5581b0 324812008-07-05 Pavel Roskin <proski@gnu.org>
32482
ea387a48 32483 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32484 size for ATAPI devices, they are undefined. Output sector
32485 number in decimal form.
32486
3e5581b0 32487 * disk/ata.c: Use named constants for status bits.
32488
fdecb8fd 324892008-07-04 Pavel Roskin <proski@gnu.org>
32490
bcd35b90 32491 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32492 grub_addr_t before casting it to the void pointer to fix a
32493 warning. Non-addressable regions are discarded earlier.
32494 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32495 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32496 (check_signature): Don't shadow table_header.
32497 (grub_linuxbios_table_iterate): Cast numeric constants to
32498 grub_linuxbios_table_header_t.
32499 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32500 grub_stop().
32501
af58ab3d 32502 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32503 prevent warnings.
32504
1759aa57 32505 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32506 pointer, which can cause warnings. Support 64-bit addresses.
32507
fdecb8fd 32508 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32509 of sizeof(long). This fixes PowerPC image generation on x86_64.
32510
8516d2a8 325112008-07-04 Robert Millan <rmh@aybabtu.com>
32512
32513 This fixes a performance issue when pc & gpt partmap iterators
32514 didn't abort iteration even after our hook found what it was
fe987087 32515 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32516
32517 Some callers relied on previous buggy behaviour, since they would
34c44600 32518 raise an error when their own hooks caused early abortion of its
8516d2a8 32519 iteration.
32520
32521 * kern/device.c (grub_device_open): Improve error message.
32522 * disk/lvm.c (grub_lvm_open): Likewise.
32523 * disk/raid.c (grub_raid_open): Likewise.
32524
32525 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32526 when hook requests it, independently of grub_errno.
32527 (pc_partition_map_probe): Do not fail when find_func() caused
32528 early abortion of pc_partition_map_iterate().
32529
32530 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32531 when hook requests it, independently of grub_errno.
32532 (gpt_partition_map_probe): Do not fail when find_func() caused
32533 early abortion of gpt_partition_map_iterate().
32534
32535 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32536 when hook requests it, independently of grub_errno. Do not fail when
32537 part_map_iterate_hook() caused early abortion of p->iterate().
32538
32539 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32540 when grub_partition_iterate() returned with non-zero.
32541
277d0de9 325422008-07-03 Pavel Roskin <proski@gnu.org>
32543
32544 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32545 like we do in grub_ata_pio_read().
32546 (grub_ata_readwrite): Always write individual sectors. Fix the
32547 sector count for the remainder.
32548 (grub_ata_write): Enable writing to ATA devices. Correctly
32549 report error for ATAPI devices.
32550
d4c9b428 325512008-07-02 Pavel Roskin <proski@gnu.org>
32552
e43fc690 32553 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32554 warning.
32555
f707af42 32556 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32557 for every read sector, we already increment it for the whole
32558 batch. This fixes reading more than 256 sectors at once.
32559
11e16b15 32560 * util/grub-editenv.c (cmd_info): Cast argument to long
32561 explicitly. ptrdiff_t reduces to int on i386.
32562
cbabfdd4 32563 * util/grub-editenv.c (main): Be specific which parameter is
32564 missing.
32565
b8fbce0a 32566 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32567 (memdisk): Make memdisk_orig_addr a pointer.
32568
c9c8e606 32569 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32570 for file offsets, use grub_off_t instead. Fix printf format
32571 warnings.
32572
ca62e598 32573 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32574 there. Real unexpected warnings should not drown in the noise
32575 about known problems.
32576
ce8d1766 32577 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32578 grub_disk_addr_t for memory addresses.
32579
00c7a56a 32580 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32581 explicitly to fix a warning.
32582
08d3ef09 32583 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32584
cb71ba20 32585 * Makefile.in (MODULE_LDFLAGS): New variable.
32586 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32587 the linker accepts --build-id=none.
32588 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32589 MODULE_LDFLAGS.
32590 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32591
d4c9b428 32592 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32593 those in Linux XFS code. Provide a way to access 64-bit parent
32594 inode.
32595 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32596 the end of struct grub_xfs_dir_header.
32597
d4156eee 325982008-07-02 Bean <bean123ch@gmail.com>
32599
32600 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32601 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32602 and GRUB_IEEE1275_FLAG_NO_ANSI.
32603
32604 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32605 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32606 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32607
32608 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32609 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32610
32611 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32612 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32613
32614 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32615 esc sequence on non ANSI terminal.
32616 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32617
32618 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32619 beginning of file.
32620
2270f77b 326212008-07-02 Bean <bean123ch@gmail.com>
32622
32623 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32624 (grub_editenv_SOURCES): New variable.
32625 (pkglib_MODULES): Add loadenv.mod.
32626 (loadenv_mod_SOURCES): New variable.
32627 (loadenv_mod_CFLAGS): Likewise.
32628 (loadenv_mod_LDFLAGS): Likewise.
32629
32630 * include/grub/envblk.h: New file.
32631
32632 * util/envblk.c: New file.
32633
32634 * util/grub-editenv.c: New file.
32635
32636 * commands/loadenv.c: New file.
32637
0e9e51ec 326382008-07-01 Pavel Roskin <proski@gnu.org>
32639
d89b7634 32640 * include/multiboot2.h (struct multiboot_tag_module): Use char,
32641 not unsigned char. This fixes warnings and is consistent with
32642 other tags.
32643
bf1835b1 32644 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
32645
8222a04b 32646 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
32647
6a42d99d 32648 * term/tparm.c (analyze): Always set *popcount.
32649
10b159d1 32650 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
32651 cast to fix a warning.
32652
b8789f6c 32653 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
32654 cast to suppress a warning.
32655
29d7e38a 32656 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
32657 grub_fshelp_read_file() expects.
32658
f341f669 32659 * fs/fat.c: Fix UUID calculation on big-endian systems. We
32660 write uuid as a 32-bit value in CPU byte order, so declare and
32661 use it as such.
32662
0e9e51ec 32663 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
32664 long if the format specifier expects it.
32665 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
32666 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32667 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
32668 long to fix a warning.
32669 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
32670 grub_dprintf() arguments to fix warnings.
32671
3aefa857 326722008-06-30 Pavel Roskin <proski@gnu.org>
32673
56c7668b 32674 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
32675 install_bsd_part immediately before core.img is embedded or
32676 modified on disk. This fixes core.img verification if core.img
32677 cannot be embedded.
32678
3aefa857 32679 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
32680 core_path to calculate the blocklist.
32681 Patch from Javier Martín <lordhabbit@gmail.com>
32682
5444088d 326832008-06-29 Robert Millan <rmh@aybabtu.com>
32684
32685 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
32686 block to disk block.
32687 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
32688 Patch from Niels Böhm <bitbucket@arcor.de>
32689
674835c8 326902008-06-29 Robert Millan <rmh@aybabtu.com>
32691
32692 * util/update-grub_lib.in (font_path): Search for fonts in
32693 /boot/grub first, which is more likely to be readable (we aren't
32694 deciding where fonts live, just looking for them).
32695
f527dbc8 326962008-06-26 Pavel Roskin <proski@gnu.org>
32697
6c2d8df6 32698 * util/biosdisk.c (read_device_map): Don't leave dead map
32699 entries for devices failing stat() check.
32700
f527dbc8 32701 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
32702 core_path_dev for the core.img path on the target device.
32703
aebe3d13 327042008-06-26 Robert Millan <rmh@aybabtu.com>
32705
32706 * disk/fs_uuid.c: New file.
32707 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
32708 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
32709 (fs_uuid_mod_LDFLAGS): New variables.
32710 * include/grub/disk.h (grub_disk_dev_id): Add
32711 `GRUB_DISK_DEVICE_UUID_ID'.
32712 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
32713 implement iterate().
32714
37aaf354 327152008-06-26 Robert Millan <rmh@aybabtu.com>
32716
32717 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
32718 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
32719 Linux image includes no initrd.
32720
25ff262a 327212008-06-21 Javier Martín <lordhabbit@gmail.com>
32722
32723 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
32724 call to resolve the core image location that effectively appended the
32725 name twice.
32726
76a2bd44 327272008-06-21 Robert Millan <rmh@aybabtu.com>
32728
32729 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
32730 call from here ...
32731
32732 * util/grub.d/10_hurd.in: ... to here ...
32733 * util/grub.d/10_linux.in: ... and here.
32734
650e1c79 327352008-06-19 Robert Millan <rmh@aybabtu.com>
32736
fe987087 32737 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 32738 after it has been set by grub_machine_set_prefix().
32739
6ce63911 327402008-06-19 Robert Millan <rmh@aybabtu.com>
32741
32742 * commands/search.c (search_label, search_fs_uuid, search_file): Print
32743 search result when not saving to variable, not the other way around.
32744 When saving to variable, abort iteration as soon as a match is found.
32745
73940cec 327462008-06-19 Robert Millan <rmh@aybabtu.com>
32747
32748 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
32749 check for partition that provides /boot/grub. Its logic is flawed,
32750 as it prevents prepare_grub_to_access_device() from being called
32751 multiple times.
32752
3c62a39d 327532008-06-19 Robert Millan <rmh@aybabtu.com>
32754
32755 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
32756 "insmod" command directly when abstraction modules are needed,
fe987087 32757 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 32758 since it had already been processed).
32759
47395a42 327602008-06-19 Pavel Roskin <proski@gnu.org>
32761
32762 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
32763 changed. This is needed in case GRUB_LIBDIR changes.
32764 * conf/i386-ieee1275.rmk: Likewise.
32765 * conf/i386-linuxbios.rmk: Likewise.
32766 * conf/i386-pc.rmk: Likewise.
32767 * conf/powerpc-ieee1275.rmk: Likewise.
32768
a145ac2d 327692008-06-18 Pavel Roskin <proski@gnu.org>
32770
32771 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
32772 kernel_elf_symlist.c to symlist.c for consistency with other
32773 architectures. Update all users.
32774 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32775
7847c51e 327762008-06-18 Robert Millan <rmh@aybabtu.com>
32777
32778 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
32779 it in prefix.
32780
32781 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
32782 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
32783 a RAID device, run setup() for all members independently on whether
32784 LVM abstraction is being used.
32785 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
32786 If grub-mkimage has set `*install_dos_part == -2', don't override this
32787 value.
32788 Perform *install_dos_part adjustments independently on whether
32789 we're embedding or not.
32790 Clarify error message when image is too big for embedding.
32791 Remove duplicate *install_dos_part stanza.
32792
b23e5644 327932008-06-17 Robert Millan <rmh@aybabtu.com>
32794
32795 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
32796 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
32797 variables.
32798 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
32799 values in grub_ofconsole_normal_color and
32800 grub_ofconsole_highlight_color (they're not directly related to
32801 background and foreground).
32802 (grub_ofconsole_setcolorstate): Extract background and foreground
32803 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
32804
0aac2f79 328052008-06-17 Robert Millan <rmh@aybabtu.com>
32806
32807 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
32808 /boot/grub for the check in last commit, not /boot (they could be
32809 different partitions).
32810
3cca7ef3 328112008-06-16 Robert Millan <rmh@aybabtu.com>
32812
32813 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
32814 asked to setup access for the same partition that provides /boot,
32815 don't bother using UUIDs since our root already has the value we
32816 want.
32817
347396d8 328182008-06-16 Robert Millan <rmh@aybabtu.com>
32819
32820 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
32821 I2O devices.
32822 Patch from Sven Mueller <sven@debian.org>.
32823
991477f8 328242008-06-16 Robert Millan <rmh@aybabtu.com>
32825
32826 * util/update-grub.in: Check for $EUID instead of $UID.
32827 Reported by Vincent Zweije.
32828
d31a32a1 328292008-06-16 Bean <bean123ch@gmail.com>
32830
fe987087 32831 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 32832 (grub_ext2_read_block): Likewise.
32833 (grub_ext2_read_inode): Likewise.
32834 (grub_ext2_mount): Likewise.
32835 (grub_ext2_close): Likewise.
32836 (grub_ext3_get_journal): Removed.
32837
fe987087 32838 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 32839 (grub_reiserfs_read_symlink): Likewise.
32840 (grub_reiserfs_mount): Likewise.
32841 (grub_reiserfs_open): Likewise.
32842 (grub_reiserfs_read): Likewise.
32843 (grub_reiserfs_close): Likewise.
32844 (grub_reiserfs_get_journal): Removed.
32845
32846 * fs/fshelp.c (grub_fshelp_read): Removed.
32847 (grub_fshelp_map_block): Likewise.
32848
32849 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
32850 (grub_fshelp_journal): Likewise.
32851 (grub_fshelp_read): Likewise.
32852 (grub_fshelp_map_block): Likewise.
32853
3540a760 328542008-06-16 Pavel Roskin <proski@gnu.org>
32855
32856 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
32857 floating point anymore.
32858 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
32859
95614c84 328602008-06-15 Pavel Roskin <proski@gnu.org>
32861
32862 * commands/ls.c (grub_ls_list_files): Use integer calculations
32863 for human readable format, avoid floating point use.
32864 * kern/misc.c (grub_ftoa): Remove.
32865 (grub_vsprintf): Remove floating point support.
32866
50465dd6 328672008-06-15 Robert Millan <rmh@aybabtu.com>
32868
fe6b695a 32869 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 32870 devices.
32871 Reported by Max Vozeler.
32872
a9207284 328732008-06-15 Robert Millan <rmh@aybabtu.com>
32874
32875 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
32876 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
32877 skipped later.
32878 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
32879 the beginning of the prefix.
32880
32881 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
32882 It is assumed that if we have a memdisk, grub-mkimage has set
32883 grub_prefix to include the "(memdisk)" drive in it.
32884
a7cbd45a 328852008-06-15 Robert Millan <rmh@aybabtu.com>
32886
32887 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
32888 Initialize keyboard controller after registering the terminal, so that
32889 grub_printf() can be called from grub_keyboard_controller_init().
32890
21cf716a 328912008-06-15 Robert Millan <rmh@aybabtu.com>
32892
32893 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
32894 extent-btree which is written as big endian on disk.
32895 Reported by Alain Greppin <al@chilibi.org>.
32896
23a64d8e 328972008-06-14 Robert Millan <rmh@aybabtu.com>
32898
32899 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
32900 * util/i386/pc/grub-install.in (modules): Likewise.
32901
d687651c 329022008-06-13 Pavel Roskin <proski@gnu.org>
32903
32904 * commands/ls.c (grub_ls_list_files): Fix format warnings.
32905
dfe9ddd4 329062008-06-13 Bean <bean123ch@gmail.com>
32907
32908 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
32909
32910 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
32911
32912 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
32913 to indicate sparse block.
32914
16ae7781 329152008-06-12 Pavel Roskin <proski@gnu.org>
32916
e6d1a308 32917 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
32918 number, grub_fshelp_read() does it for us.
32919
16ae7781 32920 * fs/fshelp.c (grub_fshelp_read): New function. Implement
32921 linear disk read with journal translation.
32922 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
32923 * include/grub/fshelp.h: Declare grub_fshelp_read().
32924
40fd3a2b 329252008-06-09 Pavel Roskin <proski@gnu.org>
32926
32927 * fs/minix.c (grub_minix_mount): Handle error reading
32928 superblock.
32929
f5679726 329302008-06-08 Robert Millan <rmh@aybabtu.com>
32931
32932 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
32933 don't append the RAID prefix afterwards.
32934 Reported by Clint Adams.
32935
ce525529 329362008-06-08 Robert Millan <rmh@aybabtu.com>
32937
32938 Based on description from Pavel:
32939 * kern/disk.c (grub_disk_check_range): Rename to ...
32940 (grub_disk_adjust_range): ... this. Add a comment explaining the
32941 tasks performed by this function.
32942
ad4936a0 329432008-06-08 Robert Millan <rmh@aybabtu.com>
32944
32945 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
32946 `num_serial' (for consistency with other variables).
32947 (struct grub_ntfs_data): Add `uuid' member.
32948 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
32949 (grub_ntfs_uuid): New function.
32950 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
32951
dc20b0f9 329522008-06-07 Pavel Roskin <proski@gnu.org>
32953
32954 * util/biosdisk.c (open_device): Revert last change to the
32955 function, it broke installation. The sector needs to be
32956 different dependent on which device is opened.
32957
c5e3cfba 329582008-06-06 Robert Millan <rmh@aybabtu.com>
32959
32960 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
32961 rest of GRUB, and breakage doesn't happen if its value were modified.
32962
32963 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32964 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
32965 a constant (same value).
32966 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
32967 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
32968
26a1f8c4 329692008-06-06 Robert Millan <rmh@aybabtu.com>
32970
32971 * util/biosdisk.c (open_device): Do not modify sector offset when
32972 accessing a partition. kern/disk.c already handles this for us.
32973
25d6b327 329742008-06-06 Robert Millan <rmh@aybabtu.com>
32975
32976 * util/grub-emu.c (grub_machine_init): Move code in this function from
32977 here ...
32978 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
32979 segfault in case grub_printf() is called).
32980
32981 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
32982 grub_probe. Update all users not to explicitly add it again.
32983 (grub_device): New variable; contains corresponding device for grubdir.
32984 (fs_module, partmap_module, devabstraction_module): Pass
32985 `--device ${grub_device}' to grub_probe to avoid traversing /dev
32986 every time.
32987
9ece62fb 329882008-06-05 Robert Millan <rmh@aybabtu.com>
32989
32990 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
32991 is found, print it (same layout as with labels).
32992
1ad36d37 329932008-06-04 Robert Millan <rmh@aybabtu.com>
32994
32995 * util/biosdisk.c (get_drive): Rename to ...
32996 (find_grub_drive): ... this. Update all users.
32997
32998 (get_os_disk): Rename to ...
32999 (convert_system_partition_to_system_disk): ... this. Update all users.
33000
33001 (find_drive): Rename to ...
33002 (find_system_device): ... this. Update all users.
33003
e6a30859 330042008-06-04 Robert Millan <rmh@aybabtu.com>
33005
33006 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33007 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33008 (make_device_map): Likewise.
33009
00c108a4 330102008-06-01 Robert Millan <rmh@aybabtu.com>
33011
33012 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33013 before dereferencing it.
33014
33015 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33016 union with fat12/fat16-specific ones. Add some new fields, including
33017 `num_serial' for both versions.
33018 (struct grub_fat_data): Add `uuid' member.
33019 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33020 names. Initialize `data->uuid' using `num_serial'.
33021 (grub_fat_uuid): New function.
33022 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33023
33024 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33025 (grub_reiserfs_uuid): New function.
33026 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33027 member.
33028
33029 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33030 (grub_xfs_uuid): New function.
33031 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33032
1385c5bb 330332008-06-01 Robert Millan <rmh@aybabtu.com>
33034
33035 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33036 code that is backward compatible with pre-uuid search command.
33037
c682dfd7 330382008-05-31 Robert Millan <rmh@aybabtu.com>
33039
33040 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33041 floppies after everything else, to ensure floppy drive isn't accessed
33042 unnecessarily (patch from Bean).
33043
b7db5d47 330442008-05-31 Robert Millan <rmh@aybabtu.com>
33045
33046 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33047 not print device names when we were asked to set a variable.
33048
6e037aa9 330492008-05-31 Robert Millan <rmh@aybabtu.com>
33050
33051 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33052 using "cursor-on" and "cursor-off" commands (understood at least by
33053 the Open Firmware flavour on OLPC).
33054
41305bc8 330552008-05-31 Michael Gorven <michael@gorven.za.net>
33056
33057 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33058 on and off sequences.
33059
69ba137e 330602008-05-31 Robert Millan <rmh@aybabtu.com>
33061
33062 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33063 * util/update-grub.in: Likewise.
33064
520ae21b 330652008-05-30 Pavel Roskin <proski@gnu.org>
33066
33067 * util/biosdisk.c (linux_find_partition): Simplify logic and
33068 make the code more universal. Keep special processing for
33069 devfs, but use a simple rule for all other devices. If the
33070 device ends with a number, append 'p' and the partition number.
33071 Otherwise, append only the partition number.
33072
5786569b 330732008-05-30 Robert Millan <rmh@aybabtu.com>
33074
33075 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33076 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33077 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33078 the `root' parameter to Linux.
33079
51500452 330802008-05-30 Robert Millan <rmh@aybabtu.com>
33081
33082 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33083 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33084 --fs_uuid with --fs-uuid.
33085 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33086 all filesystems support them).
33087
811d3878 330882008-05-30 Robert Millan <rmh@aybabtu.com>
33089
33090 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33091 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33092
cab63c95 330932008-05-30 Robert Millan <rmh@aybabtu.com>
33094
33095 * util/grub.d/00_header.in: Remove obsolete comment referencing
33096 convert_system_path_to_grub_path().
33097 * util/update-grub.in: Likewise.
33098 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33099 (convert_system_path_to_grub_path): Add a warning message explaining
33100 that this function is deprecated. Rely on is_path_readable_by_grub()
33101 for the readability checks.
33102 (font_path): Use is_path_readable_by_grub() for the readability
33103 check rather than convert_system_path_to_grub_path().
33104
972e2f7a 331052008-05-30 Robert Millan <rmh@aybabtu.com>
33106
33107 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33108 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33109 converting it first.
33110 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33111 grub.cfg for access to font file, and afterwards call it again to set
33112 the root device.
33113
62191274 331142008-05-30 Robert Millan <rmh@aybabtu.com>
33115
33116 * commands/search.c (options): Add --fs_uuid option.
33117 (search_fs_uuid): New function.
33118 (grub_cmd_search): Fix --set argument passing.
33119 Use search_fs_uuid() when requested via --fs_uuid.
33120 (grub_search_init): Update help message.
33121 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33122 and redeclare it as an array of 16-bit words.
33123 (grub_ext2_uuid): New function.
33124 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33125 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33126 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33127 (GRUB_DEVICE_BOOT_UUID): New variables.
33128 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33129 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33130 whenever possible.
33131 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33132 just assume `root' variable has the right value.
33133 * util/grub.d/10_linux.in: Likewise.
33134 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33135 via PRINT_FS_UUID.
33136 (main): Recognise `-t fs_uuid' argument.
33137
01b73ec8 331382008-05-30 Robert Millan <rmh@aybabtu.com>
33139
33140 * util/biosdisk.c (map): Redefine structure to hold information
33141 about GRUB drive name.
fe6b695a 33142 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33143 drive names.
33144 (call_hook): Remove.
33145 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33146 member. Assume drive has partitions.
33147 (grub_util_biosdisk_open): Access device names via `.device' struct
33148 member.
33149 (open_device): Likewise.
33150 (find_drive): Likewise.
33151 (read_device_map): Adjust map[] usage to match the new struct
33152 definition. Don't check for duplicates (still possible, but not cheap
33153 anymore).
33154 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33155 (make_device_name): Remove assumption of BIOS-like drive names.
33156
22f16596 331572008-05-30 Pavel Roskin <proski@gnu.org>
33158
33159 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33160 compiling execute.c doesn't need grub_script.tab.h anymore.
33161 (normal/command.c_DEPENDENCIES): Likewise.
33162 (normal/function.c_DEPENDENCIES): Likewise.
33163 * conf/i386-ieee1275.rmk: Likewise.
33164 * conf/i386-linuxbios.rmk: Likewise.
33165 * conf/i386-pc.rmk: Likewise.
33166 * conf/powerpc-ieee1275.rmk: Likewise.
33167 * conf/sparc64-ieee1275.rmk: Likewise.
33168
528ad8f2 331692008-05-29 Pavel Roskin <proski@gnu.org>
33170
d1dff95d 33171 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33172 when scanning metadata for volume group name.
33173
528ad8f2 33174 * include/grub/script.h: Don't include grub_script.tab.h. It's
33175 a generated file, which may only be included from the files with
33176 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33177 use union YYSTYPE, as the later allows forward declaration.
33178 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33179
47248e08 331802008-05-29 Robert Millan <rmh@aybabtu.com>
33181
33182 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33183 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33184 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33185 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33186 scan codes.
33187
ee632529 331882008-05-29 Robert Millan <rmh@aybabtu.com>
33189
33190 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33191 control key combinations.
33192
eee96e08 331932008-05-29 Robert Millan <rmh@aybabtu.com>
33194
33195 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33196 * util/ieee1275/grub-install.in: ... to here.
33197 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33198 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33199 (grub_install_SOURCES): Likewise.
33200
da9a6a94 332012008-05-29 Robert Millan <rmh@aybabtu.com>
33202
33203 * fs/affs.c: Update copyright year.
33204 * fs/ext2.c: Likewise.
33205 * fs/fshelp.c: Likewise.
33206 * fs/hfsplus.c: Likewise.
33207 * fs/ntfs.c: Likewise.
33208 * fs/xfs.c: Likewise.
33209 * include/grub/fshelp.h: Likewise.
33210 * util/grub-mkdevicemap.c: Likewise.
33211
12e65f3a 332122008-05-28 Robert Millan <rmh@aybabtu.com>
33213
33214 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33215 might need to be fatfs to support some firmware implementations
33216 (e.g. OFW or EFI).
33217
23023641 332182008-05-28 Robert Millan <rmh@aybabtu.com>
33219
33220 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33221 devices.
33222 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33223 (make_device_map): Likewise.
33224
887d2619 332252008-05-20 Bean <bean123ch@gmail.com>
33226
33227 * fs/fshelp.c (grub_fshelp_map_block): New function.
33228 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33229 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33230
33231 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33232 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33233 (grub_fshelp_journal): New structure.
33234 (grub_fshelp_map_block): New function prototype.
33235 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33236 (grub_fshelp_map_block): Likewise.
33237
33238 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33239 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33240 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33241 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33242 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33243 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33244 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33245 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33246 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33247 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33248 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33249 (grub_ext2_sblock): New members for journal support.
33250 (grub_ext3_journal_header): New structure.
33251 (grub_ext3_journal_revoke_header): Likewise.
33252 (grub_ext3_journal_block_tag): Likewise.
33253 (grub_ext3_journal_sblock): Likewise.
33254 (grub_fshelp_node): New members logfile and journal.
33255 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33256 grub_fshelp_map_block to get real block number.
33257 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33258 number.
33259 (grub_ext2_read_inode): Likewise.
33260 (grub_ext3_get_journal): New function.
33261 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33262 (grub_ext2_close): Release memory used by journal.
33263
33264 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33265 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33266 (grub_reiserfs_transaction_header): Renamed to
33267 grub_reiserfs_description_block, replace field data with real_blocks.
33268 (grub_reiserfs_commit_block): New structure.
33269 (grub_reiserfs_data): New member journal.
33270 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33271 number.
33272 (grub_reiserfs_read_symlink): Likewise.
33273 (grub_reiserfs_iterate_dir): Likewise.
33274 (grub_reiserfs_open): Likewise.
33275 (grub_reiserfs_read): Likewise.
33276 (grub_reiserfs_get_journal): New function.
33277 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33278 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33279 using grub_reiserfs_get_journal.
33280 (grub_reiserfs_close): Release memory used by journal.
33281
33282 * fs/affs.c (grub_affs_read_block): Change block type to
33283 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33284
33285 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33286
33287 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33288
33289 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33290
33291 * fs/udf.c (grub_udf_read_block): Change block type to
33292 grub_disk_addr_t. Use type cast to avoid warning.
33293
33294 * fs/xfs.c (grub_xfs_read_block): Likewise.
33295
b7c6bed5 332962008-05-16 Christian Franke <franke@computer.org>
33297
33298 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33299 to ensure that break with ESC will always work.
33300 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33301 Remove ESC from keyboard queue.
33302
eedf167f 333032008-05-16 Christian Franke <franke@computer.org>
33304
33305 * util/biosdisk.c: [__CYGWIN__] Add includes.
33306 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33307 (get_os_disk): Move variable declarations to OS specific
33308 parts to avoid warning.
33309 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33310 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33311 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33312 Cygwin.
33313 * util/getroot.c: [__CYGWIN__] Add includes.
33314 (strip_extra_slashes): Fix "/" case.
33315 [__CYGWIN__] (get_win32_path): New function.
33316 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33317 [__CYGWIN__] (find_root_device): Disable.
33318 [__CYGWIN__] (get_bootsec_serial): New function.
33319 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33320 [__linux__] (grub_guess_root_device): Add early returns to simplify
33321 structure.
33322 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33323 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33324 check for Linux only.
33325
a079699e 333262008-05-15 Bean <bean123ch@gmail.com>
33327
33328 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33329 keyboard hang problem in apple's intel mac.
33330
1cf4059a 333312008-05-09 Robert Millan <rmh@aybabtu.com>
33332
33333 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33334 devices.
33335 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33336 (make_device_map): Likewise.
33337 Reported by Aurelien Jarno <aurel32@debian.org>
33338
ed759390 333392008-05-07 Ian Campbell <ijc@hellion.org.uk>
33340
33341 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33342 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33343 (make_device_map): Output entries for xvd type disks.
33344
b56c4eaa 333452008-05-07 Robert Millan <rmh@aybabtu.com>
33346
33347 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33348 devices.
33349 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33350 (make_device_map): Likewise.
33351 Reported by Roland Dreier <rdreier@cisco.com>
33352
7f8866ed 333532008-05-07 Robert Millan <rmh@aybabtu.com>
33354
33355 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33356 grub_strstr() call. Correct a few mistakes in failure path handling.
33357
b0346e0f 333582008-05-06 Robert Millan <rmh@aybabtu.com>
33359
33360 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33361 Do not print a trailing slash (therefore, the root directory is an
33362 empty string).
33363 (convert_system_path_to_grub_path): Do not remove trailing slash
33364 from make_system_path_relative_to_its_root() output.
33365
33366 * util/i386/pc/grub-install.in: Add trailing slash to output from
33367 make_system_path_relative_to_its_root().
33368
6cf12cbd 333692008-05-06 Robert Millan <rmh@aybabtu.com>
33370
33371 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33372 ensures that output lines aren't intermangled with those sent to
33373 stderr (via grub_util_info()).
33374 * util/grub-probe.c (grub_refresh): Likewise.
33375 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33376
0fbb3117 333772008-05-05 Christian Franke <franke@computer.org>
33378
33379 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33380 Add Cygwin device names.
33381 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33382 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33383 (check_device): Return error instead of success on empty name.
33384 (make_device_map): Move label inside linux specific code to
33385 prevent compiler warning.
33386
8124cdb7 333872008-04-30 Robert Millan <rmh@aybabtu.com>
33388
33389 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33390 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33391 first boot option.
33392 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33393
094c01d0 333942008-04-29 Robert Millan <rmh@aybabtu.com>
33395
33396 * docs/grub.cfg: New file (example GRUB configuration).
33397
f4b1fc02 333982008-04-26 Robert Millan <rmh@aybabtu.com>
33399
329ce2a5 33400 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33401 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33402 and `disk/ieee1275/nand.c'.
f4b1fc02 33403
25f16ec1 334042008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33405
25f16ec1 33406 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33407 i386-linuxbios.
33408
33409 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33410 change the buffer size to 4096 for cdrom device.
33411
33412 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33413 and nand.mod.
33414 (_linux_mod_SOURCES): New variable.
33415 (_linux_mod_CFLAGS): Likewise.
33416 (_linux_mod_LDFLAGS): Likewise.
33417 (linux_mod_SOURCES): Likewise.
33418 (linux_mod_CFLAGS): Likewise.
33419 (linux_mod_LDFLAGS): Likewise.
33420 (nand_mod_SOURCES): Likewise.
33421 (nand_mod_CFLAGS): Likewise.
33422 (nand_mod_LDFLAGS): Likewise.
33423
33424 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33425 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33426 type property. (nand device in olpc don't have this property)
33427
33428 * include/grub/disk.h (grub_disk_dev_id): New macro
33429 GRUB_DISK_DEVICE_NAND_ID.
33430
33431 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33432 function prototype.
33433 (grub_rescue_cmd_initrd): Likewise.
33434
33435 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33436 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33437 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33438
25f16ec1 33439 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33440 GRUB_MACHINE_IEEE1275 is defined.
33441
33442 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33443 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33444
33445 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33446 on nested function heap_init.
33447 (grub_upper_mem): New variable for i386-ieee1275.
33448 (grub_get_extended_memory): New function for i386-ieee1275.
33449 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33450
33451 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33452 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33453 property.
f19dbdb7 33454
25f16ec1 33455 * loader/i386/ieee1275/linux.c: New file.
33456
33457 * loader/i386/ieee1275/linux_normal.c: New file.
33458
33459 * disk/ieee1275/nand.c: New file.
33460
e89d61e9 334612008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33462
33463 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33464 value.
33465 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33466
602566f6 334672008-04-18 Robert Millan <rmh@aybabtu.com>
33468
33469 Restructures early code path on ieee1275 to unify grub_main() as
33470 the first C function that is executed in every platform.
33471
33472 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33473 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33474 cmain().
33475 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33476 * kern/ieee1275/cmain.c (cmain): Rename to ...
33477 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33478 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33479 at the beginning.
33480
57490c2b 334812008-04-18 Robert Millan <rmh@aybabtu.com>
33482
33483 * util/update-grub.in: Fix syntax error when setting
33484 `GRUB_PRELOAD_MODULES'.
33485 Reported by Stephane Chazelas <stephane@artesyncp.com>
33486
1977517d 334872008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33488
33489 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33490 section into account, newer toolchains generate unique build ids
33491 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33492 we want build ids to be preserved
1977517d 33493 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33494 far from other sections don't cause the raw binary images grow
33495 size
33496
bfb1f1a2 334972008-04-15 Robert Millan <rmh@aybabtu.com>
33498
33499 * disk/lvm.c: Update copyright year.
33500 * kern/misc.c: Likewise.
33501
01979850 335022008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33503
33504 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33505 there is no memory left for physical volume name.
01979850 33506
0a1150e2 335072008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33508
33509 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33510 volume name mapping to support bigger than 9 character names properly.
33511
82ead3fe 335122008-04-13 Robert Millan <rmh@aybabtu.com>
33513
33514 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33515 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33516
e54a72f5 335172008-04-13 Christian Franke <franke@computer.org>
33518
33519 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33520 to create a floppy emulation boot CD when non emulation mode
33521 does not work.
33522 Enable Joliet CD filesystem extension.
33523
9fe86034 335242008-04-13 Robert Millan <rmh@aybabtu.com>
33525
33526 * kern/misc.c (grub_strncat): Fix off-by-one error.
33527 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33528
33529 * kern/env.c (grub_env_context_close): Clear current context, not
33530 previous one.
33531 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33532
33533 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33534
7ceeee39 335352008-04-13 Robert Millan <rmh@aybabtu.com>
33536
33537 Improve robustness when handling LVM.
33538
33539 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33540 (and leave `*p' unmodified).
7ceeee39 33541 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33542 through it.
33543 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33544 iterating through it.
33545 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33546 through it.
fe6b695a 33547 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33548 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33549 Don't assume `vg->pvs != NULL' when iterating through it.
33550
58cd3d85 335512008-04-13 Robert Millan <rmh@aybabtu.com>
33552
33553 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33554 * genmk.rb (partmap): New variable.
33555 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33556 (#{partmap}): New target rule.
33557 * genpartmaplist.sh: New file.
33558 * Makefile.in (pkglib_DATA): Add partmap.lst.
33559 (partmap.lst): New target rule.
33560 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33561 modules (including all partition maps), instead of preloading them.
33562
78b51059 335632007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33564
33565 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33566 `linux-boot-prober' (if installed) to detect other operating
33567 systems which are installed on the computer and add them to
33568 the boot menu.
33569 * conf/common.rmk: Build and install 30_os-prober.
33570
a91627b4 335712008-04-12 Robert Millan <rmh@aybabtu.com>
33572
33573 * kern/powerpc/ieee1275/init.c: Move from here ...
33574 * kern/ieee1275/init.c: ... to here. Update all users.
33575
33576 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33577 * kern/ieee1275/cmain.c: ... to here. Update all users.
33578
33579 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33580 * kern/ieee1275/openfw.c: ... to here. Update all users.
33581
33582 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33583 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33584
322562ea 335852008-04-10 Pavel Roskin <proski@gnu.org>
33586
33587 * configure.ac: Always use "_cv_" in cache variables for
33588 compatibility with Autoconf 2.62.
33589
a02a73c5 335902008-04-07 Robert Millan <rmh@aybabtu.com>
33591
33592 Revert grub/machine/init.h addition by Pavel (since it breaks on
33593 i386-ieee1275 and others):
33594 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33595 * util/powerpc/ieee1275/misc.c: Likewise.
33596
25c024b1 335972008-04-07 Robert Millan <rmh@aybabtu.com>
33598
33599 * util/grub-probe.c (probe): Improve error message.
33600
3cbd2f98 336012008-04-07 Robert Millan <rmh@aybabtu.com>
33602
33603 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33604 (this prevents the presence of a bogus entry from ruining the whole
33605 thing).
33606
87a297bf 336072008-04-06 Pavel Roskin <proski@gnu.org>
33608
36747a62 33609 * util/biosdisk.c: Include grub/util/biosdisk.h.
33610 * util/grub-fstest.c (execute_command): Make static.
33611 * util/grub-mkdevicemap.c (check_device): Likewise.
33612 * util/i386/pc/misc.c: Include grub/machine/init.h.
33613 * util/powerpc/ieee1275/misc.c: Likewise.
33614 * util/lvm.c: Include grub/util/lvm.h.
33615 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33616 grub/cache.h.
33617 * util/raid.c: Include grub/util/raid.h.
33618 (grub_util_getdiskname): Make static.
33619
87a297bf 33620 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33621 grub_hostfs_fini(), as they are called from grub_init_all() and
33622 grub_fini_all() respectively. This fixes an infinite loop in
33623 grub-fstest due to double registration of hostfs.
33624 Reported by Christian Franke <Christian.Franke@t-online.de>
33625
f6ce7629 336262008-04-05 Pavel Roskin <proski@gnu.org>
33627
33628 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33629 all 8 functions. Otherwise, probe function 0 only.
33630
070e49e4 336312008-04-04 Pavel Roskin <proski@gnu.org>
33632
8b088a4c 33633 * commands/lspci.c (grub_lspci_iter): Print the bus number
33634 correctly.
33635
4f657021 33636 * commands/lspci.c (grub_pci_classes): Fix typos.
33637 (grub_lspci_iter): Don't print func twice. Print vendor ID
33638 before device ID, as it's normally done.
33639
070e49e4 33640 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33641 Fix signedness warnings.
33642 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
33643 Likewise.
33644 * util/ieee1275/get_disk_name.c: Include config.h so that
33645 _GNU_SOURCE is defined and getline() is declared. Mark an
33646 unused argument as such. Fix a signedness warning.
33647
ba7328dc 336482008-04-02 Pavel Roskin <proski@gnu.org>
33649
26887f22 33650 * genkernsyms.sh.in: Use more robust assignments for CC and
33651 srcdir. Quote srcdir.
33652 * gensymlist.sh.in: Likewise. Assert at the compile time that
33653 the symbol table is not empty.
33654
ba7328dc 33655 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
33656 * fs/cpio.c (grub_cpio_read): Likewise.
33657
0f582c6b 336582008-04-01 Pavel Roskin <proski@gnu.org>
33659
4b6e1995 33660 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
33661 * disk/host.c (grub_host_open): Likewise.
33662 * disk/loopback.c (grub_loopback_open): Likewise.
33663 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
33664 disk->id as in disk/host.c, not a multi-character constant.
33665
828a2768 33666 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
33667 later is obsolete, potentially dangerous and sets a bad example.
33668 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
33669 * util/misc.c (grub_util_get_image_size): Likewise.
33670
2bb4fb47 33671 * disk/loopback.c (options): Improve help for "--partitions".
33672
0f582c6b 33673 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
33674 options to align them with the short options, e.g. "echo -e".
33675
a33224e0 336762008-03-31 Bean <bean123ch@gmail.com>
33677
33678 * video/reader/png.c (grub_png_data): New member is_16bit and
33679 image_data.
33680 (grub_png_decode_image_header): Detect 16 bit png image.
33681 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
33682 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
33683 (grub_video_reader_png): Release memory occupied by image_data.
33684
33685 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
33686 4096 bytes.
33687 (grub_nfs_mount): Skip the test for sector per cluster.
33688
33689 * include/grub/ntfs.h (MAX_SPC): Removed.
33690
86cb4f54 336912008-03-31 Bean <bean123ch@gmail.com>
33692
33693 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
33694 (grub_probe_SOURCES): Add fs/afs.c.
33695 (grub_fstest_SOURCES): Likewise.
33696 (afs_mod_SOURCES): New variable.
33697 (afs_mod_CFLAGS): Likewise.
33698 (afs_mod_LDFLAGS): Likewise.
33699
33700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
33701 (grub_emu_SOURCES): Likewise.
33702
33703 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33704
33705 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33706
33707 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33708
33709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33710
33711 * fs/afs.c: New file.
33712
17c74c21 337132008-03-30 Pavel Roskin <proski@gnu.org>
33714
4cb68e89 33715 * disk/host.c: Include grub/misc.h to fix a warning.
33716 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
33717 warnings about implicit declarations.
33718
8790bb04 33719 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
33720 variable.
33721 * include/grub/i386/loader.h: Change declaration of
33722 grub_linux_boot() to match what grub_loader_set() expects.
33723 * util/getroot.c (grub_guess_root_device): Return const char* to
33724 fix a warning.
33725 * util/grub-probe.c (probe): Fix a warning about uninitialized
33726 abstraction_name variable.
33727 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
33728 second argument as unused to fix a warning.
33729
9a3f3296 33730 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
33731 missing grub_error() call.
33732
0ecef90d 33733 * util/update-grub_lib.in: Define datarootdir, since Autoconf
33734 2.60 and newer uses it to define datadir.
33735
0bf6d401 33736 * commands/sleep.c: Fix warning about implicit declaration.
33737 * disk/memdisk.c: Likewise.
33738 * loader/aout.c: Likewise.
33739 * loader/i386/bsd_normal.c: Likewise.
33740 * util/grub-probe.c: Likewise.
33741
7cdacf97 33742 * commands/i386/cpuid.c (has_longmode): Make static.
33743 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
33744 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
33745
17c74c21 33746 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
33747 GDT. This is more robust, as %ds can change.
33748 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
33749 calling real_to_prot().
33750 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
33751
80a3e68b 337522008-03-28 Pavel Roskin <proski@gnu.org>
33753
33754 * kern/i386/pc/startup.S: Assert that uncompressed functions
33755 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
33756 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
33757 code, as they push parts of the code (error handlers) beyond
33758 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
33759 code as correctness and size.
33760
77bcd272 337612008-03-28 Pavel Roskin <proski@gnu.org>
33762
33763 * kern/i386/pc/startup.S
33764 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
33765 data block address to the real mode, keep offset minimal. This
33766 works around a bug in AWARD BIOS on old Athlon systems, which
33767 makes CD detection hang.
33768
c5dfd43b 337692008-03-26 Pavel Roskin <proski@gnu.org>
33770
33771 * normal/color.c (grub_parse_color_name_pair): Make `name' a
33772 const.
33773 * include/grub/normal.h: Add grub_parse_color_name_pair()
33774 declaration.
33775
bf962df2 337762008-03-24 Bean <bean123ch@gmail.com>
33777
33778 * disk/i386/pc/biosdisk.c (cd_start): Removed.
33779 (cd_count): Removed.
33780 (cd_drive): New variable.
33781 (grub_biosdisk_get_drive): Don't check for (cdN) device.
33782 (grub_biosdisk_call_hook): Likewise.
33783 (grub_biosdisk_iterate): Change cdrom detection method.
33784 (grub_biosdisk_open): Replace cd_start with cd_drive.
33785 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
33786 detect cdrom device.
33787
33788 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
33789 Removed.
33790 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
33791 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
33792 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
33793 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
33794 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
33795 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
33796 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
33797 (grub_biosdisk_cdrp): New structure.
33798 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
33799
33800 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
33801
33802 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
33803 device.
33804
33805 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
33806 New function.
33807
68e7fc7a 338082008-03-20 Robert Millan <rmh@aybabtu.com>
33809
33810 Remove 2 TiB limit in ata.mod.
33811 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
33812 (grub_ata_dumpinfo): Print sector count with 0x%llx.
33813 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
33814 grub_uint64_t instead of grub_uint32_t.
33815
38ad2cf5 338162008-03-05 Bean <bean123ch@gmail.com>
33817
33818 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
33819 (grub_multiboot): Set boot device.
33820
33821 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
33822
2b89344e 338232008-03-02 Bean <bean123ch@gmail.com>
33824
33825 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
33826 symlink_buffer.
33827
87a95d1f 338282008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
33829
33830 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
33831 texinfo.tex.
33832
33833 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
33834 modified.
33835
33836 * docs/fdl.texi: New file.
f19dbdb7 33837
87a95d1f 33838 * docs/mdate-sh: New file. Copied from gnulib.
33839 * docs/texinfo.tex: Likewise.
33840
33841 * config.guess: Updated from gnulib.
33842 * install-sh: Likewise.
33843
7dc15d8e 338442008-02-28 Robert Millan <rmh@aybabtu.com>
33845
33846 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
33847 (aout_mod_SOURCES): New variable.
33848 (aout_mod_CFLAGS): Likewise.
33849 (aout_mod_LDFLAGS): Likewise.
33850
33851 * conf/i386-ieee1275.rmk: Likewise.
33852
b00ab696 338532008-02-28 Robert Millan <rmh@aybabtu.com>
33854
33855 * util/update-grub.in: Reorganise terminal validity check. Accept
33856 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
33857 Based on suggestion by Franklin PIAT.
33858
79ca2d78 338592008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
33860
33861 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
33862 function.
33863 * util/getroot.c (grub_util_check_block_device): New function that
33864 returns the given argument if it is a block device and returns NULL else.
33865 * util/grub-probe.c (argument_is_device): New variable.
33866 (probe): Promote device_name from a variable to an argument. Receive
33867 device_name from grub_util_check_block_device() if path is NULL and from
33868 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 33869 (options): Introduce new parameter '-d, --device'.
79ca2d78 33870 (main): Add description of the new parameter to the help screen.
33871 Rename path variable to argument. Set argument_is_device if the '-d'
33872 option is given. Pass argument to probe() depending on
33873 argument_is_device.
33874
0d16e571 338752008-02-24 Bean <bean123ch@gmail.com>
33876
33877 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
33878 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
33879 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
33880 (GRUB_ISO9660_VOLDESC_PART): Likewise.
33881 (GRUB_ISO9660_VOLDESC_END): Likewise.
33882 (grub_iso9660_primary_voldesc): New member escape.
33883 (grub_iso9660_data): New member joliet.
33884 (grub_iso9660_convert_string): New function.
33885 (grub_iso9660_mount): Detect joliet extension.
33886 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
33887 (grub_iso9660_iso9660_label): Likewise.
33888
33889 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
33890 (grub_setup_SOURCES): Add fs/udf.c.
33891 (grub_fstest_SOURCES): Likewise.
33892 (udf_mod_SOURCES): New variable.
33893 (udf_mod_CFLAGS): Likewise.
33894 (udf_mod_LDFLAGS): Likewise.
33895
33896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
33897 (grub_emu_SOURCES): Likewise.
33898
33899 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33900
33901 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33902
33903 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33904
33905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33906
33907 * fs/udf.c: New file.
33908
8a594a17 339092008-02-24 Robert Millan <rmh@aybabtu.com>
33910
33911 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
33912 (normal/lexer.c_DEPENDENCIES): New variables.
33913 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33914 (normal/lexer.c_DEPENDENCIES): Likewise.
33915 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
33916 (normal/lexer.c_DEPENDENCIES): Likewise.
33917 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
33918 (normal/lexer.c_DEPENDENCIES): Likewise.
33919 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33920 (normal/lexer.c_DEPENDENCIES): Likewise.
33921 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33922 (normal/lexer.c_DEPENDENCIES): Likewise.
33923
2dc33c03 339242008-02-23 Robert Millan <rmh@aybabtu.com>
33925
33926 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
33927 since they were intended to be in hex. This didn't break previously
33928 because of a bug in gpt_partition_map_iterate() (see below).
33929
33930 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
33931 when checking the validity of GPT header.
33932 Remove `partno', since it always provides the same information as `i'.
33933
f6f4cfb0 339342008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
33935
33936 * include/grub/efi/time.h: Fix a wrong comment.
33937
79ff665f 339382008-02-19 Pavel Roskin <proski@gnu.org>
33939
33940 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
33941 message.
33942
d38e24c2 339432008-02-19 Bean <bean123ch@gmail.com>
33944
33945 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
33946 (aout_mod_SOURCES): New variable.
33947 (aout_mod_CFLAGS): Likewise.
33948 (aout_mod_LDFLAGS): Likewise.
33949 (_bsd_mod_SOURCES): New variable.
33950 (_bsd_mod_CFLAGS): Likewise.
33951 (_bsd_mod_LDFLAGS): Likewise.
33952 (bsd_mod_SOURCES): New variable.
33953 (bsd_mod_CFLAGS): Likewise.
33954 (bsd_mod_LDFLAGS): Likewise.
33955
33956 * include/grub/aout.h: New file.
33957
33958 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
33959
33960 * include/grub/i386/bsd.h: New file.
33961
33962 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
33963 to make it public.
33964
33965 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
33966 function is called, so that it's possible to change it inside the hook.
33967 (grub_elf64_load): Likewise.
33968 (grub_elf_file): Don't close the file if elf header is not found.
33969 (grub_elf_close): Close the file if grub_elf_file fails (The new
33970 grub_elf_file won't close it).
33971 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
33972 (grub_elf64_size): Likewise.
33973
33974 * kern/i386/loader.S (grub_unix_real_boot): New function.
33975
33976 * loader/aout.c: New file.
33977
33978 * loader/i386/bsd.c: New file.
33979
33980 * loader/i386/bsd_normal.c: New file.
33981
33982 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
33983
33984 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 33985 can test other formats.
d38e24c2 33986
b93bdb0f 339872008-02-19 Robert Millan <rmh@aybabtu.com>
33988
33989 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
33990 (grub_gpt_partition_type_empty): Redefine with macro from
33991 `<grub/gpt_partition.h>'.
33992 (gpt_partition_map_iterate): Adjust partition type comparison.
33993
33994 Export `entry' as partmap-specific `part.data' struct.
33995 (grub_gpt_header, grub_gpt_partentry): Move from here ...
33996
33997 * include/grub/gpt_partition.h (grub_gpt_header)
33998 (grub_gpt_partentry): ... to here (new file).
33999
34000 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34001
34002 (grub_gpt_partition_type_bios_boot): New const variable, defined
34003 with macro from `<grub/gpt_partition.h>'.
34004
34005 (setup): Replace `first_start' with `embed_region', which keeps
34006 track of the embed region (and is partmap-agnostic).
34007
34008 Replace find_first_partition_start() with find_usable_region(),
34009 which finds a usable region for embedding using partmap-specific
34010 knowledge (supports PC/MSDOS and GPT).
34011
34012 Fix all assumptions that the embed region start at sector 1, using
34013 `embed_region.start' from now on. Similarly, use `embed_region.end'
34014 rather than `first_start' to calculate available size.
34015
34016 In grub_util_info() message, replace "into after the MBR" with an
34017 indication of the specific sector our embed region starts at.
34018
66cb40f6 340192008-02-19 Robert Millan <rmh@aybabtu.com>
34020
34021 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34022 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34023 `commands/reboot.c'.
34024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34025 (halt_mod_SOURCES): Likewise.
34026 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34027 (halt_mod_SOURCES): Likewise.
34028
b7202015 340292008-02-17 Christian Franke <franke@computer.org>
34030
34031 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34032
32b0fc49 340332008-02-17 Robert Millan <rmh@aybabtu.com>
34034
34035 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34036 set `first_start' to 0 for non-PC/MSDOS partition maps.
34037
aca63502 340382008-02-16 Robert Millan <rmh@aybabtu.com>
34039
34040 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34041 do not assume partition map is PC/MSDOS before performing checks that
34042 are specific to that layout.
34043
0de8be86 340442008-02-13 Robert Millan <rmh@aybabtu.com>
34045
34046 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34047 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34048 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34049
c3db8364 340502008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34051
34052 * configure.ac: Only a cosmetic change on the handling of
34053 -fno-stack-protector.
34054
f714229e 340552008-02-12 Alexandre Boeglin <alex@boeglin.org>
34056
c3db8364 34057 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34058 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34059 reboot.c.
f714229e 34060 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34061 (halt_mod_SOURCES): New variable.
34062 (halt_mod_CFLAGS): Likewise.
34063 (halt_mod_LDFLAGS): Likewise.
34064 (reboot_mod_SOURCES): Likewise.
34065 (reboot_mod_CFLAGS): Likewise.
34066 (reboot_mod_LDFLAGS): Likewise.
34067
c3db8364 34068 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34069 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34070 reboot.c.
f714229e 34071 (halt_mod_SOURCES): Likewise.
34072 (reboot_mod_SOURCES): Likewise.
34073
c3db8364 34074 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34075 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34076 (reboot_mod_SOURCES): Likewise.
34077
34078 * commands/i386/pc/reboot.c: merge this file ...
34079
34080 * commands/ieee1275/reboot.c: ... and this file ...
34081
34082 * commands/reboot.c: ... to this file.
c3db8364 34083 Add some precompiler directive to include the correct header for
34084 each machine.
f714229e 34085
34086 * commands/ieee1275/halt.c: move this file ...
34087
34088 * commands/halt.c: ... to here.
c3db8364 34089 Add some precompiler directive to include the correct header for
34090 each machine.
f714229e 34091
34092 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34093 (grub_halt): Likewise.
34094
34095 * kern/efi/efi.c (grub_reboot): New function.
34096 (grub_halt): Likewise.
34097
c74493e0 340982008-02-12 Robert Millan <rmh@aybabtu.com>
34099
34100 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34101 /dev (like it is done for /dev/mapper). This doesn't provide support
34102 for EVMS, but at least it is now easy to identify the problem when it
34103 arises.
34104
d0db4b04 341052008-02-11 Robert Millan <rmh@aybabtu.com>
34106
34107 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34108 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34109 comparing it with -1, not 0.
34110
bf748642 341112008-02-10 Robert Millan <rmh@aybabtu.com>
34112
34113 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34114 `disk/lvm.c'.
34115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34116 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34117
34118 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34119 `disk/lvm.c' to the end of the list.
34120 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34121 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34122
b5db202a 341232008-02-10 Robert Millan <rmh@aybabtu.com>
34124
34125 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34126 grub_print_error() instead. This will let user know why we're entering
34127 rescue mode.
34128 Based on suggestions from Sam Morris.
34129
83abee31 341302008-02-10 Alexandre Boeglin <alex@boeglin.org>
34131
34132 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34133 on remaining N args, instead of "--" arg N times.
34134
78d5a08b 341352008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34136
34137 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34138 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34139 pattern for unknown glyphs.
34140
68807e5f 341412008-02-09 Robert Millan <rmh@aybabtu.com>
34142
34143 * configure.ac: Probe for `help2man'.
34144 * Makefile.in (builddir): New variable.
34145 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34146 or otherwise add a few flags/options to it.
34147 (install-local): For every executable utility or script that is
34148 installed, invoke $(HELP2MAN) to install a manpage based on --help
34149 output.
34150
34151 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34152 that it doesn't prevent --help from working in build tree.
34153
34154 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34155 with `bug-grub@gnu.org'.
34156 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34157 * util/update-grub.in (usage): New function.
34158 Implement proper argument check, with support for --help and --version
34159 (as well as existing -y).
34160
341612008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34162
34163 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34164 avoid overwriting previous output.
34165 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34166
c1962162 341672008-02-09 Robert Millan <rmh@aybabtu.com>
34168
34169 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34170 drawing the menu.
34171
3dac2e3f 341722008-02-09 Robert Millan <rmh@aybabtu.com>
34173
34174 * commands/sleep.c: New file.
34175 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34176 (sleep_mod_SOURCES): New variable.
34177 (sleep_mod_CFLAGS): Likewise.
34178 (sleep_mod_LDFLAGS): Likewise.
34179
7a634e08 341802008-02-09 Robert Millan <rmh@aybabtu.com>
34181
34182 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34183 situations in which we can deduce the RAID size and the superblock
34184 doesn't match it.
34185
b92f0c18 341862008-02-09 Robert Millan <rmh@aybabtu.com>
34187
34188 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34189 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34190 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34191
34192 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34193 and return a grub_diskmemberlist_t composed of physical array members.
34194 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34195
34196 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34197 prototype.
34198 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34199 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34200 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34201
34202 * util/grub-probe.c (probe): Move partmap probing code from here ...
34203 (probe_partmap): ... to here.
34204 (probe): Use probe_partmap() once for the disk we're probing, and
34205 additionally, when such disk contains a memberlist() struct member,
34206 once for each disk that is contained in the structure returned by
34207 memberlist().
34208
91a4bf68 342092008-02-09 Robert Millan <rmh@aybabtu.com>
34210
34211 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34212 environment variable to 'all' in order to obtain debug output from
34213 non-util/ code.
34214 * util/i386/pc/grub-setup.c (main): Likewise.
34215
a96f9caa 342162008-02-08 Robert Millan <rmh@aybabtu.com>
34217
34218 * disk/raid.c (grub_raid_scan_device): Check for
34219 `array->device[sb.this_disk.number]' rather than for
34220 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34221 guaranteed to be accessible.
a96f9caa 34222
b37a9222 342232008-02-08 Robert Millan <rmh@aybabtu.com>
34224
34225 * disk/raid.c: Update copyright.
34226 * fs/cpio.c: Likewise.
34227 * include/grub/raid.h: Likewise.
34228 * loader/i386/pc/multiboot.c: Likewise.
34229 * util/hostfs.c: Likewise.
34230
5626aee1 342312008-02-08 Robert Millan <rmh@aybabtu.com>
34232
34233 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34234 to a grub_disk_t array.
34235 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34236 `device[x]'.
34237 (grub_raid_scan_device): Replace `device[x].name' accesses with
34238 `device[x]->name'. Simplify initialization of `array->device[x]'.
34239
554f0187 342402008-02-08 Robert Millan <rmh@aybabtu.com>
34241
34242 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34243 grub_dprintf() calls.
34244 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34245 error message.
34246
1ec8425d 342472008-02-07 Christian Franke <franke@computer.org>
34248
34249 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34250 instead of fseek and ftell to support large files.
34251 (grub_hostfs_read): Likewise.
34252
f2156fda 342532008-02-07 Robert Millan <rmh@aybabtu.com>
34254
34255 Patch from Jeroen Dekkers.
34256 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34257 failure, since successfully reading all array members might not be
f2156fda 34258 required.
34259
9216e0e7 342602008-02-06 Robert Millan <rmh@aybabtu.com>
34261
34262 * util/grub-probe.c (probe): Simplify partmap probing (with the
34263 assumption that the first word up to the underscore equals to
34264 the module name).
34265
b0dfd29a 342662008-02-06 Christian Franke <franke@computer.org>
34267
34268 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34269 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34270 last block of a cpio or tar stream.
34271 Check for "TRAILER!!!" instead of any empty data
34272 block to detect last block of a cpio stream.
34273 (grub_cpio_dir): Fix constness of variable np.
34274 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34275 cpio or tar trailer is detected. This fixes a crash
34276 on open of a non existing file.
34277
c32865bf 342782008-02-05 Bean <bean123ch@gmail.com>
34279
34280 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34281 address of entry.
34282 (grub_multiboot_load_elf64): Likewise.
34283 (grub_multiboot): Initialize mbi structure.
34284
34285 * util/grub-fstest.c: Don't include unused header file script.h.
34286
fe6b695a 34287 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34288 of file.
34289 (grub_fstest_SOURCES): Likewise.
34290
409480b7 342912008-02-05 Robert Millan <rmh@aybabtu.com>
34292
34293 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34294 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34295 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34296 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34297
34298 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34299 (translation_table): Replace hardcoded values with macros
34300 provided by `<grub/term.h>'.
34301
34302 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34303 (keyboard_map): Correct/add a few values, with macros provided
34304 by `<grub/term.h>'.
34305 (keyboard_map_shift): Zero values that don't differ from their
34306 `keyboard_map' equivalents.
34307 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34308 Discard the second scan code that is always sent by Caps lock.
34309 Only use `keyboard_map_shift' when it provides a non-zero value,
34310 otherwise fallback to `keyboard_map'.
34311
99fadbaa 343122008-02-04 Bean <bean123ch@gmail.com>
34313
34314 * Makefile.in (enable_grub_fstest): New variable.
34315
34316 * conf/common.rmk (grub_fstest_init.lst): New rule.
34317 (grub_fstest_init.h): Likewise.
34318 (grub_fstest_init.c): Likewise.
34319 (util/grub-fstest.c_DEPENDENCIES): New variable.
34320 (grub_fstest_SOURCES): Likewise.
34321
34322 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34323
34324 * util/grub-fstest.c: New file.
34325
bf567c50 343262008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34327
34328 Make grub-setup handle a separate root device.
f19dbdb7 34329
bf567c50 34330 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34331 so that the root device can be compared with the destination
34332 device.
34333 When embedding the core image, if the root and destination devices
34334 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34335 0xFF.
34336 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34337
9be6b98b 343382008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34339
34340 Add support for having a grub directory in a different drive. This
34341 is still only the data handling part.
f19dbdb7 34342
9be6b98b 34343 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34344 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34345 (grub_root_drive): New variable.
34346
34347 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34348 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34349 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34350 as it was.
34351
34352 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34353
34354 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34355 macro.
34356 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34357
34358 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34359 is bogus, because PXE booting does not specify any drive
34360 correctly.
34361
34362 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34363 am not sure if this is really correct.
34364
34365 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34366 is always identical to the boot drive when booting from a CD.
34367
34368 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34369 longer.
34370 (root_drive): New variable.
34371 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34372 (setup_sectors): Push %dx right after popping it, because %dh will
34373 be modified later.
34374 (copy_buffer): Restore %dx.
34375
e0ca0677 343762008-02-03 Robert Millan <rmh@aybabtu.com>
34377
34378 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34379 use `cdboot.img' for cdrom images.
34380
3b3f6629 343812008-02-03 Robert Millan <rmh@aybabtu.com>
34382
34383 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34384 only setup gfxterm when `font' command has succeeded.
34385
d42b3672 343862008-02-03 Robert Millan <rmh@aybabtu.com>
34387
34388 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34389 (grub_rescue_cmd_multiboot_loader)
34390 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34391
fa370ea6 343922008-02-03 Pavel Roskin <proski@gnu.org>
34393
e0c5dacb 34394 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34395 %edx and %esi from stack only after grub_gate_a20() is called.
34396 grub_gate_a20() clobbers %edx.
34397
f2a76e1d 343982008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34399
34400 * configure.ac (AC_INIT): Bumped to 1.96.
34401
34402 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34403 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34404 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34405 video/readers/png.c.
34406
90fd32d1 344072008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34408
34409 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34410 (cdboot_img_SOURCES): New variable.
34411 (cdboot_img_ASFLAGS): New variable.
34412 (cdboot_img_LDFLAGS): New variable.
34413
34414 * boot/i386/pc/cdboot.S: New file.
34415
34416 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34417 (cd_count): Likewise.
34418 (grub_biosdisk_get_drive): Add support for cd device.
34419 (grub_biosdisk_call_hook): Likewise.
34420 (grub_biosdisk_iterate): Likewise.
34421 (grub_biosdisk_open): Likewise.
34422 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34423 (grub_biosdisk_rw): Support reading from cd device.
34424 (GRUB_MOD_INIT): Iterate cd devices.
34425
34426 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34427 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34428 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34429
34430 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34431
4020aa53 344322008-02-02 Robert Millan <rmh@aybabtu.com>
34433
34434 * commands/read.c: New file.
34435 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34436 (read_mod_SOURCES): New variable.
34437 (read_mod_CFLAGS): Likewise.
34438 (read_mod_LDFLAGS): Likewise.
34439
e03a1132 344402008-02-02 Robert Millan <rmh@aybabtu.com>
34441
34442 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34443 determining whether menu has to be displayed.
34444
58c69220 344452008-02-02 Marco Gerards <marco@gnu.org>
34446
34447 * bus/pci.c: New file.
34448
34449 * include/grub/pci.h: Likewise.
34450
34451 * include/grub/i386/pc/pci.h: Likewise.
34452
34453 * commands/lspci.c: Likewise.
34454
34455 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34456 `lspci.mod'.
34457 (pci_mod_SOURCES): New variable.
34458 (pci_mod_CFLAGS): Likewise.
34459 (pci_mod_LDFLAGS): Likewise.
34460 (lspci_mod_SOURCES): Likewise.
34461 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34462 (lspci_mod_LDFLAGS): Likewise.
58c69220 34463
c004e1b4 344642008-02-02 Bean <bean123ch@gmail.com>
34465
34466 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34467 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34468
34469 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34470 (grub_xfs_btree_node): New structure.
34471 (grub_xfs_btree_root): New structure.
34472 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34473 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34474 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34475 (GRUB_XFS_EXTENT_SIZE): Likewise.
34476 (grub_xfs_read_block): Support btree format type.
34477 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34478 Use directory block as basic unit.
34479
34480 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34481
34482 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34483 __attribute__ ((__regparm__ (1))).
34484
f95562bf 344852008-02-01 Robert Millan <rmh@aybabtu.com>
34486
34487 Correct a mistake in previous commit.
34488
34489 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34490 top.
34491 (normal/command.c_DEPENDENCIES): New variable.
34492
7d31f41f 344932008-02-01 Robert Millan <rmh@aybabtu.com>
34494
34495 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34496 top.
34497 (normal/command.c_DEPENDENCIES): New variable.
34498 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34499 * conf/i386-ieee1275.rmk: Likewise.
34500 * conf/i386-linuxbios.rmk: Likewise.
34501 * conf/i386-pc.rmk: Likewise.
34502 * conf/sparc64-ieee1275.rmk: Likewise.
34503 * conf/powerpc-ieee1275.rmk: Likewise.
34504 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34505
34506 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34507
60b6be74 345082008-02-01 Robert Millan <rmh@aybabtu.com>
34509
34510 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34511 call at beginning of function.
34512
078522ab 345132008-01-31 Pavel Roskin <proski@gnu.org>
34514
34515 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34516 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34517 (grub_mkrescue_SOURCES): Likewise.
078522ab 34518 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34519
ccaa8a5f 345202008-01-30 Robert Millan <rmh@aybabtu.com>
34521
34522 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34523 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34524 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34525 (grub_probe_SOURCES): ... to here.
34526
34527 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34528 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34529 * conf/i386-ieee1275.rmk: Likewise.
34530 * conf/i386-linuxbios.rmk: Likewise.
34531 * conf/powerpc-ieee1275.rmk: Likewise.
34532
ae5a9cd7 345332008-01-30 Tristan Gingold <gingold@free.fr>
34534
34535 * kern/rescue.c: Silently accept empty lines.
34536
70bc2ef2 345372008-01-29 Bean <bean123ch@gmail.com>
34538
34539 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34540 (real_code_2): Code cleanup and change comment style.
34541 (move_memory): Avoid using 32-bit address mode.
34542
6a4d50ea 345432008-01-29 Bean <bean123ch@gmail.com>
34544
34545 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34546 (png_mod_SOURCES): New variable.
34547 (png_mod_CFLAGS): Likewise.
34548 (png_mod_LDFLAGS): Likewise.
34549
34550 * video/readers/png.c: New file.
34551
11cc30ac 345522008-01-28 Robert Millan <rmh@aybabtu.com>
34553
34554 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34555 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34556 `ifndef GRUB_MOD_GAP' hack.
34557 * util/elf/grub-mkimage.c (add_segments): Likewise.
34558
3abc589f 345592008-01-27 Robert Millan <rmh@aybabtu.com>
34560
34561 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34562 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34563 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34564
e1907778 345652008-01-27 Robert Millan <rmh@aybabtu.com>
34566
34567 Get grub-emu to build again (including parallel builds).
34568
34569 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34570 Split into ...
34571 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34572 (normal/execute.c_DEPENDENCIES): ... this, ...
34573 (grub-emu_DEPENDENCIES): ... and this.
34574
34575 * conf/i386-efi.rmk: Likewise.
34576 * conf/i386-linuxbios.rmk: Likewise.
34577 * conf/i386-ieee1275.rmk: Likewise.
34578 * conf/powerpc-ieee1275.rmk: Likewise.
34579 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34580
2216b101 345812008-01-27 Robert Millan <rmh@aybabtu.com>
34582
34583 * NEWS: Add a few items.
34584
f75172d9 345852008-01-27 Robert Millan <rmh@aybabtu.com>
34586
34587 Fix parallel builds with grub-emu. Based on earlier commit for
34588 grub-probe and grub-setup.
34589
34590 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34591 (util/grub-emu.c_DEPENDENCIES): ... this.
34592 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34593 (util/grub-emu.c_DEPENDENCIES): ... this.
34594 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34595 (util/grub-emu.c_DEPENDENCIES): ... this.
34596 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34597 (util/grub-emu.c_DEPENDENCIES): ... this.
34598 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34599 (util/grub-emu.c_DEPENDENCIES): ... this.
34600
3f51de77 346012008-01-27 Pavel Roskin <proski@gnu.org>
34602
34603 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34604 to create a gap between _end and the modules added to the image
34605 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34606 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34607 * util/elf/grub-mkimage.c (add_segments): Likewise.
34608
2033f53e 346092008-01-26 Pavel Roskin <proski@gnu.org>
34610
34611 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34612 just return an error.
34613
22da1f6f 346142008-01-26 Bean <bean123ch@gmail.com>
34615
34616 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34617 (grub_reiserfs_get_item): Save offset of the next item.
34618 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34619
2a9525e6 346202008-01-25 Robert Millan <rmh@aybabtu.com>
34621
34622 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34623 make all filesystem sources appear together (possibly fixing omissions
34624 while at it).
34625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34626 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34627 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34629
34630 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34631 add `kern/file.c'.
34632 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
34633 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34634 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
34635 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34636
34637 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
34638 (probe): Add a sanity check to make sure of our ability to read
34639 requested files when probing for filesystem type.
34640
34641 * genmk.rb: Update copyright year (2007).
34642
34643 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
34644 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
34645 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
34646 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
34647 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
34648 : Remove function prototypes.
34649
b95f71b5 346502008-01-25 Robert Millan <rmh@aybabtu.com>
34651
34652 Revert my previous commits (based on wrong assumption of how grub_errno
34653 works).
34654
fe6b695a 34655 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 34656 * kern/file.c (grub_file_open): Likewise.
34657
d08bbb49 346582008-01-24 Pavel Roskin <proski@gnu.org>
34659
34660 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
34661 that hang if GRUB tries to setup colors.
34662 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
34663 colors for firmwares that don't support it.
34664 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
34665 Recognize Open Hack'Ware, set flags to work around its
34666 limitations.
34667
605e36ed 346682008-01-24 Robert Millan <rmh@aybabtu.com>
34669
34670 * kern/file.c (grub_file_open): Do not account previous failures of
34671 unrelated functions when grub_errno is checked for.
34672 Reported by Oleg Strikov.
34673
bac332a1 346742008-01-24 Bean <bean123ch@gmail.com>
34675
34676 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
34677 (grub_ufs_sblock): New member volume name.
34678 (grub_ufs_find_file): Fix string copy bug.
34679 (grub_ufs_label): Implement this function properly.
34680
34681 * fs/hfs.c (grub_hfs_cnid_type): New enum.
34682 (grub_hfs_iterate_records): Use the correct file number for extents
34683 and catalog file. Fix problem in next index calculation.
34684 (grub_hfs_find_node): Replace recursive function call with loop.
34685 (grub_hfs_iterate_dir): Replace recursive function call with loop.
34686
15c80c09 346872008-01-23 Robert Millan <rmh@aybabtu.com>
34688
34689 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
34690 `<grub/symbol.h>' and `<grub/multiboot.h>'.
34691 (grub_multiboot2_real_boot): New function prototype.
34692
34693 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
34694 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
34695
34696 * kern/i386/ieee1275/init.c (grub_os_area_addr)
34697 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
34698
305338fd 346992008-01-23 Robert Millan <rmh@aybabtu.com>
34700
34701 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
34702 #ifdef'ed out grub_printf().
34703
3ea52685 347042008-01-23 Robert Millan <rmh@aybabtu.com>
34705
34706 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
34707 grub_dprintf calls, since they make "debug=all" mode unusable.
34708 (grub_console_checkkey): Likewise.
34709
5882ae4b 347102008-01-23 Robert Millan <rmh@aybabtu.com>
34711
34712 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34713 `term/i386/pc/at_keyboard.c'.
34714 (pkglib_MODULES): Add `serial.mod'.
34715 (serial_mod_SOURCES): New variable.
34716 (serial_mod_CFLAGS): Likewise.
34717 (serial_mod_LDFLAGS): Likewise.
34718
34719 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
34720 `<grub/powerpc/ieee1275/console.h>'.
34721 (grub_keyboard_controller_init): New function prototype.
34722 (grub_console_checkkey): Likewise.
34723 (grub_console_getkey): Likewise.
34724
34725 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
34726 keyboard on i386.
34727
34728 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
34729 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
34730
06ab5303 347312008-01-23 Robert Millan <rmh@aybabtu.com>
34732
34733 * kern/i386/pc/init.c (make_install_device): When memdisk image is
34734 present, "(memdisk)/boot/grub" becomes the default prefix.
34735
34736 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
34737 a memdisk tarball with all the modules. Add --overlay=DIR option that
34738 allows users to overlay additional files into the image.
34739
dbb475a4 347402008-01-23 Robert Millan <rmh@aybabtu.com>
34741
34742 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
34743 and `machine/memory.h'.
34744 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
34745 (_multiboot_mod_SOURCES): New variable.
34746 (_multiboot_mod_CFLAGS): Likewise.
34747 (_multiboot_mod_LDFLAGS): Likewise.
34748 (multiboot_mod_SOURCES): Likewise.
34749 (multiboot_mod_CFLAGS): Likewise.
34750 (multiboot_mod_LDFLAGS): Likewise.
34751
34752 * include/grub/i386/ieee1275/loader.h: New file.
34753
34754 * include/grub/i386/ieee1275/machine.h: Likewise.
34755
34756 * include/grub/i386/ieee1275/memory.h: Likewise.
34757
34758 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
34759 variable declaration.
34760 (grub_os_area_size): Likewise.
34761
34762 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
34763 (grub_lower_mem, grub_upper_mem): New variables.
34764 (grub_stop_floppy): New function (just to make
34765 grub_multiboot2_real_boot() happy).
34766
34767 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
34768 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
34769 (grub_stop): New function.
34770 Include `"../realmode.S"' and `"../loader.S"'.
34771
34772 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
34773 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
34774
34775 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
34776 rely on grub_multiboot2_real_boot() for final boot.
34777
25638629 347782008-01-22 Robert Millan <rmh@aybabtu.com>
34779
34780 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
34781 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
34782 device that doesn't look like an SD card.
34783 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34784 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
34785 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
34786 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
34787 found.
34788
9dad816d 347892008-01-22 Robert Millan <rmh@aybabtu.com>
34790
34791 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
34792 avoid claiming over our own code.
34793
34842f2d 347942008-01-22 Bean <bean123ch@gmail.com>
34795
34796 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
34797 (jpeg_mod_SOURCES): New variable.
34798 (jpeg_mod_CFLAGS): Likewise.
34799 (jpeg_mod_LDFLAGS): Likewise.
34800
34801 * video/readers/jpeg.c : New file.
34802
44023a28 348032008-01-22 Bean <bean123ch@gmail.com>
34804
34805 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
34806 there are no more items.
34807
bc2d8ac6 348082008-01-21 Robert Millan <rmh@aybabtu.com>
34809
34810 * kern/mm.c (grub_mm_init_region): Improve debug message.
34811
261bd4bc 348122008-01-21 Robert Millan <rmh@aybabtu.com>
34813
34814 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
34815 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
34816 address.
34817 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
34818 a C macro.
34819 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
34820 Indicates start of upper memory.
34821 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
34822 (generate_image): Abort when image size is big enough to corrupt
34823 upper memory.
34824
34825 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
34826 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
34827 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34828 instead of hardcoding 0xA0000.
34829 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
34830 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34831 instead of hardcoding 0xA0000.
34832
f970b55e 348332008-01-21 Robert Millan <rmh@aybabtu.com>
34834
34835 * disk/memdisk.c (memdisk_size): New variable.
34836 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
34837 `memdisk_size'.
34838 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
34839 image to dynamic memory.
34840 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
34841 `memdisk_size'. Free memdisk block.
34842
1a8b0526 348432008-01-21 Robert Millan <rmh@aybabtu.com>
34844
34845 Fix detection of very small filesystems (like tar).
34846
34847 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
34848 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
34849 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
34850 a problem with this disk).
34851
6e9b4aab 348522008-01-21 Robert Millan <rmh@aybabtu.com>
34853
34854 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
34855 on grub_biosdisk_rw_standard() error.
34856
0d8837b2 348572008-01-21 Robert Millan <rmh@aybabtu.com>
34858
34859 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
34860 recent changes.
34861 * kern/elf.c: Likewise.
34862 * kern/ieee1275/ieee1275.c: Likewise.
34863 * kern/powerpc/ieee1275/openfw.c: Likewise.
34864 * term/ieee1275/ofconsole.c: Likewise.
34865
ffd36e34 348662008-01-21 Robert Millan <rmh@aybabtu.com>
34867
34868 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
34869
3f0093d0 34870 * include/grub/kernel.h (grub_arch_memdisk_addr)
34871 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 34872
3f0093d0 34873 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
34874 (grub_arch_memdisk_size): ... to here.
ffd36e34 34875
6c391b21 348762008-01-21 Robert Millan <rmh@aybabtu.com>
34877
34878 Mostly based on bugfix from Bean.
34879
34880 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
34881 attribute with hook() parameter.
34882 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
34883 declaration.
34884 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
34885 attribute with hook() parameter.
34886 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
34887 declaration.
34888
55a581dc 348892008-01-21 Robert Millan <rmh@aybabtu.com>
34890
34891 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
34892 (pkglib_MODULES): Add `memdisk.mod'.
34893 (memdisk_mod_SOURCES): New variable.
34894 (memdisk_mod_CFLAGS): Likewise.
34895 (memdisk_mod_LDFLAGS): Likewise.
34896
34897 * disk/memdisk.c: New file.
34898
34899 * include/grub/disk.h (grub_disk_dev_id): Add
34900 `GRUB_DISK_DEVICE_MEMDISK_ID'.
34901
34902 * include/grub/i386/pc/kernel.h
34903 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
34904 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
34905 (grub_kernel_image_size): New variable declaration.
34906 (grub_total_module_size): Likewise.
34907 (grub_memdisk_image_size): Likewise.
34908
34909 * include/grub/i386/pc/memory.h
34910 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
34911
34912 * include/grub/kernel.h: Include `<grub/symbol.h>'.
34913 (grub_arch_memdisk_addr): New variable declaration.
34914 (grub_arch_memdisk_size): Likewise.
34915
34916 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
34917 (grub_arch_memdisk_size): Likewise.
34918
34919 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
34920 (codestart): Replace hardcoded `0x100000' with
34921 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
34922
34923 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
34924 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
34925 not NULL, append the contents of the file it refers to, at the end of
34926 the compressed kernel image. Initialize `grub_memdisk_image_size'
34927 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
34928 (options): Add "memdisk"|'m' option.
34929 (main): Parse --memdisk|-m option, and pass user-provided path as
34930 parameter to generate_image().
34931
3d7f54c9 349322008-01-20 Robert Millan <rmh@aybabtu.com>
34933
34934 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
34935 grub_dprintf() calls from here ...
34936 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
34937
0bf74728 349382008-01-20 Robert Millan <rmh@aybabtu.com>
34939
34940 Fix detection of "real mode" when /options/real-mode? doesn't exist.
34941
34942 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
34943 declaration.
34944 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
34945 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
34946 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 34947 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 34948 property).
34949 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
34950 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
34951
33bf70a7 349522008-01-19 Robert Millan <rmh@aybabtu.com>
34953
fe6b695a 34954 Get rid of confusing function (superseded by
33bf70a7 34955 `grub_ieee1275_get_integer_property')
34956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
34957 prototype.
34958 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
34959 function.
34960 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
34961 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 34962 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 34963
e2da7d26 349642008-01-19 Robert Millan <rmh@aybabtu.com>
34965
34966 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
34967 command after "shut-down", since implementations differ on which
34968 the command for halt is.
34969
59f1fd8d 349702008-01-19 Robert Millan <rmh@aybabtu.com>
34971
34972 * include/grub/i386/linuxbios/console.h: Add header protection.
34973 (grub_keyboard_controller_init): New function prototype.
34974 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
34975 (KEYBOARD_COMMAND_READ): Likewise.
34976 (KEYBOARD_COMMAND_WRITE): Likewise.
34977 (KEYBOARD_SCANCODE_SET1): Likewise.
34978 (grub_keyboard_controller_write): New function.
34979 (grub_keyboard_controller_read): Likewise.
34980 (grub_keyboard_controller_init): Likewise.
34981
34982 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
34983 (grub_console_init): On coreboot/LinuxBIOS, call
34984 grub_keyboard_controller_init().
34985
5f5a7c15 349862008-01-19 Robert Millan <rmh@aybabtu.com>
34987
34988 PowerPC changes provided by Pavel Roskin.
34989
34990 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
34991 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
34992 don't rely on cmain() doing it.
34993 * kern/i386/ieee1275/startup.S (_start): Store %eax in
34994 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
34995
1210e168 349962008-01-16 Robert Millan <rmh@aybabtu.com>
34997
34998 * include/grub/i386/linuxbios/memory.h
34999 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35000 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35001 receive `table_header' as argument. Instead, probe for it in the
35002 known memory ranges where it can be present.
35003 (grub_available_iterate): Do not pass a fixed `table_header' address
35004 to grub_linuxbios_table_iterate().
35005
3d04eab8 350062008-01-15 Robert Millan <rmh@aybabtu.com>
35007
35008 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35009 * conf/i386-ieee1275.rmk: New file.
35010 * include/grub/i386/ieee1275/console.h: Likewise.
35011 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35012 * include/grub/i386/ieee1275/kernel.h: Likewise.
35013 * include/grub/i386/ieee1275/time.h: Likewise.
35014 * kern/i386/ieee1275/init.c: Likewise.
35015 * kern/i386/ieee1275/startup.S: Likewise.
35016
d1bc1b73 350172008-01-15 Robert Millan <rmh@aybabtu.com>
35018
35019 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35020 when pointers are 32-bit (but still do set it to one when they are
35021 64-bit).
35022
66a65807 350232008-01-15 Robert Millan <rmh@aybabtu.com>
35024
35025 * include/grub/ieee1275/ieee1275.h
35026 (grub_ieee1275_get_integer_property): New function prototype.
35027
35028 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35029 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35030 grub_ieee1275_get_property() to handle endianness.
66a65807 35031
35032 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35033 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35034 where appropriate.
66a65807 35035 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35036 (grub_map): Likewise.
35037 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35038
a83ccafd 350392008-01-15 Bean <bean123ch@gmail.com>
35040
35041 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35042 (grub_script_execute_cmdline): Reset grub_errno.
35043
35044 * normal/main.c (read_config_file): Reset grub_errno.
35045
35046 * normal/parse.y (script_init): New.
35047 (script): Move function and menuentry here.
35048 (delimiter): New.
35049 (command): Add delimiter at the end of command.
35050 (commands): Adjust to match the new command.
35051 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35052 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35053 (if): Use the new commands.
35054
35055 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35056
df6ecfc6 350572008-01-15 Robert Millan <rmh@aybabtu.com>
35058
35059 * normal/menu.c (run_menu): Move timeout message from here ...
35060 (print_timeout): ... to here.
35061 (run_menu): Use print_timeout() once during initial draw to print
35062 the whole message, and again in every clock tick to update only
35063 the number of seconds.
35064
87ae25eb 350652008-01-15 Robert Millan <rmh@aybabtu.com>
35066
35067 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35068 actual size of `available' from grub_ieee1275_get_property(), and
35069 restrict parsing to that bound.
35070
47bf09a4 350712008-01-15 Christian Franke <franke@computer.org>
35072
35073 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35074 (argp_program_version): Remove variable.
35075 (argp_program_bug_address): Likewise.
35076 (options): Convert from struct argp_option to struct option.
35077 (struct arguments): Remove.
35078 (parse_opt): Remove.
35079 (usage): New function.
35080 (main): Replace struct args members by simple variables.
35081 Replace argp_parse() by getopt_long().
35082 Add switch to evaluate options.
35083 Add missing "(...)" around root_dev in prefix string.
35084
c86f1469 350852008-01-14 Robert Millan <rmh@aybabtu.com>
35086
35087 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35088 for grub_ieee1275_exit(), in order to improve portability.
35089
e622c559 350902008-01-14 Robert Millan <rmh@aybabtu.com>
35091
35092 * util/grub.d/10_linux.in (prefix): Define.
35093 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35094
44cb1ec8 350952008-01-13 Pavel Roskin <proski@gnu.org>
35096
35097 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35098 grub_errno if no errors have been detected.
35099
1eb8c802 351002008-01-12 Robert Millan <rmh@aybabtu.com>
35101
35102 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35103 (grub_util_get_dev_abstraction): New function prototype.
35104
35105 * util/getroot.c: Include `<grub/util/getroot.h>'
35106 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35107 (grub_util_get_dev_abstraction): ... here (new function).
35108
35109 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35110 `PRINT_ABSTRACTION'.
35111 (probe): Probe for abstraction type when requested.
35112 (main): Understand `--target=abstraction'.
35113
35114 * util/i386/efi/grub-install.in: Add abstraction module to core
35115 image when it is found to be necessary.
35116 * util/i386/pc/grub-install.in: Likewise.
35117 * util/powerpc/ieee1275/grub-install.in: Likewise.
35118
35119 * util/update-grub_lib.in (font_path): Return system path without
35120 converting to GRUB path.
35121 * util/update-grub.in: Convert system path returned by font_path()
35122 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35123 abstraction module is needed for loading fonts (if any). Export
35124 that as `GRUB_PRELOAD_MODULES'.
35125 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35126 insmod commands).
35127
52bd3de9 351282008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35129
35130 Remove some unused code from reiserfs.
f19dbdb7 35131
52bd3de9 35132 * fs/reiserfs.c (struct grub_reiserfs_key)
35133 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35134 (struct grub_reiserfs_node_body): Removed.
35135 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35136 Likewise.
35137 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35138 Likewise.
35139 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35140 Likewise.
35141 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35142 Likewise.
35143 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35144 Likewise.
35145 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35146 Likewise.
35147 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35148 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35149 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35150
2f80039d 351512008-01-10 Robert Millan <rmh@aybabtu.com>
35152
35153 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35154 Determines if a file is garbage left by packaging systems, etc.
35155 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35156 for processing /etc/grub.d scripts.
35157 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35158 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35159 as a condition for processing Linux images.
35160
87888032 351612008-01-10 Pavel Roskin <proski@gnu.org>
35162
35163 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35164 to compile reiserfs.c on PowerPC.
35165
7e54fced 351662008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35167
35168 * kern/device.c (grub_device_iterate): Do not abort device iteration
35169 when one of the devices cannot be opened.
35170 * kern/disk.c (grub_disk_open): Do not account previous failures of
35171 unrelated functions when grub_errno is checked for.
35172
5aa541e6 351732008-01-08 Robert Millan <rmh@aybabtu.com>
35174
35175 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35176 `! grub_linux_is_bzimage', change order of address comparison to make
35177 it more intuitive, and improve "too big zImage" error message.
35178
7076340d 351792008-01-08 Robert Millan <rmh@aybabtu.com>
35180
35181 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35182 `$(update-grub_DATA)'.
35183 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35184 targets.
35185
9ca70333 351862008-01-07 Robert Millan <rmh@aybabtu.com>
35187
35188 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35189 which instruction is modified by grub-setup during installation
35190 (since it wasn't obvious by only looking at this file).
35191
38ccf575 351922008-01-07 Robert Millan <rmh@aybabtu.com>
35193
35194 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35195 listing actual TODO items.
35196
f5db4291 351972008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35198
868967cf 35199 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35200 correctly.
35201 (grub_reiserfs_get_key_offset): Likewise.
35202 (grub_reiserfs_set_key_offset): Likewise.
35203 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35204 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35205
35206 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35207 better to remove the bitfield version completely.
f19dbdb7 35208
868967cf 352092008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35210
f5db4291 35211 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35212 allocated from the heap, due to the fshelp implementation.
35213 (grub_reiserfs_dir): Free NODE, due to the same reason.
35214
492e6d9d 352152008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35216
35217 Mostly from Vincent Pelletier:
f19dbdb7 35218
492e6d9d 35219 * fs/reiserfs.c: New file.
f19dbdb7 35220
492e6d9d 35221 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35222 (reiserfs_mod_SOURCES): New variable.
35223 (reiserfs_mod_CFLAGS): Likewise.
35224 (reiserfs_mod_LDFLAGS): Likewise.
35225
35226 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35227 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35228 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35229 normal/color.c.
35230
9ce3e7c1 352312008-01-06 Robert Millan <rmh@aybabtu.com>
35232
35233 * normal/color.c: Remove `<grub/env.h>'.
35234
f3b58148 352352008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35236
35237 * include/grub/normal.h: Include <grub/env.h>.
35238
7ac3bcfa 352392008-01-05 Robert Millan <rmh@aybabtu.com>
35240
35241 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35242 usage example with `(hd0,1)'.
fb358190 35243 Reported by Samuel Thibault.
7ac3bcfa 35244
c8ee99d7 352452008-01-05 Robert Millan <rmh@aybabtu.com>
35246
35247 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35248 (grub_linux_boot_zimage): Rename to ...
35249 (grub_linux_boot): ... this.
35250 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35251 (grub_linux_boot_zimage): Conditionalize zImage copy.
35252
35253 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35254 (grub_linux_boot_bzimage): Remove prototype.
35255 (grub_linux_boot_zimage): Rename to ...
35256 (grub_linux_boot): ... this.
35257
35258 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35259 (grub_linux_boot): Remove function.
35260
0ece25b1 352612008-01-05 Robert Millan <rmh@aybabtu.com>
35262
35263 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35264 (grub_env_write_color_highlight): Likewise.
35265 (grub_wait_after_message): Likewise.
35266
35267 * normal/color.c: New file.
35268
35269 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35270 (normal_mod_DEPENDENCIES): Likewise.
35271
35272 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35273 (normal_mod_DEPENDENCIES): Likewise.
35274
35275 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35276 (normal_mod_DEPENDENCIES): Likewise.
35277
35278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35279 (normal_mod_DEPENDENCIES): Likewise.
35280
35281 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35282 for waiting after a message is printed.
35283 * normal/main.c (read_config_file): Likewise.
35284 (grub_normal_init): Register grub_env_write_color_normal() and
35285 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35286 `color_highlight' variables as global.
35287
35288 * normal/menu.c (grub_wait_after_message): New function.
35289 (grub_color_menu_normal): New variable. Replaces ...
35290 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35291 (grub_color_menu_highlight): New variable. Replaces ...
35292 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35293 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35294 `GRUB_TERM_COLOR_STANDARD'.
35295 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35296 `normal_code' and `highlight_code' to `old_color_normal' and
35297 `old_color_highlight', respectively.
35298 (grub_menu_init_page): Update colors when drawing the menu, based on
35299 `menu_color_normal' and `menu_color_highlight' variables.
35300 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35301 a message is printed.
35302
182dd4e5 353032008-01-05 Robert Millan <rmh@aybabtu.com>
35304
35305 * kern/env.c (grub_env_context_open): Propagate hooks for global
35306 variables to new context.
35307
35308 * kern/main.c (grub_set_root_dev): Export `root' variable.
35309
ddf8f6ad 353102008-01-05 Robert Millan <rmh@aybabtu.com>
35311
35312 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35313 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35314 them.
35315
d8b43d9b 353162008-01-05 Robert Millan <rmh@aybabtu.com>
35317
35318 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35319
2bff2de3 353202008-01-04 Christian Franke <franke@computer.org>
35321
35322 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35323 of eisa_mmap.
35324
97eab917 353252008-01-03 Pavel Roskin <proski@gnu.org>
35326
35327 * kern/i386/linuxbios/init.c: Put "void" to all function
35328 declarations with no arguments.
35329 * kern/powerpc/ieee1275/init.c: Likewise.
35330 * term/i386/pc/at_keyboard.c: Likewise.
35331 * term/i386/pc/vga_text.c: Likewise.
35332 * util/grub-mkdevicemap.c: Likewise.
35333
b9416d00 353342008-01-02 Robert Millan <rmh@aybabtu.com>
35335
35336 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35337 message when loaded image is out of bounds.
35338 (grub_multiboot_load_elf64): Likewise.
35339
92695df9 353402008-01-02 Pavel Roskin <proski@gnu.org>
35341
35342 * util/grub.d/10_linux.in: Try version without ".old" when
35343 looking for initrd. It's better to use initrd from the newer
35344 kernel of the same version than no initrd at all.
35345
d98d9cad 353462008-01-01 Robert Millan <rmh@aybabtu.com>
35347
35348 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35349
dbfdce36 353502008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35351
f19dbdb7 35352 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35353 grub_video_get_active_render_target.
35354 (grub_video_adapter): Added unmap_color and get_active_render_target.
35355
f19dbdb7 35356 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35357 grub_video_get_active_render_target.
35358 (grub_video_get_info): Changed method to accept NULL pointer as an
35359 argument to allow detection of active video adapter.
35360
35361 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35362 grub_video_vbe_unmap_color_int.
35363 Added grub_video_vbe_unmap_color and
35364 grub_video_vbe_get_active_render_target.
35365 (grub_video_vbe_adapter): Added unmap_color and
35366 get_active_render_target.
35367
f19dbdb7 35368 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35369 with grub_video_vbe_unmap_color_int.
35370
35371 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35372 (DEFAULT_NORMAL_COLOR): Likewise.
35373 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35374 (DEFAULT_FG_COLOR): Removed.
35375 (DEFAULT_BG_COLOR): Likewise.
35376 (DEFAULT_CURSOR_COLOR): Changed value.
35377 (grub_virtual_screen): Added standard_color_setting,
35378 normal_color_setting, highlight_color_setting and term_color.
35379 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35380 (bitmap_width): Added.
35381 (bitmap_height): Likewise.
35382 (bitmap): Likewise.
35383 (set_term_color): Likewise.
35384 (grub_virtual_screen_setup): Changed to use new terminal coloring
35385 settings.
35386 (grub_gfxterm_init): Added init for bitmap.
35387 (grub_gfxterm_fini): Added destroy for bitmap.
35388 (redraw_screen_rect): Updated to use background bitmap and new
35389 terminal coloring.
35390 (scroll_up): Added optimization for case when there is no bitmap.
35391 (grub_gfxterm_cls): Fixed to use correct background color.
35392 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35393 coloring.
35394 (grub_virtual_screen_setcolor): Likewise.
35395 (grub_virtual_screen_getcolor): Added.
35396 (grub_gfxterm_background_image_cmd): Likewise.
35397 (grub_video_term): Added setcolor and getcolor.
35398 (MOD_INIT): Added registration of background_image command.
35399 (MOD_TERM): Added unregistration for background_image command.
35400
c3c20931 354012007-12-30 Pavel Roskin <proski@gnu.org>
35402
35403 * loader/multiboot_loader.c: Fix multiboot command
35404 unregistration. Fix all typos in the word "multiboot".
35405
df266716 354062007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35407
35408 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35409 support for initrd names used in Fedora.
35410
fc6e896c 354112007-12-26 Bean <bean123ch@gmail.com>
35412
35413 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35414 (cpio_mod_SOURCES): New variable.
35415 (cpio_mod_CFLAGS): Likewise.
35416 (cpio_mod_LDFLAGS): Likewise.
35417
35418 * fs/cpio.c: New file.
35419
35420 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35421
35422 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35423
35424 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35425
35426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35427
533110ad 354282007-12-25 Robert Millan <rmh@aybabtu.com>
35429
35430 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35431 (grub_getcolor): New function.
35432
35433 * kern/term.c (grub_getcolor): New function.
35434 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35435 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35436 (print_entry): Set normal and highlight colors to
35437 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35438 respectively, before printing and restore them to old
35439 values afterwards.
35440 (grub_menu_init_page): Likewise. Fill an additional colored space
35441 that would otherwise be left blank.
35442
35443 * term/efi/console.c (grub_console_getcolor): New function.
35444 (struct grub_console_term.getcolor): New variable.
35445 * term/i386/pc/console.c (grub_console_getcolor): New function.
35446 (struct grub_console_term.getcolor): New variable.
35447 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35448 (struct grub_console_term.getcolor): New variable.
35449
35450 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35451 (struct grub_console_term.setcolor): Remove variable.
35452 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35453 (struct grub_console_term.setcolor): Remove variable.
35454 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35455 (struct grub_console_term.setcolor): Remove variable.
35456 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35457 (struct grub_console_term.setcolor): Remove variable.
35458
4931827f 354592007-12-25 Robert Millan <rmh@aybabtu.com>
35460
35461 * configure.ac: Search for possible unifont.hex locations, and
35462 define UNIFONT_HEX if found.
35463
35464 * Makefile.in (UNIFONT_HEX): Define variable.
35465 (DATA): Rename to ...
35466 (PKGLIB): ... this. Update all users.
35467 (PKGDATA): New variable.
35468 (pkgdata_IMAGES): Rename to ...
35469 (pkglib_IMAGES): ... this. Update all users.
35470 (pkgdata_MODULES): Rename to ...
35471 (pkglib_MODULES): ... this. Update all users.
35472 (pkgdata_PROGRAMS): Rename to ...
35473 (pkglib_PROGRAMS): ... this. Update all users.
35474 (pkgdata_DATA): Rename to ...
35475 (pkglib_DATA): ... this. Update all users.
35476 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35477 (unicode.pff, ascii.pff): New rules.
35478 (all-local): Add `$(PKGDATA)' dependency.
35479 (install-local): Process `$(PKGDATA)'.
35480
35481 * util/update-grub_lib.in (font_path): Search for *.pff files in
35482 a few more locations, including `${pkgdata}'.
35483
57e57e31 354842007-12-23 Robert Millan <rmh@aybabtu.com>
35485
35486 Patch from Bean <bean123ch@gmail.com>:
35487 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35488 `size'.
35489
4bc72aa9 354902007-12-21 Bean <bean123ch@gmail.com>
35491
35492 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35493 (ntfscomp_mod_SOURCES): New variable.
35494 (ntfscomp_mod_CFLAGS): Likewise.
35495 (ntfscomp_mod_LDFLAGS): Likewise.
35496
35497 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35498 (grub_probe_SOURCES): Likewise.
35499 (grub_emu_SOURCES): Likewise.
35500
35501 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35502 (grub_emu_SOURCES): Likewise.
35503
35504 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35505 (grub_emu_SOURCES): Likewise.
35506
35507 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35508 (grub_emu_SOURCES): Likewise.
35509
35510 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35511 (read_run_list): Renamed to grub_ntfs_read_run_list.
35512 (decomp_nextvcn): Moved to ntfscomp.c.
35513 (decomp_getch): Likewise.
35514 (decomp_get16): Likewise.
35515 (decomp_block): Likewise.
35516 (read_block): Likewise.
35517 (read_data): Partially moved to ntfscomp.c.
35518 (fixup): Change unsigned to grub_uint16_t.
35519 (read_mft): Change unsigned long to grub_uint32_t.
35520 (read_attr): Likewise.
35521 (read_data): Likewise.
35522 (read_run_data): Likewise.
35523 (read_run_list): Likewise.
35524 (read_mft): Likewise.
35525
35526 * fs/ntfscomp.c: New file.
35527
35528 * include/grub/ntfs.h: New file.
35529
af680a87 355302007-12-16 Robert Millan <rmh@aybabtu.com>
35531
35532 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35533 IDE disk check, since Linux is known to support 20 IDE disks.
35534 Reported by Colin Watson.
35535
84be7599 355362007-12-15 Bean <bean123ch@gmail.com>
35537
35538 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35539 (lnxboot_img_SOURCES): New variable.
35540 (lnxboot_img_ASFLAGS): Likewise.
35541 (lnxboot_img_LDFLAGS): Likewise.
35542
35543 * boot/i386/pc/lnxboot.S: New file.
35544
6af9db01 355452007-11-24 Pavel Roskin <proski@gnu.org>
35546
35547 * configure.ac: Test if '--build-id=none' is supported by the
35548 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35549 objcopy to generate incorrect binary files (binutils
35550 2.17.50.0.18-1 as shipped by Fedora 8).
35551 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35552 linking, so that build ID doesn't break the test.
35553
7361cfe6 355542007-11-24 Pavel Roskin <proski@gnu.org>
35555
35556 * include/grub/i386/time.h: use "void" in the argument list
35557 of grub_cpu_idle().
35558 * include/grub/powerpc/time.h: Likewise.
35559 * include/grub/sparc64/time.h: Likewise.
35560
1593e10c 355612007-11-18 Christian Franke <franke@computer.org>
35562
35563 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35564 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35565 This fixes the problem that function keys did not work in grub-emu.
35566
3b8db1a8 355672007-11-18 Christian Franke <franke@computer.org>
35568
35569 * disk/host.c (grub_host_open): Remove attribute unused from
35570 name parameter. Add check for "host". This fixes the problem
35571 that grub-emu does not find partitions.
35572
2e29408d 355732007-11-18 Christian Franke <franke@computer.org>
35574
35575 * util/hostfs.c (is_dir): New function.
35576 (grub_hostfs_dir): Handle missing dirent.d_type case.
35577 (grub_hostfs_read): Add missing fseek().
35578 (grub_hostfs_label): Clear label pointer. This fixes a crash
35579 of grub-emu on "ls (host)".
35580
398cd047 355812007-11-18 Christian Franke <franke@computer.org>
35582
35583 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35584 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35585 to 64 bit boundary by default.
35586
c405c391 355872007-11-18 Bean <bean123ch@gmail.com>
35588
35589 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35590 (hexdump_mod_SOURCES): New variable.
35591 (hexdump_mod_CFLAGS): Likewise.
35592 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35593
c405c391 35594 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35595
35596 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35597
35598 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35599
35600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35601
35602 * include/grub/hexdump.h: New file.
35603
35604 * commands/hexdump.c: New file.
35605
5cced7fd 356062007-11-10 Robert Millan <rmh@aybabtu.com>
35607
35608 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35609 in grub_outb() calls.
35610 (beep_on): Likewise.
35611
8b714eb0 356122007-11-10 Christian Franke <franke@computer.org>
35613
35614 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35615 (grub_menu_run): Likewise.
35616
ce0f1839 356172007-11-10 Robert Millan <rmh@aybabtu.com>
35618
35619 * include/grub/i386/efi/machine.h: New file.
35620 * include/grub/i386/linuxbios/machine.h: Likewise.
35621 * include/grub/i386/pc/machine.h: Likewise.
35622 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35623 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35624
35625 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35626 (serial_hw_io_addr): New variable.
35627 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35628 instead of `(unsigned short *) 0x400'.
35629
270c237d 356302007-11-10 Bean <bean123ch@gmail.com>
35631
35632 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
35633
a87783bf 356342007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35635
35636 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
35637 (vga_mod_SOURCES): Added.
35638 (vga_mod_CFLAGS): Likewise.
35639 (vga_mod_LDFLAGS): Likewise.
35640
35641 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
35642 grub_outb() calls.
35643 (set_map_mask): Likewise.
35644 (set_read_map): Likewise.
35645 (set_read_address): Likewise.
35646 (vga_font): Removed variable.
35647 (get_vga_glyph): Removed function.
35648 (invalidate_char): Likewise.
35649 (write_char): Changed to use grub_font_get_glyph() for font
35650 information.
35651 (grub_vga_putchar): Likewise.
35652 (grub_vga_getcharwidth): Likewise.
35653
6433b448 356542007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35655
35656 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
35657 flags.
35658 (pxeboot_img_LDFLAGS): Likewise.
35659 (diskboot_img_LDFLAGS): Likewise.
35660 (kernel_img_LDFLAGS): Likewise.
35661
49178511 356622007-11-06 Robert Millan <rmh@aybabtu.com>
35663
35664 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
35665 in grub_outb() calls.
35666 (serial_hw_init): Likewise.
35667
53b052de 356682007-11-05 Robert Millan <rmh@aybabtu.com>
35669
35670 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
35671 spaces. Skip non-regular files.
35672
5ab33bba 356732007-11-05 Robert Millan <rmh@aybabtu.com>
35674
35675 * kern/disk.c (grub_disk_firmware_fini)
35676 (grub_disk_firmware_is_tainted): New variables.
35677
35678 * include/grub/disk.h (grub_disk_firmware_fini)
35679 (grub_disk_firmware_is_tainted): Likewise.
35680
35681 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
35682 (grub_disk_biosdisk_fini): ... to here.
35683 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
35684 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
35685 is set. Register grub_disk_biosdisk_fini() in
35686 `grub_disk_firmware_fini'.
35687
35688 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
35689 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
35690 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
35691 to finish existing firmware disk interface.
35692
35693 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
35694 (ata_mod_SOURCES): New variable.
35695 (ata_mod_CFLAGS): Likewise.
35696 (ata_mod_LDFLAGS): Likewise.
35697
0149ab7c 356982007-11-05 Robert Millan <rmh@aybabtu.com>
35699
35700 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
35701 (grub_ata_wait): Reimplement using grub_millisleep().
35702
35703 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
35704 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
35705
be7ac41e 357062007-11-03 Marco Gerards <marco@gnu.org>
35707
35708 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
35709 (CRTC_ADDR_PORT): New macro.
35710 (CRTC_DATA_PORT): Likewise.
35711 (CRTC_CURSOR): Likewise.
35712 (CRTC_CURSOR_ADDR_HIGH): Likewise.
35713 (CRTC_CURSOR_ADDR_LOW): Likewise.
35714 (update_cursor): New function.
35715 (grub_console_real_putchar): Call `update_cursor'.
35716 (grub_console_gotoxy): Likewise.
35717 (grub_console_cls): Set the default color when clearing the
35718 screen.
35719 (grub_console_setcursor): Implemented.
35720
bb06ab2e 357212007-11-03 Marco Gerards <marco@gnu.org>
35722
35723 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
35724 become activate.
35725 (grub_ata_pio_write): Likewise.
35726
35727 (grub_atapi_identify): Wait after issuing an ATA command.
35728 (grub_atapi_packet): Likewise.
35729 (grub_ata_identify): Likewise.
35730 (grub_ata_readwrite): Likewise.
35731
cf8f780b 357322007-11-03 Marco Gerards <marco@gnu.org>
35733
35734 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
35735 (grub_ata_pio_write): Likewise.
35736 (grub_ata_readwrite): Use `grub_error', instead of
35737 returning `grub_errno'.
35738
ed649e54 357392007-11-03 Marco Gerards <marco@gnu.org>
35740
35741 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
35742 grub_ata_pio_write once for every single sector, instead of for
35743 multiple sectors.
35744
ca25d8f0 357452007-10-31 Robert Millan <rmh@aybabtu.com>
35746
35747 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
35748
35749 * conf/i386-linuxbios.rmk: New file.
35750
35751 * kern/i386/pc/hardware.c: Likewise.
35752 * term/i386/pc/at_keyboard.c: Likewise.
35753 * term/i386/pc/vga_text.c: Likewise.
35754
35755 * include/grub/i386/linuxbios/boot.h: Likewise.
35756 * include/grub/i386/linuxbios/console.h: Likewise.
35757 * include/grub/i386/linuxbios/init.h: Likewise.
35758 * include/grub/i386/linuxbios/kernel.h: Likewise.
35759 * include/grub/i386/linuxbios/loader.h: Likewise.
35760 * include/grub/i386/linuxbios/memory.h: Likewise.
35761 * include/grub/i386/linuxbios/serial.h: Likewise.
35762 * include/grub/i386/linuxbios/time.h: Likewise.
35763
35764 * kern/i386/linuxbios/init.c: Likewise.
35765 * kern/i386/linuxbios/startup.S: Likewise.
35766 * kern/i386/linuxbios/table.c: Likewise.
35767
e911ecc1 357682007-10-31 Marco Gerards <marco@gnu.org>
35769
35770 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
35771 (ata_mod_SOURCES): New variable.
35772 (ata_mod_CFLAGS): Likewise.
35773 (ata_mod_LDFLAGS): Likewise.
35774
35775 * disk/ata.c: New file.
35776
35777 * include/grub/disk.h (grub_disk_dev_id): Add
35778 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 35779
7f66d0e0 357802007-10-31 Robert Millan <rmh@aybabtu.com>
35781
35782 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
35783 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
35784
35785 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
35786 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
35787
35788 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
35789 `<grub/types.h>'.
35790
35791 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
35792
5cd7dd46 357932007-10-27 Robert Millan <rmh@aybabtu.com>
35794
3236ca65 35795 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 35796
2ebfc90f 357972007-10-22 Robert Millan <rmh@aybabtu.com>
35798
35799 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
35800 `"../realmode.S"'.
35801 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
35802
73fcb0f3 358032007-10-22 Robert Millan <rmh@aybabtu.com>
35804
35805 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
35806 (pkgdata_MODULES): Add `biosdisk.mod'.
35807 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
35808 variables.
35809
35810 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
35811 (grub_biosdisk_init): Replace with ...
35812 (GRUB_MOD_INIT(biosdisk)): ... this.
35813 (grub_biosdisk_fini): Replace with ...
35814 (GRUB_MOD_FINI(biosdisk)): ... this.
35815
35816 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
35817 (grub_machine_init): Remove call to grub_biosdisk_init().
35818 (grub_machine_fini): Remove call to grub_machine_fini().
35819
35820 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
35821
3381d274 358222007-10-22 Robert Millan <rmh@aybabtu.com>
35823
35824 * include/grub/time.h: New file.
35825 * include/grub/i386/time.h: Likewise.
35826 * include/grub/powerpc/time.h: Likewise.
35827 * include/grub/sparc64/time.h: Likewise.
35828
35829 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
35830 instances to ...
35831 (KERNEL_MACHINE_TIME_HEADER): ... this.
35832 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35833 instances to ...
35834 (KERNEL_MACHINE_TIME_HEADER): ... this.
35835 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35836 instances to ...
35837 (KERNEL_MACHINE_TIME_HEADER): ... this.
35838
35839 * kern/i386/efi/init.c: Include `<grub/time.h>'.
35840 (grub_millisleep): New function.
35841 * kern/i386/pc/init.c: Include `<grub/time.h>'.
35842 (grub_millisleep): New function.
35843 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
35844 Remove `grub/machine/time.h' include.
35845 (grub_millisleep): New function.
35846 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
35847 Remove `grub/machine/time.h' include.
35848 (grub_millisleep): New function.
35849
35850 * include/grub/misc.h (grub_div_roundup): New function.
35851
35852 * kern/misc.c: Include `<grub/time.h>'.
35853 (grub_millisleep_generic): New function.
35854
35855 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
35856 Add `time.h'.
35857 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
35858 Add `time.h'.
35859 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
35860 `machine/time.h'. Add `time.h'.
35861 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35862
a39a0312 358632007-10-21 Robert Millan <rmh@aybabtu.com>
35864
35865 * include/grub/misc.h (grub_max): New function.
35866
2aad70e2 358672007-10-21 Robert Millan <rmh@aybabtu.com>
35868
35869 * util/misc.c (grub_util_info): Call fflush() before returning.
35870
54b71c4b 358712007-10-20 Robert Millan <rmh@aybabtu.com>
35872
35873 * genmk.rb (Image): Copy `extra_flags' from here ...
35874 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
35875
35876 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
35877 to `argc' and `args' arguments.
35878
a979f513 358792007-10-17 Robert Millan <rmh@aybabtu.com>
35880
35881 * kern/i386/loader.S: New file.
35882
35883 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
35884 * kern/i386/loader.S (grub_linux_prot_size)... to here.
35885 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
35886 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
35887 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
35888 * kern/i386/loader.S (grub_linux_real_addr)... to here.
35889 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
35890 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
35891 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
35892 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
35893 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
35894 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
35895 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
35896 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
35897
35898 * kern/i386/realmode.S: New file.
35899
35900 * kern/i386/pc/startup.S (protstack): Moved from here ...
35901 * kern/i386/realmode.S (protstack)... to here.
35902 * kern/i386/pc/startup.S (gdt): Moved from here ...
35903 * kern/i386/realmode.S (gdt)... to here.
35904 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
35905 * kern/i386/realmode.S (prot_to_real)... to here.
35906
35907 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
35908 `kern/i386/realmode.S'.
35909
825fc8fd 359102007-10-17 Robert Millan <rmh@aybabtu.com>
35911
35912 * include/grub/i386/loader.h: New file.
35913
35914 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
35915 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35916 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35917 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35918 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
35919 * include/grub/i386/loader.h (grub_linux_prot_size)
35920 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35921 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35922 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35923 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
35924
35925 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
35926
e179b2f4 359272007-10-15 Robert Millan <rmh@aybabtu.com>
35928
35929 * normal/misc.c (grub_normal_print_device_info): Do not probe for
35930 filesystem when dev->disk is unset.
35931 Do probe for filesystem even when dev->disk->has_partitions is set.
35932 In case a filesystem is found, always report it.
35933 In case it isn't, if dev->disk->has_partitions is set, report that
35934 a partition table was found instead of reporting that no filesystem
35935 could be identified.
35936
5db82af6 359372007-10-12 Robert Millan <rmh@aybabtu.com>
35938
35939 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
35940 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
35941
68f6ac74 35942 * include/grub/types.h (grub_host_to_target16): New macro.
35943 (grub_host_to_target32): Likewise.
35944 (grub_host_to_target64): Likewise.
35945 (grub_target_to_host16): Likewise.
35946 (grub_target_to_host32): Likewise.
35947 (grub_target_to_host64): Likewise.
5db82af6 35948
35949 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35950 Renamed from to ...
35951 (GRUB_MOD_ALIGN): ...this. Update all users.
35952
68f6ac74 35953 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
35954 grub_host_to_target32.
35955 Replace grub_be_to_cpu32 with grub_target_to_host32.
35956 (load_modules): Likewise.
35957 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
35958 Replace grub_be_to_cpu32 with grub_target_to_host32.
35959 Replace grub_cpu_to_be16 with grub_host_to_target16.
35960 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 35961
3cf497cc 359622007-10-12 Robert Millan <rmh@aybabtu.com>
35963
35964 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
35965 * util/elf/grub-mkimage.c: ... here.
35966
35967 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
35968 `util/powerpc/ieee1275/grub-mkimage.c'.
35969
c8cc3692 359702007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 35971
c8cc3692 35972 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
35973 and make it easier to figure out.
35974 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
35975 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
35976 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
35977 leave us with less than HEAP_MIN_SIZE total heap.
35978 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 35979
5c58b791 359802007-10-03 Robert Millan <rmh@aybabtu.com>
35981
35982 * include/grub/i386/io.h: New file.
35983 * commands/i386/pc/play.c (inb): Removed.
35984 (outb): Removed.
35985 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35986 with grub_outb().
afcd2ef8 35987 * term/i386/pc/serial.c (inb): Removed.
35988 (outb): Removed.
35989 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35990 with grub_outb().
35991 * term/i386/pc/vga.c (inb): Removed.
35992 (outb): Removed.
35993 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35994 with grub_outb().
5c58b791 35995
1a477ed6 359962007-10-02 Robert Millan <rmh@aybabtu.com>
35997
35998 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
35999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36000 Reported by Marcin Kurek.
36001
6b5d80fa 360022007-09-07 Robert Millan <rmh@aybabtu.com>
36003
36004 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36005 SmartFirmware version updates (as released by Sven Luther), and avoid
36006 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36007 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36008 known broken.
36009
5618afbf 360102007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36011
36012 From Hitoshi Ozeki:
36013 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36014 when merging two regions.
36015
6139dcd9 360162007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36017
508e39ee 36018 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36019 * normal/completion.c (grub_normal_do_completion): Likewise.
36020 Reported by Hitoshi Ozeki.
36021
360222007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36023
6139dcd9 36024 Do not use devices at boot in chainloading.
f19dbdb7 36025
6139dcd9 36026 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36027 (boot_part_addr): Likewise.
36028 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36029 with BOOT_DRIVE and BOOT_PART_ADDR.
36030 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36031 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36032
38da6516 360332007-08-29 Robert Millan <rmh@aybabtu.com>
36034
36035 Patch from Simon Peter <dn.tlp@gmx.net>:
36036 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36037 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36038 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36039 util/i386/pc/grub-setup.c_DEPENDENCIES.
36040 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36041 util/grub-probe.c_DEPENDENCIES.
36042 * conf/powerpc-ieee1275.rmk: Likewise.
36043
29d0928c 360442007-08-28 Robert Millan <rmh@aybabtu.com>
36045
36046 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36047 to tell grub-mkdevicemap how to name devices.
36048 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36049 feature).
36050
36051 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36052 util/i386/get_disk_name.c.
36053 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36054 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36055 util/ieee1275/get_disk_name.c.
36056
36057 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36058
36059 * DISTLIST: Add util/i386/get_disk_name.c and
36060 util/ieee1275/get_disk_name.c.
36061
36062 * util/grub-mkdevicemap.c: Replace device naming logic with
36063 grub_util_get_disk_name() calls.
36064
5a0d3cca 360652007-08-20 Robert Millan <rmh@aybabtu.com>
36066
36067 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36068 (so that it works for both plural and singular quantities).
36069
8b72db2f 360702007-08-05 Robert Millan <rmh@aybabtu.com>
36071
36072 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36073 so that [xz] isn't taken into account when determining order.
36074
352466bf 360752007-08-02 Marco Gerards <marco@gnu.org>
36076
36077 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36078 `include/multiboot2.h', `include/grub/elfload.h',
36079 `include/multiboot.h', `include/grub/multiboot.h',
36080 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36081 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36082 `kern/elf.c', `loader/multiboot_loader.c',
36083 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36084 `loader/i386/pc/multiboot2.c',
36085 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36086 `util/i386/pc/grub-mkrescue.in'. Remove
36087 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36088 `include/grub/i386/pc/util/biosdisk.h' and
36089 `include/grub/powerpc/ieee1275/multiboot.h'.
36090
8f096014 360912007-08-02 Bean <bean123ch@gmail.com>
36092
36093 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36094 (ntfs_mod_SOURCES): New variable.
36095 (ntfs_mod_CFLAGS): Likewise.
36096 (ntfs_mod_LDFLAGS): Likewise.
36097
36098 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36099 (grub_probe_SOURCES): Likewise.
36100 (grub_emu_SOURCES): Likewise.
36101
36102 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36103 (grub_emu_SOURCES): Likewise.
36104
36105 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36106 (grub_emu_SOURCES): Likewise.
f19dbdb7 36107
8f096014 36108 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36109
36110 * fs/ntfs.c: New file.
36111
9959f7db 361122007-08-02 Bean <bean123ch@gmail.com>
36113
36114 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36115
36116 * file.h (grub_file): Likewise.
36117
36118 * fshelp.h (grub_fshelp_read_file): Likewise.
36119
36120 * util/i386/pc/grub-setup.c (setup): Likewise.
36121 (save_first_sector): Likewise.
36122 (save_blocklists): Likewise.
f19dbdb7 36123
9959f7db 36124 * fs/affs.c (grub_affs_read_file): Likewise.
36125
36126 * fs/ext2.c (grub_ext2_read_file): Likewise.
36127
36128 * fs/fat.c (grub_fat_read_data): Likewise.
36129
36130 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36131
36132 * fs/hfs.c (grub_hfs_read_file): Likewise.
36133
36134 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36135
36136 * fs/jfs.c (grub_jfs_read_file): Likewise.
36137
36138 * fs/minix.c (grub_minix_read_file): Likewise.
36139
36140 * fs/sfs.c (grub_sfs_read_file): Likewise.
36141
36142 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36143
9959f7db 36144 * fs/xfs.c (grub_xfs_read_file): Likewise.
36145
36146 * command/blocklist.c (read_blocklist): Likewise.
36147 (print_blocklist): Likewise.
36148
0a203f83 361492007-08-02 Marco Gerards <marco@gnu.org>
36150
36151 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36152 `util/hostfs.c'.
36153
36154 * disk/host.c: New file.
36155
36156 * util/hostfs.c: Likewise.
36157
36158 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36159 return `GRUB_ERR_BAD_FS'.
36160 * fs/sfs.c (grub_sfs_mount): Likewise.
36161 * fs/xfs.c (grub_xfs_mount): Likewise.
36162
36163 * include/grub/disk.h (enum grub_disk_dev_id): Add
36164 `GRUB_DISK_DEVICE_HOST_ID'.
36165
36166 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36167
e5dfe777 361682007-07-24 Jerone Young <jerone@gmail.com>
36169
f19dbdb7 36170 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36171 modules for compilation.
36172 * conf/powerpc-ieee1275.rmk: Likewise.
36173
36174 * include/multiboot.h: Move multiboot definitions to one file. Rename
36175 many definitions to not get grub specific.
36176 * include/multiboot2.h: Create header with multiboot 2 definitions.
36177 * include/grub/multiboot.h: Header for grub specific function
36178 prototypes and definitions.
36179 * include/grub/multiboot2.h: Likewise.
36180 * include/grub/multiboot_loader.h: Likewise.
36181 * include/grub/i386/pc/multiboot.h: Removed.
36182 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36183
36184 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36185 and 2 to allow for one multiboot and module commands.
36186 * loader/multiboot2.c: Add multiboot2 functionality.
36187 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36188 and definition names.
36189 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36190 2 functions.
36191 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36192 ieee1275 specific multiboot2 code.
36193
36194 * kern/i386/pc/startup.S: Change headers and definition names for
36195 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36196
daf0f0ba 361972007-07-22 Robert Millan <rmh@aybabtu.com>
36198
36199 * geninitheader.sh: Process file specified in first parameter rather
36200 than hardcoding grub_modules_init.lst.
fe6b695a 36201 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36202 than hardcoding grub_modules_init.h.
36203
36204 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36205 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36206 grub_probe_init.[ch] and grub_setup_init.[ch].
36207
36208 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36209 grub_modules_init.h with grub_emu_init.h.
36210 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36211 grub_probe_init.[ch] files.
36212 * conf/i386-efi.rmk: Likewise.
36213 * conf/i386-pc.rmk: Likewise.
36214 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36215 grub_setup_init.[ch] files.
36216
36217 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36218 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36219 to initialize modules rather than a list of hardcoded functions.
36220 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36221 grub_init_all() to initialize modules rather than a list of hardcoded
36222 functions.
36223
54cdc1cc 362242007-07-22 Robert Millan <rmh@aybabtu.com>
36225
36226 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36227 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36228
ad0686cc 362292007-07-22 Robert Millan <rmh@aybabtu.com>
36230
36231 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36232 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36233 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36234 flag when running on SmartFirmware.
36235 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36236 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36237 was set.
36238
36239 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36240 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36241 rather than decreasing it.
36242
36243 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36244 there's not enough space to do it, fail in the same way as when it
36245 can't be done because there are no partitions.
36246
36247 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36248 when nvsetenv failed.
36249
969c02ec 362502007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36251
36252 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36253 because this rule is automatically generated.
36254 (grub-mkrescue): Removed for the same reason as above.
36255
5a79f472 362562007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36257
36258 Migrate to GNU General Public License Version 3.
f19dbdb7 36259
5a79f472 36260 * COPYING: Replaced with the plain text version of GPLv3.
36261
36262 * config.guess: Updated from gnulib.
36263 * config.sub: Likewise.
36264
36265 * geninit.sh: Output a GPLv3 copyright notice.
36266 * geninitheader.sh: Likewise.
36267 * genmodsrc.sh: Likewise.
36268 * gensymlist.sh.in: Likewise.
36269
36270 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36271 * boot/i386/pc/diskboot.S: Likewise.
36272 * boot/i386/pc/pxeboot.S: Likewise.
36273 * commands/blocklist.c: Likewise.
36274 * commands/boot.c: Likewise.
36275 * commands/cat.c: Likewise.
36276 * commands/cmp.c: Likewise.
36277 * commands/configfile.c: Likewise.
36278 * commands/echo.c: Likewise.
36279 * commands/help.c: Likewise.
36280 * commands/ls.c: Likewise.
36281 * commands/search.c: Likewise.
36282 * commands/terminal.c: Likewise.
36283 * commands/test.c: Likewise.
36284 * commands/videotest.c: Likewise.
36285 * commands/i386/cpuid.c: Likewise.
36286 * commands/i386/pc/halt.c: Likewise.
36287 * commands/i386/pc/play.c: Likewise.
36288 * commands/i386/pc/reboot.c: Likewise.
36289 * commands/i386/pc/vbeinfo.c: Likewise.
36290 * commands/i386/pc/vbetest.c: Likewise.
36291 * commands/ieee1275/halt.c: Likewise.
36292 * commands/ieee1275/reboot.c: Likewise.
36293 * commands/ieee1275/suspend.c: Likewise.
36294 * disk/loopback.c: Likewise.
36295 * disk/lvm.c: Likewise.
36296 * disk/raid.c: Likewise.
36297 * disk/efi/efidisk.c: Likewise.
36298 * disk/i386/pc/biosdisk.c: Likewise.
36299 * disk/ieee1275/ofdisk.c: Likewise.
36300 * font/manager.c: Likewise.
36301 * fs/affs.c: Likewise.
36302 * fs/ext2.c: Likewise.
36303 * fs/fat.c: Likewise.
36304 * fs/fshelp.c: Likewise.
36305 * fs/hfs.c: Likewise.
36306 * fs/hfsplus.c: Likewise.
36307 * fs/iso9660.c: Likewise.
36308 * fs/jfs.c: Likewise.
36309 * fs/minix.c: Likewise.
36310 * fs/sfs.c: Likewise.
36311 * fs/ufs.c: Likewise.
36312 * fs/xfs.c: Likewise.
36313 * hello/hello.c: Likewise.
36314 * include/grub/acorn_filecore.h: Likewise.
36315 * include/grub/arg.h: Likewise.
36316 * include/grub/bitmap.h: Likewise.
36317 * include/grub/boot.h: Likewise.
36318 * include/grub/cache.h: Likewise.
36319 * include/grub/device.h: Likewise.
36320 * include/grub/disk.h: Likewise.
36321 * include/grub/dl.h: Likewise.
36322 * include/grub/elfload.h: Likewise.
36323 * include/grub/env.h: Likewise.
36324 * include/grub/err.h: Likewise.
36325 * include/grub/file.h: Likewise.
36326 * include/grub/font.h: Likewise.
36327 * include/grub/fs.h: Likewise.
36328 * include/grub/fshelp.h: Likewise.
36329 * include/grub/gzio.h: Likewise.
36330 * include/grub/hfs.h: Likewise.
36331 * include/grub/kernel.h: Likewise.
36332 * include/grub/loader.h: Likewise.
36333 * include/grub/lvm.h: Likewise.
36334 * include/grub/misc.h: Likewise.
36335 * include/grub/mm.h: Likewise.
36336 * include/grub/net.h: Likewise.
36337 * include/grub/normal.h: Likewise.
36338 * include/grub/parser.h: Likewise.
36339 * include/grub/partition.h: Likewise.
36340 * include/grub/pc_partition.h: Likewise.
36341 * include/grub/raid.h: Likewise.
36342 * include/grub/rescue.h: Likewise.
36343 * include/grub/script.h: Likewise.
36344 * include/grub/setjmp.h: Likewise.
36345 * include/grub/symbol.h: Likewise.
36346 * include/grub/term.h: Likewise.
36347 * include/grub/terminfo.h: Likewise.
36348 * include/grub/tparm.h: Likewise.
36349 * include/grub/types.h: Likewise.
36350 * include/grub/video.h: Likewise.
36351 * include/grub/efi/api.h: Likewise.
36352 * include/grub/efi/chainloader.h: Likewise.
36353 * include/grub/efi/console.h: Likewise.
36354 * include/grub/efi/console_control.h: Likewise.
36355 * include/grub/efi/disk.h: Likewise.
36356 * include/grub/efi/efi.h: Likewise.
36357 * include/grub/efi/pe32.h: Likewise.
36358 * include/grub/efi/time.h: Likewise.
36359 * include/grub/i386/linux.h: Likewise.
36360 * include/grub/i386/setjmp.h: Likewise.
36361 * include/grub/i386/types.h: Likewise.
36362 * include/grub/i386/efi/kernel.h: Likewise.
36363 * include/grub/i386/efi/loader.h: Likewise.
36364 * include/grub/i386/efi/time.h: Likewise.
36365 * include/grub/i386/pc/biosdisk.h: Likewise.
36366 * include/grub/i386/pc/boot.h: Likewise.
36367 * include/grub/i386/pc/chainloader.h: Likewise.
36368 * include/grub/i386/pc/console.h: Likewise.
36369 * include/grub/i386/pc/init.h: Likewise.
36370 * include/grub/i386/pc/kernel.h: Likewise.
36371 * include/grub/i386/pc/loader.h: Likewise.
36372 * include/grub/i386/pc/memory.h: Likewise.
36373 * include/grub/i386/pc/multiboot.h: Likewise.
36374 * include/grub/i386/pc/serial.h: Likewise.
36375 * include/grub/i386/pc/time.h: Likewise.
36376 * include/grub/i386/pc/vbe.h: Likewise.
36377 * include/grub/i386/pc/vbeblit.h: Likewise.
36378 * include/grub/i386/pc/vbefill.h: Likewise.
36379 * include/grub/i386/pc/vbeutil.h: Likewise.
36380 * include/grub/i386/pc/vga.h: Likewise.
36381 * include/grub/ieee1275/ieee1275.h: Likewise.
36382 * include/grub/ieee1275/ofdisk.h: Likewise.
36383 * include/grub/powerpc/libgcc.h: Likewise.
36384 * include/grub/powerpc/setjmp.h: Likewise.
36385 * include/grub/powerpc/types.h: Likewise.
36386 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36387 * include/grub/powerpc/ieee1275/console.h: Likewise.
36388 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36389 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36390 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36391 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36392 * include/grub/powerpc/ieee1275/time.h: Likewise.
36393 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36394 * include/grub/sparc64/libgcc.h: Likewise.
36395 * include/grub/sparc64/setjmp.h: Likewise.
36396 * include/grub/sparc64/types.h: Likewise.
36397 * include/grub/sparc64/ieee1275/console.h: Likewise.
36398 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36399 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36400 * include/grub/sparc64/ieee1275/time.h: Likewise.
36401 * include/grub/util/biosdisk.h: Likewise.
36402 * include/grub/util/getroot.h: Likewise.
36403 * include/grub/util/lvm.h: Likewise.
36404 * include/grub/util/misc.h: Likewise.
36405 * include/grub/util/raid.h: Likewise.
36406 * include/grub/util/resolve.h: Likewise.
36407 * io/gzio.c: Likewise.
36408 * kern/device.c: Likewise.
36409 * kern/disk.c: Likewise.
36410 * kern/dl.c: Likewise.
36411 * kern/elf.c: Likewise.
36412 * kern/env.c: Likewise.
36413 * kern/err.c: Likewise.
36414 * kern/file.c: Likewise.
36415 * kern/fs.c: Likewise.
36416 * kern/loader.c: Likewise.
36417 * kern/main.c: Likewise.
36418 * kern/misc.c: Likewise.
36419 * kern/mm.c: Likewise.
36420 * kern/parser.c: Likewise.
36421 * kern/partition.c: Likewise.
36422 * kern/rescue.c: Likewise.
36423 * kern/term.c: Likewise.
36424 * kern/efi/efi.c: Likewise.
36425 * kern/efi/init.c: Likewise.
36426 * kern/efi/mm.c: Likewise.
36427 * kern/i386/dl.c: Likewise.
36428 * kern/i386/efi/init.c: Likewise.
36429 * kern/i386/efi/startup.S: Likewise.
36430 * kern/i386/pc/init.c: Likewise.
36431 * kern/i386/pc/lzo1x.S: Likewise.
36432 * kern/i386/pc/startup.S: Likewise.
36433 * kern/ieee1275/ieee1275.c: Likewise.
36434 * kern/powerpc/cache.S: Likewise.
36435 * kern/powerpc/dl.c: Likewise.
36436 * kern/powerpc/ieee1275/cmain.c: Likewise.
36437 * kern/powerpc/ieee1275/crt0.S: Likewise.
36438 * kern/powerpc/ieee1275/init.c: Likewise.
36439 * kern/powerpc/ieee1275/openfw.c: Likewise.
36440 * kern/sparc64/cache.S: Likewise.
36441 * kern/sparc64/dl.c: Likewise.
36442 * kern/sparc64/ieee1275/init.c: Likewise.
36443 * kern/sparc64/ieee1275/openfw.c: Likewise.
36444 * loader/efi/chainloader.c: Likewise.
36445 * loader/efi/chainloader_normal.c: Likewise.
36446 * loader/i386/efi/linux.c: Likewise.
36447 * loader/i386/efi/linux_normal.c: Likewise.
36448 * loader/i386/pc/chainloader.c: Likewise.
36449 * loader/i386/pc/chainloader_normal.c: Likewise.
36450 * loader/i386/pc/linux.c: Likewise.
36451 * loader/i386/pc/linux_normal.c: Likewise.
36452 * loader/i386/pc/multiboot.c: Likewise.
36453 * loader/i386/pc/multiboot_normal.c: Likewise.
36454 * loader/powerpc/ieee1275/linux.c: Likewise.
36455 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36456 * normal/arg.c: Likewise.
36457 * normal/cmdline.c: Likewise.
36458 * normal/command.c: Likewise.
36459 * normal/completion.c: Likewise.
36460 * normal/execute.c: Likewise.
36461 * normal/function.c: Likewise.
36462 * normal/lexer.c: Likewise.
36463 * normal/main.c: Likewise.
36464 * normal/menu.c: Likewise.
36465 * normal/menu_entry.c: Likewise.
36466 * normal/misc.c: Likewise.
36467 * normal/parser.y: Likewise.
36468 * normal/script.c: Likewise.
36469 * normal/i386/setjmp.S: Likewise.
36470 * normal/powerpc/setjmp.S: Likewise.
36471 * normal/sparc64/setjmp.S: Likewise.
36472 * partmap/acorn.c: Likewise.
36473 * partmap/amiga.c: Likewise.
36474 * partmap/apple.c: Likewise.
36475 * partmap/gpt.c: Likewise.
36476 * partmap/pc.c: Likewise.
36477 * partmap/sun.c: Likewise.
36478 * term/gfxterm.c: Likewise.
36479 * term/terminfo.c: Likewise.
36480 * term/efi/console.c: Likewise.
36481 * term/i386/pc/console.c: Likewise.
36482 * term/i386/pc/serial.c: Likewise.
36483 * term/i386/pc/vesafb.c: Likewise.
36484 * term/i386/pc/vga.c: Likewise.
36485 * term/ieee1275/ofconsole.c: Likewise.
36486 * util/biosdisk.c: Likewise.
36487 * util/console.c: Likewise.
36488 * util/genmoddep.c: Likewise.
36489 * util/getroot.c: Likewise.
36490 * util/grub-emu.c: Likewise.
36491 * util/grub-mkdevicemap.c: Likewise.
36492 * util/grub-probe.c: Likewise.
36493 * util/lvm.c: Likewise.
36494 * util/misc.c: Likewise.
36495 * util/raid.c: Likewise.
36496 * util/resolve.c: Likewise.
36497 * util/update-grub.in: Likewise.
36498 * util/update-grub_lib.in: Likewise.
36499 * util/grub.d/00_header.in: Likewise.
36500 * util/grub.d/10_hurd.in: Likewise.
36501 * util/grub.d/10_linux.in: Likewise.
36502 * util/i386/efi/grub-install.in: Likewise.
36503 * util/i386/efi/grub-mkimage.c: Likewise.
36504 * util/i386/pc/grub-install.in: Likewise.
36505 * util/i386/pc/grub-mkimage.c: Likewise.
36506 * util/i386/pc/grub-mkrescue.in: Likewise.
36507 * util/i386/pc/grub-setup.c: Likewise.
36508 * util/i386/pc/misc.c: Likewise.
36509 * util/powerpc/ieee1275/grub-install.in: Likewise.
36510 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36511 * util/powerpc/ieee1275/misc.c: Likewise.
36512 * video/bitmap.c: Likewise.
36513 * video/video.c: Likewise.
36514 * video/i386/pc/vbe.c: Likewise.
36515 * video/i386/pc/vbeblit.c: Likewise.
36516 * video/i386/pc/vbefill.c: Likewise.
36517 * video/i386/pc/vbeutil.c: Likewise.
36518 * video/readers/tga.c: Likewise.
36519
3572d015 365202007-07-02 Robert Millan <rmh@aybabtu.com>
36521
36522 * conf/i386-efi.rmk: Replace obsolete reference to
36523 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36524 with util/getroot.c.
36525 * conf/powerpc-ieee1275.rmk: Likewise.
36526 * conf/sparc64-ieee1275.rmk: Likewise.
36527
36528 * util/grub-emu.c (main): Fix unchecked pointer handling.
36529
2c2a681b 365302007-07-02 Robert Millan <rmh@aybabtu.com>
36531
36532 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36533 invocation to fail, in order to support partition-less media.
36534
36535 * util/i386/pc/grub-install.in: Likewise.
36536
36537 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36538 which fs or partmap modules are needed (akin to its sister scripts).
36539
36540 Also use grub-probe to get rid of unportable /proc/mounts check.
36541
36542 Print the same informational message that the other scripts do, before
fe6b695a 36543 exiting.
2c2a681b 36544
6193defe 365452007-06-23 Robert Millan <rmh@aybabtu.com>
36546
fe6b695a 36547 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36548 a font file can be found and, if so, echo the GRUB path to it.
36549
36550 * util/update-grub.in: Handle multiple terminals depending on user
36551 input, platform availability and font file presence. Propagate
36552 variables of our findings to /etc/grub.d/ children.
36553
36554 * util/grub.d/00_header.in: Handle multiple terminals, based on
36555 environment setup by update-grub.
36556
eface1dc 365572007-06-23 Robert Millan <rmh@aybabtu.com>
36558
ba50d28f 36559 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36560
bf697e28 365612007-06-21 Robert Millan <rmh@aybabtu.com>
36562
36563 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36564 indicate end of data section in kernel image.
36565 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36566 GRUB_KERNEL_MACHINE_DATA_END.
36567
36568 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36569 space for it.
36570 * kern/i386/efi/startup.S: Likewise.
36571
36572 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36573 during image generation. Implement --prefix option to override this
36574 patch.
36575 * util/i386/efi/grub-mkimage.c: Likewise.
36576
36577 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36578 code to make path relative to its root into a separate function.
36579
36580 * util/i386/pc/grub-install.in: Use newly provided
36581 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36582 pass the result to grub-install --prefix.
36583
baa574b4 365842007-06-13 Robert Millan <rmh@aybabtu.com>
36585
36586 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36587 DEFAULT_DEVICE_MAP.
36588 * util/grub-emu.c: Use above definitions from misc.h instead of
36589 defining them.
36590 * util/grub-mkdevicemap.c: Likewise.
36591 * util/i386/pc/grub-setup.c: Likewise.
36592 * util/grub-probe.c: Likewise.
36593 (probe): Abort with grub_util_error() when either
36594 grub_guess_root_device or grub_util_get_grub_dev fails.
36595
0215dcbf 365962007-06-12 Robert Millan <rmh@aybabtu.com>
36597
36598 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36599 "pager" assignment.
36600 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36601 "pcdata".
36602 * util/grub-probe.c (probe): Likewise for "drive_name".
36603
8af2ab7b 366042007-06-11 Robert Millan <rmh@aybabtu.com>
36605
36606 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36607 not just the cdrom one.
36608
59d31694 366092007-06-11 Robert Millan <rmh@aybabtu.com>
36610
36611 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36612 Add --pkglibdir=DIR option to override pkglibdir.
36613 Mention --image-type=TYPE in help output.
36614 Fix --grub-mkimage (it was a no-op).
fe6b695a 36615 Abort gracefully when no parameter is given.
59d31694 36616
7ee367e4 366172007-06-11 Robert Millan <rmh@aybabtu.com>
36618
36619 * util/i386/pc/grub-mkrescue.in: New file.
36620 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36621 * Makefile.in: Handle bin_SCRIPTS.
36622
29b0ed46 366232007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36624
36625 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36626 list of video modes.
36627
c0f90770 366282007-06-06 Robert Millan <rmh@aybabtu.com>
36629
36630 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36631 file doesn't exist, or if it is in a filesystem grub can't read.
36632
36633 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
36634 not abort if GRUB_DRIVE could not be defined. Rearrange generated
36635 header comment to fit in 80 columns when the variables are resolved.
36636
36637 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
36638 could be identified by update-grub. Remove redundant check for
fe6b695a 36639 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 36640 handles that).
36641
fb36dc26 366422007-06-04 Robert Millan <rmh@aybabtu.com>
36643
36644 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
36645
36646 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
36647
36648 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
36649
0c68c93e 366502007-06-04 Robert Millan <rmh@aybabtu.com>
36651
36652 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
36653
36654 * include/grub/partition.h: Declare grub_apple_partition_map_init and
36655 grub_apple_partition_map_fini.
36656
36657 * util/biosdisk.c
36658 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
36659 to access >2 TiB disks).
36660
36661 Print disk->total_sectors with %llu instead of %lu, since this
36662 variable is always 64-bit (prevents wrong disk size from being displayed
36663 on either >2 TiB disk or big-endian CPU).
36664
36665 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
36666 into a generic case that supports all (sane) partition maps.
36667
36668 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
36669 breaks big-endian.
36670
36671 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
36672 and grub_apple_partition_map_fini() after that.
36673
0f23eb74 366742007-06-01 Robert Millan <rmh@aybabtu.com>
36675
36676 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
36677
36678 * util/grub.d/00_header.in: Only enable gfxterm when
36679 convert_system_path_to_grub_path() succeeds.
36680
42c71976 366812007-05-20 Robert Millan <rmh@aybabtu.com>
36682
36683 * util/update-grub_lib.in: New file.
36684 * DISTLIST: Add update-grub_lib.in.
36685 * conf/common.rmk: Generate update-grub_lib and install it in
36686 $(lib_DATA).
36687 * Makefile.in: Add install routine for $(lib_DATA).
36688
36689 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
36690 function provided by update-grub_lib to support arbitrary paths of
36691 unifont.pff.
36692 * util/update-grub.in: Use convert_system_path_to_grub_path() to
36693 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
36694
5beb2291 366952007-05-19 Robert Millan <rmh@aybabtu.com>
36696
36697 * commands/i386/cpuid.c: New module.
36698 * DISTLIST: Add it.
36699 * conf/i386-efi.rmk: Enable cpuid.mod.
36700 * conf/i386-pc.rmk: Likewise.
36701
7262eca1 367022007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36703
36704 * kern/disk.c (grub_disk_read): Check return value of
36705 grub_realloc().
36706
260ba823 367072007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36708
36709 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
36710 arrays.
36711 * disk/raid.c (grub_raid_open): Likewise.
36712
1ecb6cf2 367132007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36714
36715 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
36716 stack instead of on the heap.
36717
36718 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
36719 before doing a read on it.
36720
36721 * configure.ac: Only use -fno-stack-protector for the target
36722 environment.
f19dbdb7 36723
21c8cbb1 367242007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36725
36726 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
36727 __attribute_ ((unused)) to mode_type argument.
36728
36729 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 36730
21c8cbb1 36731 * kern/misc.c (memcmp): Fix prototype.
36732
36733 * include/grub/partition.h [GRUB_UTIL]
36734 (grub_gpt_partition_map_init): Add prototype.
36735 (grub_gpt_partition_map_fini): Likewise.
36736
36737 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
36738 at the right place.
36739
36740 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
36741 (grub_fat_read_data): Likewise.
36742 (grub_fat_find_dir): Likewise.
36743
36744 * font/manager.c (find_glyph): Make table a const.
36745 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 36746
849d55d3 367472007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
36748
36749 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
36750 code, first search for device in /dev/mapper, then in /dev.
36751 (grub_util_get_grub_dev): New function.
36752 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
36753 prototype.
36754 * util/grub-probe.c (probe): Remove check for RAID, call
36755 grub_util_get_grub_dev() instead of
36756 grub_util_biosdisk_get_grub_dev().
36757 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
36758 grub_util_biosdisk_get_grub_dev().
36759 * util/i386/pc/grub-setup.c (main): Likewise.
36760
8fff7c2f 367612007-05-16 Robert Millan <rmh@aybabtu.com>
36762
36763 * DISTLIST: Update for the latest changes.
36764 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
36765 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
36766 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
36767 grub/util/biosdisk.h.
36768 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
36769 grub/util/biosdisk.h.
36770
48e12b52 367712007-05-16 Robert Millan <rmh@aybabtu.com>
36772
36773 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
36774
46b9d128 367752007-05-16 Robert Millan <rmh@aybabtu.com>
36776
36777 * util/i386/efi/grub-install.in: New.
36778 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
36779 newly added grub-install.
36780 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
36781 include.
36782 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
36783 grub/util/biosdisk.h.
36784 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
36785 grub/util/biosdisk.h.
36786
2d1a40a9 367872007-05-16 Robert Millan <rmh@aybabtu.com>
36788
36789 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
36790 * include/grub/util/biosdisk.h: ... here.
36791 * util/i386/pc/biosdisk.c: Moved to ...
36792 * util/biosdisk.c: ... here.
36793 * util/i386/pc/getroot.c: Moved to ...
36794 * util/getroot.c: ... here.
36795 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
36796 * util/grub-mkdevicemap.c: ... here.
36797 * util/i386/pc/grub-probe.c: Moved to ...
36798 * util/grub-probe.c: ... here.
36799
9e26e3bc 368002007-05-15 Robert Millan <rmh@aybabtu.com>
36801
36802 * util/update-grub.in: Remove duplicated line in grub.cfg header
36803 message.
36804
57f96397 368052007-05-13 Robert Millan <rmh@aybabtu.com>
36806
36807 * util/update-grub.in: Fix a few assumptions about the devices holding
36808 /, /boot and /boot/grub being the same.
36809 * util/grub.d/00_header.in: Likewise.
36810 * util/grub.d/10_hurd.in: Likewise.
36811 * util/grub.d/10_linux.in: Likewise.
36812
36813 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
36814 patterns. Use that to define the `.old' suffix as older than `'.
36815
36816 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
36817
36818 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
36819 the grub.cfg header message.
36820
2e610d62 368212007-05-11 Robert Millan <rmh@aybabtu.com>
36822
36823 * util/update-grub.in: Create device.map if it doesn't already exist,
36824 before attempting to run grub-probe.
36825 Check for grub-probe and grub-mkdevicemap with the same code
36826 grub-install is using.
36827 Remove test mode.
36828
3f6a10ef 368292007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
36830
36831 * Makefile.in: Add the datarootdir autoconf variable.
36832
02e7b75e 368332007-05-09 Robert Millan <rmh@aybabtu.com>
36834
36835 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 36836 fail gracefully if dev->disk->partition == NULL.
02e7b75e 36837
75f396cc 368382007-05-07 Robert Millan <rmh@aybabtu.com>
36839
36840 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
36841 determine partition map module.
36842 * util/i386/pc/grub-install.in: Use this feature to decide which
36843 partition module to load, instead of hardcoding pc and gpt.
36844
da65cb36 368452007-05-07 Robert Millan <rmh@aybabtu.com>
36846
36847 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
36848 source directory differs from build directory.
36849
b57d6a91 368502007-05-05 Robert Millan <rmh@aybabtu.com>
36851
36852 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
36853 initialisation.
36854
509d00f1 368552007-05-05 Robert Millan <rmh@aybabtu.com>
36856
36857 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
36858
c48f23ef 368592007-05-05 Robert Millan <rmh@aybabtu.com>
36860
36861 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
36862 command-line arguments via ${GRUB_CMDLINE_LINUX}.
36863
20b97658 368642007-05-05 Robert Millan <rmh@aybabtu.com>
36865
36866 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
36867 (grub_probe_SOURCES): Likewise.
36868 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
36869 GPT and initialize dos_part and bsd_part accordingly.
36870 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
36871 install_bsd_part.
36872 (main): Activate gpt module for use during partition identification,
36873 and deactivate it afterwards.
36874 * util/i386/pc/grub-install.in: Add gpt module to core.img.
36875 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
36876 partition identification, and deactivate it afterwards.
36877
99123174 368782007-05-05 Robert Millan <rmh@aybabtu.com>
36879
36880 * term/i386/pc/console.c (grub_console_fini): Call
36881 grub_term_set_current() before grub_term_unregister().
36882
ebd97f6e 368832007-05-04 Robert Millan <rmh@aybabtu.com>
36884
36885 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
36886 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
36887 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
36888 and update-grub_DATA.
36889 * conf/common.rmk: Build and install update-grub components.
36890 * conf/common.mk: Regenerate.
36891 * util/update-grub.in: New. Core of update-grub.
36892 * util/grub.d/00_header.in: New. Generates grub.cfg header.
36893 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
36894 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
36895 * util/grub.d/README: New. Document grub.d directory layout.
36896
b06a264d 368972007-05-01 Robert Millan <rmh@aybabtu.com>
36898
36899 * util/grub-emu.c: Move initialization functions
36900 grub_util_biosdisk_init() and grub_init_all() before
36901 grub_util_biosdisk_get_grub_dev(), which relies on them.
36902
41f0050e 369032007-04-19 Robert Millan <rmh@aybabtu.com>
36904
36905 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
36906 it is used later.
36907
04582bb3 369082007-04-18 Jerone Young <jerone@gmail.com>
36909
f19dbdb7 36910 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 36911 stanza.
36912
08db4632 369132007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 36914
08db4632 36915 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
36916 continue on and look for device node with real device name.
36917
801b76be 369182007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 36919
fe6b695a 36920 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 36921 ability.
36922 * Makefile.in: Add autoconf package transformation code.
36923 * util/i386/pc/grub-install.in: Likewise.
36924 * util/powerpc/ieee1275/grub-install.in: Likewise.
36925
6795c4e1 369262007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36927
36928 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
36929 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
36930 (EXT2_REVISION): Likewise.
36931 (EXT2_INODE_SIZE): Likewise.
36932 (struct grub_ext2_block_group): Added a missing member
36933 "used_dirs".
36934 (grub_ext2_read_inode): Divide by the inode size in a superblock
36935 instead of 128 to obtain INODES_PER_BLOCK.
36936 Use the macro EXT2_INODE_SIZE instead of directly using
36937 SBLOCK->INODE_SIZE.
36938
d70af616 369392007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36940
36941 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
36942 superblock instead of the structure size to compute an
36943 offset. This fixes the problem that GRUB could not read a
36944 filesystem when inode size is different from 128-byte.
36945
3b801603 369462007-03-05 Marco Gerards <marco@gnu.org>
36947
36948 * normal/main.c (read_config_file): When "menu" is not set, create
36949 an initial context.
36950
4785bfe4 369512007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36952
36953 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
36954 (HEAP_LIMIT): New macro.
36955 (grub_claim_heap): Claim memory up to `heaplimit'.
36956
a0cbb023 369572007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36958
36959 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
36960 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
36961 (_start): Likewise.
36962 (grub_arch_modules_addr): Return address after `_end'.
36963 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
36964 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
36965 (add_segments): Calculate `_end' from phdr size and location.
36966 (ALIGN_UP): Moved to ...
36967 * include/grub/misc.h: here.
36968 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36969 New macro.
36970 (GRUB_IEEE1275_MODULE_BASE): Removed.
36971
fd7d8eba 369722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36973
36974 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
36975 loop boundary.
36976
9b09e6fc 369772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36978
36979 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
36980 All users updated.
36981 (grub_elf64_load_hook_t): Likewise.
36982 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
36983 debug output.
36984
3ce27299 369852007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36986
36987 * kern/mm.c: Update copyright.
36988 (grub_mm_debug): Correct syntax error.
36989 (grub_mm_dump_free): New function.
36990 (grub_debug_free): Call `grub_free'.
36991 * include/grub/mm.h: Update copyright.
36992 (grub_mm_dump_free): Add declaration.
36993
077d5fee 369942007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36995
36996 * include/grub/ieee1275/ieee1275.h: Update copyright.
36997 * kern/powerpc/ieee1275/init.c: Likewise.
36998 * kern/powerpc/ieee1275/openfw.c: Likewise.
36999
37000 * loader/powerpc/ieee1275/linux.c: Likewise.
37001 * include/grub/elfload.h: Likewise.
37002 * kern/elf.c: Likewise.
37003 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37004 callers.
37005 (grub_elf64_load): Likewise.
37006 (grub_elf32_load_segment): Move to a nested function.
37007 (grub_elf64_load_segment): Likewise.
37008
dc946850 370092007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37010
37011 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37012 prototype.
37013 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37014 (grub_heap_len): Likewise.
37015 (HEAP_SIZE): New macro.
37016 (grub_claim_heap): New function.
37017 (grub_machine_init): Don't claim heap directly. Call
37018 `grub_claim_heap'.
37019 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37020 (grub_available_iterate): New function.
37021
baa2a121 370222007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37023
37024 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37025 * configure.ac: Use it for testing the HOST and TARGET compilers.
37026
4fe9862e 370272006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37028
37029 * Makefile.in (enable_grub_emu): New variable.
37030 * configure.ac (--enable-grub-emu): New option.
37031 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37032 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37033 * conf/i386-pc.rmk: Likewise.
37034 * conf/powerpc-ieee1275.rmk: Likewise.
37035 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37036
a8aa5762 370372006-12-12 Marco Gerards <marco@gnu.org>
37038
37039 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37040
37041 * kern/env.c (grub_env_unset): Don't free the member `value' when
37042 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37043 pointer.
37044
37045 * normal/main.c (current_menu): Removed.
37046 (free_menu): Unset the `menu' environment variable.
37047 (grub_normal_menu_addentry): Make use of the environment variable
37048 `menu', instead of using the global `current_menu'. Allocate
37049 memory for the sourcecode of this entry.
37050 (read_config_file): New argument `nested', changed all callers.
37051 Only in the case of a new context, initialize a new menu. Set the
37052 `menu' environment variable.
37053 (grub_normal_execute): Don't set and unset the environment
37054 variable `menu' here anymore. Only free the menu when leaving the
37055 context.
37056
37057 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37058 leak.
37059
957b3a3e 370602006-12-11 Marco Gerards <marco@gnu.org>
37061
37062 * normal/menu_entry.c (run): Fix off by one bug so the last line
37063 is executed. Move the loader check to outside the loop.
37064
ef875714 370652006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37066
37067 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37068
4e739985 370692006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37070
37071 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37072 the number of sectors. Reported by Andrey Shuvikov
37073 <mr_hyro@yahoo.com>.
f19dbdb7 37074
790707f2 370752006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37076
37077 * kern/disk.c (grub_disk_read): When there is a read error, always
37078 try to read only the necessary data.
f19dbdb7 37079
790707f2 37080 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37081 disk/raid.c.
37082 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37083 prototype.
37084 [GRUB_UTIL] (grub_raid_fini): Likewise.
37085 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37086 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37087 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37088 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37089 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37090 and grub_raid_fini().
f19dbdb7 37091
03e58196 370922006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37093
37094 * include/grub/types.h (__unused): Rename to UNUSED.
37095 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37096 (grub_elf64_size): Likewise.
f19dbdb7 37097
ae4f23bf 370982006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37099
37100 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37101 grub_error_push and grub_error_pop in the error-handling path.
37102 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37103 length.
37104
2166cc83 371052006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37106
37107 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37108 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37110 (kernel_elf_SOURCES): Likewise.
37111 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37112 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37113 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37114 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37115 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37116 (elf_mod_SOURCES): New variable.
37117 (elf_mod_CFLAGS): Likewise.
37118 (elf_mod_LDFLAGS): Likewise.
37119 * include/grub/types.h (__unused): New macro.
37120 * include/grub/elfload.h: New file.
37121 * kern/elf.c: Likewise.
37122 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37123 (ELF32_LOADMASK): New macro.
37124 (ELF64_LOADMASK): Likewise.
37125 (vmlinux): Removed.
37126 (grub_linux_load32): New function.
37127 (grub_linux_load64): Likewise.
37128 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37129 Use grub_elf_t instead of grub_file_t.
37130
a09d5aa5 371312006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37132
37133 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37134 `catch_result' to struct set_color_args.
37135
d976fc51 371362006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37137
37138 * normal/menu.c: Include grub/script.h.
37139 * normal/menu_entry.c: Likewise.
37140 * include/grub/normal.h: Do not include grub/script.h.
37141
67507549 371422006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37143
37144 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37145
69203a99 371462006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37147
37148 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37149 disk.
37150 (grub_disk_close): Print debug messages when closing a disk.
37151 (grub_disk_read): Print debug messages when disk read fails.
37152 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37153 filesystem type.
37154 * kern/partition.c: Include misc.h.
37155 (grub_partition_iterate): Print debug messages when detecting
37156 partition type.
37157
e2b8278c 371582006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37159
37160 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37161 is negative.
37162 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37163
97b2f2ff 371642006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37165
37166 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37167 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37168
6555d655 371692006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37170
37171 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37172 instead of sizeof(lv). Patch by Michael Guntsche.
37173
4d42b77f 371742006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37175
37176 * disk/lvm.c: Rename VGS to VG_LIST.
37177 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37178 (grub_lvm_open): Likewise.
37179 Thanks to Michael Guntsche for finding this bug.
37180
5d74d927 371812006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37182
37183 * configure.ac (AC_INIT): Bumped to 1.95.
37184
a1bb27e4 371852006-10-14 Robert Millan <rmh@aybabtu.com>
37186
37187 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37188 with "/dev/.static/dev/md".
37189
e0994b8b 371902006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37191
37192 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37193 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37194 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37195 DRIVE_NAME are always freed.
37196
37197 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37198 DOS_PART, as a DOS partition is counted from one instead of zero
37199 now. Reported by Robert Millan.
37200
ddd5cee9 372012006-10-14 Robert Millan <rmh@aybabtu.com>
37202
37203 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37204 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37205 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37206 string returned by grub_guess_root_device.
37207 * util/i386/pc/grub-setup.c: Likewise.
37208 * util/i386/pc/grub-probefs.c: Likewise.
37209
37210 * util/i386/pc/grub-probefs.c: Rename to ...
37211 * util/i386/pc/grub-probe.c: ... this.
37212 * DISTLIST: Remove grub-probefs, add grub-probe.
37213 * conf/i386-efi.rmk: Likewise.
37214 * conf/i386-pc.rmk: Likewise.
37215 * util/i386/pc/grub-install.in: Likewise.
37216
37217 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37218 choose which information we want to print.
37219
2b002173 372202006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37221
37222 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37223 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37224 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37225 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37226 video/readers/tga.c and video/i386/pc/vbeutil.c.
37227
372282006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37229
37230 Added support for RAID and LVM.
f19dbdb7 37231
2b002173 37232 * disk/lvm.c: New file.
37233 * disk/raid.c: Likewise.
37234 * include/grub/lvm.h: Likewise.
f19dbdb7 37235 * include/grub/raid.h: Likewise.
2b002173 37236 * include/grub/util/lvm.h: Likewise.
37237 * include/grub/util/raid.h: Likewise.
37238 * util/lvm.c: Likewise.
37239 * util/raid.c: Likewise.
37240
37241 * include/grub/disk.h (grub_disk_dev_id): Add
37242 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37243 (grub_disk_get_size): New prototype.
37244 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37245 returns a partition.
37246 (grub_disk_get_size): New function.
f19dbdb7 37247
2b002173 37248 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37249 verbatim if grub_install_dos_part is -2.
37250
37251 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37252 and LVM devices.
37253
37254 * util/i386/pc/grub-setup.c (setup): New argument
37255 MUST_EMBED. Force embedding of GRUB when the argument is
37256 true. Close FILE before returning.
37257 (main): Add support for RAID and LVM.
f19dbdb7 37258
2b002173 37259 * conf/common.rmk: Add RAID and LVM modules.
37260 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37261 util/lvm.c.
37262 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37263
37264 * kern/misc.c (grub_strstr): New function.
37265 * include/grub/misc.h (grub_strstr): New prototype.
37266
050548d0 372672006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37268
37269 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37270
da849d2d 372712006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37272
37273 * kern/misc.c (grub_strtoull): Guess the base only if not
37274 specified.
37275
97b2f2ff 372762006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37277
37278 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37279 PowerMac support.
37280
97b2f2ff 372812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37282
37283 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37284
37285 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37286 Remove `flags' argument. All callers changed.
37287 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37288 (IEEE1275_IHANDLE_INVALID): New variable.
37289 (IEEE1275_CELL_INVALID): New variable.
37290 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37291 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37292 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37293 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37294 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37295 codes from Open Firmware. All callers updated.
37296 (grub_ieee1275_next_property): Directly return Open Firmware return
37297 code.
37298 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37299 Standardize error checking from `grub_ieee1275_get_property'.
37300 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37301 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37302
97b2f2ff 373032006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37304
37305 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37306 `instance_to_package_args' to `instance_to_path_args'.
37307
37308 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37309 `grub_ieee1275_chosen'.
37310
37311 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37312 `grub_ieee1275_interpret'.
37313
97b2f2ff 373142006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37315
37316 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37317
97b2f2ff 373182006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37319
37320 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37321 (__cmpdi): Likewise.
37322
37323 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37324 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37325 `grub_ssize_t'.
37326
02bb8acc 37327 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37328
37329 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37330 to type `grub_ssize_t'.
37331 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37332
7f9a8531 373332006-09-22 Marco Gerards <marco@gnu.org>
37334
37335 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37336 newlines.
37337
b5ef1102 373382006-09-22 Marco Gerards <marco@gnu.org>
37339
37340 * commands/echo.c: New file.
37341
37342 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37343
37344 * conf/common.rmk (echo_mod_SOURCES): New variable.
37345 (echo_mod_CFLAGS): Likewise.
37346 (echo_mod_LDFLAGS): Likewise.
37347
2cff3677 373482006-09-22 Marco Gerards <marco@gnu.org>
37349
37350 * normal/main.c (get_line): Malloc memory instead of using
37351 preallocated memory. Removed the arguments `cmdline' and
37352 `max_len'. Updated all callers.
37353
6ba4688b 373542006-09-22 Marco Gerards <marco@gnu.org>
37355
37356 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37357 (normal_mod_DEPENDENCIES): Likewise.
37358
37359 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37360 (normal_mod_DEPENDENCIES): Likewise.
37361
37362 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37363
e02ac02c 373642006-09-22 Johan Rydberg <jrydberg@gnu.org>
37365
37366 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37367 programs.
37368 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37369 (normal_mod_DEPENDENCIES): Likewise.
37370 * conf/i386-pc.mk: Regenerate.
37371 * conf/i386-efi.mk: Likewise
37372 * conf/common.mk: Likewise.
37373 * conf/powerpc-ieee1275.mk: Likewise.
37374 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37375
8d252e44 373762006-09-22 Robert Millan <rmh@aybabtu.com>
37377
37378 Sync with i386 version.
37379 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37380 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37381
209bf7ac 373822006-09-21 Robert Millan <rmh@aybabtu.com>
37383
37384 Import from GRUB Legacy (lib/device.c):
37385 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37386 (init_device_map) [__linux__]: Add support for I2O devices.
37387
6b146090 373882006-09-14 Marco Gerards <marco@gnu.org>
37389
37390 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37391 `-melf_i386'.
37392
e38600a8 373932006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37394
37395 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37396 /boot/grub/*.lst.
78fa1790 37397
2952da5d 37398 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37399
2952da5d 37400 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37401 before adding it to device.map.
37402
01b82a64 374032006-08-15 Johan Rydberg <jrydberg@gnu.org>
37404
fe6b695a 37405 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37406 compiles a file; using the -MD option.
37407 * conf/common.mk: Regenerate.
37408 * conf/i386-pc.mk: Likewise.
37409 * conf/i386-efi.mk: Likewise.
37410 * conf/powerpc-ieee1275.mk: Likewise.
37411 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37412
1064790d 374132006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37414
37415 Move the prototypes of grub_setjmp and grub_longjmp to
37416 cpu/setjmp.h, so that each architecture may specify different
37417 attributes.
f19dbdb7 37418
1064790d 37419 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37420 (grub_longjmp): Likewise.
37421 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37422 (grub_longjmp): Likewise.
37423 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37424 (grub_longjmp): Likewise.
37425
37426 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37427 [!GRUB_UTIL] (grub_longjmp): Removed.
37428
29dda3ed 374292006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37430
37431 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37432 "color!" method does not return any value.
37433
ad2a06ed 374342006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37435
37436 * include/grub/bitmap.h: New file.
37437
37438 * include/grub/i386/pc/vbeutil.h: Likewise.
37439
37440 * video/bitmap.c: Likewise.
37441
37442 * video/readers/tga.c: Likewise.
37443
37444 * video/i386/pc/vbeutil.c: Likewise.
37445
37446 * commands/videotest.c: Code cleanup and updated to reflect to new
37447 video API.
37448
37449 * term/gfxterm.c: Likewise.
37450
37451 * video/video.c: Likewise.
37452
37453 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37454 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37455 (bitmap_mod_SOURCES): New entry.
37456 (bitmap_mod_CFLAGS): Likewise.
37457 (bitmap_mod_LDFLAGS): Likewise.
37458 (tga_mod_SOURCES): Likewise.
37459 (tga_mod_CFLAGS): Likewise.
37460 (tga_mod_LDFLAGS): Likewise.
37461
37462 * include/grub/video.h (grub_video_blit_operators): New enum type.
37463 (grub_video_render_target): Changed as forward declaration and moved
37464 actual definition to be video driver specific.
37465 (grub_video_adapter.blit_bitmap): Added blitting operator.
37466 (grub_video_adapter.blit_render_target): Likewise.
37467 (grub_video_blit_bitmap): Likewise.
37468 (grub_video_blit_render_target): Likewise.
37469
37470 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37471 driver specific render target definition.
37472 (grub_video_vbe_map_rgba): Added driver internal helper.
37473 (grub_video_vbe_unmap_color): Updated to use
37474 grub_video_i386_vbeblit_info.
37475 (grub_video_vbe_get_video_ptr): Likewise.
37476
37477 * include/grub/i386/pc/vbeblit.h
37478 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37479 grub_video_i386_vbeblit_info.
37480 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37481 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37482 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37483 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37484 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37485 (grub_video_i386_vbeblit_index_index): Likewise.
37486 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37487 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37488 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37489 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37490 operator.
37491 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37492 operator.
37493
37494 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37495 include/grub/i386/pc/vbeblit.h.
37496
37497 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37498 Updated to use grub_video_i386_vbeblit_info.
37499 (grub_video_i386_vbefill_R8G8B8): Likewise.
37500 (grub_video_i386_vbefill_index): Likewise.
37501 (grub_video_i386_vbefill): Added generic filler.
37502
37503 * video/i386/pc/vbefill.c: Updated to reflect changes on
37504 include/grub/i386/pc/vbefill.h.
37505
37506 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37507 grub_video_i386_vbeblit_info.
37508 (grub_video_vbe_unmap_color): Likewise.
37509 (grub_video_vbe_blit_glyph): Likewise.
37510 (grub_video_vbe_scroll): Likewise.
37511 (grub_video_vbe_draw_pixel): Removed function.
37512 (grub_video_vbe_get_pixel): Likewise.
37513 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37514 updated code to use it.
37515 (common_blitter): Added common blitter for render target and bitmap.
37516 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37517 (grub_video_vbe_blit_render_target): Likewise.
37518
bc8c036d 375192006-07-30 Johan Rydberg <jrydberg@gnu.org>
37520
37521 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37522 is in text mode if there is no console control protocol instance
37523 available.
37524
684a8eff 375252006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37526
37527 * include/grub/video.h: Code cleanup.
37528
37529 * include/grub/i386/pc/vbe.h: Likewise.
37530
37531 * video/i386/pc/vbe.c: Likewise.
37532
37533 * video/i386/pc/vbeblit.c: Likewise.
37534
37535 * video/i386/pc/vbefill.c: Likewise.
37536
37537 * video/video.c: Likewise. Also added more comments.
37538
5915059b 375392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37540
37541 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37542 (struct grub_biosdisk_dap): Likewise.
37543
37544 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37545 linkage settings for all functions.
37546
90ce5d56 375472006-07-12 Marco Gerards <marco@gnu.org>
37548
37549 * configure.ac (--enable-mm-debug): Fix typo.
37550
37551 * genkernsyms.sh.in: Use proper quoting for `CC'.
37552
43e7f879 375532006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37554
37555 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37556 (normal_mod_ASFLAGS): Remove "-m32".
37557
4889bdec 375582006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37559
37560 * util/misc.c: Include config.h.
37561 [!HAVE_MEMALIGN]: Do not include malloc.h.
37562 (grub_memalign): Use posix_memalign, if present. Then, use
37563 memalign, if present. Otherwise, emit an error.
37564
37565 * util/grub-emu.c: Do not include malloc.h.
37566
37567 * include/grub/util/misc.h: Include unistd.h. This is required for
37568 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37569 D. Eades III <hde@foobar-qux.org>.
37570
37571 * configure.ac (AC_GNU_SOURCE): Added.
37572 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37573 type.
37574
fd39d4da 375752006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37576
37577 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37578 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37579
b786f3b5 375802006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37581
37582 * include/grub/types.h (grub_host_addr_t): Rename to
37583 grub_target_addr_t.
37584 (grub_host_off_t): Rename to grub_target_off_t.
37585 (grub_host_size_t): Rename to grub_target_size_t.
37586 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37587 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37588
37589 * include/grub/kernel.h (struct grub_module_header): Change type
37590 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37591 (grub_module_info): Likewise.
f19dbdb7 37592
051988bb 375932006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37594
37595 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37596 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37597 Velazquez <jesus.velazquez@gmail.com>.
37598
deae281b 375992006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37600
37601 Count partitions from 1 instead of 0 in the string representation
37602 of partitions. Still use 0-based internally.
f19dbdb7 37603
deae281b 37604 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37605 (sun_partition_map_iterate): Use grub_partition_t instead of
37606 struct grub_partition *. Cast DESC->START_CYLINDER to
37607 grub_uint64_t after converting the endian.
37608 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37609 (sun_partition_map_get_name): Add 1 to P->INDEX.
37610
37611 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37612 PCDATA->DOS_PART.
37613 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37614
37615 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37616 zero instead of one.
37617 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37618 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37619
37620 * partmap/apple.c (apple_partition_map_iterate): Change the type
37621 of POS to unsigned.
37622 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37623 (apple_partition_map_get_name): Add 1 into P->INDEX.
37624
37625 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37626 of POS to unsigned.
37627 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37628 calculate the offset of a partition.
37629 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37630 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37631
37632 * partmap/acorn.c (acorn_partition_map_find): Change the type of
37633 SECTOR to grub_disk_addr_t.
37634 (acorn_partition_map_iterate): Likewise.
37635 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
37636 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
37637 top.
37638 (acorn_partition_map_get_name): Add 1 into P->INDEX.
37639
37640 * kern/i386/pc/init.c (make_install_device): Add 1 into
37641 GRUB_INSTALL_DOS_PART.
37642
37643 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
37644 conditional.
37645
524a1e6a 376462006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37647
37648 Clean up the code to support 64-bit addressing in disks and
37649 files. This change is not enough for filesystems yet.
f19dbdb7 37650
524a1e6a 37651 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
37652 type of "start" to grub_uint64_t.
37653 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
37654 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
37655 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
37656 convert addresses.
37657
37658 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
37659 to grub_disk_addr_t.
37660
37661 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
37662 string.
37663
37664 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37665
37666 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
37667 to char *.
37668
37669 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
37670
37671 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
37672
37673 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
37674
37675 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
37676 to grub_off_t, to detect an error from grub_file_seek.
37677 (grub_multiboot_load_elf32): Likewise.
37678
37679 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
37680 maximum unsigned long value when an overflow is detected.
37681 (grub_strtoull): New function.
37682 (grub_divmod64): Likewise.
37683 (grub_lltoa): use grub_divmod64.
37684
37685 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
37686 grub_disk_addr_t.
37687 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
37688 the pointer to next character. Use grub_strtoull instead of
37689 grub_strtoul.
37690 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
37691 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
37692 respectively.
37693
fe6b695a 37694 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 37695 return value is signed.
37696 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
37697 test if OFFSET is less than zero, as OFFSET is unsigned now.
37698
37699 * kern/disk.c (struct grub_disk_cache): Change the type of
37700 "sector" to grub_disk_addr_t.
37701 (grub_disk_cache_get_index): Change the type of SECTOR to
37702 grub_disk_addr_t. Calculate the hash with SECTOR casted to
37703 unsigned after shifting.
37704 (grub_disk_cache_invalidate): Change the type of SECTOR to
37705 grub_disk_addr_t.
37706 (grub_disk_cache_unlock): Likewise.
37707 (grub_disk_cache_store): Likewise.
37708 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
37709 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
37710 grub_disk_addr_t and grub_uint64_t, respectively.
37711 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
37712 body, as the value of OFFSET is tweaked by
37713 grub_disk_check_range. Change the types of START_SECTOR, LEN and
37714 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
37715 respectively.
37716 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
37717 body, as the value of OFFSET is tweaked by
37718 grub_disk_check_range. Change the types of LEN and N to
37719 grub_size_t.
37720
37721 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
37722 and "saved_offset" to grub_off_t.
37723 (test_header): Cast BUF to char *.
37724 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
37725 to char *.
37726 (grub_gzio_read): Change the types of OFFSET and SIZE to
37727 grub_off_t and grub_size_t, respectively.
37728
37729 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
37730 Removed.
37731 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
37732 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
37733 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
37734 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
37735 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
37736
37737 * include/grub/types.h (grub_off_t): Unconditionally set to
37738 grub_uint64_t.
37739 (grub_disk_addr_t): Changed to grub_uint64_t.
37740
37741 * include/grub/partition.h (struct grub_partition): Change the
37742 types of "start", "len" and "offset" to grub_disk_addr_t,
37743 grub_uint64_t and grub_disk_addr_t, respectively.
37744 (grub_partition_get_start): Return grub_disk_addr_t.
37745 (grub_partition_get_len): Return grub_uint64_t.
37746
37747 * include/grub/misc.h (grub_strtoull): New prototype.
37748 (grub_divmod64): Likewise.
37749
37750 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
37751 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
37752 grub_off_t, respectively.
37753 All callers and references changed.
37754
37755 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
37756 grub_size_t in "read".
37757 All callers and references changed.
37758
37759 * include/grub/file.h (struct grub_file): Change the types of
37760 "offset" and "size" to grub_off_t and grub_off_t,
37761 respectively. Change the type of SECTOR to grub_disk_addr_t in
37762 "read_hook".
37763 (grub_file_read): Change the type of LEN to grub_size_t.
37764 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
37765 grub_off_t.
37766 (grub_file_size): Return grub_off_t.
37767 (grub_file_tell): Likewise.
37768 All callers and references changed.
37769
37770 * include/grub/disk.h (struct grub_disk_dev): Change the types of
37771 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
37772 "write".
37773 (struct grub_disk): Change the type of "total_sectors" to
37774 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 37775 "read_hook".
524a1e6a 37776 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
37777 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
37778 (grub_disk_write): Likewise.
37779 All callers and references changed.
37780
37781 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
37782 char * for grub_strncmp to silence gcc.
37783 (grub_iso9660_mount): Likewise.
37784 (grub_iso9660_mount): Likewise.
37785 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
37786 return statement.
37787 (grub_iso9660_iterate_dir): Likewise.
37788 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
37789
37790 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
37791 LEN to grub_disk_addr_t and grub_size_t, respectively.
37792
37793 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37794
37795 * fs/jfs.c (grub_jfs_read_file): Likewise.
37796
37797 * fs/minix.c (grub_jfs_read_file): Likewise.
37798
37799 * fs/sfs.c (grub_jfs_read_file): Likewise.
37800
37801 * fs/ufs.c (grub_jfs_read_file): Likewise.
37802
37803 * fs/xfs.c (grub_jfs_read_file): Likewise.
37804
37805 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
37806 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
37807 respectively.
37808
37809 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
37810 BLKNR to -1 instead of returning GRUB_ERRNO.
37811 (grub_ext2_read_file): Change the types of SECTOR and
37812 LEN to grub_disk_addr_t and grub_size_t, respectively.
37813
37814 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
37815 LEN to grub_disk_addr_t and grub_size_t, respectively.
37816
37817 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
37818 grub_file_read.
37819
37820 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
37821 string. Do not cast SECTOR explicitly.
37822
37823 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
37824 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
37825 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
37826 grub_disk_addr_t and grub_size_t, respectively. If the sector is
37827 over 2TB and LBA mode is not supported, raise an error.
37828 (get_safe_sectors): New function.
37829 (grub_biosdisk_read): Use get_safe_sectors.
37830 (grub_biosdisk_write): Likewise.
37831
37832 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
37833 (grub_efidisk_write): Likewise.
37834
37835 * disk/loopback.c (delete_loopback): Cosmetic changes.
37836 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
37837 correctly.
37838 (grub_loopback_open): Likewise.
37839 (grub_loopback_read): Likewise. Also, change the type of POS to
37840 grub_off_t, and fix the usage of grub_memset.
37841
37842 * commands/i386/pc/play.c: Include grub/machine/time.h.
37843
37844 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
37845 print FILE->SIZE.
37846
37847 * commands/configfile.c: Include grub/env.h.
37848
37849 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
37850 GRUB_ERRNO directly instead. Change the type of POS to
37851 grub_off_t. Follow the coding standard.
37852
37853 * commands/blocklist.c: Include grub/partition.h.
37854 (grub_cmd_blocklist): Return an error if the underlying device is
37855 not a disk. Take the starting sector of a partition into account,
37856 if a partition is used.
37857
37858 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
37859 a length field.
37860 (lba_mode): Support 64-bit addresses.
37861 (chs_mode): Likewise.
37862 (copy_buffer): Adapted to the new offsets of a length field and a
37863 segment field.
37864 (blocklist_default_start): Allocate 64-bit space.
37865
37866 * boot/i386/pc/boot.S (force_lba): Removed.
37867 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 37868 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 37869 space.
37870 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
37871 is useless.
37872 (lba_mode): Refactored to support a 64-bit address. More size
37873 optimization.
37874 (setup_sectors): Likewise.
37875
53af98ad 378762006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37877
37878 * DISTLIST: Added include/grub/i386/linux.h. Removed
37879 include/grub/i386/pc/linux.h
37880
37881 * configure.ac (AC_INIT): Bumped to 1.94.
37882
37883 * config.guess: Updated from gnulib.
37884 * config.sub: Likewise.
37885 * install-sh: Likewise.
37886 * mkinstalldirs: Likewise.
37887
b4c1940a 378882006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37889
37890 * conf/common.rmk (grub_modules_init.lst): Depended on
37891 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
37892 MODSRCFILES.
37893
37894 * genmk.rb (PModule::rule): Reverted the previous change.
37895
cfca1cfd 378962006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37897
37898 * conf/common.rmk (grub_modules_init.lst): Depends on
37899 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
37900 that the target does not exist before producing.
37901 (grub_modules_init.h): Remove the target before generating.
37902 (grub_emu_init.c): Likewise.
37903
37904 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
37905
aa6d7826 379062006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
37907
37908 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
37909 for the target-specific tests. Make sure that we also have the
37910 up-to-date target variables for those tests.
37911
26c607b9 379122006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37913
37914 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
37915 (PModule::rule): Likewise.
37916
0162321a 379172006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37918
37919 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
37920 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
37921 target-specific flags should be prefixed.
37922 (PModule::rule): Likewise.
37923
6c826348 379242006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
37925
37926 * configure.ac (CMP): Check if cmp is available explicitly.
37927
b977bf01 379282006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
37929
37930 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
37931 (target_cpu): New variable.
37932 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 37933
b977bf01 37934 * util/i386/pc/grub-install.in (host_cpu): Removed.
37935 (target_cpu): New variable.
37936 (pkglibdir): Use target_cpu instead of host_cpu.
37937
37938 * util/genmoddep.c: Removed.
f19dbdb7 37939
b977bf01 37940 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
37941 instead of GRUB_HOST_SIZEOF_VOID_P.
37942 * kern/dl.c: Likewise.
37943
37944 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
37945 ...
37946 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37947 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37948 (GRUB_TARGET_SIZEOF_LONG): ... this.
37949 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37950 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37951 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37952 to ...
37953 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37954 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37955 (GRUB_TARGET_SIZEOF_LONG): ... this.
37956 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37957 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37958 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37959 to ...
37960 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37961 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37962 (GRUB_TARGET_SIZEOF_LONG): ... this.
37963 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37964 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37965
37966 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
37967 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
37968 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
37969 instead of GRUB_HOST_SIZEOF_LONG.
37970 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
37971 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
37972 GRUB_CPU_WORDS_BIGENDIAN.
37973 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
37974 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
37975 grub_host_ssize_t.
37976
37977 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
37978 (genmoddep_SOURCES): Likewise.
37979 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
37980 (genmoddep_SOURCES): Likewise.
37981 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
37982 (genmoddep_SOURCES): Likewise.
37983 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
37984 Likewise.
37985 (genmoddep_SOURCES): Likewise.
37986
37987 * genmoddep.awk: New file.
37988
37989 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
37990 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
37991 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
37992 (PModule::rule): Likewise.
37993 (Program::rule): Likewise.
37994 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
37995 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
37996 respectively.
37997
37998 * configure.ac: Rewritten intensively to use host and target
37999 instead of build and host, respectively.
38000
38001 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38002 (host_cpu): Removed.
38003 (target_cpu): New variable.
38004 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38005 (BUILD_CC): Removed.
38006 (BUILD_CFLAGS): Likewise.
38007 (BUILD_CPPFLAGS): Likewise.
38008 (TARGET_CC): New variable.
38009 (TARGET_CFLAGS): Likewise.
38010 (TARGET_CPPFLAGS): Likewise.
38011 (TARGET_LDFLAGS): Likewise.
38012 (AWK): Likewise.
38013 (include): Use target_cpu instead of host_cpu.
38014 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38015
b977bf01 38016 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38017
f09771a1 380182006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38019
38020 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38021 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38022 field 'false' to 'exec_on_false'.
38023 (grub_script_create_cmdif): Renamed argument names to reflect above
38024 changes.
38025
38026 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38027
38028 * normal/script.c (grub_script_create_cmdif): Likewise.
38029
118f4fb3 380302006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38031
38032 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38033 top.
38034 (grub_hfsplus_btree_recptr): Likewise.
38035 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38036 FILEBLOCK both to pass a block number and store next block
38037 number.
38038 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38039 overflow file correctly. Specify errors appropriately, because
38040 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38041 grub_hfsplus_btree_recptr to get the pointer to a found key.
38042 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38043 is found.
38044
38045 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38046 linux.mod.
38047 (_linux_mod_SOURCES): New variable.
38048 (_linux_mod_CFLAGS): Likewise.
38049 (_linux_mod_LDFLAGS): Likewise.
38050 (linux_mod_SOURCES): Likewise.
38051 (linux_mod_CFLAGS): Likewise.
38052 (linux_mod_LDFLAGS): Likewise.
38053
38054 * DISTLIST: Added loader/i386/efi/linux.c,
38055 loader/i386/efi/linux_normal.c and
38056 include/grub/i386/efi/loader.h.
38057
38058 * loader/i386/efi/linux.c: New file.
38059 * loader/i386/efi/linux_normal.c: Likewise.
38060 * include/grub/i386/efi/loader.h: Likewise.
38061
89a7d726 380622006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38063
38064 * commands/blocklist.c: New file.
38065
38066 * DISTLIST: Added commands/blocklist.c.
38067
38068 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38069 color for the background, and a darker color for the foreground.
89a7d726 38070 (grub_console_checkkey): Return READ_KEY.
38071 (grub_console_cls): Set the background to
38072 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38073
38074 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38075
38076 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38077 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38078
38079 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38080 prototype.
38081
38082 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38083 BG. The spec is wrong again.
38084
38085 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38086 prototype.
38087 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38088
38089 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38090 commands/blocklist.c.
38091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38092
89a7d726 38093 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38094 (blocklist_mod_SOURCES): New variable.
38095 (blocklist_mod_CFLAGS): Likewise.
38096 (blocklist_mod_LDFLAGS): Likewise.
38097
75c8f258 380982006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38099
38100 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38101 duplication.
38102 (lba_mode): Use %eax more intensively to reduce the code size.
38103
da2eb181 381042006-05-20 Marco Gerards <marco@gnu.org>
38105
38106 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38107
38108 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38109 for `menuentry'.
38110 (script): Accept leading newlines.
38111 (newlines): New rule to describe 0 or more newlines.
38112 (commands): Accept `command' with trailing newline. Fixed the
38113 order in which arguments were passed to `grub_script_add_cmd'.
38114 Accept commands separated by newlines.
38115 (function): Changed to accept newlines.
38116 (menuentry) Rewritten.
38117
38118 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38119 front of the list, instead of to the end.
38120
577b4050 381212006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38122
38123 * util/i386/pc/grub-install.in (bindir): New variable.
38124 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38125 Shaver <lbgwjl@gmail.com>.
38126
0d6e1189 381272006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38128
38129 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38130 grub/machine/linux.h
38131 * loader/i386/pc/linux.c: Likewise.
38132
38133 * include/grub/i386/pc/linux.h: Moved to ...
38134 * include/grub/i386/linux.h: ... here.
38135
38136 * include/grub/i386/linux.h (struct linux_kernel_params): New
38137 struct.
f19dbdb7 38138
31b86e9f 381392006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38140
38141 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38142 checking.
38143 (grub_video_vbe_blit_glyph): Likewise.
38144 (grub_video_vbe_blit_bitmap): Likewise.
38145 (grub_video_vbe_blit_render_target): Likewise.
38146
83b984de 381472006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38148
38149 * configure.ac (--with-platform): Properly quote the square
38150 brackets.
38151
5f0413bd 381522006-05-08 Marco Gerards <marco@gnu.org>
38153
38154 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38155 this...
38156 (kernel_elf_HEADERS): ...to this. Updated all users.
38157 (grubof_symlist.c): Renamed from this...
38158 (kernel_elf_symlist.c): ...to this. Updated all users.
38159 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38160 (grubof_SOURCES): Renamed from this...
38161 (kernel_elf_SOURCES): ...to this.
38162 (grubof_HEADERS): Renamed from this...
38163 (kernel_elf_HEADERS): ...to this.
38164 (grubof_CFLAGS): Renamed from this...
38165 (kernel_elf_CFLAGS): ...to this.
38166 (grubof_ASFLAGS): Renamed from this...
38167 (kernel_elf_ASFLAGS): ...to this.
38168 (grubof_LDFLAGS): Renamed from this...
38169 (kernel_elf_LDFLAGS): ...to this.
38170
38171 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38172 this...
38173 (kernel_elf_HEADERS): ...to this. Updated all users.
38174 (grubof_symlist.c): Renamed from this...
38175 (kernel_elf_symlist.c): ...to this. Updated all users.
38176 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38177 (grubof_SOURCES): Renamed from this...
38178 (kernel_elf_SOURCES): ...to this.
38179 (grubof_HEADERS): Renamed from this...
38180 (kernel_elf_HEADERS): ...to this.
38181 (grubof_CFLAGS): Renamed from this...
38182 (kernel_elf_CFLAGS): ...to this.
38183 (grubof_ASFLAGS): Renamed from this...
38184 (kernel_elf_ASFLAGS): ...to this.
38185 (grubof_LDFLAGS): Renamed from this...
38186 (kernel_elf_LDFLAGS): ...to this.
38187
38188 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38189 `kernel.elf' instead of `grubof'.
38190
05568c2e 381912006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38192
38193 Add --with-platform to configure. Use pkglibdir instead of
38194 pkgdatadir. This is reported by Roger Leigh.
38195
38196 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38197 (host_vendor): Likewise.
38198 (host_os): Likewise.
38199 (pkgdatadir): Likewise.
38200 (platform): New variable.
38201 (pkglibdir): Likewise.
38202 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38203
05568c2e 38204 * util/i386/pc/grub-install.in (datadir): Removed.
38205 (host_vendor): Likewise.
38206 (host_os): Likewise.
38207 (pkgdatadir): Likewise.
38208 (platform): New variable.
38209 (pkglibdir): Likewise.
38210 Use PKGLIBDIR instead of PKGDATADIR.
38211
38212 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38213 instead of GRUB_DATADIR.
38214 (main): Likewise.
38215 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38216 (main): Likewise.
38217 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38218 (main): Likewise.
38219
38220 * configure.ac (--with-platform): New option.
38221 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38222
38223 * Makefile.in: Include a makefile based on PLATFORM instead of
38224 HOST_VENDOR.
38225 (pkgdatadir): Not appended by the machine type.
38226 (pkglibdir): Appended by the machine type.
38227 (host_vendor): Removed.
38228 (platform): New variable.
38229 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38230 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38231 (uninstall): Likewise.
38232
4e93851c 382332006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38234
38235 Use the environment context in the menu. Remove the commands
38236 "default" and "timeout", and use variables instead.
f19dbdb7 38237
4e93851c 38238 * normal/menu.c: Include grub/env.h.
38239 (print_entry): Cast TITLE to silence gcc.
38240 (get_timeout): New function.
38241 (set_timeout): Likewise.
38242 (get_entry_number): Likewise.
38243 (run_menu): Use a default entry, a fallback entry and a timeout
38244 in the environment variables "default", "fallback" and
38245 "timeout". Also, tweak the default entry if it is not within the
38246 current menu entries.
38247 (grub_menu_run): Use a fallback entry in the environment variable
38248 "fallback".
38249
38250 * normal/main.c (read_config_file): Do not initialize
38251 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38252 NEWMENU->TIMEOUT.
38253 (grub_normal_execute): Use a data slot to store the menu.
38254
38255 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38256 fallback_entry and timeout.
38257 (struct grub_menu_list): Removed.
38258 (grub_menu_list_t): Likewise.
38259 (struct grub_context): Likewise.
38260 (grub_context_t): Likewise.
38261 (grub_context_get): Likewise.
38262 (grub_context_get_current_menu): Likewise.
38263 (grub_context_push_menu): Likewise.
38264 (grub_context_pop_menu): Likewise.
38265 (grub_default_init): Likewise.
38266 (grub_default_fini): Likewise.
38267 (grub_timeout_init): Likewise.
38268 (grub_timeout_fini): Likewise.
38269
38270 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38271 and timeout.mod.
38272 (normal_mod_SOURCES): Removed normal/context.c.
38273
38274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38275 commands/default.c, commands/timeout.c and normal/context.c.
38276 (normal_mod_SOURCES): Removed normal/context.c.
38277
38278 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38279 commands/timeout.c and normal/context.c.
38280 (normal_mod_SOURCES): Removed normal/context.c.
38281
38282 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38283 commands/default.c, commands/timeout.c and normal/context.c.
38284 (normal_mod_SOURCES): Removed normal/context.c.
38285
38286 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38287 timeout.mod.
38288 (default_mod_SOURCES): Removed.
38289 (default_mod_CFLAGS): Likewise.
38290 (default_mod_LDFLAGS): Likewise.
38291 (timeout_mod_SOURCES): Removed.
38292 (timeout_mod_CFLAGS): Likewise.
38293 (timeout_mod_LDFLAGS): Likewise.
38294
38295 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38296 normal/context.c.
38297
38298 * commands/default.c: Removed.
38299 * commands/timeout.c: Likewise.
38300 * normal/context.c: Likewise.
38301
1eb9cc1d 383022006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38303
38304 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38305
385bd9c1 383062006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38307
38308 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38309 "next" to "prev" for readability.
38310 (struct grub_env_sorted_var): New struct.
38311 (grub_env_context): Renamed to ...
38312 (initial_context): ... this.
38313 (grub_env_var_context): Renamed to ...
38314 (current_context): ... this.
38315 (grub_env_find): Look only at CURRENT_CONTEXT.
38316 (grub_env_context_open): Rewritten to copy exported variables from
38317 previous context.
38318 (grub_env_context_close): Rewritten according to the new
38319 scheme. Also, add an assertion to prevent the initial context from
38320 removed.
38321 (grub_env_insert): Removed the code for the sorted list.
38322 (grub_env_remove): Likewise.
38323 (grub_env_export): Simply mark the variable with
38324 GRUB_ENV_VAR_GLOBAL.
38325 (grub_env_set): A cosmetic change for naming consistency.
38326 (grub_env_get): Likewise.
38327 (grub_env_unset): Likewise.
38328 (grub_env_iterate): Rewritten to sort variables within this
38329 function.
38330 (grub_register_variable_hook): Fixed for naming consistency. Call
38331 grub_env_find again, only if NAME is not found at the first time.
38332 (mangle_data_slot_name): New function.
38333 (grub_env_set_data_slot): Likewise.
38334 (grub_env_get_data_slot): Likewise.
38335 (grub_env_unset_data_slot): Likewise.
38336
38337 * include/grub/env.h (grub_env_var_type): New enum.
38338 (GRUB_ENV_VAR_LOCAL): New constant.
38339 (GRUB_ENV_VAR_GLOBAL): Likewise.
38340 (GRUB_ENV_VAR_DATA): Likewise.
38341 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38342 "type".
38343 (grub_env_set): Replace VAR with NAME for consistency.
38344 (grub_register_variable_hook): Likewise.
38345 (grub_env_export): Specify the name of the argument.
38346 (grub_env_set_data_slot): New prototype.
38347 (grub_env_get_data_slot): Likewise.
38348 (grub_env_unset_data_slot): Likewise.
38349
7f362539 383502006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38351
38352 Extend the loader so that GRUB can accept a loader which comes
38353 back to GRUB when a loaded image exits. Also, this change adds
38354 support for a chainloader on EFI.
f19dbdb7 38355
7f362539 38356 * term/efi/console.c: Include grub/misc.h.
38357 (grub_console_checkkey): Display a scan code on the top for
38358 debugging. This will be removed once the EFI port gets stable.
38359 Correct the scan code mapping.
38360
38361 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38362 allocate memory from larger regions, in order to reduce the number
38363 of allocated regions. Otherwise, the MacOSX loader panics.
38364 (filter_memory_map): Avoid less than 1MB for compatibility with
38365 other loaders.
38366 (add_memory_regions): Allocate from the tail of a region, if
38367 possible, to avoid allocating a region near to 1MB, for the MacOSX
38368 loader.
38369
38370 * kern/efi/init.c (grub_efi_set_prefix): Specify
38371 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38372
38373 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38374 argument IMAGE_HANDLE and specify it to get a loaded image.
38375 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38376 grub_efi_get_loaded_image.
fe6b695a 38377 (grub_efi_get_filename): Divide the length by the size of
7f362539 38378 grub_efi_char16_t.
38379 (grub_efi_get_device_path): New function.
38380 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38381 the length by the size of grub_efi_char16_t for a file path device
38382 path node.
38383
38384 * kern/loader.c (grub_loader_noreturn): New variable.
38385 (grub_loader_set): Accept a new argument NORETURN. Set
38386 GRUB_LOADER_NORETURN to NORETURN.
38387 All callers changed.
38388 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38389 grub_machine_fini.
38390
38391 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38392 prototype.
38393 (grub_efi_get_loaded_image): Take an argument to specify an image
38394 handle.
38395
38396 * include/grub/loader.h (grub_loader_set): Added one more argument
38397 NORETURN.
38398
38399 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38400 instead of grub_efi_open_protocol.
38401 (grub_efidisk_get_device_name): Likewise.
38402 (grub_efidisk_close): Print a newline.
38403 (grub_efidisk_get_device_handle): Fixed to use
38404 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38405 GRUB_EFI_DEVICE_PATH_TYPE.
38406
38407 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38408 * kern/efi/efi.c (device_path_guid): ... here.
38409
38410 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38411 chain.mod.
38412 (kernel_mod_HEADERS): Added efi/disk.h.
38413 (_chain_mod_SOURCES): New variable.
38414 (_chain_mod_CFLAGS): Likewise.
38415 (_chain_mod_LDFLAGS): Likewise.
38416 (chain_mod_SOURCES): Likewise.
38417 (chain_mod_CFLAGS): Likewise.
38418 (chain_mod_LDFLAGS): Likewise.
38419
38420 * DISTLIST: Added include/grub/efi/chainloader.h,
38421 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38422
38423 * include/grub/efi/chainloader.h: New file.
38424 * loader/efi/chainloader.c: Likewise.
38425 * loader/efi/chainloader_normal.c: Likewise.
38426
c0111d6e 384272006-04-30 Marco Gerards <marco@gnu.org>
38428
38429 * commands/configfile.c (grub_cmd_source): New function.
38430 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38431 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38432
df5341da 384332006-04-30 Marco Gerards <marco@gnu.org>
38434
38435 * normal/execute.c (grub_script_execute_cmd): Change the return
38436 type to `grub_err_t'. Correctly return the error.
38437 (grub_script_execute_cmdline): In case a command line is not a
38438 command or a function, try to interpret it as an assignment.
38439
f85934bd 384402006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38441
38442 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38443 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38444 skip a node whose name is obviously invalid as UTF-16,
38445 i.e. contains a NUL character. Stop the iteration when the last
38446 directory entry is found. Instead of using the return value of
38447 grub_hfsplus_btree_iterate_node, store the value in RET and use
38448 it, because the iterator can be stopped by the last directory
38449 entry.
38450
8f8a2cf8 384512006-04-30 Marco Gerards <marco@gnu.org>
38452
38453 * include/grub/env.h (grub_env_export): New prototype. Reported
38454 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38455
a27e84ce 384562006-04-30 Marco Gerards <marco@gnu.org>
38457
38458 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38459 size of the extents in a catalog file record.
38460
eaef0553 384612006-04-29 Marco Gerards <marco@gnu.org>
38462
38463 * commands/configfile.c (grub_cmd_configfile): Execute the
38464 configfile within its own context.
38465
38466 * include/grub/env.h (grub_env_context_open): New prototype.
38467 (grub_env_context_close): Likewise.
38468
38469 * kern/env.c (grub_env): Removed.
38470 (grub_env_sorted): Likewise.
38471 (grub_env_context): New variable.
38472 (grub_env_var_context): Likewise.
38473 (grub_env_find): Search both the active context and the global
38474 context.
38475 (grub_env_context_open): New function.
38476 (grub_env_context_close): Likewise.
38477 (grub_env_insert): Likewise.
38478 (grub_env_remove): Likewise.
38479 (grub_env_export): Likewise.
38480 (grub_env_set): Changed to use helper functions to avoid code
38481 duplication.
38482 (grub_env_iterate): Rewritten so both the current context and the
38483 global context are being used.
38484
38485 * normal/command.c (export_command): New function.
38486 (grub_command_init): Register the `export' function.
38487
7b455f4d 384882006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38489
38490 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38491 explicitly to suppress gcc's warnings.
38492 * fs/fat.c (grub_fat_find_dir): Likewise.
38493 (grub_fat_label): Likewise.
38494 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38495 (grub_xfs_mount): Likewise.
38496 (grub_xfs_label): Likewise.
38497 * fs/affs.c (grub_affs_mount): Likewise.
38498 (grub_affs_label): Likewise.
38499 (grub_affs_iterate_dir): Likewise.
38500 * fs/sfs.c (grub_sfs_mount): Likewise.
38501 (grub_sfs_iterate_dir): Likewise.
38502 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38503 * fs/hfs.c (grub_hfs_mount): Likewise.
38504 (grub_hfs_cmp_catkeys): Likewise.
38505 (grub_hfs_find_dir): Likewise.
38506 (grub_hfs_dir): Likewise.
38507 (grub_hfs_label): Likewise.
38508 * fs/jfs.c (grub_jfs_mount): Likewise.
38509 (grub_jfs_opendir): Likewise.
38510 (grub_jfs_getent): Likewise.
38511 (grub_jfs_lookup_symlink): Likewise.
38512 (grub_jfs_label): Likewise.
38513 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38514 (grub_hfsplus_iterate_dir): Likewise.
38515 (grub_hfsplus_btree_iterate_node): Made static.
38516
38517 * util/grub-emu.c (prefix): New variable.
38518 (grub_machine_set_prefix): New function.
38519 (main): Do not set the environment variable "prefix" here. Only
38520 set PREFIX, which is used later by grub_machine_set_prefix.
38521
38522 * include/grub/video.h: Do not include grub/symbol.h.
38523 (grub_video_register): Not exported. This symbol is not defined in
38524 the kernel.
38525 (grub_video_unregister): Likewise.
38526 (grub_video_iterate): Likewise.
38527 (grub_video_setup): Likewise.
38528 (grub_video_restore): Likewise.
38529 (grub_video_get_info): Likewise.
38530 (grub_video_get_blit_format): Likewise.
38531 (grub_video_set_palette): Likewise.
38532 (grub_video_get_palette): Likewise.
38533 (grub_video_set_viewport): Likewise.
38534 (grub_video_get_viewport): Likewise.
38535 (grub_video_map_color): Likewise.
38536 (grub_video_map_rgb): Likewise.
38537 (grub_video_map_rgba): Likewise.
38538 (grub_video_fill_rect): Likewise.
38539 (grub_video_blit_glyph): Likewise.
38540 (grub_video_blit_bitmap): Likewise.
38541 (grub_video_blit_render_target): Likewise.
38542 (grub_video_scroll): Likewise.
38543 (grub_video_swap_buffers): Likewise.
38544 (grub_video_create_render_target): Likewise.
38545 (grub_video_delete_render_target): Likewise.
38546 (grub_video_set_active_render_target): Likewise.
38547
38548 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38549 Undefined.
38550 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38551
38552 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
38553 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38554 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38555 instead of $(srcdir)/genkernsyms.sh.
38556
38557 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38558 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38559 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38560 instead of $(srcdir)/genkernsyms.sh.
38561
38562 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
38563 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38564 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38565 instead of $(srcdir)/genkernsyms.sh.
38566
38567 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38568 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38569 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38570 instead of $(srcdir)/genkernsyms.sh.
38571
38572 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38573 genkernsyms.sh.
38574
38575 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38576 genkernsyms.sh.
38577 (gensymlist.sh): New target.
38578 (genkernsyms.sh): Likewise.
38579
38580 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38581 genkernsyms.sh.in and gensymlist.sh.in.
38582
38583 * genkernsyms.sh: Removed.
38584 * gensymlist.sh: Likewise.
f19dbdb7 38585
7b455f4d 38586 * genkernsyms.sh.in: New file.
38587 * gensymlist.sh.in: Likewise.
38588
1885bb27 385892006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38590
38591 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38592 clobber "prefix", since we may have already set it manually.
38593
71538dff 385942006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38595
38596 * kern/misc.c (abort): New alias for grub_abort.
38597
2965c7cc 385982006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38599
38600 A new machine-specific function "grub_machine_set_prefix" is
38601 defined. This is called after loading modules, so that a prefix
38602 initialization can use modules. Also, this change adds an
38603 intensive debugging feature for the memory manager via the
38604 configure option "--enable-mm-debug".
f19dbdb7 38605
2965c7cc 38606 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38607 PART.LEN.
38608
38609 * kern/sparc64/ieee1275/init.c (abort): Removed.
38610 (grub_stop): Likewise.
38611 (grub_exit): New function.
38612 (grub_set_prefix): Renamed to ...
38613 (grub_machine_set_prefix): ... this.
38614 (grub_machine_init): Do not call grub_set_prefix.
38615
38616 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38617 (grub_machine_set_prefix): ... this.
38618 (grub_machine_init): Do not call grub_set_prefix.
38619
38620 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38621 (grub_machine_init): Do not set the prefix here.
38622
38623 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38624
38625 * kern/efi/init.c: Include grub/mm.h.
38626 (grub_efi_set_prefix): New function.
38627
38628 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38629 (grub_efi_get_filename): New function.
38630 (grub_print_device_path): Renamed to ...
38631 (grub_efi_print_device_path): ... this.
38632
38633 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
38634 [MM_DEBUG] (grub_realloc): Likewise.
38635 [MM_DEBUG] (grub_free): Likewise.
38636 [MM_DEBUG] (grub_memalign): Likewise.
38637 [MM_DEBUG] (grub_mm_debug): New variable.
38638 [MM_DEBUG] (grub_debug_malloc): New function.
38639 [MM_DEBUG] (grub_debug_free): New function.
38640 [MM_DEBUG] (grub_debug_realloc): New function.
38641 [MM_DEBUG] (grub_debug_memalign): New function.
38642
38643 * kern/misc.c (grub_abort): Print a newline to distinguish
38644 the message.
38645
38646 * kern/main.c (grub_main): Call grub_machine_set_prefix and
38647 grub_set_root_dev after loading modules. This is necessary when
38648 setting a prefix depends on modules.
38649
38650 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
38651 (grub_efi_print_device_path): ... this.
38652 (grub_efi_get_filename): New prototype.
38653 (grub_efi_set_prefix): Likewise.
38654
38655 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
38656 and grub/disk.h.
38657 (grub_efidisk_get_device_handle): New prototype.
38658 (grub_efidisk_get_device_name): Likewise.
38659
38660 * include/grub/mm.h: Include config.h.
38661 (MM_DEBUG): Removed.
38662 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
38663 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
38664 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
38665 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
38666 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
38667 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
38668 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
38669 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
38670 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
38671
38672 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
38673
38674 * disk/efi/efidisk.c: Include grub/partition.h.
38675 (iterate_child_devices): New function.
38676 (add_device): First, compare only last device path nodes, so that
38677 devices are sorted by the types.
38678 (grub_efidisk_get_device_handle): New function.
38679 (grub_efidisk_get_device_name): Likewise.
38680
38681 * configure.ac (--enable-mm-debug): New option to enable the
38682 memory manager debugging feature. This makes the binary much
38683 bigger, so is disabled by default.
38684
9cacaa17 386852006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
38686
38687 Use grub_abort instead of grub_stop, and grub_exit must be
38688 define in each architecture now. Also, this change adds support
38689 for EFI disks.
f19dbdb7 38690
9cacaa17 38691 * util/i386/pc/grub-probefs.c: Include grub/term.h.
38692 (grub_getkey): New function.
38693 (grub_term_get_current): Likewise.
38694
38695 * util/i386/pc/grub-setup.c: Include grub/term.h.
38696 (grub_getkey): New function.
38697 (grub_term_get_current): Likewise.
38698
38699 * util/misc.c (grub_stop): Renamed to ...
38700 (grub_exit): ... this.
38701
38702 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
38703 (grub_exit): ... this.
38704 (grub_machine_init): Use grub_abort instead of abort.
38705 (grub_stop): Removed.
38706
38707 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
38708 abort.
38709
38710 * kern/i386/pc/startup.S (grub_exit): New function.
38711 (cold_reboot): New label.
38712
38713 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
38714 (grub_efi_init): Call grub_efidisk_init.
38715 (grub_efi_fini): Call grub_efidisk_fini.
38716
38717 * kern/efi/efi.c: Include grub/mm.h.
38718 (grub_efi_console_control_guid): Renamed to ...
38719 (console_control_guid): ... this.
38720 (grub_efi_loaded_image_guid): Renamed to ...
38721 (loaded_image_guid): ... this.
38722 (grub_efi_locate_handle): New function.
38723 (grub_efi_open_protocol): Likewise.
38724 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
38725 GRUB_EFI_CONSOLE_CONTROL_GUID.
38726 (grub_efi_exit): Removed.
38727 (grub_stop): Likewise.
38728 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
38729 (grub_exit): New function.
38730 (grub_print_device_path): Likewise.
38731
38732 * kern/rescue.c (grub_rescue_cmd_exit): New function.
38733 (grub_enter_rescue_mode): Register "exit".
38734
38735 * kern/misc.c (grub_real_dprintf): A cosmetic change.
38736 (grub_abort): New function.
38737
38738 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
38739
38740 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
38741
38742 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
38743
38744 * include/grub/efi/efi.h (grub_efi_exit): Removed.
38745 (grub_print_device_path): New prototype.
38746 (grub_efi_locate_handle): Likewise.
38747 (grub_efi_open_protocol): Likewise.
38748
38749 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
38750 * disk/efi/efidisk.c: Likewise.
38751
38752 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
38753
38754 * include/grub/efi/console_control.h
38755 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
38756
38757 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
38758 last 8 bytes as an array.
38759 (GRUB_EFI_DISK_IO_GUID): New macro.
38760 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
38761 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
38762 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
38763 grub_uint8_t.
38764 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
38765 (struct grub_efi_device_path): Rename the member "sub_type" to
38766 "subtype".
38767 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
38768 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
38769 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
38770 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
38771 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
38772 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
38773 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
38774 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
38775 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
38776 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
38777 (struct grub_efi_pci_device_path): New structure.
38778 (grub_efi_pci_device_path_t): New type.
38779 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
38780 (struct grub_efi_pccard_device_path): New structure.
38781 (grub_efi_pccard_device_path_t): New type.
38782 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
38783 (struct grub_efi_memory_mapped_device_path): New structure.
38784 (grub_efi_memory_mapped_device_path_t): New type.
38785 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
38786 (struct grub_efi_vendor_device_path): New structure.
38787 (grub_efi_vendor_device_path_t): New type.
38788 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
38789 (struct grub_efi_controller_device_path): New structure.
38790 (grub_efi_controller_device_path_t): New type.
38791 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
38792 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
38793 (struct grub_efi_acpi_device_path): New structure.
38794 (grub_efi_acpi_device_path_t): New type.
38795 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
38796 (struct grub_efi_expanded_acpi_device_path): New structure.
38797 (grub_efi_expanded_acpi_device_path_t): New type.
38798 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
38799 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
38800 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
38801 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
38802 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
38803 (struct grub_efi_atapi_device_path): New structure.
38804 (grub_efi_atapi_device_path_t): New type.
38805 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
38806 (struct grub_efi_fibre_channel_device_path): New structure.
38807 (grub_efi_fibre_channel_device_path_t): New type.
38808 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
38809 (struct grub_efi_1394_device_path): New structure.
38810 (grub_efi_1394_device_path_t): New type.
38811 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
38812 (struct grub_efi_usb_device_path): New structure.
38813 (grub_efi_usb_device_path_t): New type.
38814 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
38815 (struct grub_efi_usb_class_device_path): New structure.
38816 (grub_efi_usb_class_device_path_t): New type.
38817 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
38818 (struct grub_efi_i2o_device_path): New structure.
38819 (grub_efi_i2o_device_path_t): New type.
38820 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
38821 (struct grub_efi_mac_address_device_path): New structure.
38822 (grub_efi_mac_address_device_path_t): New type.
38823 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
38824 (struct grub_efi_ipv4_device_path): New structure.
38825 (grub_efi_ipv4_device_path_t): New type.
38826 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
38827 (struct grub_efi_ipv6_device_path): New structure.
38828 (grub_efi_ipv6_device_path_t): New type.
38829 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
38830 (struct grub_efi_infiniband_device_path): New structure.
38831 (grub_efi_infiniband_device_path_t): New type.
38832 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
38833 (struct grub_efi_uart_device_path): New structure.
38834 (grub_efi_uart_device_path_t): New type.
38835 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
38836 (struct grub_efi_vendor_messaging_device_path): New structure.
38837 (grub_efi_vendor_messaging_device_path_t): New type.
38838 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
38839 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
38840 (struct grub_efi_hard_drive_device_path): New structure.
38841 (grub_efi_hard_drive_device_path_t): New type.
38842 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
38843 (struct grub_efi_cdrom_device_path): New structure.
38844 (grub_efi_cdrom_device_path_t): New type.
38845 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
38846 (struct grub_efi_vendor_media_device_path): New structure.
38847 (grub_efi_vendor_media_device_path_t): New type.
38848 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
38849 (struct grub_efi_file_path_device_path): New structure.
38850 (grub_efi_file_path_device_path_t): New type.
38851 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
38852 (struct grub_efi_protocol_device_path): New structure.
38853 (grub_efi_protocol_device_path_t): New type.
38854 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
38855 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
38856 (struct grub_efi_bios_device_path): New structure.
38857 (grub_efi_bios_device_path_t): New type.
38858 (struct grub_efi_disk_io): New structure.
38859 (grub_efi_disk_io_t): New type.
38860 (struct grub_efi_block_io_media): New structure.
38861 (grub_efi_block_io_media_t): New type.
38862 (struct grub_efi_block_io): New structure.
38863 (grub_efi_block_io_t): New type.
38864
38865 * include/grub/misc.h (grub_stop): Removed.
38866 (grub_exit): New prototype.
38867 (grub_abort): Likewise.
38868
38869 * include/grub/disk.h (enum grub_disk_dev_id): Added
38870 GRUB_DISK_DEVICE_EFIDISK_ID.
38871
38872 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
38873 disk/efi/efidisk.c.
38874 (kernel_syms.lst): Remove the target if an error occurs.
38875
49986a9f 388762006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
38877
38878 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
38879 as it was simply too buggy.
38880
970d3b8a 388812006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
38882
38883 * kern/misc.c (grub_lltoa): New function.
38884 (grub_vsprintf): Added support for the long long suffix,
38885 i.e. "ll".
38886
ff04ec24 388872006-04-20 Hollis Blanchard <hollis@penguinppc.org>
38888
38889 * Makefile.in (LDFLAGS): Add variable.
38890 (LD): Remove variable.
38891 * configure.ac: Add -m32 to LDFLAGS.
38892 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
38893 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
38894 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
38895 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
38896 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
38897 variables.
38898 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
38899 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
38900 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
38901
37e5e1a4 389022006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
38903
38904 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
38905 length for unknown glyph.
38906
c352d8dd 389072006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
38908
2eab1c0d 38909 Add support for pre-loaded modules into the EFI port.
f19dbdb7 38910
2eab1c0d 38911 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
38912 completely. Accept one more argument DIR. The caller has changed.
38913
38914 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
38915
38916 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
38917 (grub_efi_loaded_image_guid): New variable.
38918 (grub_efi_get_loaded_image): New function.
38919 (grub_arch_modules_addr): Likewise.
38920
38921 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
38922 prototype.
38923
38924 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
38925 (struct grub_efi_loaded_image): New structure.
38926 (grub_efi_loaded_image_t): New type.
38927
389282006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38929
c352d8dd 38930 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
38931 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
38932 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
38933
6d01d6b4 389342006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
38935
38936 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
38937
976a4ea0 389382006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
38939
38940 * DISTLIST: Added include/grub/efi/console.h,
38941 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
38942 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38943
38944 * include/grub/efi/console.h: New file.
38945 * include/grub/efi/time.h: Likewise.
38946 * include/grub/i386/efi/kernel.h: Likewise.
38947 * kern/efi/init.c: Likewise.
38948 * kern/efi/mm.c: Likewise.
38949 * term/efi/console.c: Likewise.
f19dbdb7 38950
976a4ea0 38951 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
38952 (grub_stop): Removed.
38953 (grub_get_rtc): Likewise.
38954 (grub_machine_init): Simply call grub_efi_init.
38955 (grub_machine_fini): Call grub_efi_fini.
38956
38957 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
38958 (grub_efi_output_string): Removed.
38959 (grub_efi_stall): New function.
38960 (grub_stop): Likewise.
38961 (grub_get_rtc): Likewise.
38962
38963 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
38964 (grub_efi_stall): New prototype.
38965 (grub_efi_allocate_pages): Likewise.
38966 (grub_efi_free_pages): Likewise.
38967 (grub_efi_get_memory_map): Likewise.
38968 (grub_efi_mm_init): Likewise.
38969 (grub_efi_mm_fini): Likewise.
38970 (grub_efi_init): Likewise.
38971 (grub_efi_fini): Likewise.
38972
38973 * include/grub/i386/efi/time.h: Do not include
38974 grub/symbol.h. Include grub/efi/time.h.
38975 (GRUB_TICKS_PER_SECOND): Removed.
38976 (grub_get_rtc): Likewise.
38977
38978 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
38979 Added padding. The EFI spec is buggy.
38980 (GRUB_EFI_BLACK): New macro.
38981 (GRUB_EFI_BLUE): Likewise.
38982 (GRUB_EFI_GREEN): Likewise.
38983 (GRUB_EFI_CYAN): Likewise.
38984 (GRUB_EFI_RED): Likewise.
38985 (GRUB_EFI_MAGENTA): Likewise.
38986 (GRUB_EFI_BROWN): Likewise.
38987 (GRUB_EFI_LIGHTGRAY): Likewise.
38988 (GRUB_EFI_BRIGHT): Likewise.
38989 (GRUB_EFI_DARKGRAY): Likewise.
38990 (GRUB_EFI_LIGHTBLUE): Likewise.
38991 (GRUB_EFI_LIGHTGREEN): Likewise.
38992 (GRUB_EFI_LIGHTCYAN): Likewise.
38993 (GRUB_EFI_LIGHTRED): Likewise.
38994 (GRUB_EFI_LIGHTMAGENTA): Likewise.
38995 (GRUB_EFI_YELLOW): Likewise.
38996 (GRUB_EFI_WHITE): Likewise.
38997 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
38998 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
38999 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39000 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39001 (GRUB_EFI_BACKGROUND_RED): Likewise.
39002 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39003 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39004 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39005 (GRUB_EFI_TEXT_ATTR): Likewise.
39006
39007 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39008 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39009 (kernel_mod_HEADERS): Added efi/time.h.
39010
83709125 390112006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39012
39013 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39014 include/grub/efi/api.h, include/grub/efi/console_control.h,
39015 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39016 include/grub/i386/efi/time.h, kern/efi/efi.c,
39017 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39018 and util/i386/efi/grub-mkimage.c.
39019
39020 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39021
39022 * genmk.rb (PModule#rule): Do not export symbols if
39023 #{prefix}_EXPORTS is set to "no".
39024
39025 * conf/i386-efi.mk: New file.
39026 * conf/i386-efi.rmk: Likewise.
39027 * include/grub/efi/api.h: Likewise.
39028 * include/grub/efi/console_control.h: Likewise.
39029 * include/grub/efi/efi.h: Likewise.
39030 * include/grub/efi/pe32.h: Likewise.
39031 * include/grub/i386/efi/time.h: Likewise.
39032 * kern/efi/efi.c: Likewise.
39033 * kern/i386/efi/init.c: Likewise.
39034 * kern/i386/efi/startup.S: Likewise.
39035 * util/i386/efi/grub-mkimage.c: Likewise.
39036
390372006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39038
39039 * include/grub/script.h: Include <grub/parser.h> and
39040 "grub_script.tab.h".
39041 (struct grub_lexer_param): New struct.
39042 (struct grub_parser_param): Likewise.
39043 (grub_script_create_arglist): Pass the state in an argument.
39044 (grub_script_add_arglist): Likewise.
39045 (grub_script_create_cmdline): Likewise.
39046 (grub_script_create_cmdblock): Likewise.
39047 (grub_script_create_cmdif): Likewise.
39048 (grub_script_create_cmdmenu): Likewise.
39049 (grub_script_add_cmd): Likewise.
39050 (grub_script_arg_add): Likewise.
39051 (grub_script_lexer_ref): Likewise.
39052 (grub_script_lexer_deref): Likewise.
39053 (grub_script_lexer_record_start): Likewise.
39054 (grub_script_lexer_record_stop): Likewise.
39055 (grub_script_mem_record): Likewise.
39056 (grub_script_mem_record_stop): Likewise.
39057 (grub_script_malloc): Likewise.
39058 (grub_script_yylex): Likewise.
39059 (grub_script_yyparse): Likewise.
39060 (grub_script_yyerror): Likewise.
39061 (grub_script_yylex): Likewise.
39062 (grub_script_lexer_init): Return the state.
39063
39064 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39065 (grub_script_lexer_done): Likewise.
39066 (grub_script_lexer_getline): Likewise.
39067 (grub_script_lexer_refs): Likewise.
39068 (script): Likewise.
39069 (newscript): Likewise.
39070 (record): Likewise.
39071 (recording): Likewise.
39072 (recordpos): Likewise.
39073 (recordlen): Likewise.
39074 (grub_script_lexer_init): Return the state instead of setting
39075 global variables.
39076 (grub_script_lexer_ref): Use the newly added argument for state
39077 instead of globals.
39078 (grub_script_lexer_deref): Likewise.
39079 (grub_script_lexer_record_start): Likewise.
39080 (grub_script_lexer_record_stop): Likewise.
39081 (recordchar): Likewise.
39082 (nextchar): Likewise.
39083 (grub_script_yylex2): Likewise.
39084 (grub_script_yylex): Likewise.
39085 (grub_script_yyerror): Likewise.
39086
39087 * normal/parser.y (func_mem): Removed variable.
39088 (menu_entry): Likewise.
39089 (err): Likewise.
39090 (%lex-param): New parser option.
39091 (%parse-param): Likewise.
39092 (script): Always return the AST.
39093 (argument): Pass the state around.
39094 (arguments): Likewise.
39095 (grubcmd): Likewise.
39096 (commands): Likewise.
39097 (function): Likewise.
39098 (menuentry): Likewise.
39099 (if_statement): Likewise.
39100 (if): Likewise.
39101
39102 * normal/script.c (grub_script_memused): Removed variable.
39103 (grub_script_parsed): Likewise.
39104 (grub_script_malloc): Added a state argument. Use that instead of
39105 global variables.
39106 (grub_script_mem_record): Likewise.
39107 (grub_script_mem_record_stop): Likewise.
39108 (grub_script_arg_add): Likewise.
39109 (grub_script_add_arglist): Likewise.
39110 (grub_script_create_cmdline): Likewise.
39111 (grub_script_create_cmdif): Likewise.
39112 (grub_script_create_cmdmenu): Likewise.
39113 (grub_script_add_cmd): Likewise.
39114 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39115
e2a8c904 391162006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39117
39118 * normal/command.c (grub_command_init): Remove the title command.
39119
39120 * normal/lexer.c (grub_script_yylex): Renamed from this...
39121 (grub_script_yylex2): ... to this.
39122 (grub_script_yylex): New function. Temporary
39123 introduced to filter some tokens.
39124 (grub_script_yyerror): Print a newline.
39125
39126 * normal/main.c (read_config_file): Output information about the
39127 lines that contain errors. Wait for a key after all lines have
39128 been processed. Don't return an empty menu.
39129
39130 * normal/parser.y (func_mem): Don't initialize.
39131 (menu_entry): Likewise.
39132 (err): New variable.
39133 (script): Don't return anything when an error was encountered.
39134 (ws, returns): Removed rules.
39135 (argument): Disabled concatenated variable support.
39136 (arguments): Remove explicit separators.
39137 (grubcmd): Likewise.
39138 (function): Likewise.
39139 (menuentry): Likewise.
39140 (if): Likewise.
39141 (commands): Likewise. Add error handling.
39142
39143 * normal/script.c (grub_script_create_cmdline): If
39144 `grub_script_parsed' is 0, assume the parser encountered an error.
39145
c9a86192 391462006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39147
39148 * configure.ac: Add support for EFI. Fix the typo
39149 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39150
70f3b243 391512006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39152
39153 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39154 foreign multibyte characters should be shown correctly.
39155
65f201ad 391562006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39157
39158 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39159 calculation.
39160 (read_config_file): Made it to close file before returning.
39161
b4b93674 391622006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39163
39164 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39165 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39166 video/i386/pc/vbefill.c.
39167
39168 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39169 video/i386/pc/vbefill.c.
39170
39171 * include/grub/video.h (grub_video_blit_format): New enum.
39172 (grub_video_mode_info): Added new member blit_format.
39173 (grub_video_get_blit_format): New function prototype.
39174
39175 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39176 function prototype.
39177 (grub_video_vbe_map_rgb): Likewise.
39178 (grub_video_vbe_unmap_color): Likewise.
39179
39180 * include/grub/i386/pc/vbeblit.h: New file.
39181
39182 * include/grub/i386/pc/vbefill.h: New file.
39183
39184 * video/video.c (grub_video_get_blit_format): New function.
39185 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39186 (grub_video_vbe_map_rgb): Likewise.
39187 (grub_video_vbe_unmap_color): Likewise.
39188
39189 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39190 optimized fills.
39191 (grub_video_vbe_blit_render_target): Changed to use more optimized
39192 blits.
39193 (grub_video_vbe_setup): Added detection for optimized settings.
39194 (grub_video_vbe_create_render_target): Likewise.
39195
39196 * video/i386/pc/vbeblit.c: New file.
39197
39198 * video/i386/pc/vbefill.c: New file.
39199
c2379b9c 392002006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39201
39202 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39203 here...
39204
39205 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39206 parsing to support both hex and dec ranges. If filename was missing
39207 show usage information.
39208
bd0d7896 392092006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39210
39211 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39212 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39213
39214 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39215 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39216 (video_mod_SOURCES): Added.
39217 (video_mod_CFLAGS): Likewise.
39218 (video_mod_LDFLAGS): Likewise.
39219 (gfxterm_mod_SOURCES): Likewise.
39220 (gfxterm_mod_CFLAGS): Likewise.
39221 (gfxterm_mod_LDFLAGS): Likewise.
39222 (videotest_mod_SOURCES): Likewise.
39223 (videotest_mod_CFLAGS): Likewise.
39224 (videotest_mod_LDFLAGS): Likewise.
39225 (vesafb_mod_SOURCES): Removed.
39226 (vesafb_mod_CFLAGS): Likewise.
39227 (vesafb_mod_LDFLAGS): Likewise.
39228 (vga_mod_SOURCES): Likewise.
39229 (vga_mod_CFLAGS): Likewise.
39230 (vga_mod_LDFLAGS): Likewise.
39231
39232 * commands/videotest.c: New file.
39233
39234 * font/manager.c (fill_with_default_glyph): Modified to use
39235 grub_font_glyph.
39236 (grub_font_get_glyph): Likewise.
39237 (fontmanager): Renamed from this...
39238 (font_manager): ... to this.
39239
39240 * include/grub/font.h (grub_font_glyph): Added new structure.
39241 (grub_font_get_glyph): Modified to use grub_font_glyph.
39242
39243 * include/grub/misc.h (grub_abs): Added as inline function.
39244
39245 * include/grub/video.h: New file.
39246
39247 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39248 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39249 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39250 (grub_vbe_get_controller_info): Renamed from this...
39251 (grub_vbe_bios_get_controller_info): ... to this.
39252 (grub_vbe_get_mode_info): Renamed from this...
39253 (grub_vbe_bios_get_mode_info): ... to this.
39254 (grub_vbe_set_mode): Renamed from this...
39255 (grub_vbe_bios_set_mode): ... to this.
39256 (grub_vbe_get_mode): Renamed from this...
39257 (grub_vbe_bios_get_mode): ... to this.
39258 (grub_vbe_set_memory_window): Renamed from this...
39259 (grub_vbe_bios_set_memory_window): ... to this.
39260 (grub_vbe_get_memory_window): Renamed from this...
39261 (grub_vbe_bios_get_memory_window): ... to this.
39262 (grub_vbe_set_scanline_length): Renamed from this...
39263 (grub_vbe_set_scanline_length): ... to this.
39264 (grub_vbe_get_scanline_length): Renamed from this...
39265 (grub_vbe_bios_get_scanline_length): ... to this.
39266 (grub_vbe_set_display_start): Renamed from this...
39267 (grub_vbe_bios_set_display_start): ... to this.
39268 (grub_vbe_get_display_start): Renamed from this...
39269 (grub_vbe_bios_get_display_start): ... to this.
39270 (grub_vbe_set_palette_data): Renamed from this...
39271 (grub_vbe_bios_set_palette_data): ... to this.
39272 (grub_vbe_set_pixel_rgb): Removed.
39273 (grub_vbe_set_pixel_index): Likewise.
39274
39275 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39276 from this...
39277 (grub_vbe_bios_get_controller_info): ... to this.
39278 (grub_vbe_get_mode_info): Renamed from this...
39279 (grub_vbe_bios_get_mode_info): ... to this.
39280 (grub_vbe_set_mode): Renamed from this...
39281 (grub_vbe_bios_set_mode): ... to this.
39282 (grub_vbe_get_mode): Renamed from this...
39283 (grub_vbe_bios_get_mode): ... to this.
39284 (grub_vbe_set_memory_window): Renamed from this...
39285 (grub_vbe_bios_set_memory_window): ... to this.
39286 (grub_vbe_get_memory_window): Renamed from this...
39287 (grub_vbe_bios_get_memory_window): ... to this.
39288 (grub_vbe_set_scanline_length): Renamed from this...
39289 (grub_vbe_set_scanline_length): ... to this.
39290 (grub_vbe_get_scanline_length): Renamed from this...
39291 (grub_vbe_bios_get_scanline_length): ... to this.
39292 (grub_vbe_set_display_start): Renamed from this...
39293 (grub_vbe_bios_set_display_start): ... to this.
39294 (grub_vbe_get_display_start): Renamed from this...
39295 (grub_vbe_bios_get_display_start): ... to this.
39296 (grub_vbe_set_palette_data): Renamed from this...
39297 (grub_vbe_bios_set_palette_data): ... to this.
39298 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39299 getting corrupted after calling it. Added more pushes and pops.
39300 (grub_vbe_bios_set_mode): Likewise.
39301 (grub_vbe_bios_get_mode): Likewise.
39302 (grub_vbe_bios_get_memory_window): Likewise.
39303 (grub_vbe_bios_set_scanline_length): Likewise.
39304 (grub_vbe_bios_get_scanline_length): Likewise.
39305 (grub_vbe_bios_get_display_start): Likewise.
39306 (grub_vbe_bios_set_palette_data): Likewise.
39307
39308 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39309 (cl_insert): Likewise.
39310 (cl_delete): Likewise.
39311
39312 * term/gfxterm.c: New file.
39313
39314 * term/i386/pc/vesafb.c: Removed file.
39315
39316 * video/video.c: New file.
39317
39318 * video/i386/pc/vbe.c (real2pm): Added new function.
39319 (grub_video_vbe_draw_pixel): Likewise.
39320 (grub_video_vbe_get_video_ptr): Likewise.
39321 (grub_video_vbe_get_pixel): Likewise
39322 (grub_video_vbe_init): Likewise.
39323 (grub_video_vbe_fini): Likewise.
39324 (grub_video_vbe_setup): Likewise.
39325 (grub_video_vbe_get_info): Likewise.
39326 (grub_video_vbe_set_palette): Likewise.
39327 (grub_video_vbe_get_palette): Likewise.
39328 (grub_video_vbe_set_viewport): Likewise.
39329 (grub_video_vbe_get_viewport): Likewise.
39330 (grub_video_vbe_map_color): Likewise.
39331 (grub_video_vbe_map_rgb): Likewise.
39332 (grub_video_vbe_map_rgba): Likewise.
39333 (grub_video_vbe_unmap_color): Likewise.
39334 (grub_video_vbe_fill_rect): Likewise.
39335 (grub_video_vbe_blit_glyph): Likewise.
39336 (grub_video_vbe_blit_bitmap): Likewise.
39337 (grub_video_vbe_blit_render_target): Likewise.
39338 (grub_video_vbe_scroll): Likewise.
39339 (grub_video_vbe_swap_buffers): Likewise.
39340 (grub_video_vbe_create_render_target): Likewise.
39341 (grub_video_vbe_delete_render_target): Likewise.
39342 (grub_video_vbe_set_active_render_target): Likewise.
39343 (grub_vbe_set_pixel_rgb): Remove function.
39344 (grub_vbe_set_pixel_index): Likewise.
39345 (index_color_mode): Remove static variable.
39346 (active_mode): Likewise.
39347 (framebuffer): Likewise.
39348 (bytes_per_scan_line): Likewise.
39349 (grub_video_vbe_adapter): Added new static variable.
39350 (framebuffer): Likewise.
39351 (render_target): Likewise.
39352 (initial_mode): Likewise.
39353 (mode_in_use): Likewise.
39354 (mode_list): Likewise.
39355
5f97350b 393562006-03-10 Marco Gerards <marco@gnu.org>
39357
39358 * configure.ac (AC_INIT): Bumped to 1.93.
39359
39360 * DISTLIST: Added `include/grub/hfs.h'.
39361
a3c5c6f8 393622006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39363
39364 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39365 18H, which might help the BIOS falling back to next boot media.
39366
6de53d26 393672006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39368
39369 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39370 Poe Chen <poe.poechen@gmail.com>.
39371
77c4a393 393722006-01-17 Marco Gerards <marco@gnu.org>
39373
39374 * include/grub/normal.h: Include <grub/script.h>.
39375 (grub_command_list): Removed struct.
39376 (grub_command_list_t): Removed type.
39377 (grub_menu_entry): Remove members `num' and `command_list'. Add
39378 members `commands' and `sourcecode'.
39379 * include/grub/script.h: Add inclusion guards.
39380 (grub_script_cmd_menuentry): New struct.
39381 (grub_script_execute_menuentry): New prototype.
39382 (grub_script_lexer_record_start): Likewise.
39383 (grub_script_lexer_record_stop): Likewise.
39384 * normal/execute.c (grub_script_execute_menuentry): New function.
39385 * normal/lexer.c (record, recording, recordpos, recordlen): New
39386 variables.
39387 (grub_script_lexer_record_start): New function.
39388 (grub_script_lexer_record_stop): Likewise.
39389 (recordchar): Likewise.
39390 (nextchar): Likewise.
39391 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39392 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39393 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39394 (current_menu): New variable.
39395 (free_menu): Mainly rewritten.
39396 (grub_normal_menu_addentry): New function.
39397 (read_config_file): Rewritten.
39398 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39399 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39400 the menu entry.
39401 (run): Mainly rewritten.
39402 * normal/parser.y (menu_entry): New variable.
39403 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39404 (menuentry): New rule.
39405 (command): Add `menuentry'.
39406 (if_statement): Allow additional returns before `fi'.
39407 * normal/script.c (grub_script_create_cmdmenu): New function.
39408
144f1f98 394092006-01-03 Marco Gerards <marco@gnu.org>
39410
39411 * INSTALL: GNU Bison is required.
39412 * configure.ac: Rewritten the test to detect Bison.
39413 * Makefile.in (YACC): New variable. Reported by Xun Sun
39414 <xun.sun.cn@gmail.com>.
39415
af4b2d89 394162006-01-03 Marco Gerards <marco@gnu.org>
39417
39418 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39419 the HFS+ filesystem to filesystem blocks.
39420 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39421 GCC warning is silenced.
39422
15643b71 394232006-01-03 Marco Gerards <marco@gnu.org>
39424
39425 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39426 read from disk from big endian to host byte order.
39427
00905879 394282006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39429
39430 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39431 documentation.
39432 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39433 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39434 embedded HFS+ filesystem.
39435 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39436 (grub_hfs_sblock): Move from here...
39437 * include/grub/hfs.h: To here... New file.
39438 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39439 documentation.
39440 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39441 New macros.
39442 (grub_hfsplus_volheader): Change type of member `magic' to
39443 `grub_uint16_t'.
39444 (grub_hfsplus_data): Add new member `embedded_offset'.
39445 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39446 returned block.
39447 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39448 Calculate the offset.
39449
8899bc3e 394502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39451
39452 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39453 Removed.
39454 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39455
ae8c0277 394562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39457
39458 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39459 ENV->NAME is NULL after allocating ENV->VALUE.
39460
07084456 394612005-12-25 Marco Gerards <marco@gnu.org>
39462
39463 * kern/env.c (grub_env_set): Rewritten the error handling code.
39464
4750f5f1 394652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39466
39467 * geninit.sh: Made more robust, and more portable.
39468
50214199 394692005-12-25 Marco Gerards <marco@gnu.org>
39470
39471 Add support for Apple HFS+ filesystems.
f19dbdb7 39472
50214199 39473 * fs/hfsplus.c: New file.
39474
39475 * DISTLIST: Added `fs/hfsplus.c'.
39476
39477 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39478 (hfsplus_mod_SOURCES): New variable.
39479 (hfsplus_mod_CFLAGS): Likewise.
39480 (hfsplus_mod_LDFLAGS): Likewise.
39481 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39482 (grub_setup_SOURCES): Likewise.
39483 (grub_mkdevicemap_SOURCES): Likewise.
39484 (grub_emu_SOURCES): Likewise.
39485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39486
39487 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39488
39489 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39490
befaed6c 394912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39492
39493 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39494 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39495 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39496 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39497 normal/lexer.c, normal/parser.y, normal/script.c, and
39498 partmap/gpt.c.
39499 Removed kern/sparc64/cache.c.
39500
39501 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39502 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39503 grub_emu_init.c.
39504
39505 * configure.ac (AC_INIT): Bumped to 1.92.
39506
6a124103 395072005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39508
39509 * kern/err.c (grub_error_push): Added new function to support error
39510 stacks.
39511 (grub_error_pop): Likewise.
39512 (grub_error_stack_items): New local variable to support error stacks.
39513 (grub_error_stack_pos): Likewise.
39514 (grub_error_stack_assert): Likewise.
39515 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39516 stack depth.
39517 (grub_print_error): Added support to print errors from error stack.
39518
39519 * include/grub/err.h (grub_error_push): Added function prototype.
39520 (grub_error_pop): Likewise.
39521
be973c1b 395222005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39523
39524 * configure.ac: Accept `powerpc64' as host_cpu.
39525 (amd64): Rename to `biarch32'.
39526
39527 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39528 non-cacheline-aligned addresses.
39529
39530 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39531 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39532 if `size' is non-zero.
39533
b04216ab 395342005-12-03 Marco Gerards <mgerards@xs4all.nl>
39535
39536 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39537 and `cd' to make sure the filename is not prefixed with a
39538 directory name.
39539 (pkgdata_MODULES): Add `gpt.mod'.
39540 (gpt_mod_SOURCES): New variable.
39541 (gpt_mod_CFLAGS): Likewise.
39542 (gpt_mod_LDFLAGS): Likewise.
39543
39544 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39545
39546 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39547 New macro.
39548
39549 * partmap/gpt.c: New file.
39550
39551 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39552 GPT partition map is detected.
39553
41730ed9 395542005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39555
39556 * commands/i386/pc/play.c: New file.
39557 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39558 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39559 macros.
f19dbdb7 39560
95dc3643 395612005-11-27 Marco Gerards <mgerards@xs4all.nl>
39562
39563 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39564 ((unused))' to silence gcc warning.
39565
1569ec51 395662005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39567
39568 * configure.ac: Correct `AC_PROG_YACC' test.
39569
9abde152 395702005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39571
39572 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39573 check before installing files.
39574
44b83271 395752005-11-22 Mike Small <smallm@panix.com>
39576
39577 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39578 number regex so multidigit numbers are recognized correctly.
39579
395802005-11-22 Mike Small <smallm@panix.com>
39581
39582 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39583 debugging message before attempting to claim memory.
39584 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39585 multiple addresses in case of failure.
39586
9c12956b 395872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39588
39589 * term/tparm.c (get_space): Remove empty `if' statement.
39590
39591 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39592
39593 * kern/parser.c (check_varstate): Rename `state' to 's'.
39594
aeaf81d9 395952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39596
39597 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39598 variable definitions to the beginning of each function. Sort stack
39599 variables by size.
39600 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39601 `buf' argument to `char *'.
39602
79bbb63f 396032005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39604
39605 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39606 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39607 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39608 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39609 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39610 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39611 configfile.mod, search.mod, gzio.mod and test.mod.
39612 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39613 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39614 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39615 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39616 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39617 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39618 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39619 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39620 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39621 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39622 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39623 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39624 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39625 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39626 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39627 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39628 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39629 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39630 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39631 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39632 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39633 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39634 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
39635
39636 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
39637 `grep --include'.
39638 (pkgdata_MODULES): Add test.mod.
39639
233b1628 396402005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39641
39642 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
39643 appending to variables with "+=".
39644 (PModule): Use full pathname to generate *.lst filenames.
39645
39646 * Makefile.in: Fixed list rules moved from genmk.rb.
39647 (.DELETE_ON_ERROR): New special target.
39648 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
39649
39650 * conf/i386-pc.rmk: Include conf/common.mk.
39651 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39652 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 39653 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39654 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39655 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39656 configfile.mod, search.mod, gzio.mod and test.mod.
39657 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39658 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39659 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39660 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39661 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39662 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39663 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39664 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39665 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39666 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39667 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39668 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39669 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39670 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39671 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39672 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39673 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39674 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39675 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39676 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39677 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39678 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39679 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
39680 here...
39681 * conf/common.rmk: ... to here. New file.
39682
39683 * conf/common.mk: New file.
39684
16f820c8 396852005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
39686
39687 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
39688 (grub_script.tab.c): ... here.
39689
39690 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
39691 (grub_script.tab.c): ... here.
39692
39693 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
39694 (grub_script.tab.c): ... here.
39695
39696 * normal/command.c (grub_command_find): Fixed a memory leak of
39697 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
39698
63ba1554 396992005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39700
39701 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
39702 "@" which marks the start of a comment on ARM.
39703 (VARIABLE): Likewise.
39704
7f67dc13 397052005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39706
79bbb63f 39707 Add support for Linux/ADFS partition tables.
7f67dc13 39708
39709 * partmap/acorn.c: New file.
39710
39711 * include/grub/acorn_filecore.h: Likewise.
39712
39713 * DISTLIST: Added `partmap/acorn.c' and
39714 `include/grub/acorn_filecore.h'.
f19dbdb7 39715
7f67dc13 39716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39717 `partmap/acorn.c'.
39718 (pkgdata_MODULES): Add `acorn.mod'.
39719 (acorn_mod_SOURCES): New variable.
39720 (acorn_mod_CFLAGS): Likewise.
39721
39722 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39723 `partmap/acorn.c'.
39724 (pkgdata_MODULES): Add `acorn.mod'.
39725 (acorn_mod_SOURCES): New variable.
39726 (acorn_mod_CFLAGS): Likewise.
39727
39728 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
39729 (pkgdata_MODULES): Add `acorn.mod'.
39730 (acorn_mod_SOURCES): New variable.
39731 (acorn_mod_CFLAGS): Likewise.
39732 (acorn_mod_LDFLAGS): Likewise.
39733
39734 * include/types.h (grub_disk_addr_t): New typedef.
39735
6d099807 397362005-11-13 Marco Gerards <mgerards@xs4all.nl>
39737
39738 * geninit.sh: New file.
39739
39740 * geninitheader.sh: Likewise.
39741
39742 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
39743 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
39744 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
39745 * commands/configfile.c (grub_configfile_init)
39746 (grub_configfile_fini): Likewise.
39747 * commands/default.c (grub_default_init, grub_default_fini):
39748 Likewise.
39749 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
39750 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
39751 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
39752 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
39753 Likewise.
39754 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
39755 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
39756 Likewise.
39757 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 39758 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 39759 Likewise.
39760 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
39761 Likewise.
fe6b695a 39762 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 39763 Likewise.
39764 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
39765 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
39766 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
39767 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
39768 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
39769 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
39770 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
39771 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
39772 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
39773 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
39774 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
39775 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
39776 * partmap/amiga.c (grub_amiga_partition_map_init)
39777 (grub_amiga_partition_map_fini): Likewise.
39778 * partmap/apple.c (grub_apple_partition_map_init)
39779 (grub_apple_partition_map_fini): Likewise.
39780 * partmap/pc.c (grub_pc_partition_map_init)
39781 (grub_pc_partition_map_fini): Likewise.
39782 * partmap/sun.c (grub_sun_partition_map_init,
39783 grub_sun_partition_map_fini): Likewise.
39784 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
39785 Likewise.
39786
39787 * util/grub-emu.c: Include <grub_modules_init.h>.
39788 (main): Don't initialize and de-initialize any modules directly,
39789 use `grub_init_all' and `grub_fini_all' instead.
39790
39791 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
39792 `grub_vesafb_mod_init'.
39793 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
39794 all users.
39795 * term/i386/pc/vga.c (grub_vga_init): Renamed to
39796 `grub_vga_mod_init'. Updated all users.
39797 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 39798
6d099807 39799 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
39800 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
39801 rules.
39802
39803 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
39804 Generate a function to initialize the module in utilities.
39805 Updated all callers.
39806 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
39807 initialize the module in utilities. Updated all callers.
39808
9046bcf0 398092005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39810
39811 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
39812 escape sequence and a literal ^L to clear the screen.
39813
39814 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
39815 when returning from Open Firmware.
39816
d13ea639 398172005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39818
39819 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
39820 (grub_ofconsole_height): Likewise.
39821 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
39822 manually insert a '\n'.
39823 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
39824 `grub_ofconsole_height'. Return early if these are already set.
39825
a8fcf206 398262005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
39827
39828 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39829 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
39830 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
39831 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
39832 and `normal/script.c'.
39833 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39834 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39835 (test_mod_SOURCES): New variable.
39836 (test_mod_CFLAGS): Likewise.
39837 (test_mod_LDFLAGS): Likewise.
39838 (pkgdata_MODULES): Add `test.mod'.
39839 (grub_script.tab.c): New rule.
39840 (grub_script.tab.h): Likewise.
39841
b6b32745 398422005-11-07 Marco Gerards <mgerards@xs4all.nl>
39843
39844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39845 `commands/test.c', `normal/execute.c', `normal/lexer.c',
39846 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39847 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39848 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39849 (test_mod_SOURCES): New variable.
39850 (test_mod_CFLAGS): Likewise.
39851 (pkgdata_MODULES): Add `test.mod'.
39852 (grub_script.tab.c): New rule.
39853 (grub_script.tab.h): Likewise.
39854
daac212a 398552005-11-06 Marco Gerards <mgerards@xs4all.nl>
39856
39857 Add initial scripting support.
39858
39859 * commands/test.c: New file.
39860 * include/grub/script.h: Likewise.
39861 * normal/execute.c: Likewise.
39862 * normal/function.c: Likewise.
39863 * normal/lexer.c: Likewise.
39864 * normal/parser.y: Likewise.
39865 * normal/script.c: Likewise.
39866
39867 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 39868
daac212a 39869 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
39870 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
39871 `normal/function.c' and `normal/script.c'.
39872 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39873 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 39874 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
39875 variables.
daac212a 39876 (pkgdata_MODULES): Add `test.mod'.
39877 (grub_script.tab.c): New rule.
39878 (grub_script.tab.h): Likewise.
39879
39880 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
39881
39882 * include/grub/normal.h (grub_test_init): New prototype.
39883 (grub_test_fini): Likewise.
f19dbdb7 39884
daac212a 39885 * normal/command.c: Include <grub/script.h>.
39886 (grub_command_execute): Rewritten.
f19dbdb7 39887
daac212a 39888 * util/grub-emu.c (main): Call `grub_test_init' and
39889 `grub_test_fini'.
39890
77500b2b 398912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39892
39893 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
39894 to 0.
39895 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
39896 there are no pending characters.
39897
e45deb9e 398982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39899
39900 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
39901 `grub_strndup' to drop device arguments. Replace unnecessary
39902 `grub_strndup' with `grub_strdup'.
39903
4ce32619 399042005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39905
39906 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
39907 `debug' environment variable has been set.
39908
399092005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39910
4ce32619 39911 * Makefile.in (install-local): Use $(DATA).
39912 (uninstall): Likewise.
39913 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
39914 (sbin_UTILITIES): ... to here.
39915 (sbin_SCRIPTS): New variable.
39916 (grub_install_SOURCES): New variable.
39917 * util/powerpc/ieee1275/grub-install.in: New file.
39918 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
39919 variable.
39920 (add_segments): Call `grub_util_get_path'.
39921
25fe6f03 399222005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39923
39924 From Timothy Baldwin:
39925 * commands/ls.c (grub_ls_list_files): Close FILE with
39926 grub_file_close.
39927 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
39928
04ccf3ec 399292005-10-24 Marco Gerards <mgerards@xs4all.nl>
39930
39931 * include/grub/parser.h: New file.
39932
39933 * kern/parser.c: Likewise.
39934
39935 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
39936 (grub_setup_SOURCES): Likewise.
39937 (grub_probefs_SOURCES): Likewise.
39938 (grub_emu_SOURCES): Likewise.
39939 (kernel_img_HEADERS): Add `parser.h'.
39940
39941 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39942 (grub_emu_SOURCES): Add `kern/parser.c'.
39943 (grubof_SOURCES): Likewise.
39944
39945 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39946 (grubof_SOURCES): Add `kern/parser.c'.
39947
39948 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
39949
39950 * kern/misc.c (grub_split_cmdline): Removed function.
39951
39952 * kern/rescue.c: Include <grub/parser.h>.
39953 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
39954 of `grub_split_cmdline'.
39955
39956 * normal/command.c: Include <grub/parser.h>.
39957 (grub_command_execute): Use `grub_parser_split_cmdline' instead
39958 of `grub_split_cmdline'.
39959
39960 * normal/completion.c: Include <grub/parser.h>.
39961 (cmdline_state): New variable.
39962 (iterate_dir): End the filename with a quote depending on the
39963 command line state.
39964 (get_state): new function.
39965 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
39966 split the arguments and determine the current argument. When the
39967 argument string is not quoted, escape all spaces.
39968
6d8f4b0e 399692005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39970
39971 * normal/sparc64/setjmp.S: New file.
39972
15cf03ed 399732005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39974
39975 * include/grub/sparc64/libgcc.h: New file.
39976 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
39977 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
39978 normal/sparc64/setjmp.c.
39979
03e8661a 399802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39981
39982 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
39983 * kern/sparc64/cache.S: New file.
39984 * kern/sparc64/cache.c: Removed.
39985 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
39986 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
39987 -mtune=ultrasparc.
39988 (COMMON_LDFLAGS): Add -melf64_sparc.
39989 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
39990 (grubof_SOURCES): Use cache.S instead of cache.c.
39991 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
39992 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
39993 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
39994 commented though.
39995 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
39996 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
39997 (linux_mod_CFLAGS): Commented out.
39998 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
39999 out because module isn't built.
40000 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40001 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40002 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40003 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40004 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40005 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40006 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40007 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40008 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40009 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40010 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40011 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40012 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40013 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40014
34eeec8a 400152005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40016
40017 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40018 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40019 longer, because HFS should not be used on PC.
40020
708367a3 400212005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40022
40023 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40024 consistently within the loop.
40025
6fa1251a 400262005-10-15 Marco Gerards <mgerards@xs4all.nl>
40027
40028 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40029 directory can not be read.
40030
4801580b 400312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40032
40033 * configure.ac (AC_INIT): Increase the version number to 1.91.
40034
40035 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40036 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40037 term/i386/pc/serial.c.
40038
219ad426 400392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40040
40041 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40042 file size must be permitted.
40043
40044 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40045 between %ah and %al.
40046
688e5699 400472005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40048
40049 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40050 grub_uint64_t.
40051 Call the hook with a NUL-terminated filename.
40052 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40053 grub_cpu_to_be32.
40054
40055 * kern/term.c (cursor_state): New variable.
40056 (grub_term_set_current): Reset the cursor state on a new
40057 terminal.
40058 (grub_setcursor): Rewritten to use CURSOR_STATE.
40059 (grub_getcursor): New function.
40060
40061 * include/grub/term.h (grub_getcursor): New prototype.
40062
40063 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40064 integers on ARM. Reported by Timothy Baldwin
40065 <T.E.Baldwin99@members.leeds.ac.uk>.
40066
bb34586c 400672005-10-11 Marco Gerards <mgerards@xs4all.nl>
40068
40069 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40070 allocated.
40071 (grub_sfs_dir): Likewise.
40072
9a909877 400732005-10-09 Marco Gerards <mgerards@xs4all.nl>
40074
40075 Add support for the SFS filesystem.
40076
40077 * fs/sfs.c: New file.
40078
40079 * DISTLIST: Added `fs/sfs.c'.
40080
40081 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40082 (grub_probefs_SOURCES): Likewise.
40083 (grub_emu_SOURCES): Likewise.
40084 (pkgdata_MODULES): Add `sfs.mod'.
40085 (sfs_mod_SOURCES): New variable.
40086 (sfs_mod_CFLAGS): Likewise.
40087 (sfs_mod_LDFLAGS): Likewise.
40088
40089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40090 (pkgdata_MODULES): Add `sfs.mod'.
40091 (sfs_mod_SOURCES): New variable.
40092 (sfs_mod_CFLAGS): Likewise.
40093
40094 * util/grub-emu.c (main): Call `grub_sfs_init' and
40095 `grub_sfs_fini'.
40096
40097 * include/grub/fs.h (grub_sfs_init): New prototype.
40098 (grub_sfs_fini): Likewise.
40099
57bdbde3 401002005-10-07 Marco Gerards <mgerards@xs4all.nl>
40101
40102 Add support for the AFFS filesystem.
40103
40104 * fs/affs.c: New file.
40105
40106 * DISTLIST: Added `fs/affs.c'.
40107
40108 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40109 (grub_probefs_SOURCES): Likewise.
40110 (grub_emu_SOURCES): Likewise.
40111 (pkgdata_MODULES): Add `affs.mod'.
40112 (affs_mod_SOURCES): New variable.
40113 (affs_mod_CFLAGS): Likewise.
40114 (affs_mod_LDFLAGS): Likewise.
40115
40116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40117 (pkgdata_MODULES): Add `affs.mod'.
40118 (affs_mod_SOURCES): New variable.
40119 (affs_mod_CFLAGS): Likewise.
40120
40121 * util/grub-emu.c (main): Call `grub_affs_init' and
40122 `grub_affs_fini'.
40123
40124 * include/grub/fs.h (grub_affs_init): New prototype.
40125 (grub_affs_fini): Likewise.
40126
047b67e0 401272005-10-01 Marco Gerards <mgerards@xs4all.nl>
40128
40129 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40130
59b8208a 401312005-10-01 Marco Gerards <mgerards@xs4all.nl>
40132
40133 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40134 `-m32' to CFLAGS.
40135
40136 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40137 linking.
f19dbdb7 40138
59b8208a 40139 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40140 (COMMON_LDFLAGS): New variable.
40141 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40142 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40143 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40144 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40145 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40146 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40147 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40148 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40149 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40150 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40151 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40152 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40153 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40154 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40155 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40156 variables.
40157 (normal_mod_ASFLAGS): Add `-m32'.
40158
40159 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40160 (grub_host_size_t, grub_host_ssize_t): New types.
40161 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40162 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40163 `GRUB_HOST_SIZEOF_VOID_P'.
40164
40165 * include/grub/kernel.h (struct grub_module_header): Type of
40166 member offset changed to `grub_host_off_t'. Type of member size
40167 changed to `grub_host_size_t'.
40168 (struct grub_module_info): Type of member offset changed to
40169 `grub_host_off_t'. Type of member size changed to
40170 `grub_host_size_t'.
40171
b4093103 401722005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40173
40174 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40175
b4093103 40176 * kern/i386/pc/startup.S (multiboot_header): New label.
40177 (multiboot_entry): Likewise.
40178 (multiboot_trampoline): Likewise.
40179
40180 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40181 Increased to 0x4A0.
40182
40183 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40184 put parentheses after a question mark.
40185 [!GRUB_UTIL] (my_mod): New variable.
40186
40187 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40188
b2499b29 401892005-09-28 Marco Gerards <mgerards@xs4all.nl>
40190
40191 Adds support for the XFS filesystem. Btrees are not supported
40192 yet.
40193
40194 * fs/xfs.c: New file.
40195
40196 * DISTLIST: Added `fs/xfs.c'.
40197
40198 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40199 (grub_probefs_SOURCES): Likewise.
40200 (grub_emu_SOURCES): Likewise.
40201 (pkgdata_MODULES): Add `xfs.mod'.
40202 (xfs_mod_SOURCES): New variable.
40203 (xfs_mod_CFLAGS): Likewise.
40204
40205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40206 (pkgdata_MODULES): Add `xfs.mod'.
40207 (xfs_mod_SOURCES): New variable.
40208 (xfs_mod_CFLAGS): Likewise.
40209
40210 * util/grub-emu.c (main): Call `grub_xfs_init' and
40211 `grub_xfs_fini'.
40212
40213 * include/grub/fs.h (grub_xfs_init): New prototype.
40214 (grub_xfs_fini): Likewise.
40215
f19dbdb7 40216
83d37a62 402172005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40218
40219 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40220 color modes, allow greater than 16 colors to be configured as
40221 a default palette.
40222
47d2d65e 402232005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40224
40225 * normal/completion.c (complete_arguments): Add the qualifier
40226 const into OPTIONS.
40227
40228 From Omniflux <omniflux+lists@omniflux.com>:
40229 * include/grub/terminfo.h: New file.
40230 * include/grub/tparm.h: Likewise.
40231 * include/grub/i386/pc/serial.h: Likewise.
40232 * term/terminfo.c: Likewise.
40233 * term/tparm.c: Likewise.
40234 * term/i386/pc/serial.c: Likewise.
40235 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40236 serial.mod.
40237 (terminfo_mod_SOURCES): New variable.
40238 (terminfo_mod_CFLAGS): Likewise.
40239 (serial_mod_SOURCES): Likewise.
40240 (serial_mod_CFLAGS): Likewise.
40241
48b671ff 402422005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40243
40244 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40245 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40246 and kern/powerpc/ieee1275/cmain.c, respectively.
40247
40248 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40249 * kern/powerpc/ieee1275/crt0.S: ... here.
40250
40251 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40252 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40253
48b671ff 40254 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40255 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40256 instead of boot/powerpc/ieee1275/crt0.S and
40257 boot/powerpc/ieee1275/cmain.c, respectively.
40258
40259 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40260 sectors. It was not used anyway.
40261
09fc77a7 402622005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40263
40264 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40265 `unused parameter' warning.
40266
003789c7 402672005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40268
40269 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40270 function.
40271 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40272 getcharwidth.
40273
67f44c86 402742005-08-28 Marco Gerards <metgerards@student.han.nl>
40275
40276 * include/grub/normal.h (enum grub_completion_type): Added
40277 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40278
40279 * normal/cmdline.c (print_completion): Handle
40280 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40281 * normal/menu_entry.c (store_completion): Likewise.
40282
40283 * normal/completion.c (complete_arguments): New function.
40284 (grub_normal_do_completion): Call `complete_arguments' when the
40285 current words start with a dash.
40286
0b5abe02 402872005-08-27 Marco Gerards <metgerards@student.han.nl>
40288
40289 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40290 `gzio.mod' instead of `io.mod').
40291
d9864ee1 402922005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40293
40294 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40295 (DISTDIRS): Added io and video.
40296 Rewrite the search routine to make an output consistently.
40297
40298 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40299 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40300 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40301 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40302 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40303 util/powerpc/ieee1275/misc.c.
f19dbdb7 40304
d9864ee1 40305 * include/grub/gzio.h: New file.
40306 * io/gzio.c: Likewise.
f19dbdb7 40307
d9864ee1 40308 * kern/file.c (grub_file_close): Call grub_device_close only if
40309 FILE->DEVICE is not NULL.
40310
40311 * include/grub/mm.h [!NULL] (NULL): New macro.
40312
40313 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40314
40315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40316 (pkgdata_MODULES): Added gzio.mod.
40317 (gzio_mod_SOURCES): New variable.
40318 (gzio_mod_CFLAGS): Likewise.
40319
40320 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40321 (pkgdata_MODULES): Added gzio.mod.
40322 (gzio_mod_SOURCES): New variable.
40323 (gzio_mod_CFLAGS): Likewise.
40324
40325 * commands/cat.c: Include grub/gzio.h.
40326 (grub_cmd_cat): Use grub_gzfile_open instead of
40327 grub_file_open.
f19dbdb7 40328
d9864ee1 40329 * commands/cmp.c: Include grub/gzio.h.
40330 (grub_cmd_cmp): Use grub_gzfile_open instead of
40331 grub_file_open.
40332
40333 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40334 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40335 grub_file_open.
40336 (grub_rescue_cmd_module): Likewise.
40337
fa46f4b5 403382005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40339
40340 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40341 kern/sparc64/ieee1275/init.c because it contains _start.
40342 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40343
e9211b5d 403442005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40345
40346 * configure.ac: Add support for sparc64 host with ieee1275
40347 firmware.
40348 * configure: Generated from configure.ac.
40349 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40350 instead of int.
40351 (grub_ofdisk_read): Likewise.
40352 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40353 pointers as (void *) to remove a warning.
40354 (grub_ofdisk_close): Likewise.
40355 (grub_ofdisk_read): Likewise.
40356 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40357 returns, so make it return void to remove a warning.
40358 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40359 Corresponding prototype change.
40360 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40361 values, and cast the pointers as (void *) to remove a warning.
40362 (grub_mm_dump): Likewise.
40363 * conf/sparc64-ieee1275.mk: New file.
40364 * conf/sparc64-ieee1275.rmk: Likewise.
40365 * include/grub/sparc64/setjmp.h: Likewise.
40366 * include/grub/sparc64/types.h: Likewise.
40367 * include/grub/sparc64/ieee1275/console.h: Likewise.
40368 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40369 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40370 * include/grub/sparc64/ieee1275/time.h: Likewise.
40371 * kern/sparc64/cache.c: Likewise.
40372 * kern/sparc64/dl.c: Likewise.
40373 * kern/sparc64/ieee1275/init.c: Likewise.
40374 * kern/sparc64/ieee1275/openfw.c: Likewise.
40375
385c6a92 403762005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40377
40378 * util/console.c (grub_ncurses_putchar): If C is greater than
40379 0x7f, set C to a question mark.
40380 (grub_ncurses_getcharwidth): New function.
40381 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40382 getcharwidth.
40383
40384 * normal/menu.c (print_entry): Made aware of Unicode. First,
40385 convert TITLE to UCS-4, and predict the cursor position by
40386 grub_getcharwidth.
40387
40388 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40389 const to SRC.
40390 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40391
16ccb8b1 403922005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40393
40394 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40395 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40396 grub_strcat.
40397
40398 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40399 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40400 grub_strcpy and grub_strlen. Take it into account that a space
40401 character is inserted as a delimiter.
40402
6a85ce79 404032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40404
40405 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40406 invalid magic in the error.
6a85ce79 40407
40408 * commands/search.c: New file.
f19dbdb7 40409
6a85ce79 40410 * util/grub-emu.c (main): Call grub_search_init and
40411 grub_search_fini.
40412
40413 * kern/rescue.c (grub_rescue_print_disks): Removed.
40414 (grub_rescue_print_devices): New function.
40415 (grub_rescue_cmd_ls): Use grub_device_iterate with
40416 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40417 grub_rescue_print_disks.
40418
40419 * kern/partition.c (grub_partition_iterate): Return the result of
40420 PARTMAP->ITERATE instead of GRUB_ERRNO.
40421
40422 * kern/device.c: Include grub/partition.h.
40423 (grub_device_iterate): New function.
40424
40425 * include/grub/partition.h (grub_partition_iterate): Return int
40426 instead of grub_err_t.
40427
40428 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40429 prototype.
40430 [GRUB_UTIL] (grub_search_fini): Likewise.
40431
40432 * include/grub/device.h (grub_device_iterate): New prototype.
40433
40434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40435 commands/search.c.
40436 (pkgdata_MODULES): Added search.mod.
40437 (search_mod_SOURCES): New variable.
40438 (search_mod_CFLAGS): Likewise.
40439
40440 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40441 (pkgdata_MODULES): Added search.mod.
40442 (search_mod_SOURCES): New variable.
40443 (search_mod_CFLAGS): Likewise.
40444
40445 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40446 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40447 All callers changed.
40448
40449 * DISTLIST: Added commands/search.c.
40450
ef095434 404512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40452
40453 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40454 conversion.
40455 (grub_getcharwidth): New function.
40456
40457 * kern/misc.c (grub_utf8_to_ucs4): New function.
40458
40459 * include/grub/term.h (struct grub_term): Added a new member
40460 "getcharwidth".
40461 (grub_getcharwidth): New prototype.
40462
40463 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40464
40465 * term/i386/pc/console.c (map_char): New function. Segregated from
40466 grub_console_putchar.
40467 (grub_console_putchar): Use map_char.
40468 (grub_console_getcharwidth): New function.
40469 (grub_console_term): Specified grub_console_getcharwidth as
40470 getcharwidth.
40471
40472 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40473 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40474
40475 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40476 GRUB_ERRNO.
40477 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40478 on grub_strtoul completely.
40479 (write_char): Declare local variables in the beginning of the
40480 function.
40481 (grub_vesafb_getcharwidth): New function.
40482 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40483 getcharwidth.
40484
1f0a95e4 404852005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40486
40487 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40488 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40489 commands/i386/pc/vbetest.c.
40490
40491 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40492 call grub_vbe_get_controller_info again, because the returned
40493 information is volatile.
40494 (grub_vbe_set_video_mode): Mostly rewritten.
40495 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40496 grub_vbe_status_t correctly.
40497 (grub_vbe_get_video_mode_info): Likewise.
40498 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40499 several if statements.
40500
40501 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40502 * commands/i386/pc/vbeinfo.c: ... this.
40503
40504 * commands/i386/pc/vbe_test.c: Renamed to ...
40505 * commands/i386/pc/vbetest.c: ... this.
40506
40507 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40508 ...
40509 (grub_cmd_vbeinfo): ... this. Save video modes before
40510 iterating. Skip a video mode, if it is not available, not enough
40511 information is given or it is monochrome. Show the memory
40512 model. Leave the interpretation of MODEVAR to grub_strtoul
40513 completely.
40514 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40515 (GRUB_MOD_FINI): Likewise.
40516
40517 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40518 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40519 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40520 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40521 grub_strtoul completely.
40522 (real2pm): Removed.
40523 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40524 (GRUB_MOD_FINI): Likewise.
40525
40526 * normal/misc.c: Include grub/mm.h.
40527
40528 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40529 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40530 (vbe_list_modes_mod_SOURCES): Removed.
40531 (vbe_list_modes_mod_CFLAGS): Likewise.
40532 (vbe_test_mod_SOURCES): Likewise.
40533 (vbe_test_mod_CFLAGS): Likewise.
40534 (vbeinfo_mod_SOURCES): New variable.
40535 (vbeinfo_mod_CFLAGS): Likewise.
40536 (vbetest_mod_SOURCES): Likewise.
40537 (vbetest_mod_CFLAGS): Likewise.
40538
992ffbbe 405392005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40540
40541 * normal/misc.c: New file.
40542
40543 * DISTLIST: Added normal/misc.c.
f19dbdb7 40544
992ffbbe 40545 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40546 DISK to HOOK. Call HOOK with DISK.
40547 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40548 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40549 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40550
40551 * normal/menu_entry.c (struct screen): Added a new member
40552 "completion_shown".
40553 (completion_buffer): New global variable.
40554 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40555 (store_completion): New function.
40556 (complete): Likewise.
40557 (clear_completions): Likewise.
40558 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40559 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40560 a tab, call complete.
40561
40562 * normal/completion.c (disk_dev): Removed.
40563 (print_simple_completion): Likewise.
40564 (print_partition_completion): Likewise.
40565 (print_func): New global variable.
40566 (add_completion): Do not take the arguments WHAT or PRINT any
40567 longer. Added a new argument TYPE. Instead of printing directly,
40568 call PRINT_FUNC if not NULL.
40569 All callers changed.
40570 (complete_device): Use a local variable DEV instead of
40571 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40572 (grub_normal_do_completion): Take a new argument HOOK. Do not
40573 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40574 empty string, return NULL instead.
40575 All callers changed.
40576
40577 * normal/cmdline.c (print_completion): New function.
40578
40579 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40580 to HOOK.
40581 All callers changed.
40582
40583 * kern/disk.c (grub_print_partinfo): Removed.
40584
40585 * include/grub/partition.h (struct grub_partition_map): Add a new
40586 argument DISK into HOOK of ITERATE.
40587 (grub_partition_iterate): Add a new argument DISK to HOOK.
40588
40589 * include/grub/normal.h (enum grub_completion_type): New enum.
40590 (grub_completion_type_t): New type.
40591 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40592 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40593 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40594 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40595 (grub_normal_do_completion): Added a new argument HOOK.
40596 (grub_normal_print_device_info): New prototype.
40597
40598 * include/grub/disk.h (grub_print_partinfo): Removed.
40599
40600 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40601 (normal_mod_SOURCES): Likewise.
40602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40603 (normal_mod_SOURCES): Likewise.
40604
40605 * commands/ls.c (grub_ls_list_disks): Use
40606 grub_normal_print_device_info instead of grub_print_partinfo. Free
40607 PNAME.
40608 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40609 duplicating the code.
40610
0bd41162 406112005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40612
40613 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40614 follow GCS more precisely.
40615 * commands/i386/pc/vbe_test.c: Likewise.
40616 * include/grub/i386/pc/vbe.h: Likewise.
40617 * term/i386/pc/vesafb.c: Likewise.
40618 * video/i386/pc/vbe.c: Likewise.
0bd41162 40619
6323696a 406202005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40621
40622 * DISTLIST: Added term/i386/pc/vesafb.c
40623 DISTLIST: Added video/i386/pc/vbe.c
40624 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40625 DISTLIST: Added commands/i386/pc/vbe_test.c.
40626 * commands/i386/pc/vbe_list_modes.c: New file.
40627 * commands/i386/pc/vbe_test.c: Likewise.
40628 * term/i386/pc/vesafb.c: Likewise.
40629 * video/i386/pc/vbe.c: Likewise.
40630 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40631 (grub_vbe_probe) Added prototype.
40632 (grub_vbe_set_video_mode) Likewise.
40633 (grub_vbe_get_video_mode) Likewise.
40634 (grub_vbe_get_video_mode_info) Likewise.
40635 (grub_vbe_set_pixel_rgb) Likewise.
40636 (grub_vbe_set_pixel_index) Likewise.
40637 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
40638 (pkgdata_MODULES): Added vesafb.mod.
40639 (pkgdata_MODULES): Added vbe_list_modes.mod.
40640 (pkgdata_MODULES): Added vbe_test.mod.
40641 (vbe_mod_SOURCES): Added.
40642 (vbe_mod_CFLAGS): Likewise.
40643 (vesafb_mod_SOURCES): Likewise.
40644 (vesafb_mod_CFLAGS): Likewise.
40645 (vbe_list_modes_mod_SOURCES): Likewise.
40646 (vbe_list_modes_mod_CFLAGS): Likewise.
40647 (vbe_test_mod_SOURCES): Likewise.
40648 (vbe_test_mod_CFLAGS): Likewise.
40649
0a74e62f 406502005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
40651
0a74e62f 40652 * normal/command.c (grub_command_execute): If INTERACTIVE is
40653 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
40654 CMDLINE. Disable the pager if INTERACTIVE is true.
40655 All callers are changed.
40656
40657 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
40658 before reading a config file.
40659 * normal/main.c (read_config_file): Even if a command is not
40660 found, register it if it is within an entry.
40661
40662 * util/grub-emu.c: Include sys/types.h and unistd.h.
40663 (options): Added --hold.
40664 (struct arguments): Added a new member "hold".
40665 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
40666 missing.
40667 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
40668 cleared by a debugger, if it is not zero.
40669
40670 * include/grub/normal.h (grub_command_execute): Add an argument
40671 INTERACTIVE.
40672
e51f85ae 406732005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
40674
40675 * DISTLIST: Added include/grub/i386/pc/vbe.h.
40676
e9c6f39b 406772005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
40678
40679 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
40680 program with another one, because the old one didn't detect a bug
40681 in gcc-3.4. Always use regparm 2, because the new test is still
40682 not enough for gcc-4.0. Someone must investigate a simple test
40683 case which detects a bug in gcc-4.0.
40684
8de3495c 406852005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
40686
40687 * DISTLIST: Added normal/completion.c.
40688
40689 * normal/completion.c: New file.
f19dbdb7 40690
8de3495c 40691 * term/i386/pc/console.c (grub_console_getwh): New function.
40692 (grub_console_term): Assign grub_console_getwh to getwh.
40693
40694 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
40695 function is defined in normal/completion.c as
40696 grub_normal_do_completion.
40697 (grub_cmdline_get): Use grub_normal_do_completion instead of
40698 grub_tab_complete.
40699
40700 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
40701 returns non-zero, otherwise return 0.
40702 (grub_partition_iterate): First, probe the partition map. Then,
40703 call ITERATE only for this partition map.
40704
40705 * kern/misc.c (grub_strncmp): Rewritten.
40706
40707 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
40708 returns non-zero. Otherwise return 0.
40709
40710 * include/grub/partition.h (grub_partition_map_iterate): Return
40711 int instead of void.
40712
40713 * include/grub/normal.h (grub_normal_do_completion): New prototype.
40714
40715 * include/grub/misc.h (grub_strncmp): Change the type of N to
40716 grub_size_t.
40717
40718 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
40719 of void.
40720
40721 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 40722 unsigned explicitly before comparing it with I.
8de3495c 40723
40724 * kern/main.c (grub_env_write_root): Add the attribute unused into
40725 VAR.
40726
40727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40728 normal/completion.c.
40729 (normal_mod_SOURCES): Likewise.
40730 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40731 (normal_mod_SOURCES): Likewise.
40732
40733 * normal/command.c (grub_iterate_commands): If ITERATE returns
40734 non-zero, return one immediately.
40735
e85e144b 407362005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
40737
40738 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
40739 * kern/i386/pc/startup.S: Updated Global Descriptor table's
40740 descriptions.
40741 (grub_vbe_get_controller_info): New function.
40742 (grub_vbe_get_mode_info): Likewise.
40743 (grub_vbe_set_mode): Likewise.
40744 (grub_vbe_get_mode): Likewise.
40745 (grub_vbe_set_memory_window): Likewise.
40746 (grub_vbe_get_memory_window): Likewise.
40747 (grub_vbe_set_scanline_length): Likewise.
40748 (grub_vbe_get_scanline_length): Likewise.
40749 (grub_vbe_set_display_start): Likewise.
40750 (grub_vbe_get_display_start): Likewise.
40751 (grub_vbe_set_palette_data): Likewise.
40752 * include/grub/i386/pc/vbe.h: New file.
40753
c46153d2 407542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40755
40756 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40757 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
40758 * DISTLIST: Likewise.
40759 * kern/ieee1275/of.c: Moved to ...
40760 * kern/ieee1275/ieee1275.c: ... here.
40761
0cb90c45 407622005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40763
40764 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
40765 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
40766 Pass 0 as `end' parameter to grub_strtoul().
40767
a19fb360 407682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40769
40770 * include/grub/powerpc/ieee1275/console.h: Do not include
40771 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
40772 ifdef.
40773 (grub_console_cur_color): Remove i386-specific prototype.
40774 (grub_console_real_putchar): Likewise.
40775 (grub_console_checkkey): Likewise.
40776 (grub_console_getkey): Likewise.
40777 (grub_console_getxy): Likewise.
40778 (grub_console_gotoxy): Likewise.
40779 (grub_console_cls): Likewise.
40780 (grub_console_setcursor): Likewise.
40781 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
40782 Include <grub/machine/console.h>.
40783 * term/ieee1275/ofconsole.c: Likewise.
40784
4ac9bd04 407852005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
40786
40787 * Makefile.in (LIBLZO): New variable.
40788
40789 * configure.ac: Check for LZO version 2.
40790
40791 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
40792 lzo/lzo1x.h instead of lzo1x.h.
40793
40794 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
40795 of -llzo.
40796
40797 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
40798 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
40799
40800 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
40801 copying the data from PARTITION to P.
40802
f4917dfd 408032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40804
40805 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
40806 negative, unload the module.
40807
40808 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
40809 map is "pc_partition_map" but not "pc".
40810 (usage): Fix the description. The options are --boot-image and
40811 --core-image but not --boot-file or --core-file.
40812 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
40813 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
40814 DEFAULT_DIRECTORY.
40815
40816 * util/i386/pc/grub-install.in: Do not specify --boot-file or
40817 --core-file. Specify INSTALL_DEVICE as an argument.
40818
40819 * util/console.c: Include config.h.
40820 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
40821 [HAVE_NCURSES_H]: Include ncurses.h.
40822 [HAVE_CURSES_H]: Include curses.h.
40823 [!A_NORMAL] (A_NORMAL): Defined as zero.
40824 [!A_STANDOUT] (A_STANDOUT): Likewise.
40825
40826 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
40827 -lncurses.
40828 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
40829
40830 * configure.ac: Check for curses libraries and headers.
40831
40832 * Makefile.in (LIBCURSES): New variable.
40833
40834 * genmk.rb (Script::rule): Set the executable bits.
40835
40836 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
40837 name of the PC partition map is "pc_partition_map" but not "pc".
40838
0e143073 408392005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40840
40841 * util/i386/pc/grub-install.in (grub_probefs): New variable.
40842 (modules): Likewise.
40843 (usage): Added descriptions for --modules and --grub-probefs.
40844 Handle --modules and --grub-probefs. Save the arguments in MODULES
40845 and GRUB_PROBEFS, respectively.
40846 Auto-detect a filesystem module against GRUBDIR. If the result is
40847 empty and modules are not specified explicitly, abort the
40848 installation. Add the result to MODULES.
40849
40850 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
40851 disk/powerpc/ieee1275/ofdisk.c,
40852 include/grub/powerpc/ieee1275/init.h and
40853 term/powerpc/ieee1275/ofconsole.c.
40854 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
40855 term/ieee1275/ofconsole.c.
40856
40857 * include/grub/powerpc/ieee1275/console.h: Resurrected.
40858
40859 * COPYING: Upgraded to the latest version. Only the address of the
40860 FSF office has changed.
f19dbdb7 40861
efd6e6d5 408622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40863
40864 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40865 kern/ieee1275.c with kern/ieee1275/of.c.
40866
40867 * kern/ieee1275.c: Moved to ...
40868 * kern/ieee1275/of.c: ... here.
40869
8ceafda2 408702005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
40871
40872 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 40873 readability.
8ceafda2 40874
40875 * config.guess: Updated to the latest version from gnulib.
40876 * config.sub: Likewise.
40877 * install.sh: Likewise.
40878 * mkinstalldirs: Likewise.
40879
40880 * include/grub/console.h: Removed. This file is arch-specific. Do
40881 not put this in include/grub.
40882
40883 * include/grub/i386/pc/console.h: Resurrected.
40884
40885 * util/console.c: Include grub/machine/console.h instead of
40886 grub/console.h.
40887 * util/grub-emu.c: Likewise.
40888
267f6cd9 408892005-08-04 Marco Gerards <metgerards@student.han.nl>
40890
40891 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
40892 hardcoded value.
f19dbdb7 40893
267f6cd9 40894 From Vincent Pelletier <subdino2004@yahoo.fr>
40895 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
40896 Redefined to use grub_getwh.
40897 (grub_term): New member named getwh.
40898 (grub_getwh): New prototype.
40899 * kern/term.c (grub_getwh): New function.
40900 * term/i386/pc/console.c (grub_console_getwh): New function.
40901 (grub_console_term): New member `getwh'.
40902 * term/i386/pc/vga.c (grub_vga_getwh): New function.
40903 (grub_vga_term): New member `getwh'.
0b5abe02 40904 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 40905 grub_ssize_t.
40906 (grub_ofconsole_getw): New function.
40907 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
40908 (grub_ofconsole_term): New field named getwh and new initial
40909 value.
40910
3be7266d 409112005-08-03 Hollis Blanchard <hollis@penguinppc.org>
40912
40913 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
40914 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
40915 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
40916 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
40917 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
40918 of <grub/machine/ieee1275.h>.
40919 * commands/ieee1275/reboot.c: Likewise.
40920 * boot/powerpc/ieee1275/ieee1275.c: Move ...
40921 * kern/ieee1275.c: ... to here. All users updated. Change all
40922 parameter structs to use new type `grub_ieee1275_cell_t'.
40923 * term/powerpc/ieee1275/ofconsole.c: Move ...
40924 * term/ieee1275/ofconsole.c: ... to here. All users updated.
40925 * disk/powerpc/ieee1275/ofdisk.c: Move ...
40926 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
40927 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
40928 to return int.
40929 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
40930 Remove unused prototypes. All users updated.
40931 * include/grub/powerpc/ieee1275/console.h: Removed.
40932 * include/grub/powerpc/ieee1275/ieee1275.h: Define
40933 `grub_ieee1275_cell_t'.
40934 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
40935 Cast comparisons with -1 to the correct type.
40936 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
40937 type to match `grub_ieee1275_entry_fn'.
40938
8b5f3938 409392005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
40940
40941 * DISTLIST: Added util/i386/pc/grub-probefs.c.
40942
40943 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
40944 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
40945 partmap/sun.c.
40946 (grub_probefs_SOURCES): New variable.
40947
40948 * util/i386/pc/grub-probefs.c: New file.
40949
40950 * util/i386/pc/grub-setup.c (main): Call
40951 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
40952 grub_hfs_init and grub_jfs_init to initialize the system. Call
40953 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
40954 grub_pc_partition_map_fini to finish the system.
40955
ea409713 409562005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
40957
40958 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
40959 function.
40960 (grub_multiboot_load_elf32): Likewise.
40961 (grub_multiboot_is_elf64): Likewise.
40962 (grub_multiboot_load_elf64): Likewise.
40963 (grub_multiboot_load_elf): Likewise.
40964 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
40965 an ELF32 or ELF64 file.
40966 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
40967
40968 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
40969 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
40970 NULL before calling FS->LABEL.
40971 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
40972 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
40973 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
40974 before calling FS->LABEL.
40975
141a288b 409762005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
40977
40978 * util/i386/pc/grub-install.in (datadir): New variable.
40979 (libdir): Removed.
40980 (pkgdatadir): New variable.
40981 (pkglibdir): Removed.
40982
0d5f8a54 409832005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
40984
40985 * DISTLIST: Added util/i386/pc/grub-install.in.
40986
40987 * util/i386/pc/grub-install.in: New file.
40988
40989 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
40990 (grub_install_SOURCES): Likewise.
40991
40992 * genmk.rb: Added support for scripts.
40993 (Script): New class.
40994 (scripts): New variable.
40995
40996 * Makefile.in (install-local): Install sbin_SCRIPTS by
40997 INSTALL_SCRIPT.
40998 (uninstall): Remove sbin_SCRIPTS.
40999
41000 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41001 device, try to get a GRUB device by
41002 grub_util_biosdisk_get_grub_dev.
41003 Free DEST_DEV.
41004
41005 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41006 description for --device-map.
41007
5f968e1e 410082005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41009
41010 Change the semantics of variable hooks. They now return strings
41011 instead of error values.
f19dbdb7 41012
5f968e1e 41013 * util/i386/pc/grub-setup.c: Include grub/env.h.
41014 (setup): Use grub_device_set_root instead of grub_env_set.
41015
41016 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41017 grub_env_get instead of grub_device_set_root and
41018 grub_device_get_root, respectively.
41019
41020 * kern/main.c (grub_env_write_root): New function.
41021 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41022 grub_env_set instead of grub_device_set_root.
41023
41024 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41025 many variables.
41026 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41027 rather than calling ENV->WRITE_HOOK afterwards.
41028 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41029 passing a pointer of a pointer.
41030 (grub_register_variable_hook): Change the types of "read_hook" and
41031 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41032 respectively.
41033 Allocate the default empty string on the heap, because this string
41034 may be freed later.
41035
41036 * kern/device.c: Include grub/env.h.
41037 (grub_device_set_root): Removed.
41038 (grub_device_get_root): Likewise.
41039 (grub_device_open): Use grub_env_get instead of
41040 grub_device_get_root.
41041
41042 * include/grub/env.h (grub_env_read_hook_t): New type.
41043 (grub_env_write_hook_t): Likewise.
41044 (grub_env_var): Change the types of "read_hook" and "write_hook"
41045 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41046 (grub_register_variable_hook): Likewise.
41047
41048 * include/grub/device.h (grub_device_set_root): Removed.
41049 (grub_device_set_root): Likewise.
41050
41051 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41052 make sure that DIRNAME terminates with '/', so that
41053 grub_fat_find_dir will fail if PATH is not a directory.
41054
41055 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41056 from DIRNAME.
41057 Use the qualifier auto for print_files and print_files_long.
41058 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41059 as a regular file.
41060 Put a newline only if there is no error.
41061 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41062 used.
41063
896f0afd 410642005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41065
41066 * kern/partition.c (grub_partition_probe): Initialize PART to
41067 NULL. Otherwise, when no partition map is registered, this returns
41068 a garbage.
41069
b28b81b2 410702005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41071
41072 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41073 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41074 valid.
41075
5f3607e0 410762005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41077
41078 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41079 information on each device, if it does not have partitions. Print
41080 "Device" instead of "Disk", because this function is not specific
41081 to disk devices.
41082
41083 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41084 static to ensure that it is put on the memory rather than a
41085 register.
41086
502c87e8 410872005-07-17 Yoshinori Okuji <okuji@enbug.org>
41088
41089 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41090 (grub_cat_init): Likewise.
41091 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41092 (options): Likewise.
41093 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41094 (grub_configfile_init): Likewise.
41095 * font/manager.c (GRUB_MOD_INIT): Likewise.
41096 * commands/help.c (GRUB_MOD_INIT): Likewise.
41097 (grub_help_init): Likewise.
41098 * normal/command.c (grub_command_init): Likewise.
41099 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41100 * disk/loopback.c (grub_loop_init): Likewise.
41101 (GRUB_MOD_INIT): Likewise.
41102 * commands/ls.c (grub_ls_init): Likewise.
41103 (GRUB_MOD_INIT): Likewise.
41104 (options): Likewise.
41105 * commands/boot.c (grub_boot_init): Likewise.
41106 (GRUB_MOD_INIT): Likewise.
41107 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41108 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41109 (GRUB_MOD_INIT): Likewise.
41110 * commands/cmp.c (grub_cmp_init): Likewise.
41111 (GRUB_MOD_INIT): Likewise.
41112
41113 * normal/arg.c: Use <> instead of "" to include header files.
41114 (SHORT_ARG_HELP): New macro.
41115 (SHORT_ARG_USAGE): Likewise.
41116 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41117 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41118 descriptions.
41119 (find_short): Check if C is 'h' or 'u' explicitly.
41120 (grub_arg_show_help): Use space characters instead of tabs. Treat
41121 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41122 are shown with --help and --usage only if they are not used for
41123 the command itself.
41124 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41125 'h' and 'u'.
41126
41127 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41128 const into "longarg". Change the type of "shortarg" to int.
41129
f806d18e 411302005-07-17 Yoshinori Okuji <okuji@enbug.org>
41131
41132 * boot/i386/pc/boot.S (boot_drive_check): New label.
41133
41134 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41135 macro.
41136
41137 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41138 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41139
e293232b 411402005-07-17 Yoshinori Okuji <okuji@enbug.org>
41141
41142 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41143 When turning off Gate A20, skip the check and return immediately,
41144 because this is not fatal usually.
41145
ebedfd00 411462005-07-17 Yoshinori Okuji <okuji@enbug.org>
41147
41148 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41149 be 0x7C00 instead of 0x8000.
41150
41151 * boot/i386/pc/pxeboot.S: Rewritten.
41152
41153 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41154 EXT_C.
41155 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41156 result.
41157
654fc59f 411582005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41159
41160 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41161 robustness. This routine now supports a BIOS call and System
41162 Control Port A to modify the gate A20.
41163
41164 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41165 Increased to 0x440.
41166
09f9923f 411672005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41168
41169 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41170 device path and resulting ihandle.
41171 (grub_ofdisk_close): dprintf the ihandle being closed.
41172 (grub_ofdisk_read): dprintf function parameters.
41173 * kern/mm.c (grub_mm_init_region): Likewise.
41174 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41175 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41176 size, and boot arguments.
41177 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41178 before loading into memory.
41179 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41180 before loading into memory.
41181
7ef504d8 411822005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41183
41184 * kern/mm.c: Added much documentation.
41185 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41186 8, set to 5 instead of 8.
41187
e0f050c2 411882005-07-10 Yoshinori Okuji <okuji@enbug.org>
41189
41190 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41191
41192 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41193 (grub_mkdevicemap_SOURCES): New variable.
41194
41195 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41196 lib/device.c of GRUB Legacy.
41197
7224189a 411982005-07-10 Yoshinori Okuji <okuji@enbug.org>
41199
41200 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41201 instead of PATH is NULL.
41202
68c864eb 412032005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41204
41205 * commands/cmp.c (BUFFER_SIZE): New macro.
41206 (grub_cmd_cmp): Close the right file at the right time. Compare
41207 only data just read. Don't report files of different size as
41208 identical. Dynamically allocate buffers. Move variable
41209 declarations at the beginning of function.
41210
e6f3e614 412112005-07-09 Yoshinori Okuji <okuji@enbug.org>
41212
41213 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41214 reverse.
41215
f8f1559a 412162004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41217
41218 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41219 when backspace is pressed at beginning of line.
41220
39c9d41d 412212005-07-03 Yoshinori Okuji <okuji@enbug.org>
41222
41223 * DISTLIST: Added genfslist.sh.
41224
41225 * normal/main.c (fs_module_list): New variable.
41226 (autoload_fs_module): New function.
41227 (read_fs_list): Likewise.
41228 (grub_normal_execute): Call read_fs_list.
41229
41230 * kern/fs.c (grub_fs_autoload_hook): New variable.
41231 (grub_fs_probe): Added support for auto-loading.
41232
41233 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41234 (grub_fs_module_list_t): New type.
41235
41236 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41237 (grub_fs_autoload_hook): New prototype.
41238
41239 * genfslist.sh: New file.
f19dbdb7 41240
39c9d41d 41241 * genmk.rb: Added a rule to generate a filesystem list.
41242
121c1d83 412432005-06-30 Marco Gerards <metgerards@student.han.nl>
41244
41245 * configure.ac: Fix the test for cross-compiling.
41246
41247 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41248 define GRUB_UTIL anymore.
41249
41250 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41251 so this function works on other systems than just big endian.
41252 (load_modules): Likewise.
41253 (add_segments): Likewise.
41254
e75d76e1 412552005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41256
41257 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41258 contains `l' modifier, get a long from va_arg().
41259
50b5a0a7 412602005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41261
41262 * kern/mm.c (grub_free): If the next free block which is being
41263 merged is the first free block, set the first block to the block
41264 being freed.
41265 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41266
89371b20 412672005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41268
41269 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41270 `grub_ieee1275_chosen'.
41271
168d6e58 412722005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41273
41274 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41275 (grub_ieee1275_chosen): New variable.
41276 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41277 `chosen'.
41278 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41279 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41280 Rename first argument to `phandle' for consistency.
41281 (grub_ieee1275_get_property_length): Likewise.
41282 (grub_ieee1275_next_property): Likewise. Change type of first argument
41283 to grub_ieee1275_phandle_t.
41284 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41285 Move export next to declaration.
41286 (grub_ieee1275_chosen): New variable.
41287 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41288 Correct cosmetic typo.
41289 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41290 `grub_ieee1275_chosen'.
41291 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41292 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41293 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41294 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41295 `grub_ieee1275_chosen'.
41296
ca5baa3f 412972005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41298
41299 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41300 /chosen/bootargs.
41301 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41302 /chosen/bootargs as "variable=value" pairs.
41303
708b345f 413042005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41305
41306 * include/grub/misc.h (grub_dprintf): New macro.
41307 (grub_real_dprintf): New prototype.
41308 (grub_strword): Likewise.
41309 (grub_iswordseparator): Likewise.
41310 * kern/misc.c (grub_real_dprintf): New function.
41311 (grub_strword): Likewise.
41312 (grub_iswordseparator): Likewise.
41313
f4c5e67c 413142005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41315
41316 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41317 (roundup): Remove macro.
41318 (grub_ieee1275_flags): Make static.
41319 (grub_ieee1275_realmode): Remove.
41320 (grub_ieee1275_test_flag): New function.
41321 (grub_ieee1275_set_flag): Likewise.
41322 (find_options): Rename to `grub_ieee1275_find_options'; update
41323 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41324 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41325 (cmain): New prototype.
41326 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41327 `grub_ieee1275_flags' directly.
41328 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41329 machine/biosdisk.h.
41330 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41331 Don't include grub/machine/init.h.
41332 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41333 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41334 Remove prototype.
41335 (grub_ieee1275_realmode): Likewise.
41336 (grub_ieee1275_flag): New enum.
41337 (grub_ieee1275_test_flag): New prototype.
41338 (grub_ieee1275_set_flag): New prototype.
41339 * include/grub/powerpc/ieee1275/init.h: Remove file.
41340 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41341 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41342 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41343 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41344 comment.
41345 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41346 `grub_ieee1275_test_flag'.
41347 (grub_ieee1275_encode_devname): Likewise.
41348
ed16607e 413492005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41350
41351 * include/grub/powerpc/ieee1275/ieee1275.h
41352 (grub_ieee1275_encode_devname): New prototype.
41353 (grub_ieee1275_get_filename): Likewise.
41354 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41355 function.
41356 (grub_set_prefix): Likewise.
41357 (grub_machine_init): Call grub_set_prefix.
41358 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41359 (grub_parse_type): New enum.
41360 (grub_ieee1275_get_devargs): New function.
41361 (grub_ieee1275_get_devname): Likewise.
41362 (grub_ieee1275_parse_args): Likewise.
41363 (grub_ieee1275_get_filename): Likewise.
41364 (grub_ieee1275_encode_devname): Likewise.
41365
be369920 413662005-03-30 Marco Gerards <metgerards@student.han.nl>
41367
41368 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41369 `grub_loader_unset'.
41370
a5ce3a4a 413712005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41372
41373 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41374 instead of grub_ieee1275_interpret.
41375 (grub_halt_init): New function.
41376 (grub_halt_fini): Likewise.
41377 (GRUB_MOD_INIT): Correct message grammar.
41378 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41379 instead of grub_ieee1275_interpret.
41380 (grub_reboot_init): New function.
41381 (grub_reboot_fini): Likewise.
41382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41383 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41384 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41385 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41386 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41387 function.
41388 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41389 Add prototype.
41390 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41391 prototype.
41392 (grub_halt): Likewise.
41393 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41394 (cmain): Remove __attribute__((unused)).
41395 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41396 (grub_heap_len): Likewise.
41397 (grub_machine_fini): New function.
41398 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41399 (grub_halt): Likewise.
41400 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41401 function.
41402 * util/powerpc/ieee1275/misc.c: New file.
41403
0058f771 414042005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41405
41406 * DISTLIST: New file.
41407 * gendistlist.sh: Likewise.
f19dbdb7 41408
0058f771 41409 * Makefile.in (COMMON_DISTFILES): Removed.
41410 (BOOT_DISTFILES): Likewise.
41411 (CONF_DISTFILES): Likewise.
41412 (DISK_DISTFILES): Likewise.
41413 (FS_DISTFILES): Likewise.
41414 (INCLUDE_DISTFILES): Likewise.
41415 (KERN_DISTFILES): Likewise.
41416 (LOADER_DISTFILES): Likewise.
41417 (TERM_DISTFILES): Likewise.
41418 (UTIL_DISTFILES): Likewise.
41419 (DISTFILES): Likewise.
41420 (uninstall): Uninstall files in $(pkgdata_DATA).
41421 (DISTLIST): New target.
41422 (distdir): Use the contents of the file DISTLIST to get a list of
41423 distributed files.
41424
46b3b8a5 414252005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41426
41427 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41428 descriptor. This is ported from GRUB Legacy.
41429
41430 * gencmdlist.sh: Added an extra semicolon to make it work with
41431 old sed versions. Reported by Robert Bihlmeyer
41432 <robbe@orcus.priv.at>.
41433
5822ff87 414342005-03-08 Yoshinori Okuji <okuji@enbug.org>
41435
41436 Automatic loading of commands is supported.
f19dbdb7 41437
5822ff87 41438 * normal/main.c (read_command_list): New function.
41439 (grub_normal_execute): Call read_command_list.
41440
41441 * normal/command.c (grub_register_command): Return zero or CMD.
41442 Allocate CMD->NAME from the heap.
41443 Initialize CMD->MODULE_NAME to zero.
41444 Find the same name as well. If the same command is found and it is
41445 a dummy command, overwrite members. If it is not a dummy command,
41446 return zero.
41447 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41448 (grub_command_find): If a dummy command is found, load a module
41449 and retry to find a command only once.
41450
41451 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41452 make sure that each command is loaded.
41453
41454 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41455 macro.
41456 (struct grub_command): Remove const from the member `name'.
41457 Add a new member `module_name'.
41458 (grub_register_command): Return grub_command_t.
41459
41460 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41461 sure that each command is loaded.
41462
41463 * genmk.rb (PModule::rule): Specify a module name without the
41464 suffix ".mod" to gencmdlist.sh.
41465
7b1f4b57 414662005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41467
41468 * gencmdlist.sh: New file.
f19dbdb7 41469
7b1f4b57 41470 * genmk.rb (PModule::rule): Generate a rule for a command list.
41471 Clean command.lst.
41472 Generate command.lst from $(COMMANDFILES).
41473
41474 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41475 (DATA): Added $(pkgdata_DATA).
41476 (install-local): Install files in $(pkgdata_DATA).
41477
062aaf39 414782005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41479
41480 * term/i386/pc/vga.c (debug_command): Removed.
41481 (GRUB_MOD_INIT): Do not register the command "debug".
41482
41483 From Hollis Blanchard:
41484 * commands/configfile.c: New file.
41485 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41486 commands/configfile.c.
41487 (pkgdata_MODULES): Added configfile.mod.
41488 (configfile_mod_SOURCES): New variable.
41489 (configfile_mod_CFLAGS): Likewise.
41490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41491 commands/configfile.c.
41492 (pkgdata_MODULES): Added configfile.mod.
41493 (configfile_mod_SOURCES): New variable.
41494 (configfile_mod_CFLAGS): Likewise.
41495 * util/grub-emu.c (main): Call grub_configfile_init and
41496 grub_configfile_fini.
41497 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41498 prototype.
41499 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41500
cee01aa6 415012005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41502
41503 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41504 address.
41505
41506 * commands/help.c (grub_cmd_help): Do not print newlines after
41507 the last command in print_command_help.
41508
93f3a1d8 415092005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41510
41511 * commands/default.h: New file.
41512 * commands/timeout.h: Likewise.
41513 * normal/context.c: Likewise.
f19dbdb7 41514
93f3a1d8 41515 * util/misc.c: Do not include sys/times.h.
41516 Include sys/time.h and grub/machine/time.h.
41517 (grub_get_rtc): Rewritten with gettimeofday.
41518
41519 * util/grub-emu.c (main): Call grub_default_init and
41520 grub_timeout_init before grub_normal_init, and call
41521 grub_timeout_fini and grub_default_fini after grub_main.
41522
41523 * util/console.c (grub_ncurses_checkkey): Return the read
41524 character or -1.
41525
41526 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41527 timeouts.
41528
41529 * normal/main.c (read_config_file): Push MENU. If this fails,
41530 print an error and wait for a user input.
41531 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41532 If a menu is empty or an error occurs, pop MENU.
41533 (grub_normal_execute): Pop and free MENU after grub_menu_run
41534 returns.
41535
41536 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41537
41538 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41539 include time.h.
41540 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41541 without GRUB_UTIL.
41542 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41543 time.h.
41544 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41545 without GRUB_UTIL.
41546
41547 * include/grub/normal.h (struct grub_menu_list): New struct.
41548 (grub_menu_list_t): New type.
41549 (struct grub_context): New struct.
41550 (grub_context_t): New type.
41551 (grub_register_command): Got rid of EXPORT_FUNC.
41552 (grub_unregister_command): Likewise.
41553 (grub_context_get): New prototype.
41554 (grub_context_get_current_menu): Likewise.
41555 (grub_context_push_menu): Likewise.
41556 (grub_context_pop_menu): Likewise.
41557 [GRUB_UTIL] (grub_default_init): Likewise.
41558 [GRUB_UTIL] (grub_default_fini): Likewise.
41559 [GRUB_UTIL] (grub_timeout_init): Likewise.
41560 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41561
41562 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41563 commands/timeout.c and normal/context.c.
41564 (pkgdata_MODULES): Added default.mod and timeout.mod.
41565 (normal_mod_SOURCES): Added normal/context.c.
41566 (default_mod_SOURCES): New variable.
41567 (default_mod_CFLAGS): Likewise.
41568 (timeout_mod_SOURCES): Likewise.
41569 (timeout_mod_CFLAGS): Likewise.
41570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41571 conf/i386-pc.rmk.
41572 (pkgdata_MODULES): Added default.mod and timeout.mod.
41573 (normal_mod_SOURCES): Added normal/context.c.
41574 (default_mod_SOURCES): New variable.
41575 (default_mod_CFLAGS): Likewise.
41576 (timeout_mod_SOURCES): Likewise.
41577 (timeout_mod_CFLAGS): Likewise.
41578
41579 * Makefile.in (all-local): Added $(MKFILES).
41580
4ed2e1dd 415812005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41582
41583 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41584 (grub_emu_SOURCES): Likewise.
41585 (pkgdata_MODULES): Add `sun.mod'.
41586 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41588 `partmap/sun.c'.
41589 (pkgdata_MODULES): Add `sun.mod'.
41590 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41591 * include/grub/partition.h (grub_sun_partition_map_init): New
41592 prototype.
41593 (grub_sun_partition_map_fini): Likewise.
41594 * partmap/sun.c: New file.
41595 * util/grub-emu.c (main): Initialize and de-initialize the sun
41596 partitionmap support.
41597
4d4e372e 415982005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41599
41600 This implements an Emacs-like menu entry editor.
f19dbdb7 41601
4d4e372e 41602 * normal/menu_entry.c: New file.
f19dbdb7 41603
4d4e372e 41604 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41605 characters to ASCII.
41606 (saved_char): New variable.
41607 (grub_ncurses_checkkey): Rewritten completely.
41608 (grub_ncurses_getkey): Likewise.
41609 (grub_ncurses_init): Call raw instead of cbreak.
41610
41611 * normal/menu.c (print_entry): Do not put a space.
41612 (init_page): Renamed to ...
41613 (grub_menu_init_page): ... this. All callers changed.
41614 (edit_menu_entry): Removed.
41615 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41616
41617 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41618
41619 * kern/misc.c (grub_vprintf): Call grub_refresh.
41620
41621 * normal/menu.c (DISP_LEFT): Renamed to ...
41622 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41623 * normal/menu.c (DISP_UP): Renamed to ...
41624 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41625 * normal/menu.c (DISP_RIGHT): Renamed to ...
41626 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41627 * normal/menu.c (DISP_DOWN): Renamed to ...
41628 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41629 * normal/menu.c (DISP_HLINE): Renamed to ...
41630 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41631 * normal/menu.c (DISP_VLINE): Renamed to ...
41632 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
41633 * normal/menu.c (DISP_UL): Renamed to ...
41634 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
41635 * normal/menu.c (DISP_UR): Renamed to ...
41636 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
41637 * normal/menu.c (DISP_LL): Renamed to ...
41638 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
41639 * normal/menu.c (DISP_LR): Renamed to ...
41640 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
41641 * normal/menu.c (TERM_WIDTH): Renamed to ...
41642 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
41643 * normal/menu.c (TERM_HEIGHT): Renamed to ...
41644 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
41645 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
41646 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
41647 * normal/menu.c (TERM_MARGIN): Renamed to ...
41648 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
41649 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
41650 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
41651 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
41652 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
41653 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
41654 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
41655 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
41656 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
41657 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
41658 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
41659 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
41660 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
41661 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
41662 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
41663 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
41664 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
41665 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
41666 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
41667 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
41668 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
41669 All callers changed.
41670
41671 * include/grub/normal.h: New prototype.
41672
41673 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41674 normal/menu_entry.c.
41675 (normal_mod_SOURCES): Likewise.
41676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41677 (normal_mod_SOURCES): Likewise.
41678
e6b92c8a 416792005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
41680
41681 * include/grub/normal.h (grub_halt_init): New prototype.
41682 (grub_halt_fini): Likewise.
41683 (grub_reboot_init): Likewise.
41684 (grub_reboot_fini): Likewise.
41685
41686 * util/grub-emu.c: Include signal.h.
41687 (main_env): New global variable.
41688 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
41689 catch C-c.
41690 (grub_machine_fini): New function.
41691 (main): Call grub_halt_init and grub_reboot_init before
41692 grub_main, and grub_reboot_fini and grub_halt_fini after it.
41693 Call setjmp with MAIN_ENV to go back afterwards.
41694 Call grub_machine_fini right before return.
41695
41696 * include/grub/util/misc.h: Include setjmp.h.
41697 (main_env): New prototype.
41698
41699 * include/grub/kernel.h (grub_machine_fini): New prototype.
41700 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
41701 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
41702
41703 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
41704 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
41705 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 41706
e6b92c8a 41707 * util/i386/pc/misc.c: New file.
f19dbdb7 41708
e6b92c8a 41709 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41710 util/i386/pc/misc.c, commands/i386/pc/halt.c and
41711 commands/i386/pc/reboot.c.
41712
c642636f 417132005-02-14 Guillem Jover <guillem@hadrons.org>
41714
41715 * include/grub/dl.h (grub_dl_check_header): New prototype.
41716 (grub_arch_dl_check_header): Change return type to grub_err_t,
41717 remove size parameter and export function. Update all callers.
41718 * kern/dl.c (grub_dl_check_header): New function.
41719 (grub_dl_load_core): Use `grub_dl_check_header' instead of
41720 `grub_arch_dl_check_header'. Check ELF type. Check if sections
41721 are inside the core.
41722 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
41723 independent ELF header checks.
41724 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41725 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
41726 `grub_dl_check_header' instead of explicit checks. Check for the
41727 ELF type.
41728 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
41729 `grub_dl_check_header' instead of explicit checks. Remove arch
41730 specific ELF header checks.
41731
e6b92c8a 41732 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
41733 argument SIZE.
41734
5eabe94b 417352005-02-13 Hollis Blanchard <hollis@penguinppc.org>
41736
41737 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
41738 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
41739
1b14a681 417402005-02-12 Hollis Blanchard <hollis@penguinppc.org>
41741
41742 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 41743 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 41744 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 41745 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 41746 * partmap/amiga.c (amiga_partition_map_iterate): Return
41747 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
41748 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41749
aca108aa 417502005-02-01 Guillem Jover <guillem@hadrons.org>
41751
41752 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
41753 help info.
41754
c9f9c556 417552005-01-31 Marco Gerards <metgerards@student.han.nl>
41756
41757 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
41758 Removed prototype.
41759 (grub_rescue_cmd_linux): New prototype.
41760 (grub_rescue_cmd_initrd): Likewise.
41761 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
41762 `bi_rec'.
41763 (grub_linux_release_mem): Release the memory for the initrd.
41764 (grub_load_linux): Renamed from this...
41765 (grub_rescue_cmd_linux): ...To this. Changed all callers.
41766 Changed `entry' not to be static. Loop over memory regions to
41767 find another one when the default fails.
41768 (grub_rescue_cmd_initrd): New function.
41769 (grub_linux_init): Remove function.
41770 (grub_linux_fini): Likewise.
41771 (GRUB_MOD_INIT): Register `initrd'.
41772 (GRUB_MOD_FINI): Unregister `initrd'.
41773 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
41774 Function removed.
41775 (grub_linux_normal_fini): Likewise.
41776 (GRUB_MOD_INIT): Register `initrd'.
41777 (GRUB_MOD_FINI): Unregister `initrd'.
41778
990cf3aa 417792005-01-31 Marco Gerards <metgerards@student.han.nl>
41780
41781 * commands/help.c: New file.
41782 * normal/arg.c (show_help): Renamed to...
41783 (grub_arg_show_help): ... this.
41784 * commands/i386/pc/halt.c: New file.
41785 * commands/i386/pc/reboot.c: Likewise.
41786 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
41787 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
41788 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
41789 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
41790 variables.
41791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41792 `commands/help.c'.
41793 (pkgdata_MODULES): Add `help.mod'.
41794 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
41795 * grub/i386/pc/init.h (grub_reboot): New prototype.
41796 (grub_halt): Likewise.
41797 * include/grub/normal.h (grub_arg_show_help): New prototype.
41798 (grub_help_init): Likewise.
41799 (grub_help_fini): Likewise.
41800 * util/grub-emu.c (main): Initialize and deinitialize the help
41801 command.
41802
41803 * normal/cmdline.c (grub_cmdline_get): Doc fix.
41804
41805 * normal/command.c (grub_command_init): Fixed the description of
41806 the `set' and `unset' commands.
41807
418082005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 41809
41810 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
41811 function.
41812 * commands/ieee1275/halt.c: New file.
41813 * commands/ieee1275/reboot.c: Likewise.
41814 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
41815 `__attribute__ ((unused))'. Some GCS related fixed.
41816 (grub_suspend_init) [GRUB_UTIL]: Function removed.
41817 (grub_suspend_fini): Likewise.
41818 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
41819 and `halt.mod'.
41820 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
41821 (halt_mod_CFLAGS): New variables.
41822 * include/grub/powerpc/ieee1275/ieee1275.h
41823 (grub_ieee1275_interpret): New prototype.
41824
1ab09cc7 418252005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
41826
41827 * include/grub/misc.h (memmove): New prototype.
41828 (memcpy): Likewise.
41829
8b8cbdb2 418302005-01-22 Hollis Blanchard <hollis@penguinppc.org>
41831
41832 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
41833 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
41834
e3741a27 418352005-01-22 Marco Gerards <metgerards@student.han.nl>
41836
41837 * kern/misc.c (grub_strndup): Function rewritten.
41838
776bd780 418392005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
41840
41841 * normal/menu.c (TERM_WIDTH): Macro redefined.
41842 (TERM_TOP_BORDER_Y): Likewise.
41843 (draw_border): Replaced while-loop by a for-loop. Make the number
41844 of lines consistent with the number of lines displayed in
41845 print_entries. Added a margin below the rectangle.
41846 (print_entry): Make the entry fit in the rectangle.
41847 (print_entries): Display the scroll arrows next to the right
41848 border.
41849
78026bce 418502005-01-21 Marco Gerards <metgerards@student.han.nl>
41851
41852 * fs/minix.c (grub_minix_find_file): Reserve more space for
41853 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
41854 `grub_strncpy' to copy `path' into it.
41855
67bbaf0f 418562005-01-21 Marco Gerards <metgerards@student.han.nl>
41857
41858 Add the loopback device, a device via which files can be accessed
41859 as devices.
f19dbdb7 41860
67bbaf0f 41861 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
41862 (pkgdata_MODULES): Add loopback.mod.
41863 (loopback_mod_SOURCES): New variable.
41864 (loopback_mod_CFLAGS): Likewise.
41865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41866 `disk/loopback.c'.
41867 (pkgdata_MODULES): Add loopback.mod.
41868 (loopback_mod_SOURCES): New variable.
41869 (loopback_mod_CFLAGS): Likewise.
41870 * disk/loopback.c: new file.
41871 * include/grub/normal.h (grub_loop_init): New prototype.
41872 (grub_loop_fini): New prototype.
41873 * util/grub-emu.c (main): Initialize and de-initialize loopback
41874 support.
41875 * include/grub/disk.h (grub_disk_dev_id): Add
41876 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
41877
6f1c18bd 418782005-01-20 Hollis Blanchard <hollis@penguinppc.org>
41879
41880 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
41881 function.
41882 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
41883 (suspend_mod_SOURCES): New variable.
41884 (suspend_mod_CFLAGS): Likewise.
41885 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
41886 New prototype.
41887 * commands/ieee1275/suspend.c: New file.
41888
b38551da 418892005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41890
41891 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 41892 ((unused))' to `__attribute__ ((used))'.
b38551da 41893 (GRUB_MOD_FINI): Likewise.
41894 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
41895 * genmk.rb (PModule): Assign space to common symbols when linking
41896 modules.
41897
777aff39 418982005-01-20 Marco Gerards <metgerards@student.han.nl>
41899
41900 * include/grub/mm.h (grub_mm_init_region): Change the type of the
41901 `unsigned' arguments to `grub_size_t'.
41902 (grub_malloc): Likewise.
41903 (grub_realloc): Likewise.
41904 (grub_memalign): Likewise.
41905 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
41906 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41907 * util/misc.c (grub_malloc): Likewise.
41908 (grub_realloc): Likewise.
41909 * kern/mm.c (get_header_from_pointer): Change the casts to
41910 `unsigned' into a cast to `grub_size_t'.
41911
41912 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
41913 point to `currnode' when `currnode' is changed.
41914
41915 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
41916 Schottelius <nico-linux@schottelius.org>.
41917
d0ff18e1 419182005-01-09 Hollis Blanchard <hollis@penguinppc.org>
41919
41920 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
41921 (note_path): Remove variable.
41922 (GRUB_IEEE1275_NOTE_NAME): New macro.
41923 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
41924 (grub_ieee1275_note_hdr): New structure.
41925 (grub_ieee1275_note_desc): Likewise.
41926 (grub_ieee1275_note): Likewise.
41927 (load_note): Remove `dir' argument. All callers updated. Remove
41928 `note_img' and `path'. Do not load a file from `note_path'.
41929 Initialize a struct grub_ieee1275_note and write that to `out'.
41930 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
41931
4ca7004c 419322005-01-05 Marco Gerards <metgerards@student.han.nl>
41933
41934 * util/misc.c (grub_util_read_image): Revert last change. It
41935 called `grub_util_read_at', which seeks from the beginning of the
41936 file.
41937
0b412211 419382005-01-04 Hollis Blanchard <hollis@penguinppc.org>
41939
41940 * TODO: Add note about endianness in grub-mkimage.
41941 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
41942 section.
41943 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
41944 (grub_mkimage_SOURCES): New target.
41945 * include/grub/kernel.h (grub_start_addr): Remove variable.
41946 (grub_end_addr): Likewise.
41947 (grub_total_module_size): Likewise.
41948 (grub_kernel_image_size): Likewise.
41949 (GRUB_MODULE_MAGIC): New constant.
41950 (grub_module_info): New structure.
41951 (grub_arch_modules_addr): New prototype.
41952 (grub_get_end_addr): Remove prototype.
41953 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
41954 * include/grub/powerpc/ieee1275/kernel.h: New file.
41955 * include/grub/util/misc.h (grub_util_get_fp_size): New
41956 prototype.
41957 (grub_util_read_at): Likewise.
41958 (grub_util_write_image_at): Likewise.
41959 * kern/main.c (grub_get_end_addr): Remove function.
41960 (grub_load_modules): Call grub_arch_modules_addr instead of using
41961 grub_end_addr. Look for a grub_module_info struct in memory. Use
41962 the grub_module_info fields instead of calling grub_get_end_addr
41963 as loop conditions. Move grub_add_unused_region code here.
41964 (grub_add_unused_region): Remove function.
41965 * kern/i386/pc/init.c: Include grub/cache.h.
41966 (grub_machine_init): Remove call to grub_get_end_addr. Remove
41967 one call to add_mem_region.
41968 (grub_arch_modules_addr): New function.
41969 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
41970 (grub_total_module_size): Likewise.
41971 Include grub/machine/kernel.h.
41972 (grub_arch_modules_addr): New function.
41973 * util/grub-emu.c (grub_end_addr): Remove variable.
41974 (grub_total_module_size): Likewise.
41975 (grub_arch_modules_addr): New function.
41976 * util/misc.c: Include unistd.h.
41977 (grub_util_get_fp_size): New function.
41978 (grub_util_read_at): Likewise.
41979 (grub_util_write_image_at): Likewise.
41980 (grub_util_read_image): Call grub_util_read_at.
41981 (grub_util_write_image): Call grub_util_write_image_at.
41982 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
41983 additional memory in kernel_img for a struct grub_module_info.
41984 Fill in that grub_module_info.
41985 * util/powerpc/ieee1275/grub-mkimage.c: New file.
41986
458786f8 419872005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41988
41989 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
41990 New function.
41991 * include/grub/powerpc/ieee1275/ieee1275.h
41992 (grub_ieee1275_milliseconds): New prototype.
41993 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
41994 Change to 1000.
41995 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
41996 grub_ieee1275_milliseconds.
41997
ac507d1b 419982005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41999
42000 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42001 variable.
42002 (find_options): New function.
42003 (cmain): Call find_options.
42004 * include/grub/powerpc/ieee1275/ieee1275.h
42005 (grub_ieee1275_realmode): New extern variable.
42006 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42007 grub_map if grub_ieee1275_realmode is false.
42008
6b8fd1c4 420092004-12-29 Marco Gerards <metgerards@student.han.nl>
42010
42011 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42012 lines are inserted and make it work like readline. Reported by
42013 Vincent Pelletier <subdino2004@yahoo.fr>.
42014
8514a1e0 420152004-12-28 Marco Gerards <metgerards@student.han.nl>
42016
42017 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42018
42019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42020 `kern/powerpc/cache.S'.
42021
924b6140 420222004-12-27 Marco Gerards <metgerards@student.han.nl>
42023
42024 * genmk.rb: Handle the `Program' class in the main loop. Written
42025 by Johan Rydberg <jrydberg@gnu.org>.
42026 (Program): New class.
42027 (programs): New variable.
42028 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42029 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42030 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42031 (help_arch): Function removed.
42032 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42033 `powerpc/libgcc.h' and `loader.h'.
42034 (pkgdata_PROGRAMS): New variable.
42035 (sbin_UTILITIES): Variable removed.
42036 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42037 (grubof_SOURCES): Variable re-defined so it only includes the
42038 core functionality.
42039 (grubof_CFLAGS): Remove `-DGRUBOF'.
42040 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42041 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42042 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42043 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42044 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42045 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42046 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42047 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42048 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42049 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42050 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42051 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42052 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42053 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42054 (pc_mod_CFLAGS): New variables.
42055 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42056 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42057 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42058 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42059 Moved from here...
42060 * include/grub/i386/pc/init.h (grub_os_area_addr)
42061 (rub_os_area_size): ... to here.
42062 * include/grub/powerpc/ieee1275/ieee1275.h
42063 (grub_ieee1275_entry_fn): Export symbol.
42064 * include/grub/powerpc/ieee1275/init.h: New file.
42065 * include/grub/powerpc/libgcc.h: Likewise.
42066 * include/grub/cache.h: Likewise.
42067 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42068 <hollis@penguinppc.org>.
42069 * kern/dl.c: Include <grub/cache.h>.
42070 (grub_dl_flush_cache): New function.
42071 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42072 for this module.
42073 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42074 (grub_console_init): Removed prototypes.
42075 (grub_machine_init): Don't initialize the modules anymore.
42076 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42077 static.
42078 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42079 Macro undef removed.
42080 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42081 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42082 relocation `R_PPC_REL32'. Return an error when the relocation is
42083 unknown.
42084 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42085 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42086 * util/misc.c (grub_arch_sync_caches): Likewise.
42087
e4b47e0c 420882004-12-19 Marco Gerards <metgerards@student.han.nl>
42089
42090 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42091 `symlist.c', add `grubof_symlist.c'.
42092 (symlist.c): Variable removed.
42093 (grubof_HEADERS): Variable added.
42094 (grubof_symlist.c): New target.
42095 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42096 `kernel_img_HEADERS'.
42097 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42098 * kern/powerpc/dl.c: New file.
42099 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42100 Function removed.
42101 (grub_arch_dl_relocate_symbols): Likewise.
42102 (grub_register_exported_symbols): Likewise.
42103
4ceb3636 421042004-12-13 Marco Gerards <metgerards@student.han.nl>
42105
42106 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42107 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42108 to fail instead. Reported by Vincent Pelletier
42109 <subdino2004@yahoo.fr>.
42110
42111 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42112 it is not allocated. Reported by Vincent Pelletier
42113 <subdino2004@yahoo.fr>.
42114
42115 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42116 output so the output looks better.
f19dbdb7 42117
3f1578fe 421182004-12-04 Marco Gerards <metgerards@student.han.nl>
42119
42120 Modulize the partition map support and add support for the amiga
42121 partition map.
f19dbdb7 42122
3f1578fe 42123 * commands/ls.c: Include <grub/partition.h> instead of
42124 <grub/machine/partition.h>.
42125 * kern/disk.c: Likewise.
42126 * kern/rescue.c: Likewise.
42127 * loader/i386/pc/chainloader.c: Likewise.
42128 * normal/cmdline.c: Likewise.
42129 * kern/powerpc/ieee1275/init.c: Likewise.
42130 (grub_machine_init): Call `grub_pc_partition_map_init',
42131 `grub_amiga_partition_map_init' and
42132 `grub_apple_partition_map_init'.
42133 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42134 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42135 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42136 `partition.h' and `pc_partition.h'.
42137 (grub_setup_SOURCES): Remove
42138 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42139 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42140 (grub_emu_SOURCES): Likewise.
42141 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42142 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42143 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42145 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42146 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42147 (grubof_SOURCES): Likewise.
42148 * disk/i386/pc/partition.c: File removed.
42149 * disk/powerpc/ieee1275/partition.c: Likewise.
42150 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42151 * include/grub/i386/pc/partition.h: Likewise.
42152 * kern/partition.c: New file.
42153 * partmap/amiga.c: Likewise.
42154 * partmap/apple.c: Likewise.
42155 * partmap/pc.c: Likewise.
42156 * include/grub/partition.h: Likewise..
42157 * include/grub/pc_partition.h: Likewise.
42158 * util/grub-emu.c: Include <grub/partition.h> instead of
42159 <grub/machine/partition.h>.
42160 (main): Call `grub_pc_partition_map_init',
42161 `grub_amiga_partition_map_init' and
42162 `grub_apple_partition_map_init' and deinitialize afterwards.
42163 * util/i386/pc/biosdisk.c: Include `#include
42164 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42165 `<grub/machine/partition.h>'.
42166 * util/i386/pc/grub-setup.c: Likewise.
42167 * util/i386/pc/biosdisk.c: Likewise.
42168 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42169 partition information in case of a PC partition.
42170 * util/i386/pc/grub-setup.c: Include `#include
42171 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42172 `<grub/machine/partition.h>'.
42173 (setup): Only access the PC specific partition information in case
42174 of a PC partition.
42175
0ef4ced9 421762004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42177
0ef4ced9 42178 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42179 (grub_longjmp): Likewise.
42180 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42181 20.
42182 * normal/powerpc/setjmp.S: New file.
42183 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42184 `normal/powerpc/setjmp.S'.
42185 (grubof_CFLAGS): Add `-DGRUBOF'.
42186 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42187 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42188
19950e29 421892004-11-16 Marco Gerards <metgerards@student.han.nl>
42190
42191 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42192 property named `name'. Correctly handle the error returned by
42193 `grub_ieee1275_finddevice' if a device can not be opened.
42194
a2fea427 421952004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42196
42197 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42198 `actual' for negativity.
42199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42200 kern/fshelp.c.
42201
41ea0ea3 422022004-11-01 Marco Gerards <metgerards@student.han.nl>
42203
42204 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42205 (PAGE_OFFSET): New macro.
42206 (CRTC_ADDR_PORT): Likewise.
42207 (CRTC_DATA_PORT): Likewise.
42208 (START_ADDR_HIGH_REGISTER): Likewise.
42209 (START_ADDR_LOW_REGISTER): Likewise.
42210 (GRAPHICS_ADDR_PORT): Likewise.
42211 (GRAPHICS_DATA_PORT): Likewise.
42212 (READ_MAP_REGISTER): Likewise.
42213 (INPUT_STATUS1_REGISTER): Likewise.
42214 (INPUT_STATUS1_VERTR_BIT): Likewise.
42215 (page): New variable.
42216 (wait_vretrace): New function.
42217 (set_read_map): Likewise.
42218 (set_start_address): Likewise.
42219 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42220 the right page.
42221 (check_vga_mem): Take the page into account.
42222 (write_char): Likewise.
42223 (write_cursor): Likewise.
42224 (scroll_up): Likewise. Copy the page to the page that is not
42225 shown and switch between both pages.
42226 (grub_vga_putchar): Fix off by one error.
42227 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42228 account.
42229
ad0bd20b 422302004-11-01 Marco Gerards <metgerards@student.han.nl>
42231
42232 Add support for iso9660 (including rockridge).
f19dbdb7 42233
ad0bd20b 42234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42235 (iso9660_mod_SOURCES): New variable.
42236 (iso9660_mod_CFLAGS): Likewise.
42237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42238 * include/grub/fs.h (grub_iso9660_init): New prototype.
42239 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42240 * fs/iso9660.c: New file.
42241
42242 * include/grub/misc.h (grub_strncat): New prototype.
42243 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42244
ad0bd20b 42245 * fs/hfs.c (grub_hfs_mount): Translate the error
42246 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42247 * fs/jfs.c (grub_jfs_mount): Likewise.
42248 * fs/ufs.c (grub_ufs_mount): Likewise.
42249
a5477a59 422502004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42251
42252 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42253 which initialized BAT registers.
42254 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42255 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42256 Move from here...
42257 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42258 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42259 ... to here.
42260 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42261 (grub_mapclaim): Likewise.
42262 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42263 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42264 hand.
42265
9304c1f8 422662004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42267
42268 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42269 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42270 -ffreestanding and -msoft-float.
42271
86f4ae25 422722004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42273
42274 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42275 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42276 set in grub_ieee1275_flags.
42277
38912228 422782004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42279
42280 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42281 prototype.
42282 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42283 grub_console_init first.
42284 Change the memory range used for grub_ieee1275_claim and
42285 grub_mm_init_region.
42286 Print an error message if the claim fails.
42287 Include <grub/misc.h>.
42288
d1923dc8 422892004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42290
42291 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42292 Call grub_children_iterate for device nodes of type `scsi',
42293 `ide', or `ata'.
42294 (grub_ofdisk_open): Remove manual device alias resolution.
42295 Fix memory leak when device cannot be opened.
f19dbdb7 42296 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42297 (grub_children_iterate): New prototype.
42298 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42299 New function.
42300 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42301 Return -1 if args.size was -1.
42302
4512e4f3 423032004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42304
42305 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42306 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42307 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42308 Open Firmware's memory for it; claim memory from _start to _end.
42309 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42310 (_end): New extern.
42311 (_start): Zero BSS from __bss_start to _end.
42312 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42313 New extern.
42314 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42315
4d61feb0 423162004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42317
ad0bd20b 42318 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42319 -1 if args.base was -1.
4d61feb0 42320
026fa2f9 423212004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42322
42323 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42324 escape sequence instead of a literal ^L. Also call
42325 grub_ofconsole_gotoxy.
42326
9f2220ef 423272004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42328
42329 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42330 void * arguments to grub_addr_t. All callers updated. Also make
42331 the `result' argument optional.
42332 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42333 All callers updated.
42334
8a572cd7 423352004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42336
42337 * commands/ls.c (grub_ls_list_files): Use the string following the
42338 initial ')', if present, as the filesystem path.
42339 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42340
42341 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42342
18aa81f2 423432004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42344
42345 Make the source code of the menu interface more readable.
f19dbdb7 42346
18aa81f2 42347 * normal/menu.c: Include grub/mm.h.
42348 (TERM_WIDTH): New macro.
42349 (TERM_HEIGHT): Likewise.
42350 (TERM_INFO_HEIGHT): Likewise.
42351 (TERM_MARGIN): Likewise.
42352 (TERM_SCROLL_WIDTH): Likewise.
42353 (TERM_TOP_BORDER_Y): Likewise.
42354 (TERM_LEFT_BORDER_X): Likewise.
42355 (TERM_BORDER_WIDTH): Likewise.
42356 (TERM_MESSAGE_HEIGHT): Likewise.
42357 (TERM_BORDER_HEIGHT): Likewise.
42358 (TERM_NUM_ENTRIES): Likewise.
42359 (TERM_FIRST_ENTRY_Y): Likewise.
42360 (TERM_ENTRY_WIDTH): Likewise.
42361 (TERM_CURSOR_X): Likewise.
42362 (draw_border): Use macros instead of magic numbers.
42363 (print_entry): Likewise.
42364 (print_entries): Likewise.
42365 (run_menu): Likewise. Also, handle the key 'e'.
42366 (run_menu_entry): Ignore empty command lines.
42367 (print_message): Added a new argument EDIT. If EDIT is true,
42368 print a different message.
42369 (init_page): Likewise.
42370 (edit_menu_entry): New function. Not implemented yet.
42371
b47efe30 423722004-09-17 Marco Gerards <metgerards@student.han.nl>
42373
42374 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42375 can be loaded from normal mode.
f19dbdb7 42376
b47efe30 42377 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42378 `multiboot.mod'.
42379 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42380 (multiboot_mod_CFLAGS): New variables.
42381 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42382 * loader/i386/pc/multiboot_normal.c: Likewise.
42383
b47efe30 42384 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42385 attribute `unused'.
f19dbdb7 42386
b47efe30 42387 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42388 `fdiro' to read the mode information from instead of `diro'.
42389
42390 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42391 looking up a symlink.
42392
42393 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42394 macro.
42395 * normal/command.c (grub_command_execute): Don't parse the
42396 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42397 flags of the command.
42398
42399 * normal/menu.c (grub_menu_run): Fix typo.
42400
da75ac71 424012004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42402
42403 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42404
42405 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42406 `y + 1' instead of `y - 1'.
42407
42408 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42409
062b24c2 424102004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42411
42412 From Hollis Blanchard <hollis@penguinppc.org>:
42413 * kern/misc.c (memmove): New alias for grub_memmove.
42414 (memcmp): New alias for grub_memcmp.
42415 (memset): New alias for grub_memset.
f19dbdb7 42416 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42417 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42418 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42419 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42420
8ddad845 424212004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42422
42423 Added normal mode command `chainloader' as module chain.mod, which
42424 depends on normal.mod and _chain.mod.
f19dbdb7 42425
8ddad845 42426 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42427 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42428 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42429 Deleted prototype.
42430 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42431 but arguments parsing moved to ...
42432 (grub_chainloader_cmd): ... here. New function.
42433 * include/grub/i386/pc/chainloader.h: New file.
42434 * loader/i386/pc/chainloader_normal.c: Likewise.
42435
2c1f4ce3 424362004-09-11 Marco Gerards <metgerards@student.han.nl>
42437
42438 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42439 (grub_mkimage_LDFLAGS): Likewise.
42440 (grub_emu_SOURCES): Likewise.
42441 (kernel_img_HEADERS): Added fshelp.h.
42442 * fs/ext2.c: Include <grub/fshelp.h>.
42443 (FILETYPE_REG): New macro.
42444 (FILETYPE_INO_REG): Likewise.
42445 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42446 Changed all users.
42447 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42448 all users.
42449 (grub_fshelp_node): New struct.
42450 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42451 to a pointer.
42452 (grub_ext2_get_file_block): Removed function.
42453 (grub_ext2_read_block): New function.
42454 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42455 This function was written.
42456 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42457 (grub_ext2_find_file): Removed function.
42458 (grub_ext2_read_symlink): New function.
42459 (grub_ext2_iterate_dir): Likewise.
42460 (grub_ext2_open): Rewritten.
42461 (grub_ext2_dir): Rewritten.
42462 * include/grub/fshelp.h: New file.
42463 * fs/fshelp.c: Likewise.
42464
3c52136a 424652004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42466
42467 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42468 (print_message): Add a missing newline.
42469 (run_menu): Added timeout support.
42470 (run_menu_entry): New local function.
42471 (grub_menu_run): Added support for booting.
42472
42473 * kern/loader.c (grub_loader_is_loaded): New function.
42474
42475 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42476 (grub_get_rtc): Exported.
42477
42478 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42479 (grub_get_rtc): Exported.
42480
42481 * include/grub/normal.h (struct grub_command_list): Remove
42482 constant from the member `command'.
42483
42484 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42485
42486 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42487
42488 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42489
aa033560 424902004-08-28 Marco Gerards <metgerards@student.han.nl>
42491
42492 Add support for the JFS filesystem.
42493
42494 * fs/jfs.c: New file.
42495 * include/grub/fs.h (grub_jfs_init): New prototype.
42496 (grub_jfs_fini): New prototype.
42497 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42498 (grub_emu_SOURCES): Likewise.
42499 (pkgdata_MODULES): Add jfs.mod.
42500 (jfs_mod_SOURCES): New variable.
42501 (jfs_mod_CFLAGS): Likewise.
42502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42503 (grubof_SOURCES): Likewise.
42504 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42505
42506 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42507 endian to the host endian.
42508 (grub_fat_utf16_to_utf8): Move function from there...
42509 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42510 the endianness of the source string anymore.
aa033560 42511 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42512
94bc45af 425132004-08-24 Marco Gerards <metgerards@student.han.nl>
42514
42515 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42516 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42517 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42518 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42519
94bc45af 42520 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42521 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42522 for `node_found' and `it_dir'.
42523 (grub_hfs_dir): Add prototype for `dir_hook'.
42524
42525 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42526 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42527 and `indir32' to silence a gcc warning.
42528
42529 * include/grub/fs.h (grub_hfs_init): New prototype.
42530 (grub_hfs_fini): Likewise.
f19dbdb7 42531
42532
97543f08 425332004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42534
42535 Each disk device has its own id now. This is useful to make use
42536 of multiple disk devices.
f19dbdb7 42537
97543f08 42538 * include/grub/disk.h (grub_disk_dev_id): New enum.
42539 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42540 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42541
42542 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42543 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42544
42545 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42546 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42547
42548 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42549 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42550
42551 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42552 "id" which is used by the cache manager.
42553
42554 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42555 of just "GRUB".
42556
64372eb4 425572004-08-18 Marco Gerards <metgerards@student.han.nl>
42558
42559 * fs/hfs.c: New file.
42560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42561 (grub_emu_SOURCES): Likewise.
42562 (pkgdata_MODULES): Add hfs.mod.
42563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42564 (grubof_SOURCES): Likewise.
42565 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42566
42567 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42568 * kern/misc.c (grub_strncasecmp): Add function.
42569
cc61b58f 425702004-08-14 Marco Gerards <metgerards@student.han.nl>
42571
42572 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42573 with parentheses.
42574
42575 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42576 (grub_ext2_dir): In case the directory entry type is unknown, read
42577 it from the inode.
42578
0ef123f6 425792004-08-02 Peter Bruin <pjbruin@dds.nl>
42580
42581 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42582 grub_load_linux instead of grub_rescue_cmd_linux as second
42583 argument of grub_rescue_register_command.
42584
42585 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42586
a447c5df 425872004-07-27 Marco Gerards <metgerards@student.han.nl>
42588
42589 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42590 function.
42591 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42592 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42593 `loader/powerpc/ieee1275/linux.c',
42594 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42595 * include/grub/powerpc/ieee1275/ieee1275.h
42596 (grub_ieee1275_release): New prototype.
42597 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42598 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42599 normal, boot, linux and linux_normal.
42600 * loader/powerpc/ieee1275/linux.c: New file.
42601 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42602
5a9e3546 426032004-07-12 Marco Gerards <metgerards@student.han.nl>
42604
42605 * normal/arg.c (grub_arg_parse): Correct error handling after
42606 reallocating the argumentlist (check if `argl' is not null instead
42607 of checking if `args' is not null).
42608 * kern/mm.c (grub_realloc): Return the same pointer when using the
42609 same region, instead of returning the header address.
42610
e15199cb 426112004-07-11 Marco Gerards <metgerards@student.han.nl>
42612
42613 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42614 one block instead of two when looking for the initial partition.
42615 (grub_partition_probe): Initialize the local variable `p' with 0.
42616 Use base 10 for the grub_strtoul call.
42617 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42618 need for one local variable.
42619 (grub_strtoul): Don't add the new value to `num', instead of that
42620 just assign it.
42621
020616c2 426222004-07-11 Marco Gerards <metgerards@student.han.nl>
42623
42624 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42625 (pxeboot_img_SOURCES): New variable.
42626 (pxeboot_img_ASFLAGS): Likewise.
42627 (pxeboot_img_LDFLAGS): Likewise.
42628 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42629 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42630 <lode_leroy@hotmail.com>.
42631
6c51eb64 426322004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42633
42634 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
42635 there was no input.
42636
cfb12aff 426372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42638
42639 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
42640 the history buffer logic.
42641
6eabba74 426422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42643
42644 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
42645 (FILETYPE_INO_SYMLINK): New macros.
42646 (grub_ext2_find_file): Check if the node is a directory using the
42647 inode stat information instead of using the filetype in the
42648 dirent. Exclude the first character of an absolute symlink.
42649 (grub_ext2_dir): Mask out the filetype part of the mode member of
42650 the inode.
42651
66e19ef8 426522004-05-24 Marco Gerards <metgerards@student.han.nl>
42653
42654 Add support for UFS version 1 and 2. Add support for the minix
42655 filesystem version 1 and 2, both the variants with 14 and 30 long
42656 filenames.
f19dbdb7 42657
66e19ef8 42658 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
42659 fs/minix.c.
42660 (grub_emu_SOURCES): Likewise.
42661 (pkgdata_MODULES): Add ufs.mod and minix.mod.
42662 (ufs_mod_SOURCES): New variable.
42663 (ufs_mod_CFLAGS): Likewise.
42664 (minix_mod_SOURCES): Likewise.
42665 (minix_mod_CFLAGS): Likewise.
42666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
42667 fs/minix.c.
42668 (grubof_SOURCES): Likewise.
42669 * fs/ufs.c: New file.
42670 * fs/minix.c: New file.
42671 * include/grub/fs.h (grub_ufs_init): New prototype.
42672 (grub_ufs_fini): Likewise.
42673 (grub_minix_init): Likewise.
42674 (grub_minix_fini): Likewise.
42675 * util/grub-emu.c (main): Initialize and deinitialize UFS and
42676 minix fs.
42677
cc2e748a 426782004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
42679
42680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
42681 commands/ls.c, commands/terminal.c, commands/boot.c,
42682 commands/cmp.c and commands/cat.c.
42683 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
42684
42685 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
42686 "env.h"
42687
4b13b216 426882004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42689
42690 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
42691 and grub_, respectively. Because the conversion is trivial and
42692 mechanical, I omit the details here. Please refer to the CVS
42693 if you need more information.
42694
6a142551 426952004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42696
42697 * include/pupa: Renamed to ...
42698 * include/grub: ... this.
42699 * util/i386/pc/pupa-mkimage.c: Renamed to ...
42700 * util/i386/pc/grub-mkimage.c: ... this.
42701 * util/i386/pc/pupa-setup.c: Renamed to ...
42702 * util/i386/pc/grub-setup.c: ... this.
42703 * util/pupa-emu.c: Renamed to ...
42704 * util/grub-emu.c: ... this.
42705
e56cdf21 427062004-03-29 Marco Gerards <metgerards@student.han.nl>
42707
42708 Add support for the newworld apple macintosh (PPC). This has been
42709 tested on the powerbook 2000 only. It only adds support for
42710 generic ieee1275 functions, console and disk support. This should
42711 be easy to port to other architectures with support for Open
42712 Firmware.
f19dbdb7 42713
e56cdf21 42714 * configure.ac: Accept the powerpc as host_cpu. In the case of
42715 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
42716 specific tests are only executed while building for the i386.
42717 Inverse test for crosscompile.
42718 * genmk.rb (Utility): Allow assembler files.
42719 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
42720 * conf/powerpc-ieee1275.rmk: New file.
42721 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
42722 * disk/powerpc/ieee1275/partition.c: Likewise.
42723 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
42724 * include/pupa/powerpc/ieee1275/console.h: Likewise.
42725 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
42726 * include/pupa/powerpc/ieee1275/time.h: Likewise.
42727 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
42728 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
42729 * include/pupa/powerpc/ieee1275/loader.h
42730 * include/pupa/powerpc/setjmp.h: Likewise.
42731 * include/pupa/powerpc/types.h: Likewise.
42732 * kern/powerpc/ieee1275/init.c: Likewise.
42733 * kern/powerpc/ieee1275/openfw.c: Likewise.
42734 * term/powerpc/ieee1275/ofconsole.c: Likewise.
42735
42736 These files were written by Johan Rydberg
42737 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 42738
e56cdf21 42739 * boot/powerpc/ieee1275/cmain.c: New file.
42740 * boot/powerpc/ieee1275/crt0.S: Likewise.
42741 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
42742 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
42743
8c8cc205 427442004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
42745
42746 * Makefile.in: Update copyright.
42747 * genmodsrc.sh: Likewise.
42748 * gensymlist.sh: Likewise.
42749 * term/i386/pc/vga.c: Indent correctly.
42750
42751 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
42752 bugreporting address.
42753 * util/i386/pc/pupa-setup.c (usage): Likewise,
42754 (main): Call pupa_ext2_init and pupa_ext2_fini.
42755
f19dbdb7 42756 * fs/fat.c (log2): Renamed to ...
8c8cc205 42757 (fat_log2): ... this.
42758 All callers changed.
42759 * kern/misc.c (memcpy): Alias to pupa_memmove.
42760 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
42761 lvalue cast.
42762 * util/console.c (pupa_ncurses_fini): Return 0.
42763
42764 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
42765 Move fail label here.
42766 [__GNU__]: Don't warn when using stat.
42767 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
42768 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
42769 long int. Use strtol instead of strtoul.
f19dbdb7 42770
db1771cf 427712004-03-14 Marco Gerards <metgerards@student.han.nl>
42772
42773 * commands/boot.c: New file.
42774 * commands/cat.c: Likewise.
42775 * commands/cmp.c: Likewise.
42776 * commands/ls.c: Likewise.
42777 * commands/terminal.c: Likewise.
42778 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
42779 (pupa_register_command): Changed interface to match the new
42780 argument parser.
42781 (pupa_command_execute): Changed (almost rewritten) so it uses
42782 pupa_split_command. Added support for setting variables using the
42783 syntax `foo=bar'.
42784 (rescue_command): Changed to work with the new argument parser.
42785 (terminal_command): Moved from here to commands/terminal.c.
42786 (set_command): New function.
42787 (unset_command): New function.
42788 (insmod_command): New function.
42789 (rmmod_command): New function.
42790 (lsmod_command): New function.
42791 (pupa_command_init): Don't initialize the command terminal
42792 anymore. Initialize the commands set, unset, insmod, rmmod and
42793 lsmod.
42794 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
42795 (kernel_img_HEADERS): Add arg.h and env.h.
42796 (pupa_mkimage_LDFLAGS): Add kern/env.c.
42797 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
42798 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
42799 normal/arg.c.
42800 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
42801 terminal.mod.
42802 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
42803 (boot_mod_SOURCES): New variable.
42804 (terminal_mod_SOURCES): Likewise.
42805 (ls_mod_SOURCES): Likewise.
42806 (cmp_mod_SOURCES): Likewise.
42807 (cat_mod_SOURCES): Likewise.
42808
42809 * normal/arg.c: New file.
42810 * kern/env.c: Likewise.
42811 * include/pupa/arg.h: Likewise.
42812 * include/pupa/env.h: Likewise.
42813 * font/manager.c (font_command): Changed to match argument parsing
42814 interface changes.
42815 (PUPA_MOD_INIT): Likewise.
42816 * hello/hello.c (pupa_cmd_hello): Likewise.
42817 (PUPA_MOD_INIT): Likewise.
42818 * include/pupa/disk.h: Include <pupa/device.h>.
42819 (pupa_print_partinfo): New prototype.
42820 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
42821 (pupa_dl_get_prefix): Likewise.
42822 * include/pupa/misc.h: Include <pupa/err.h>.
42823 (pupa_isgraph): New prototype.
42824 (pupa_isdigit): Likewise.
42825 (pupa_split_cmdline): Likewise.
42826 * include/pupa/normal.h: Include <pupa/arg.h>.
42827 (pupa_command): Changed the prototype of the member `func' to
42828 match the argument parsing interface. Added member `options'.
42829 (pupa_register_command): Updated to match function.
42830 (pupa_arg_parse): New prototype.
42831 (pupa_hello_init) [PUPA_UTIL]: New prototype.
42832 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
42833 (pupa_ls_init) [PUPA_UTIL]: Likewise.
42834 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
42835 (pupa_cat_init) [PUPA_UTIL]: Likewise.
42836 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
42837 (pupa_boot_init) [PUPA_UTIL]: Likewise.
42838 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
42839 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
42840 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
42841 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
42842 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
42843 * kern/disk.c: Include <pupa/file.h>.
42844 (pupa_print_partinfo): New function.
42845 * kern/dl.c: Include <pupa/env.h>.
42846 (pupa_dl_dir): Variable removed.
42847 (pupa_dl_load): Use the environment variable `prefix' instead of
42848 the variable pupa_dl_dir.
42849 (pupa_dl_set_prefix): Function removed.
42850 (pupa_dl_get_prefix): Likewise.
42851 * kern/i386/pc/init.c: Include <pupa/env.h>.
42852 (pupa_machine_init): Use the environment variable `prefix' instead of
42853 using pupa_dl_set_prefix to set the prefix.
42854 * kern/main.c: Include <pupa/env.h>.
42855 (pupa_set_root_dev): Use the environment variable `prefix' instead of
42856 using pupa_dl_get_prefix to get the prefix.
42857 * kern/misc.c: Include <pupa/env.h>.
42858 (pupa_isdigit): New function.
42859 (pupa_isgraph): Likewise.
42860 (pupa_ftoa): Likewise.
42861 (pupa_vsprintf): Added support for printing values of the type
42862 `double'. Make it possible to format variable output when using
42863 formatting like `%1.2%f'.
42864 (pupa_split_cmdline): New function.
42865 * kern/rescue.c: Include <pupa/env.h>.
42866 (next_word): Removed function.
42867 (pupa_rescue_cmd_prefix): Likewise.
42868 (pupa_rescue_cmd_set): New function.
42869 (pupa_rescue_cmd_unset): New function.
42870 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
42871 split the command line instead of splitting it here. Added
42872 support for setting variables using the syntax `foo=bar'. Don't
42873 initialize the prefix command anymore. Initialized the set and
42874 unset commands.
42875 * normal/cmdline.c: Include <pupa/env.h>.
42876 (pupa_tab_complete): Added prototypes for print_simple_completion,
42877 print_partition_completion, add_completion, iterate_commands,
42878 iterate_dev, iterate_part and iterate_dir. Moved code to print
42879 partition information from here to kern/disk.c.
fe6b695a 42880 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 42881 * normal/main.c: Include <pupa/env.h>.
42882 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
42883 instead of using pupa_dl_get_prefix to get the prefix.
42884 * term/i386/pc/vga.c: Include <pupa/arg.h>.
42885 (check_vga_mem): Cast pointers to `void *' to silence a gcc
42886 warning.
42887 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
42888 (pupa_vga_setcolor): Declare unused variables with `__attribute__
42889 ((unused))' to silence a gcc warning.
42890 (pupa_vga_setcolor): Likewise.
42891 (debug_command): Changed to match argument parsing
42892 interface changes.
42893 * util/pupa-emu.c: Include <pupa/env.h>.
42894 (options): Added 0's for unused fields to silence a gcc warning.
42895 (argp): Likewise.
42896 (main): Use the environment variable `prefix' instead of using
42897 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
42898 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
42899 and terminal.
42900
42901 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
42902 * util/misc.c: Include <malloc.h>.
42903 (pupa_malloc): Rewritten so errors are correctly reported.
42904 (pupa_realloc): Likewise.
42905 (pupa_memalign): Likewise.
42906 (pupa_mm_init_region): Declare unused variables with
42907 `__attribute__ ((unused))' to silence a gcc warning.
42908 * normal/i386/setjmp.S: Remove tab at the end of the file to
42909 silence a gcc warning.
42910 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
42911 variables with `__attribute__ ((unused))' to silence a gcc
42912 warning.
42913 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
42914 local variable i unsigned to silence a gcc warning.
42915
42916 * kern/term.c: Include <pupa/misc.h>.
42917 (pupa_more_lines): New variable.
42918 (pupa_more): Likewise.
42919 (pupa_putcode): When the pager is active pause at the end of every
42920 screen.
42921 (pupa_set_more): New function.
42922 * include/pupa/term.h (pupa_set_more): New prototype.
42923
42924
3b1139cb 429252004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
42926
42927 Now this project is GRUB 2 rather than PUPA. The location of
42928 the CVS repository was moved to GRUB's.
f19dbdb7 42929
3b1139cb 42930 * configure.ac: Use bug-grub as the reporting address.
42931 Use GRUB instead of PUPA.
42932 Change the version number to 1.90.
42933
8367695c 429342004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
42935
42936 * genkernsyms.sh: Updated copyright information.
42937 * genmk.rb: Likewise.
42938 * genmodsrc.sh: Likewise.
42939 * gensymlist.sh: Likewise.
42940 * boot/i386/pc/boot.S: Likewise.
42941 * boot/i386/pc/diskboot.S: Likewise.
42942 * disk/i386/pc/biosdisk.c: Likewise.
42943 * disk/i386/pc/partition.c: Likewise.
42944 * font/manager.c: Likewise.
42945 * fs/ext2.c: Likewise.
42946 * fs/fat.c: Likewise.
42947 * include/pupa/boot.h: Likewise.
42948 * include/pupa/device.h: Likewise.
42949 * include/pupa/disk.h: Likewise.
42950 * include/pupa/dl.h: Likewise.
42951 * include/pupa/elf.h: Likewise.
42952 * include/pupa/err.h: Likewise.
42953 * include/pupa/file.h: Likewise.
42954 * include/pupa/font.h: Likewise.
42955 * include/pupa/fs.h: Likewise.
42956 * include/pupa/kernel.h: Likewise.
42957 * include/pupa/loader.h: Likewise.
42958 * include/pupa/misc.h: Likewise.
42959 * include/pupa/mm.h: Likewise.
42960 * include/pupa/net.h: Likewise.
42961 * include/pupa/normal.h: Likewise.
42962 * include/pupa/rescue.h: Likewise.
42963 * include/pupa/setjmp.h: Likewise.
42964 * include/pupa/symbol.h: Likewise.
42965 * include/pupa/term.h: Likewise.
42966 * include/pupa/types.h: Likewise.
42967 * include/pupa/i386/setjmp.h: Likewise.
42968 * include/pupa/i386/types.h: Likewise.
42969 * include/pupa/i386/pc/biosdisk.h: Likewise.
42970 * include/pupa/i386/pc/boot.h: Likewise.
42971 * include/pupa/i386/pc/console.h: Likewise.
42972 * include/pupa/i386/pc/init.h: Likewise.
42973 * include/pupa/i386/pc/kernel.h: Likewise.
42974 * include/pupa/i386/pc/linux.h: Likewise.
42975 * include/pupa/i386/pc/loader.h: Likewise.
42976 * include/pupa/i386/pc/memory.h: Likewise.
42977 * include/pupa/i386/pc/multiboot.h: Likewise.
42978 * include/pupa/i386/pc/partition.h: Likewise.
42979 * include/pupa/i386/pc/time.h: Likewise.
42980 * include/pupa/i386/pc/vga.h: Likewise.
42981 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
42982 * include/pupa/util/getroot.h: Likewise.
42983 * include/pupa/util/misc.h: Likewise.
42984 * include/pupa/util/resolve.h: Likewise.
42985 * kern/device.c: Likewise.
42986 * kern/disk.c: Likewise.
42987 * kern/dl.c: Likewise.
42988 * kern/err.c: Likewise.
42989 * kern/file.c: Likewise.
42990 * kern/fs.c: Likewise.
42991 * kern/loader.c: Likewise.
42992 * kern/main.c: Likewise.
42993 * kern/misc.c: Likewise.
42994 * kern/mm.c: Likewise.
42995 * kern/rescue.c: Likewise.
42996 * kern/term.c: Likewise.
42997 * kern/i386/dl.c: Likewise.
42998 * kern/i386/pc/init.c: Likewise.
42999 * kern/i386/pc/lzo1x.S: Likewise.
43000 * kern/i386/pc/startup.S: Likewise.
43001 * loader/i386/pc/chainloader.c: Likewise.
43002 * loader/i386/pc/linux.c: Likewise.
43003 * loader/i386/pc/multiboot.c: Likewise.
43004 * normal/cmdline.c: Likewise.
43005 * normal/command.c: Likewise.
43006 * normal/main.c: Likewise.
43007 * normal/menu.c: Likewise.
43008 * normal/i386/setjmp.S: Likewise.
43009 * term/i386/pc/console.c: Likewise.
43010 * term/i386/pc/vga.c: Likewise.
43011 * util/console.c: Likewise.
43012 * util/genmoddep.c: Likewise.
43013 * util/misc.c: Likewise.
43014 * util/pupa-emu.c: Likewise.
43015 * util/resolve.c: Likewise.
43016 * util/unifont2pff.rb: Likewise.
43017 * util/i386/pc/biosdisk.c: Likewise.
43018 * util/i386/pc/getroot.c: Likewise.
43019 * util/i386/pc/pupa-mkimage.c: Likewise.
43020 * util/i386/pc/pupa-setup.c: Likewise.
43021
e6eced71 430222004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43023
43024 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43025 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43026 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43027 reading and reset it after reading.
43028 (pupa_ext2_close): Return PUPA_ERR_NONE.
43029
43030 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43031 Correct value.
43032 (struct linux_kernel_header): Add kernel_version and
43033 initrd_addr_max.
43034 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43035 pupa_file_read succeeds.
43036 (pupa_rescue_cmd_initrd): Implement.
43037
5aded270 430382003-12-03 Marco Gerards <metgerards@student.han.nl>
43039
43040 * fs/ext2.c (pupa_ext2_label): New function.
43041 (pupa_ext2_fs): Added label.
43042 * fs/fat.c (pupa_fat_label): New function.
43043 (pupa_fat_fs): Added label.
43044 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43045
43046 * kern/misc.c (pupa_strndup): New function.
43047 * include/pupa/misc.h (pupa_strndup): New prototype.
43048
43049 * include/pupa/normal.h: Include <pupa/err.h>.
43050 (pupa_set_history): New prototype.
43051 (pupa_iterate_commands): New prototype.
43052 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43053 <pupa/disk.h>, <pupa/file.h>.
43054 (hist_size): New variable.
43055 (hist_lines): Likewise.
43056 (hist_end): Likewise.
43057 (hist_used): Likewise.
43058 (pupa_set_history): New function.
43059 (pupa_history_get): Likewise.
43060 (pupa_history_add): Likewise.
43061 (pupa_history_replace): Likewise.
43062 (pupa_tab_complete): Likewise.
43063 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43064 completion shows partitionnames while completing partitions, this
43065 feature was suggested by Jeff Bailey.
43066 * normal/command.c (pupa_iterate_commands): New function.
43067 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43068 (pupa_normal_init): Initialize history buffer.
43069 (PUPA_MOD_INIT): Likewise.
43070 (pupa_normal_fini): Free the history buffer.
43071 (PUPA_MOD_FINI): Likewise.
43072
43073 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43074 key.
43075
43076 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43077 * configure.ac [i386]: Check for regparam bug.
43078 (NESTED_FUNC_ATTR) [! i386]: Defined.
43079
1f7315a3 430802003-11-17 Marco Gerards <metgerards@student.han.nl>
43081
43082 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43083 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43084 (pupa_emu_SOURCES): New variable.
43085 (pupa_emu_LDFLAGS): Likewise.
43086 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43087 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43088 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43089 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43090 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43091 (pupa_jmp_buf): New typedef.
43092 (pupa_setjmp) [PUPA_UTIL]: New macro.
43093 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43094 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43095 (pupa_refresh): New prototype.
43096 * include/pupa/util/getroot.h: New file.
43097 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43098 it.
43099 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43100 (pupa_rescue_cmd_cat): Likewise.
43101 (pupa_rescue_cmd_ls): Likewise.
43102 (pupa_rescue_cmd_testload): Likewise.
43103 (pupa_rescue_cmd_lsmod): Likewise.
43104 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43105 * normal/menu.c (run_menu): Likewise.
43106 * kern/term.c (pupa_cls): Likewise.
43107 (pupa_refresh): New function.
43108 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43109 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43110 * util/console.c: New file.
f19dbdb7 43111
1f7315a3 43112 * util/i386/pc/getroot.c: New file.
43113 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43114 (pupa_putchar): New function.
43115 (pupa_refresh): Likewise.
43116 (xgetcwd): Function moved to ...
43117 (strip_extra_slashes): Likewise.
43118 (get_prefix): Likewise.
f19dbdb7 43119 * util/i386/pc/getroot.c: ... here.
1f7315a3 43120 (find_root_device): Function moved and renamed to...
43121 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43122 Changed all callers.
43123 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43124 and renamed to...
43125 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43126 Changed all callers.
43127 * util/misc.c (pupa_memalign): New function.
43128 (pupa_mm_init_region): Likewise.
43129 (pupa_register_exported_symbols): Likewise.
43130 (pupa_putchar): Function removed.
43131 * util/pupa-emu.c: New file.
43132
9a5c1ade 431332003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43134
43135 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43136 (_multiboot_mod_SOURCES): New variable.
43137 (_multiboot_mod_CFLAGS): Likewise.
43138 * loader/i386/pc/multiboot.c: New file.
43139 * include/pupa/i386/pc/multiboot.h: Likewise.
43140 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43141 (pupa_multiboot_real_boot): New function.
43142 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43143 (pupa_multiboot_real_boot): New prototype.
43144 (pupa_rescue_cmd_multiboot): Likewise
43145 (pupa_rescue_cmd_module): Likewise.
43146
43147 * kern/loader.c (pupa_loader_set): Continue when
43148 pupa_loader_unload_func() fails.
43149 (pupa_loader_unset): New function.
43150 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43151
43152 * kern/misc.c (pupa_stpcpy): New function.
43153 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43154
8e72a9c0 431552003-11-12 Marco Gerards <metgerards@student.han.nl>
43156
43157 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43158 for available extensions.
43159
43160 * include/pupa/i386/pc/time.h: New file.
43161 * kern/disk.c: Include <pupa/machine/time.h>.
43162 (PUPA_CACHE_TIMEOUT): New macro.
43163 (pupa_last_time): New variable.
43164 (pupa_disk_open): Flush the cache when there was a timeout.
43165 (pupa_disk_close): Reset the timer.
43166 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43167 pupa_currticks.
43168 * util/misc.c: Include <sys/times.h>
43169 (pupa_get_rtc): New function.
43170
c4adbd32 431712003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43172
43173 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43174 as blocks.
43175 (pupa_ext2_get_file_block): Use blocks member.
43176
43177 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43178 first block. Return -1 instead of pupa_errno on error.
43179
bfd30f06 431802003-10-27 Marco Gerards <metgerards@student.han.nl>
43181
43182 * README: In the pupa-mkimage example use _chain instead of chain
43183 and ext2 instead of fat.
43184 * TODO: Replace ext2fs with jfs as an example. Add an item for
43185 adding journal playback for ext2fs.
43186 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43187 (pkgdata_MODULES): Added ext2.mod.
43188 (ext2_mod_SOURCES): New variable.
43189 (ext2_mod_CFLAGS): Likewise.
43190 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43191 * include/pupa/misc.h (pupa_strncpy): New prototype.
43192 (pupa_strcat): Likewise.
43193 (pupa_strncmp): Likewise.
43194 * kern/misc.c (pupa_strcat): Enable function.
43195 (pupa_strncpy): New function.
43196 (pupa_strncmp): Likewise.
43197 * fs/ext2.c: New file.
f19dbdb7 43198
bfd30f06 43199 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43200 when the read failed before retrying.
43201 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43202 (_FILE_OFFSET_BITS): Likewise.
43203 * configure.ac: Added AC_SYS_LARGEFILE.
43204
98d15063 432052003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43206
43207 * genmk.rb (PModule#rule): Make sure to get only symbol names
43208 from the output of nm.
59cad637 43209 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43210
18d9c7cd 432112003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43212
43213 I forgot to check in these changes for a long time. This adds
43214 incomplete support for VGA console, and this is still very
43215 buggy. Also, a lot of consideration is required for I18N,
43216 UNICODE, and VGA font issues. Therefore, assume that this is
43217 such that "better than nothing".
f19dbdb7 43218
18d9c7cd 43219 * font/manager.c: New file.
43220 * include/pupa/font.h: Likewise.
43221 * include/pupa/i386/pc/vga.h: Likewise.
43222 * term/i386/pc/vga.c: Likewise.
43223 * util/unifont2pff.rb: Likewise.
43224
43225 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43226 (pkgdata_MODULES): Added vga.mod and font.mod.
43227 (vga_mod_SOURCES): New variables.
43228 (vga_mod_CFLAGS): Likewise.
43229 (font_mod_SOURCES): Likewise.
43230 (font_mod_CFLAGS): Likewise.
43231
43232 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43233
43234 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43235 (struct pupa_term): Added init and fini.
18d9c7cd 43236 Changed the argument of putchar to pupa_uint32_t.
43237
43238 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43239 (pupa_console_real_putchar): New prototype.
43240 (pupa_console_putchar): Removed.
43241 (pupa_console_checkkey): Exported.
43242 (pupa_console_getkey): Likewise.
43243
43244 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43245 characters.
43246
43247 * kern/term.c (pupa_term_set_current): Rewritten.
43248 (pupa_putchar): Likewise.
43249 (pupa_putcode): New function.
43250
43251 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43252 (pupa_console_real_putchar): ... this.
43253 (pupa_vga_set_mode): New function.
43254 (pupa_vga_get_font): Likewise.
43255
43256 * normal/command.c: Include pupa/term.h.
43257 (terminal_command): New function.
43258 (pupa_command_init): Register the command "terminal".
43259
43260 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43261 (DISP_UP): Likewise.
43262 (DISP_RIGHT): Likewise.
43263 (DISP_DOWN): Likewise.
43264 (DISP_HLINE): Likewise.
43265 (DISP_VLINE): Likewise.
43266 (DISP_UL): Likewise.
43267 (DISP_UR): Likewise.
43268 (DISP_LL): Likewise.
43269 (DISP_LR): Likewise.
43270
43271 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43272
977329f5 432732003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43274
43275 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43276 FIX. Reverse the path_list.
43277
43278 * include/pupa/normal.h: Export pupa_register_command and
43279 pupa_unregister_command.
43280
43281 * hello/hello.c (pupa_cmd_hello): New module.
43282 * conf/i386-pc.rmk: Added hello.mod.
43283
1f5ab428 432842003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43285
43286 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43287
1f5ab428 43288 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43289 (compress_kernel): New variable.
43290 (generate_image): Heavily modified to support compressing a
43291 large part of the core image.
43292
43293 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43294 leak.
43295 (pupa_util_load_image): New function.
43296
43297 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43298 (pupa_compressed_size): New variable.
43299 (codestart): Enable Gate A20 here.
43300 Decompress the compressed part of the core image.
43301 Rearrange the code to put functions and variables which are
43302 required for initialization in the non-compressed part.
43303 Include lzo1x.S.
43304
43305 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43306 here.
43307
43308 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43309
f19dbdb7 43310 * include/pupa/i386/pc/kernel.h
1f5ab428 43311 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43312 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43313 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43314 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43315 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43316
43317 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43318
43319 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43320 (Utility#rule): Likewise.
43321
43322 * configure.ac: Check if LZO is available.
43323
ce5bf700 433242003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43325
43326 * include/pupa/normal.h: New file.
43327 * include/pupa/setjmp.h: Likewise.
43328 * include/pupa/i386/setjmp.h: Likewise.
43329 * normal/cmdline.c: Likewise.
43330 * normal/command.c: Likewise.
43331 * normal/main.c: Likewise.
43332 * normal/menu.c: Likewise.
43333 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43334
ce5bf700 43335 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43336 (pupa_rescue_cmd_initrd): Likewise.
43337
43338 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43339 Likewise.
43340
43341 * kern/i386/pc/startup.S (translation_table): New variable.
43342 (translate_keycode): New function.
43343 (pupa_console_getkey): Call translate_keycode.
43344
43345 * kern/rescue.c (attempt_normal_mode): New function.
43346 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43347 it failed, print a message.
43348
43349 * kern/mm.c (pupa_real_malloc): Print more information when a
43350 free magic is broken.
43351 (pupa_free): If the first free header is not free actually, set
43352 it to P.
43353
43354 * kern/main.c (pupa_load_normal_mode): Just load the module
43355 "normal".
43356 (pupa_main): Don't print the message
43357 "Entering into rescue mode..." here.
43358
43359 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43360 Declared.
43361 (pupa_rescue_cmd_initrd): Likewise.
43362 (pupa_rescue_cmd_initrd): Likewise.
43363
43364 * include/pupa/symbol.h (FUNCTION): Specify the type.
43365 (VARIABLE): Likewise.
43366
43367 * include/pupa/err.h (pupa_err_t): Added
43368 PUPA_ERR_UNKNOWN_COMMAND.
43369
43370 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43371 (pupa_dl_get_prefix): Likewise.
43372
43373 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43374 Added _chain.mod and _linux.mod instead of chain.mod and
43375 linux.mod.
43376 (chain_mod_SOURCES): Renamed to ...
43377 (_chain_mod_SOURCES): ... this.
43378 (chain_mod_CFLAGS): Renamed to ...
43379 (_chain_mod_CFLAGS): ... this.
43380 (linux_mod_SOURCES): Renamed to ...
43381 (_linux_mod_SOURCES): ... this.
43382 (linux_mod_CFLAGS): Renamed to ...
43383 (_linux_mod_CFLAGS): ... this.
43384 (normal_mod_SOURCES): New variable.
43385 (normal_mod_CFLAGS): Likewise.
43386 (normal_mod_ASFLAGS): Likewise.
43387
433882003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43389
43390 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43391 possible.
43392
fe6b695a 43393 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43394 recursively.
43395 (pupa_dl_unref): Unrefer depending modules recursively.
43396 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43397 a module is unloaded before one depending on that module is
43398 unloaded.
43399 (pupa_dl_unload): Unload depending modules explicitly,
43400 if possible.
43401
c04da074 434022003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43403
43404 * include/pupa/i386/pc/linux.h: New file.
43405 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43406
c04da074 43407 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43408 Removed.
43409 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43410 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43411 of PUPA_CHAINLOADER_BOOT_SECTOR.
43412
43413 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43414 (pupa_linux_prot_size): New variable.
43415 (pupa_linux_tmp_addr): Likewise.
43416 (pupa_linux_real_addr): Likewise.
43417 (pupa_linux_boot_zimage): New function.
43418 (pupa_linux_boot_bzimage): Likewise.
43419
43420 * kern/i386/pc/init.c (struct mem_region): New structure.
43421 (MAX_REGIONS): New macro.
43422 (mem_regions): New variable.
43423 (num_regions): Likewise.
43424 (pupa_os_area_addr): Likewise.
43425 (pupa_os_area_size): Likewise.
43426 (pupa_lower_mem): Likewise.
43427 (pupa_upper_mem): Likewise.
43428 (add_mem_region): New function.
43429 (compact_mem_regions): Likewise.
43430 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43431 the size of the conventional memory and that of so-called upper
43432 memory (before the first memory hole).
43433 Instead of adding each found region to free memory, use
43434 add_mem_region and add them after removing overlaps.
43435 Also, add only 1/4 of the upper memory to free memory. The rest
43436 is used for loading OS images. Maybe this is ad hoc, but this
43437 makes it much easier to relocate OS images when booting.
43438
43439 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43440 (pupa_enter_rescue_mode): Don't register initrd and module.
43441
43442 * kern/mm.c: Include pupa/dl.h.
43443
43444 * kern/main.c: Include pupa/file.h and pupa/device.h.
43445
43446 * kern/loader.c (pupa_loader_load_module_func): Removed.
43447 (pupa_loader_load_module): Likewise.
43448
43449 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43450 ``.o''.
43451
43452 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43453 (pupa_linux_tmp_addr): Likewise.
43454 (pupa_linux_real_addr): Likewise.
43455 (pupa_linux_boot_zimage): Likewise.
43456 (pupa_linux_boot_bzimage): Likewise.
43457
43458 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43459 (pupa_upper_mem): Likewise.
43460 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43461 module is too dangerous.
43462
43463 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43464 (pupa_os_area_size): Likewise.
43465 (pupa_loader_set): Remove the first argument. Loader doesn't
43466 manage modules or initrd any longer.
43467 (pupa_loader_load_module): Removed.
43468
43469 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43470 (linux_mod_SOURCES): New variable.
43471 (linux_mod_CFLAGS): Likewise.
43472
a13f9237 434732003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43474
43475 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43476 the length of a blocklist correctly.
43477
43478 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43479 Use ioctl only if the OS file is a block device.
43480 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43481 not very useful for normal files.
43482
43483 * kern/main.c (pupa_set_root_dev): New function.
43484 (pupa_load_normal_mode): Likewise.
43485 (pupa_main): Call those above.
43486
43487 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43488 pupa_uint16_t.
43489
43490 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43491
a5ffe966 434922003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43493
43494 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43495 (setup): Configure the installed partition information and the
43496 dl prefix.
43497
43498 * loader/i386/pc/chainloader.c (my_mod): New variable.
43499 (pupa_chainloader_unload): New function.
43500 (pupa_rescue_cmd_chainloader): Refer itself.
43501 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43502
43503 * kern/i386/pc/startup.S (install_partition): Removed.
43504 (version_string): Likewise.
43505 (config_file): Likewise.
43506 (pupa_install_dos_part): New variable.
43507 (pupa_install_bsd_part): Likewise.
43508 (pupa_prefix): Likewise.
43509 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43510
43511 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43512 and pupa/misc.h.
43513 (make_install_device): New function.
43514 (pupa_machine_init): Set the dl prefix.
43515
43516 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43517 (buf): Renamed to ...
43518 (linebuf): ... this.
43519 (pupa_rescue_cmd_prefix): New function.
43520 (pupa_rescue_cmd_insmod): Likewise.
43521 (pupa_rescue_cmd_rmmod): Likewise.
43522 (pupa_rescue_cmd_lsmod): Likewise.
43523 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43524 rmmod and lsmod.
43525
43526 * kern/mm.c (pupa_memalign): If failed even after invalidating
43527 disk caches, unload unneeded modules and retry.
43528
43529 * kern/misc.c (pupa_memmove): New function.
43530 (pupa_memcpy): Removed.
43531 (pupa_strcpy): New function.
43532 (pupa_itoa): Made static.
43533
43534 * kern/dl.c (pupa_dl_iterate): New function.
43535 (pupa_dl_ref): Likewise.
43536 (pupa_dl_unref): Likewise.
43537 (pupa_dl_unload): Return if succeeded or not.
43538 (pupa_dl_unload_unneeded): New function.
43539 (pupa_dl_unload_all): Likewise.
43540 (pupa_dl_init): Renamed to ...
43541 (pupa_dl_set_prefix): ... this.
43542 (pupa_dl_get_prefix): New function.
43543
43544 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43545 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43546 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43547 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43548 (pupa_install_dos_part): Declared.
43549 (pupa_install_bsd_part): Likewise.
43550 (pupa_prefix): Likewise.
43551 (pupa_boot_drive): Likewise.
43552
43553 * include/pupa/types.h: Fix a typo.
43554
43555 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43556 pupa_memmove.
43557 (pupa_memmove): Declared.
43558 (pupa_strcpy): Likewise.
43559
43560 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43561 pupa_mod_init takes one argument, its own module.
43562 (pupa_dl_unload_unneeded): Declared.
43563 (pupa_dl_unload_all): Likewise.
43564 (pupa_dl_ref): Likewise.
43565 (pupa_dl_unref): Likewise.
43566 (pupa_dl_iterate): Likewise.
43567 (pupa_dl_init): Renamed to ...
43568 (pupa_dl_set_prefix): ... this.
43569 (pupa_dl_get_prefix): Declared.
43570
43571 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43572 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43573 unloaded.
43574 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43575 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43576
43577 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43578 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43579
012d7999 435802003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43581
43582 * util/i386/pc/pupa-setup.c (setup): Define the internal
43583 function find_first_partition_start at the top level, because GCC
43584 3.0.x cannot compile internal functions in deeper scopes
43585 correctly.
43586 (find_root_device): Use lstat instead of stat.
43587 Don't follow symbolic links.
43588 Fix the path-constructing code.
43589
43590 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43591 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43592 by a BLKGETSIZE ioctl first, because block devices don't fill
43593 the member st_mode of the structure stat on Linux.
43594 [__linux__] (linux_find_partition): Use a temporary buffer
43595 REAL_DEV for the working space. Copy it to DEV before returning.
43596 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43597 buffer cache consistent.
43598 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43599 strncmp. The previous value was merely wrong.
43600 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43601
43602 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43603 FAT size is 12. The previous value was merely wrong.
43604
43605 * kern/main.c (pupa_main): Don't split the starting message from
43606 newlines.
43607
43608 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43609 LF, because BIOS goes crazy about character attributes in this
43610 case.
43611
1cc73a62 436122003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43613
43614 * include/i386/pc/util/biosdisk.h: New file.
43615 * util/i386/pc/biosdisk.c: Likewise.
43616 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43617
1cc73a62 43618 * Makefile.in (INCLUDE_DISTFILES): Added
43619 include/pupa/i386/pc/util/biosdisk.h.
43620 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43621 directory util/i386/pc.
43622 (install-local): Added a rule for sbin_UTILITIES.
43623 (uninstall): Likewise.
43624
43625 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43626
43627 * util/misc.c (xrealloc): New function.
43628 (pupa_malloc): Likewise.
43629 (pupa_free): Likewise.
43630 (pupa_realloc): Likewise.
43631 (pupa_stop): Likewise.
43632 (pupa_putchar): Likewise.
43633
43634 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
43635
43636 * include/pupa/util/misc.h (xrealloc): Declared.
43637
43638 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
43639 macro.
43640 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
43641 (PUPA_BOOT_MACHINE_BPB_END): ... this.
43642
43643 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
43644 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43645
43646 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
43647 way should be implemented.
43648 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43649
43650 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
43651 the size of NAME for safety.
43652 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
43653 0x88.
43654
43655 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
43656 (pupa_setup_SOURCES): Likewise.
43657
43658 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
43659
08b70fe8 436602002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43661
43662 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
43663 bunch of pushl's from pusha, because this destroys the return
43664 value.
43665
62ddcc8f 436662002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43667
43668 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
43669 This means that any missing prototypes could be fatal. Also, you
43670 must take care when writing assembly code. See the comments at
43671 the beginning of startup.S, for more details.
f19dbdb7 43672
62ddcc8f 43673 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
43674 compilation mechanism.
43675 (pupa_chainloader_real_boot): Likewise.
43676 (pupa_biosdisk_rw_int13_extensions): Likewise.
43677 (pupa_biosdisk_rw_standard): Likewise.
43678 (pupa_biosdisk_check_int13_extensions): Likewise.
43679 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
43680 (pupa_biosdisk_get_diskinfo_standard): Likewise.
43681 (pupa_get_memsize): Likewise.
43682 (pupa_get_mmap_entry): Likewise.
43683 (pupa_console_putchar): Likewise.
43684 (pupa_console_setcursor): Likewise.
43685 (pupa_getrtsecs): Use pushl instead of push.
43686
43687 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
43688 memory instead of the stack for a mmap entry, because some
43689 BIOSes may ignore the maximum size and overflow.
43690
43691 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
43692
43693 * genmk.rb (PModule#rule): Compile automatically generated
43694 sources with module-specific CFLAGS as well as other sources.
43695
9962ed99 436962002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43697
43698 * configure.ac: Check ld.
43699 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
43700 respectively, before checking endianness and sizes.
43701
43702 * Makefile.in (LD): New variable.
f19dbdb7 43703
abdfc3c5 437042002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43705
43706 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
43707
6a161fa9 437082002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43709
43710 * Changelog: New file.
43711