]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/emu/misc.c
[grub2.git] / ChangeLog
CommitLineData
4f6a2e21
VS
12010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/misc.c
4 (grub_make_system_path_relative_to_its_root)
5 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
6
72010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
8
9 * grub-core/kern/emu/misc.c
10 (grub_make_system_path_relative_to_its_root): Revert r2882.
11
e138c458
VS
122010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
15 useless field head. All users updated.
16 (free_subchunk): Correct handling of IN_REGION subchunk.
17
0cbcdf0e
CW
182010-10-22 Colin Watson <cjwatson@ubuntu.com>
19
20 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21 (Supported kernels): Likewise.
22
b65ea155
GS
232010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24
25 Make mktemp invocations portable.
26
27 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
28 exit if mktemp fails.
29 * tests/grub_script_blockarg.in: Likewise.
30 * tests/partmap_test.in: Likewise.
31 * tests/util/grub-shell-tester.in: Likewise.
32 * tests/util/grub-shell.in: Likewise.
33 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
34 * Makefile.am: Likewise, and chain shell commands with `&&'
35 instead of ';'.
36 * util/grub-mkrescue.in: Use the same explicit template as above, and
37 exit if mktemp fails.
38
05f43cdd
BC
392010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
40
41 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
42 Linux kernel, reported by Dennis Schridde.
43
800e6a9b
SJ
442010-10-17 Szymon Janc <szymon@janc.net.pl>
45
46 * grub-core/normal/auth.c (grub_auth_check_authentication):
47 Set-but-not-used variable removed.
48
d82df574
VS
492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * docs/grub.texi (GNU/Linux): Document APM unavailability with
52 32-bit linux protocol.
53
7bced458
VS
542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
57 cursor shape for sanity.
58
5b027690
VS
592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * docs/grub.texi (Installation): Document buggy BIOS install.
62
ba5f65cf
VS
632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * docs/grub.texi (Installation): Indent.
66
fdf2ec9c
VS
672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/grub-setup.c (setup): New parameter allow_floppy.
70 (arguments): New member allow_floppy.
71 (argp_parser): Handle --allow-floppy.
72 (main): Pass allow_floppy.
73 * util/grub-install.in: New option --allow-floppy passed though to
74 grub-setup.
75
861dfd4c
VS
762010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * util/grub-install.in: Handle partitionless disks.
79
f77a8c24
VS
802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * util/grub-setup.c (setup): Don't clean blocklists before readability
83 verfification.
84
27d9ee32
VS
852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * docs/grub.texi (Installation): Document embedding zone. Remove
88 obsolete grub-install example.
89
6bdda8f8
SJ
902010-10-16 Szymon Janc <szymon@janc.net.pl>
91
92 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
93 Set-but-not-used variable ifdef'ed.
94 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
95 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
96 variable removed.
97 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
98 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
99 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
100 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
101 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
102 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
103 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
104 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
105 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
106 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
107 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
108 Likewise.
109
e19b016b
VS
1102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
113 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
114 enum value.
115
6c8d3002
VS
1162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
119 synonym to _S5_. Needed for some DSDTs.
120
c32b51c9
VS
1212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
122
123 Userspace ACPI parser debugging.
124
125 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
126 headers and add relevant defines. Don't include standard headers.
127 (main) [GRUB_DSDT_TEST]: New function.
128 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
129 Don't declare functions.
130
fbfbeb39
VS
1312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
132
133 Remove dead grub_efi_mm_fini.
134
135 * grub-core/kern/efi/mm.c (allocated_page): Removed.
136 (ALLOCATED_PAGES_SIZE): Likewise.
137 (MAX_ALLOCATED_PAGES): Likewise.
138 (allocated_pages): Likewise.
139 (grub_efi_allocate_pages): Don't record allocated pages.
140 (grub_efi_free_pages): Likewise.
141 (grub_efi_mm_init): Likewise.
142 (grub_efi_mm_fini): Removed.
143
65f7ed7c
VS
1442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
147 (grub_efi_mm_init): Take into account the memory map size increase.
148
24977b44
VS
1492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
152 (serial_hw_put): Wait based on real time rather than port reads. Don't
153 roken ports.
154 * include/grub/serial.h (grub_serial_port): New field broken.
155
1eb01cd2
RM
1562010-10-16 Robert Millan <rmh@gnu.org>
157
158 * grub-core/kern/emu/misc.c
159 (grub_make_system_path_relative_to_its_root): Fix premature return
160 when processing non-root ZFS filesystems.
5f8b440b 161 Reported by Sergio Talens-Oliag.
1eb01cd2 162
2d5fed60
RM
1632010-10-15 Robert Millan <rmh@gnu.org>
164
165 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
166 guarantee compressed ones are processed first.
167
d0f4c1ea
VS
1682010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
171 grub_efiemu_autocore.
172
d87c681f
VS
1732010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
176 rather than 0x1b.
177 (grub_console_getkey): Use correct jae opcode rather than ja.
178
219b3564
RM
1792010-10-12 Robert Millan <rmh@gnu.org>
180
181 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
182 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
183 variable. All references updated.
184
185 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
186
20c6bb7e
VS
1872010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
188
189 Correctly distinguish mdraid flavours.
190
191 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
192 (insert_array): New argument raid.
193 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
194 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
195 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
196
74baff84
VS
1972010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
200 handling of special keys.
201
3ef068df 2022010-10-02 Aleš Nesrsta <starous@volny.cz>
203
c7980ad9
VS
204 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
205 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 206
a9455194 2072010-10-02 Aleš Nesrsta <starous@volny.cz>
208
c7980ad9
VS
209 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
210 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
211 users updated.
a9455194 212 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 213 Use right endpoint when querying descriptor.
a9455194 214
441cfe65
VS
2152010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
216
217 Clear out 0x80 color bit on EFI.
218 Tested by: decoder
219 Reported by: decoder and meta tech.
220
221 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
222 (grub_console_setcolorstate): Clear out 0x80 bit.
223 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
224 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
225 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
226
bf26bcc4
VS
2272010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
230 Set to "auto".
231
6e3c515d
VS
2322010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
235 mo_file after freeing.
236
e6d983ba
VS
2372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
240
74ccb5b5
VS
2412010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
244 flags.
245
17821956
VS
2462010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
249 usage.
250
ee74fa48
VS
2512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
252
253 Put terminfo into core on ieee1275 and yeeloong (needed for console).
254
255 * gentpl.py: New groups terminfoinkernel and terminfomodule.
256 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
257 and terminfo.h when needed.
258 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
259 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
260 (terminfo): Enable only on terminfokernel.
261 (extcmd): Likewise.
262 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
263 * include/grub/lib/arg.h: Likewise.
264 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
265 incorrect usage of ->.
266
aa438e68
VS
2672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
270 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
271
57994012
VS
2722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
273
274 Fix coreboot compilation.
275
276 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
277 Take VBE info into account even if only text is supported.
278 (fill_vbe_info): Take into account the case when only VGA text
279 is supported.
280 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
281 on coreboot, multiboot and qemu.
282
2a406611
VS
2832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
286 debug messages.
287 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
288
d33613fc
VS
2892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
292 parameters.
293
44a1b432
VS
2942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
297 if they were BSD-style.
298
edde54e6
VS
2992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/boot/i386/pc/lnxboot.S: Replace
302 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
303 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
304
b65830fa
VS
3052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
306
307 Write embedding zone using Reed-Solomon.
308
309 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
310 * grub-core/Makefile.am (rs_decoder.S): New target.
311 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
312 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
313 (multiboot): Move to RS part.
314 (post_reed_solomon): New label.
315 (grub_boot_drive): Move to non-RS part since it's modified in memory
316 on boot.
317 Include rs_decoder.S.
318 * grub-core/lib/reed_solomon.c: New file.
319 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
320 New definition.
321 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
322 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
323 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
324 * include/grub/partition.h (grub_partition_map): Change prototype of
325 embed to allow returning additional sectors.
326 * include/grub/reed_solomon.h: New file.
327 * util/grub-setup.c (setup): Handle Reed-Solomon.
328
0b4b227f
CW
3292010-09-28 Colin Watson <cjwatson@ubuntu.com>
330
331 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
332 i386 and x86-64 definedness tests.
333
f772623b
YB
3342010-09-27 Yves Blusseau <blusseau@zetam.org>
335
336 Fix generation of kernel_syms.lst
337
338 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
339 ASM_PREFIX
340
8e57a6ca
RM
3412010-09-26 Robert Millan <rmh@gnu.org>
342
343 Support degraded ZFS arrays in "grub-probe -t device" resolution.
344
345 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
346 the pool is an array of devices, iterate through it and return the
347 first device that passes a stat() test (instead of blindly returning
348 the first one).
349
f9130836
RM
3502010-09-26 Robert Millan <rmh@gnu.org>
351
352 Build fixes for GNU/kFreeBSD.
353
354 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
355 to programs that require ZFS conversion.
356 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
357 kernels that don't have FLOPPY_MAJOR.
358
96510faf
BC
3592010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
360
361 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
362
449333eb
BC
3632010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
364
365 Fix grub-emu build.
366
367 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
368 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
369 mdraid09 and mdraid1x.
370
e1fd1939
CW
3712010-09-24 Colin Watson <cjwatson@ubuntu.com>
372
373 Re-enable grub-extras.
374
375 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
376 avoid confusing Automake. Run autogen only twice, once for the top
377 level and once for grub-core. Add Makefile.util.def and
378 Makefile.core.def from extra modules to the appropriate autogen
379 invocations. If Makefile.common exists in an extra module, include
380 it in both Makefile.util.am and grub-core/Makefile.core.am;
381 similarly, include any Makefile.util.common file in Makefile.util.am
382 and any Makefile.core.common file in grub-core/Makefile.core.am.
383 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
384 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
385 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
386 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
387
388 * gentpl.py (gvar_add): Turn GVARS into a set.
389 (global_variable_initializers): Sort global variables on output.
390 (vars_init): New function.
391 (first_time): Likewise.
392 (library): Ensure that non-global variable initialisations are
393 emitted before the first time we emit code for a library block.
394 Append to variables rather than setting them. Only emit
395 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
396 each conditional path.
397 (program): installdir() emits an Autogen macro, so must be passed to
398 var_add rather than gvar_add.
399 (data): Likewise.
400 (script): Likewise.
401 (rules): New function, centralising handling for different target
402 types. Set up Guile association lists for first_time and vars_init,
403 and send most output to a diversion so that variable initialisations
404 can be emitted first.
405 (module_rules): Use new rules function.
406 (kernel_rules): Likewise.
407 (image_rules): Likewise.
408 (library_rules): Likewise.
409 (program_rules): Likewise.
410 (script_rules): Likewise.
411 (data_rules): Likewise.
412
413 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
414
415 * .bzrignore: Add contrib and grub-core/contrib. Remove
416 grub-core/Makefile.gcry.am.
417
1d12cf29
YB
4182010-09-24 Yves Blusseau <blusseau@zetam.org>
419
420 * grub-core/lib/LzFind.c: Add missing include.
421 * grub-core/lib/LzmaEnc.c: Likewise.
422 * grub-core/script/lexer.c: Likewise.
423 * grub-core/script/yylex.l: Likewise.
424 * util/grub-macho2img.c: Likewise.
425 * util/grub-menulst2cfg.c: Likewise.
426 * util/grub-mklayout.c: Likewise.
427 * util/grub-mkpasswd-pbkdf2.c
428 * util/grub-mkrelpath.c: Likewise.
429 * util/resolve.c: Likewise.
430
dd363028
BC
4312010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
432
433 * Makefile.util.def (example_unit_test): Add
434 grub-core/gnulib/libgnu.a.
435
f5a109e2
GS
4362010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
437
438 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
439
6d0fa83c
VS
4402010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
441
442 Support xz compression on yeeloong.
443
444 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
445 * configure.ac: Check for LZMA.
446 * grub-core/Makefile.core.def (xz_decompress): New target.
447 (none_decompress): Likewise.
448 * grub-core/boot/decompressor/minilib.c: New file.
449 * grub-core/boot/decompressor/none.c: Likewise.
450 * grub-core/boot/decompressor/xz.c: Likewise.
451 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
452 * grub-core/kern/mips/cache_flush.S: Likewise.
453 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
454 * grub-core/kern/mips/startup.S: Move first stage to ...
455 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
456 nomacro.
457 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
458 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
459 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
460 Allocate statically.
461 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
462 Allocate statically or use scratch. Don't check CRC32.
463 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
464 Allocate statically. Don't check CRC32.
465 * include/grub/decompressor.h: New file.
466 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
467 Removed.
468 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
469 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
470 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
471 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
472 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
473 * util/grub-mkimage.c (grub_compression_t): New type.
474 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
475 (image_target_desc): New field default_compression.
476 (image_targets): Adjust yeeloong targets.
477 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
478 (compress_kernel): New parameter comp.
479 (generate_image): Likewise. Handle new compression case.
480 (options): New option --compression
481 (help): Likewise.
482 (main): Handle new option.
483
1b655af6
GS
4842010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
485
486 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
487
8f03f0b5
CW
4882010-09-22 Colin Watson <cjwatson@ubuntu.com>
489
490 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
491 typo in __i386__ conditional.
492
7835dfd3
VS
4932010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
496 include.
497
e255597e
VS
4982010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
499
6d0fa83c 500 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
501
502 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
503 new tags as supported.
504 (acpiv2_size): New function.
505 (grub_multiboot_get_mbi_size): Take new tags into account.
506 (grub_multiboot_make_mbi): Add new tags.
507 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 508
6cc14051 5092010-09-21 Aleš Nesrsta <starous@volny.cz>
510
511 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
512 Added missing configuration of USB device.
513
df7769d8
CW
5142010-09-21 Colin Watson <cjwatson@ubuntu.com>
515
516 * grub-core/normal/menu_entry.c (run): Make sure we always return
517 a value.
518
b031012d
CW
5192010-09-21 Colin Watson <cjwatson@ubuntu.com>
520
521 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
522 NumberOfPages is UINT64 according to the UEFI specification, not
523 UINTN. Fix printf format.
524
174de8f3
CW
5252010-09-21 Colin Watson <cjwatson@ubuntu.com>
526
527 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
528 `err' to grub_usb_err_t.
529 Reported and tested by: KESHAV P.R.
530
d7dbe923
CW
5312010-09-21 Colin Watson <cjwatson@ubuntu.com>
532
533 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
534 tpart non-const, so that we can assign to it. (Since this is a
535 typedef, the constness refers to the pointer rather than what it
536 points to.)
537
8d5e2af3
CW
5382010-09-21 Colin Watson <cjwatson@ubuntu.com>
539
540 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
541 $(top_srcdir)/grub-core/gnulib as well as
542 $(top_builddir)/grub-core/gnulib.
543 Reported by: KESHAV P.R.
544
5c527783
CW
5452010-09-21 Colin Watson <cjwatson@ubuntu.com>
546
547 * util/grub-install.in: Fix the bootloader ID option to be
548 consistently --bootloader-id, not --bootloader_id.
549 Reported by: KESHAV P.R.
550
d309a16e
CW
5512010-09-21 Colin Watson <cjwatson@ubuntu.com>
552
553 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
554 check hash checksum." consistently translatable.
555
b830cd16
YB
5562010-09-21 Yves Blusseau <blusseau@zetam.org>
557
558 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
559 $(top_builddir).
560
c4fe27a8
CW
5612010-09-21 Colin Watson <cjwatson@ubuntu.com>
562
563 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
564 (GRUB_MOD_INIT): Register sha1sum command.
565 (GRUB_MOD_FINI): Unregister sha1sum command.
566
a4c1d277
YB
5672010-09-21 Yves Blusseau <blusseau@zetam.org>
568
569 Keep boot and grub directory names in sync with utils scripts
570
571 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
572 * config.h.in: Add previous macros.
573 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
574 * util/grub-install.in: Use $bootdir and $grubdir variables.
575
4eff79d2
CW
5762010-09-21 Colin Watson <cjwatson@ubuntu.com>
577
578 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
579 convert partition names to disk names if the new `convert' parameter
580 is set.
581 (grub_util_biosdisk_get_grub_dev): If opening the disk device
582 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
583 disk in its own right. This can happen with Xen disk images.
584
934d7e44
YB
5852010-09-21 Yves Blusseau <blusseau@zetam.org>
586
587 * util/grub-editenv.c: Update strings to avoid warnings when generating
588 grub.pot file.
589 * util/grub-setup.c: Likewise.
934d7e44 590
df3367cc
VS
5912010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * configure.ac: Change version to 1.99~beta0.
594
77a94e98
VS
5952010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
598 Add BADRAM.
599 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
600 Likewise.
601 * include/multiboot.h: Resynced with specification.
602 * include/multiboot2.h: Likewise.
603
269004c1
CW
6042010-09-21 Colin Watson <cjwatson@ubuntu.com>
605
606 Fix po directory handling.
607
608 * configure.ac: Create po/Makefile.in rather than po/Makefile.
609 * grub-core/gnulib/Makefile.am: Import gettext module.
610 * m4/gnulib-cache.m4: Likewise.
611 * m4/gnulib-comp.m4: Likewise.
612 * m4/gettext.m4: New file, from gnulib.
613 * m4/glibc2.m4: Likewise.
614 * m4/iconv.m4: Likewise.
615 * m4/intdiv0.m4: Likewise.
616 * m4/intl.m4: Likewise.
617 * m4/intldir.m4: Likewise.
618 * m4/intlmacosx.m4: Likewise.
619 * m4/intmax.m4: Likewise.
620 * m4/inttypes-pri.m4: Likewise.
621 * m4/lcmessage.m4: Likewise.
622 * m4/lib-ld.m4: Likewise.
623 * m4/lib-link.m4: Likewise.
624 * m4/lib-prefix.m4: Likewise.
625 * m4/lock.m4: Likewise.
626 * m4/nls.m4: Likewise.
627 * m4/po.m4: Likewise.
628 * m4/printf-posix.m4: Likewise.
629 * m4/progtest.m4: Likewise.
630 * m4/threadlib.m4: Likewise.
631 * m4/uintmax_t.m4: Likewise.
632 * m4/visibility.m4: Likewise.
633 * po/Makefile.am: Remove.
634 * po/Makefile.in.in: New file, from gettext.
635 ($(DOMAIN).pot-update): Support POTFILES-shell.
636 * po/Makevars: New file.
637 * po/POTFILES-shell: Rename to ...
638 * po/POTFILES-shell.in: ... this. Update.
639 * po/POTFILES: Rename to ...
640 * po/POTFILES.in: ... this. Update.
641 * po/Rules-quot: New file, from gettext.
642 * po/boldquot.sed: Likewise.
643 * po/en@boldquot.header: Likewise.
644 * po/en@quot.header: Likewise.
645 * po/insert-header.sin: Likewise.
646 * po/quot.sed: Likewise.
647 * po/remove-potcdate.sin: Likewise.
648
3e0fa5d0
VS
6492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
652
ade9bd66
VS
6532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * util/grub.d/20_linux_xen.in: Use submenus.
656
fc55cc4c
VS
6572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Support submenus.
660
661 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
662 parameter submenu. All users updated.
663 * grub-core/normal/main.c (free_menu): Rename to ...
664 (grub_normal_free_menu): ... this. Made global.
665 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
666 if requested.
667 * grub-core/normal/menu_entry.c (screen): New field submenu.
668 (make_screen): Set submenu.
669 (run): Open new context if requested.
670 * include/grub/menu.h (grub_menu_entry): New field submenu.
671 * include/grub/normal.h (grub_normal_free_menu): New proto.
672
600cedf7
VS
6732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Menu entries extractor.
676
677 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
678 variants.
679 (GRUB_MOD_INIT): Register new variants.
680 (GRUB_MOD_FINI): Unregister new variants.
681 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
682 into grub_cmd_legacy_source.
683 (grub_cmd_legacy_source): Implement extractor variants.
684 (GRUB_MOD_INIT): Register new variants.
685 (GRUB_MOD_FINI): Unregister new variants.
686 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
687 as an extractor.
688 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
689 search as an extractor.
690 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
691 test as an extractor.
692 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
693 as an extractor.
694 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
695 (grub_env_new_context): New function.
696 (grub_env_context_open): Likewise.
697 (grub_env_extractor_open): Likewise.
698 (grub_env_extractor_close): Likewise.
699 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
700 grub_extractor_level.
701 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
702 * include/grub/env.h (grub_env_extractor_open): New proto.
703 (grub_env_extractor_close): Likewise.
704 * include/grub/normal.h (grub_extractor_level): New external variable.
705
7bda3a87
VS
7062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Make cutmem accept a region specification.
709 Suggested by: Samuel Thibault
710
711 * grub-core/mmap/mmap.c (parsemem): New function.
712 (grub_cmd_cutmem): Handle new arguments.
713
2ea57f88
VS
7142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
715
716 New command cutmem.
717
718 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
719 (GRUB_MOD_INIT): Register new command.
720 (GRUB_MOD_FINI): Unregister new command.
721
74342e31
VS
7222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
723
724 Support some annoying BSD and Minix subpartitions.
725
726 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
727 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
728 Properly handle concatenation.
729 * grub-core/kern/device.c (grub_device_iterate): Likewise.
730 * grub-core/normal/completion.c (iterate_partition): Likewise.
731 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
732 contain partition. All users updated.
733 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
734 struct.
735 (grub_openbsdlabel_partition_map): Likewise.
736 (bsdlabel_partition_map_iterate): Rename to ..
737 (iterate_real): ... this. New arguments sector, freebsd and pmap.
738 (bsdlabel_partition_map_iterate): New function.
739 (netopenbsdlabel_partition_map_iterate): Likewise.
740 (netbsdlabel_partition_map_iterate): Likewise.
741 (openbsdlabel_partition_map_iterate): Likewise.
742 (GRUB_MOD_INIT): Register new partmaps.
743 (GRUB_MOD_FINI): Unregister new partmaps.
744 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
745 (grub_partition_msdos_iterate): ... this. All users updated.
746 Don't support embedding other than in a minix partition.
747 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
748 proto.
749 * include/grub/partition.h (grub_partition): New field msdostype.
750 * util/grub-install.in: Handle openbsd and netbsd types being in
751 part_bsd module.
752
1e8d555b
VS
7532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
754
755 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
756
757 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
758 * grub-core/Makefile.core.def (mdraid): Renamed to ...
759 (mdraid09): ... this.
760 (mdraid1x): New module.
761 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
762 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
763
899d8af4
VS
7642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
767 vsprintf.
768
40901acd
CW
7692010-09-20 Colin Watson <cjwatson@ubuntu.com>
770
771 * grub-core/commands/efi/lsefimmap.c: Correct header.
772 * NEWS: Update.
773
dfe3b247
CW
7742010-09-20 Colin Watson <cjwatson@ubuntu.com>
775
776 * util/grub-editenv.c (argp_parser): Don't pass translated strings
777 as printf format strings; the translations might contain '%' which
778 could cause a crash.
779 (main): Likewise.
780 * util/grub-fstest.c (argp_parser): Likewise.
781 * util/grub-setup.c (argp_parser): Likewise.
782 (main): Likewise.
783
3286a4b4
VS
7842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
785
786 Use argp in grub-fstest.
787
788 * util/grub-fstest.c: Don't include getopt.h.
789 Include argp.h.
790 (root): New variable.
791 (args_count): Likewise.
792 (nparm): Likewise.
793 (num_disks): Likewise.
794 (images): Likewise.
795 (cmd): Likewise.
796 (debug_str): Likewise.
797 (args): Likewise.
798 (options): Transformed to argp.
799 (usage): Removed.
800 (main): Split argument parsing into ...
801 (argp_parser): ... this. Changed to argp format.
802 (argp): New variable.
803 (main): Use argp_parse.
804
3dccbe4b
TG
8052010-09-20 Tristan Gingold <gingold@free.fr>
8062010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/commands/efi/lsefimmap.c: New file.
810 * grub-core/Makefile.core.def (lsefimmap): New module.
811 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
812
38c259a7
VS
8132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
814
815 Pause the execution (10s max) if any errors are displayed so the user
816 has a chance to see them.
817
818 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
819 (grub_print_error): Increment grub_err_printed_errors.
820 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
821 execution if any errors were displayed.
822 (show_menu): Remove old code for pause.
823 * grub-core/normal/menu_entry.c (run): Likewise.
824 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
825 users updated.
826 (grub_normal_get_char_counter): Likewise.
827 * include/grub/err.h (grub_err_printed_errors): New external variable.
828 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
829
f218b09c
VS
8302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
831
832 Support multiboot VBE info.
833
834 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
835 Take VBE info into account.
836 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
837 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
838 Call fill_vbe_info when appropriate.
839 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
840 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
841 as supported.
842 (grub_multiboot_get_mbi_size): Take new tags into account.
843 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
844 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
845 Call fill_vbe_tag when appropriate.
846 (grub_multiboot_make_mbi): Properly align tags.
847 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
848 function.
849 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
850 proto.
851 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
852
a9cc5438
VS
8532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
854
855 Suport manual terminal geometry specification.
856
857 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
858 Save state in grub_ofconsole_terminfo_output.
859 (grub_ofconsole_term): Use grub_terminfo_getwh.
860 (grub_ofconsole_getwh): Removed.
861 * grub-core/term/serial.c (grub_serial_getwh): Removed.
862 (grub_serial_term): Use grub_terminfo_getwh.
863 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
864 (options): New struct.
865 (OPTION_*): New enum.
866 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
867 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
868 width and height.
869 (grub_terminfo_getwh): New proto.
870 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
871
1a8fed20
VS
8722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
873
874 Handle legacy "terminal" command.
875
876 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
877 and FLAG_TERMINAL.
878 (legacy_commands): Add terminal and title.
879 (grub_legacy_parse): Handle terminal. Simplify title handling.
880
41e9c57d
VS
8812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
884 parameters overflow.
885
61c874c5
CW
8862010-09-20 Colin Watson <cjwatson@ubuntu.com>
887
888 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
889 widthspec.h.
890
891 * docs/grub.texi (Shell-like scripting): Document `!'.
892 (Network): Simplify using new i386-pc-pxe format. Mention
893 grub-mknetdir.
894
895 * NEWS: Update.
896
943682b4
CW
8972010-09-20 Colin Watson <cjwatson@ubuntu.com>
898
899 * Makefile.am (SUBDIRS): Restore "."; it's important to force
900 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
901 when needed.
902
6d3d698d
CW
9032010-09-20 Colin Watson <cjwatson@ubuntu.com>
904
905 * grub-core/commands/efi/lsefisystab.c: Correct header.
906 * grub-core/commands/efi/lssal.c: Likewise.
907 * grub-core/commands/testload.c: Likewise.
908
c982589f
CW
9092010-09-20 Colin Watson <cjwatson@ubuntu.com>
910
911 * util/grub-mkrescue.in: Add explicit root argument to --set to
912 prevent the UUID being interpreted as an argument to --set (matches
913 previous change to prepare_grub_to_access_device).
914
a63c31b6
CW
9152010-09-20 Colin Watson <cjwatson@ubuntu.com>
916
917 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
918 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
919 the verbosity of later #ifs.
920 (find_partition_start): Define this function on FreeBSD too.
921 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
922 function.
923 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
924 on FreeBSD.
925
6439b8ee
YB
9262010-09-20 Yves Blusseau <blusseau@zetam.org>
927
928 * util/grub-editenv.c: Use argp instead of getopt.
929
c5930ec8
YB
9302010-09-20 Yves Blusseau <blusseau@zetam.org>
931
932 * util/grub-setup.c: Use argp instead of getopt.
933
15c69261
YB
9342010-09-20 Yves Blusseau <blusseau@zetam.org>
935
936 Use gnulib-tool to create gnulib source files.
937
938 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
939 grub-core/gnulib directories
940 * .bzignore: Add **/.deps and autogenerated gnulib files
941 * configure.ac: Assign auxiliary directory to build-aux, add invocation
942 of gnulib macros, add grub-core/gnulib/Makefile
943 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
944 include m4 directory to aclocal.
945 * Makefile.util.def: Remove direct compilation of gnulib source files
946 and use the new grub-core/gnulib/libgnu.a.
947 * build-aux/config.rpath: move config.rpath from top directory to
948 build-aux
949 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
950 in gnulib headers
951 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
952 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
953 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
954 header.
955 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
956 string.
957
e511c9f5
YB
9582010-09-20 Yves Blusseau <blusseau@zetam.org>
959
960 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
961 grub-core/genmod.sh and grub-core/gensyminfo.sh
962
c2dede05
BC
9632010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
964
965 Add a test for echo command options.
966
967 * tests/grub_cmd_echo.in: New test.
968 * Makefile.util.def: Rules for new test.
969
c55f5018
SJ
9702010-09-20 Szymon Janc <szymon@janc.net.pl>
971
972 Remove crc.mod and move crc command to hashsum.mod.
973 Remove lib/crc.c - users updated to use gcrypt implementation.
974
975 * grub-core/commands/crc.c: Removed.
976 * grub-core/Makefile.core.def (crc): Module removed.
977 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
978 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
979 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
980 * grub-core/lib/crc.c: Removed.
981 * include/grub/lib/crc.h: Removed.
982 * Makefile.util.def (crc): Remove lib/crc.c
983 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
984 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
985 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
986 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
987 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
988 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
989
e0337366
VS
9902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
993
742f9232
VS
9942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
995
996 Split config.h for util and core.
997
998 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
999 (ADDR32): Likewise.
1000 (DATA32): Likewise.
1001 (BSS_START_SYMBOL): Likewise.
1002 (END_SYMBOL): Likewise.
1003 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1004 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1005 * config.h.in: New file.
1006 * configure.ac: Use config-util.h as config define file.
1007 Rename MACHINE into GRUB_MACHINE. All users updated.
1008 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1009 updated.
1010 (NESTED_FUNC_ATTR): Likewise.
1011 Substitue new variables.
1012 (COND_HAVE_ASM_USCORE): New conditional.
1013 * grub-core/Makefile.am (ASM_PREFIX): New variable.
1014 (kernel_syms.lst): Use ASM_PREFIX.
1015 * grub-core/kern/emu/console.c: Include config-util.h.
1016 * grub-core/kern/emu/misc.c: Likewise.
1017 * grub-core/kern/emu/mm.c: Likewise.
1018 * include/grub/emu/misc.h: Likewise.
1019 * include/grub/libgcc.h: Likewise.
1020
39feb0e8
VS
10212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
1024 constants usage.
1025 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
1026 Fix GRUB_TERM_KEY_* constants usage.
1027 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
1028
9af6dac3
VS
10292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
1032 print pointer.
1033 * grub-core/bus/usb/uhci.c: Remove empty define.
1034 (grub_uhci_check_transfer): Add missing cast.
1035 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
1036 print pointer.
1037 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
1038 PRIuGRUB_SIZE.
1039 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
1040
d6d94820
VS
10412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/Makefile.core.def (legacycfg): Add
1044 lib/i386/pc/vesa_modes_table.c on emu.
1045
3572f2b6
BC
10462010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1047
1048 Reduce number of temporary files generated by build system.
1049
1050 * grub-core/gencmdlist.sh: Removed.
1051 * grub-core/genfslist.sh: Removed.
1052 * grub-core/genhandlerlist.sh: Removed.
1053 * grub-core/genmodsrc.sh: Removed.
1054 * grub-core/genpartmaplist.sh: Removed.
1055 * grub-core/genparttoollist.sh: Removed.
1056 * grub-core/gentermiinallist.sh: Removed.
1057 * grub-core/genvideolist.sh: Removed.
1058
1059 * grub-core/genmod.sh.in: New file.
1060 * grub-core/gensyminfo.sh.in: New file.
1061
1062 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1063 * conf/Makefile.extra-dist: Update with new files.
1064 * gentpl.py: Remove rules related to unnecessary temporary files.
1065 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1066 and und-* files.
1067 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1068 genmod.sh scripts.
1069 * grub-core/bus/usb/uhci.c: Remove empty #define.
1070 * grub-core/genmoddep.awk: Updated with new syminfo format.
1071 * util/bash-completion.d/Makefile.am: Add config.log to
1072 CLEANFILES.
1073
c836b030
YB
10742010-09-19 Yves Blusseau <blusseau@zetam.org>
1075
1076 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1077
2f4e8053
BC
10782010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1079
1080 * util/grub-mkconfig.in: Check the config script for syntax errors
1081 before saving.
1082
75831c34
CW
10832010-09-19 Colin Watson <cjwatson@ubuntu.com>
10842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1087 platforms.
1088 * util/grub-install.in: Add EFI and IEEE1275 support.
1089 * util/i386/efi/grub-install.in: Removed.
1090 * util/ieee1275/grub-install.in: Likewise.
1091
eaf41b25
VS
10922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1095 (grub_cmd_cmosclean): Likewise.
1096 (GRUB_MOD_INIT): Register command cmosclean.
1097 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1098 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1099
1a9130dd
CPE
11002010-09-18 Carles Pina i Estany <carles@pina.cat>
11012010-09-18 Aleš Nesrsta <starous@volny.cz>
11022010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 Add keyboard layouts support.
1105
1106 * Makefile.util.def (grub-mklayout): New file.
1107 (grub-kbdcomp): New script.
1108 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1109 Add keyboard_layouts.h.
1110 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1111 commands/boot.c on yeeloong.
1112 (keylayouts): New module.
1113 * grub-core/bus/usb/ohci.c
1114 * grub-core/bus/usb/uhci.c
1115 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1116 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1117 (attach_root_port): Likewise.
1118 (poll_nonroot_hub): Likewise.
1119 (grub_usb_poll_devices): Likewise.
1120 (detach_device): Close transfer.
1121 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1122 function.
1123 (grub_usb_bulk_setup_readwrite): Likewise.
1124 (grub_usb_bulk_finish_readwrite): Likewise.
1125 * grub-core/commands/keylayouts.c: New file.
1126 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1127 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1128 aliases.
1129 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1130 support scancode 2.
1131 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1132 * include/grub/keyboard_layouts.h: New file.
1133 * util/grub-mklayout.c: New file.
1134 * util/grub-kbdcomp.in: Likewise.
1135
a1d84a5e
VS
11362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 Unify memory types.
1139
1140 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1141 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1142 types.
1143 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1144 (grub_upper_mem): Likewise.
1145 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1146 * include/grub/memory.h (grub_memory_type_t): New enum.
1147 All users updated.
1148
9696382e
VS
11492010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * grub-core/Makefile.core.def (lsapm): New module.
1152 * grub-core/commands/i386/pc/lsapm.c: New file.
1153 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1154 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1155 Likewise.
1156 * include/grub/i386/pc/apm.h: New file.
1157 * include/multiboot.h (multiboot_apm_info): New struct.
1158
11592010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 GRUB-legacy configuration file support.
1162
1163 * Makefile.util.def (grub-menulst2cfg): New util.
1164 * docs/man/grub-menulst2cfg.h2m: New file.
1165 * grub-core/Makefile.core.def (legacycfg): New module.
1166 * grub-core/commands/legacycfg.c: New file.
1167 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1168 (grub_normal_add_menu_entry): ... this.
1169 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1170 (grub_normal_set_password): ...this.
1171 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1172 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1173 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1174 * grub-core/lib/legacy_parse.c: New file.
1175 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1176 * include/grub/i386/pc/vesa_modes_table.h: New file.
1177 * include/grub/legacy_parse.h: Likewise.
1178 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1179 * util/grub-menulst2cfg.c: New file.
1180
bf8d1338
CW
11812010-09-17 Colin Watson <cjwatson@ubuntu.com>
1182
1183 * grub-core/kern/emu/hostdisk.c
1184 (convert_system_partition_to_system_disk): Initialise node.
1185
9c0bad2e
CW
11862010-09-17 Colin Watson <cjwatson@ubuntu.com>
1187
1188 * grub-core/kern/emu/hostdisk.c
1189 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1190 leak.
1191 Reported and based on patch by: Modestas Vainius.
1192
a939d135
CW
11932010-09-17 Colin Watson <cjwatson@ubuntu.com>
1194
1195 Fix DM-RAID probing with recent versions of device-mapper udev
1196 rules.
1197
1198 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1199 canonicalise device paths under /dev/mapper/.
1200 (convert_system_partition_to_system_disk): Compare the
1201 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1202 path, since device nodes under /dev/mapper/ are often symlinks.
1203
0f7ee3c9
YB
12042010-09-17 Yves Blusseau <blusseau@zetam.org>
1205
1206 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1207
10854d0d
YB
12082010-09-16 Yves Blusseau <blusseau@zetam.org>
1209
1210 * configure.ac: Avoid some annoying error messages if freetype-config
1211 program is not found.
1212
108538d8
CW
12132010-09-16 Colin Watson <cjwatson@ubuntu.com>
1214
1215 Support RAID on virtio devices, and others.
1216
1217 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1218 Rename to ...
1219 [__MINGW32__] (grub_find_device): ... this.
1220 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1221 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1222 reasonable default if dir is NULL.
1223 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1224 ...
1225 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1226 (grub_guess_root_device): Update callers.
1227 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1228
1229 * util/raid.c (grub_util_getdiskname): Remove.
1230 (grub_util_raid_getmembers): Use grub_find_device rather than
1231 grub_util_getdiskname.
1232
e5bfc130
CW
12332010-09-16 Colin Watson <cjwatson@ubuntu.com>
1234
1235 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1236 needing to be compiled with serial support.
1237 (ls): Indicate that multiple files are accepted.
1238 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1239 indicate that multiple files are accepted.
1240
be458ae2
CW
12412010-09-16 Colin Watson <cjwatson@ubuntu.com>
1242
1243 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1244 libgrub_a_init.c, and util/bash-completion.d/grub.
1245
cb731b5e
VS
12462010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * util/grub-setup.c (setup): Fix incorrect container semantics.
1249
35139e8a
VS
12502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1253 misusage.
1254 Reported by: J. Nick Terry
1255
e50fca4a
VS
12562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 Move embedding routines to partmap sources files.
1259
1260 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1261 [GRUB_UTIL]: New variable.
1262 (gpt_partition_map_iterate): Set part.parent.
1263 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1264 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1265 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1266 New function.
1267 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1268 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1269 (grub_partition_map) [GRUB_UTIL]: New field embed.
1270 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1271 (setup): Use ->embed.
1272
f00478b7
VS
12732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1276 function.
1277 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1278 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1279
2b94e3ff
YB
12802010-09-15 Yves Blusseau <blusseau@zetam.org>
1281
1282 Add function to get completions from usage.
1283
1284 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1285 completions from usage. Use LC_ALL=C to get options properly.
1286
2e04a006
VS
12872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/gnulib/basename-lgpl.c: Imported.
1290 * grub-core/gnulib/basename.c: Likewise.
1291 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1292 * grub-core/gnulib/dirname.c: Likewise.
1293 * grub-core/gnulib/dirname.h: Likewise.
1294 * grub-core/gnulib/stripslash.c: Likewise.
1295
5dcdf93a
VS
12962010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/gnulib/error.c: Resynced.
1299 * grub-core/gnulib/getopt.c: Likewise.
1300 * grub-core/gnulib/getopt_int.h: Likewise.
1301 * grub-core/gnulib/regex.h: Likewise.
1302 * grub-core/gnulib/regex_internal.c: Likewise.
1303 * grub-core/gnulib/regex_internal.h: Likewise.
1304
014f47b7
SJ
13052010-09-15 Szymon Janc <szymon@janc.net.pl>
1306
1307 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1308 CRC calculations and validity checks.
1309 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1310 calculations.
1311
dd521a4a
SJ
13122010-09-15 Szymon Janc <szymon@janc.net.pl>
1313
1314 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1315
79c4eeb9
VS
13162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 Fix incorrect echo options handling.
1319 Reported by: Yves Blusseau.
1320
1321 * include/grub/command.h (grub_command_flags_t): New flags
1322 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1323 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1324 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1325
ed80f7d5
VS
13262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1329 users updated.
1330 (GRUB_COMMAND_FLAG_MENU): Likewise.
1331 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1332 (GRUB_COMMAND_FLAG_TITLE): Removed.
1333 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1334 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1335 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1336 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1337 (grub_command_flags_t): New enum. All users updated.
1338
5fe7620a
SG
13392010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1340
1341 Fix solaris compilation.
1342
1343 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1344 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1345 (grub-emu-list): Likewise.
1346
545b752f
VS
13472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 Remove deprecated root command.
1350
1351 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1352 updated.
1353
6c1a338c
VS
13542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * util/i386/pc/grub-setup.c: Merge this ...
1357 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1358 * util/grub-setup.c: ... into this.
1359 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1360 New struct.
1361
13622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1365 possible.
1366
d2ea4551
VS
13672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1370 allocate p.
1371
3c3b5040
VS
13722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1375 explicit root argument to set to prevent UUID to be interpreted as
1376 argument to set.
1377
b71c3fae
VS
13782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1381
275433e6
VS
13822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Don't export grub_gate_a20.
1385
1386 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1387 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1388 to ...
1389 (grub_gate_a20): ... this. All users updated.
1390 * include/grub/i386/pc/init.h: Removed. All users updated.
1391
a5dbb1f1
VS
13922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 Create euro.pf2 which supports most European languages.
1395
1396 * Makefile.am (grubdata_DATA): Add euro.pf2.
1397 (euro.pf2): New target.
1398 (CLEANFILES): Add euro.pf2.
1399
62a747cb
VS
14002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * configure.ac: Disable emu-usb by default to prevent inadvertent
1403 device takeover.
1404
608e43b1
VS
14052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 Disable usbserial on grub-emu since our libusb code isn't good enough
1408 yet.
1409
1410 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1411 (usbserial_pl2303): Likewise.
1412 (usbserial_ftdi): Likewise.
1413
94564f81
VS
14142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * include/grub/disk.h (grub_disk): Remove has_partitions.
1417 All users updated.
1418 * disk/loopback.c (grub_loopback): Remove has_partitions.
1419 All users updated.
1420 (options): Remove partitions. All users updated.
1421 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1422 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1423 actual partition table is found.
1424
3352800b
VS
14252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 Remove readability checks (too many false negatives).
1428
1429 * util/grub-install.in: Remove readability checks.
1430 * util/grub-mkconfig.in: Likewise.
1431 * util/grub.d/10_hurd.in: Likewise.
1432 * util/grub.d/10_kfreebsd.in: Likewise.
1433 * util/grub.d/10_linux.in: Likewise.
1434 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1435 way.
1436
2419f17a
VS
14372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Enable acpi shutdown on all ACPI platforms.
1440
1441 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1442 on coreboo, multiboot and EFI.
1443 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1444 (grub_acpi_halt): Likewise.
1445 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1446 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1447 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1448 * grub-core/lib/i386/halt.c (grub_halt)
1449 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1450
0575c7c3
VS
14512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1454 context.
1455
54ac3cd1
VS
14562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1459 * grub-core/video/efi_uga.c: Likewise.
1460
b2a30ac5
VS
14612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 Filter devaliases and never open same device twice.
1464
1465 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1466 (last_ihandle): Likewise.
1467 (ofdisk_hash_ent): New member shortest.
1468 (ofdisk_hash_add): Add canonical path too.
1469 (scan): New function.
1470 (grub_ofdisk_iterate): Iterate over hashed entries.
1471 (compute_dev_path): Don't add :0.
1472 (grub_ofdisk_open): Don't really open the disk.
1473 (grub_ofdisk_close): Avoid closing unrelated disk.
1474 (grub_ofdisk_read): Implement reopen logic.
1475 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1476 New function.
1477 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1478 New proto.
1479
fb53b340
VS
14802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 Fix sparc64.
1483
1484 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1485 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1486 right address. Add sparc64_ieee1275_ldflags.
1487 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1488 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1489 to grub_host_to_target_addr
1490 (load_image): Likewise.
1491
f452b040
VS
14922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/normal/completion.c (complete_file): Handle device
1495 containing slash.
1496 Fix based on patch by Doug Nazar.
1497
9b5b2541
VS
14982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 grub-mknetdir script.
1501
1502 * Makefile.util.def (grub-mknetdir): New module.
1503 * tests/util/grub-shell.in: Support boot=net
1504 * util/grub-mknetdir.in: New file.
1505
9d2be652
VS
15062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 videoinfo on non-vbe.
1509
1510 * grub-core/Makefile.core.def (vbeinfo): Removed.
1511 (vbetest): Removed.
1512 (videoinfo): New module.
1513 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1514 * grub-core/commands/i386/pc/vbetest.c: Removed.
1515 * grub-core/commands/videoinfo.c: New file.
1516 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1517 specification.
1518 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1519 as vbetest.
1520 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1521 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1522 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1523 mode_number. New parameter mode. All users updated.
1524 (grub_video_gop_iterate): New function.
1525 (grub_video_efi_gop): New member iterate.
1526 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1527 (grub_vbe_set_video_mode): Remove setting useless fields.
1528 (vbe2videoinfo): New function.
1529 (grub_video_vbe_iterate): Likewise.
1530 (grub_video_vbe_setup): Use vbe2videoinfo.
1531 (grub_video_vbe_print_adapter_specific_info): New function.
1532 (grub_video_vbe_adapter): New fields iterate and
1533 print_adapter_specific_info.
1534 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1535 All users updated.
1536 (grub_video_mode_info): New field mode_number.
1537 (grub_video_adapter): New fields iterate and
1538 print_adapter_specific_info.
1539
179503f5
TG
15402010-09-13 Tristan Gingold <gingold@free.fr>
15412010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * grub-core/commands/efi/lsefisystab.c: New file.
1545 * grub-core/commands/efi/lssal.c: Likewise.
1546 * grub-core/Makefile.core.def (lsacpi): New module.
1547 (lsefisystab): Likewise.
1548 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
1549 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
1550 (grub_efi_sal_system_table): New struct.
1551 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
1552 (grub_efi_sal_system_table_memory_descriptor): Likewise.
1553 (grub_efi_sal_system_table_platform_features): Likewise.
1554 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
1555 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
1556 (grub_efi_sal_system_table_ap_wakeup): Likewise.
1557 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
1558
cf9827de
VS
15592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 Support explicit user claim that a device is BIOS-visible.
1562
1563 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
1564 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
1565 * grub-core/kern/emu/hostdisk.c
1566 (convert_system_partition_to_system_disk): Support mdX.
1567 (find_system_device): New parameter add. All users updated.
1568 (grub_util_biosdisk_is_present): New function.
1569 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
1570 proto.
1571
53f0eb1f
VS
15722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 Search hints support.
1575
1576 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
1577 All users updated.
1578
b23ffd70
YB
15792010-09-13 Yves Blusseau <blusseau@zetam.org>
1580
1581 Bash completion script for util commands
1582
1583 * Makefile.am: Add util/bash-completion.d directory
1584 * configure.ac: Likewise.
1585 * util/bash-completion.d/Makefile.am: New file.
1586 * util/bash-completion.d/grub-completion.bash.in: Likewise.
1587
d547dc28
VS
15882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
1591 (print_backlog): set backlog_ucs4 and backlog_glyphs.
1592 Reported by: Yves Blusseau.
1593
2fc8ccb9
VS
15942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
1597 partition size and offset.
1598
d8a84076
VS
15992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
1602
84fb3b3d
VS
16032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
1606
768ec2e2
VS
16072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
1610 (grub_xvasprintf): Likewise.
1611
4870900f
VS
16122010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
1615
faca6bec
VS
16162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
1619 args ending with NULL.
1620
16212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
1622
1623 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
1624 pointer.
1625
3c70f225
SJ
16262010-09-11 Szymon Janc <szymon@janc.net.pl>
1627
1628 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
1629
4df7996d
VS
16302010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 Shutdown using ACPI.
1633
1634 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
1635 * grub-core/commands/acpihalt.c: New file.
1636 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
1637 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
1638 (grub_acpi_halt): New proto.
1639 (GRUB_ACPI_SLP_EN): New const.
1640 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
1641 (GRUB_ACPI_OPCODE_*): New enum.
1642 (GRUB_ACPI_EXTOPCODE_*): Likewise.
1643
126b4c32
TG
16442010-09-11 Tristan Gingold <gingold@free.fr>
16452010-09-11 Robert Millan <rmh.grub@aybabtu.com>
16462010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * commands/lsacpi.c: New file.
1649 * grub-core/Makefile.core.def (lsacpi): New module.
1650 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
1651 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
1652 (grub_acpi_madt_entry_header): New struct.
1653 (grub_acpi_madt): Likewise.
1654 (grub_acpi_madt_entry_interrupt_override): Likewise.
1655 (grub_acpi_madt_entry_sapic): Likewise.
1656 (grub_acpi_madt_entry_lsapic): Likewise.
1657 (grub_acpi_madt_entry_platform_int_source): Likewise.
1658 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
1659 (PRIuGRUB_UINT32_T): Likewise.
1660 (PRIxGRUB_UINT64_T): Likewise.
1661
1aa4fe88
VS
16622010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 Implement loading palette on ieee1275_fb.
1665
1666 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
1667 (have_setcolors): Likewise.
1668 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
1669 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
1670 (grub_video_ieee1275_set_palette): Implement.
1671
25761e13
VS
16722010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16732010-09-11 Colin Watson <cjwatson@ubuntu.com>
1674
1675 * util/grub-install.in (grub_partition): New variable.
1676 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
1677 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
1678 Fixes a bug reported by Yves Blusseau.
1679
050abaea
VS
16802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 Fix emu on mipsel.
1683
1684 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
1685 =grub_cpu_flush_cache on all mips and not only yeeloong.
1686 * configure.ac (COND_mips): New conditional.
1687 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
1688 platforms.
1689 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
1690 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
1691 [GRUB_LINKER_HAVE_INIT]: New function.
1692 (grub_emu_post_init): Likewise.
1693 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
1694 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
1695 * include/grub/cache.h (_mips): Include mips/cache.h.
1696 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
1697 LVM and RAID prototypes.
1698 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
1699 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
1700 function.
1701
5ed7d816
CW
17022010-09-10 Colin Watson <cjwatson@ubuntu.com>
1703
1704 * util/grub-install.in: Don't try to verify core.img until after
1705 running grub-mkimage to create it.
1706
90367e04
RM
17072010-09-10 Robert Millan <rmh@gnu.org>
1708
1709 * util/grub.d/10_hurd.in: Add misc readability checks.
1710 * util/grub.d/10_kfreebsd.in: Likewise.
1711 * util/grub.d/10_linux.in: Likewise.
1712
c452fa66
CW
17132010-09-10 Colin Watson <cjwatson@ubuntu.com>
1714
1715 * util/grub-install.in: ${imgext} won't be defined here until the
1716 install branch is merged. For the meantime, only verify core.img on
1717 i386-pc and sparc64-ieee1275 platforms.
1718
c38fe9f4
RM
17192010-09-10 Robert Millan <rmh@gnu.org>
1720
1721 Solaris support in grub_find_zpool_from_dir(). Thanks
1722 Seth Goldberg for referring to getextmntent() facility.
1723
1724 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
1725 `sys/mkdev.h'.
1726 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
1727 `<sys/mnttab.h>'.
1728 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
1729 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
1730 method for finding zpool name.
1731
905f7773
CW
17322010-09-10 Colin Watson <cjwatson@ubuntu.com>
1733
1734 grub-fstest needs the host and hostfs modules while other utilities
1735 actively require those modules to be absent, so grub-fstest needs
1736 its own initialisation and finalisation code.
1737
1738 * Makefile.am (grub_fstest.pp): New target.
1739 (grub_fstest_init.lst): Likewise.
1740 (grub_fstest_init.c): Likewise.
1741 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
1742
fb90b546
RM
17432010-09-10 Robert Millan <rmh@gnu.org>
1744
1745 * configure.ac: Check for `struct statfs.f_fstypename' and
1746 `struct statfs.f_mntfromname'.
1747
1748 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
1749 kFreeBSD-specific code.
1750
66d4bea5
RM
17512010-09-10 Robert Millan <rmh@gnu.org>
1752
1753 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
1754 on ZFS. Now non-main filesystems are supported as / too.
1755
b6a690ee
CW
17562010-09-09 Colin Watson <cjwatson@ubuntu.com>
1757
1758 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
1759 and grub-core/disk/host.c to ...
1760 (grub-fstest): ... here. Having the host disk implementation
1761 present confuses grub-probe and other utility programs.
1762
1763 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
1764 when writing to a file, not when writing to stdout.
1765
8901b00c 17662010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
1767
1768 * tests/partmap_test.in: New test for partitions.
1769 * Makefile.util.def: Rules for new test.
1770
7bf45fdd
RM
17712010-09-09 Robert Millan <rmh@gnu.org>
1772
1773 * util/grub-probe.c (probe): Fix a pair of unhandled error
1774 conditions.
1775
4dfbc574
RM
17762010-09-09 Robert Millan <rmh@gnu.org>
1777
1778 Basic Btrfs support (detection and UUID).
1779
1780 * grub-core/fs/btrfs.c: New file.
1781 * Makefile.util.def (library): Register btrfs.c.
1782 * grub-core/Makefile.core.def: Likewise.
1783
6b8e78ae
RM
17842010-09-08 Robert Millan <rmh@gnu.org>
1785
1786 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
1787 with (optional) parameters to specify device and relative path.
1788 * util/grub-install.in: Use is_path_readable_by_grub() to
1789 verify readability of a few critical files.
1790 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
1791 verify readability of grub.cfg.new.
1792
27f21a8b
VS
17932010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 Split minix.mod into minix.mod and minix2.mod.
1796
1797 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
1798 * grub-core/Makefile.core.def (minix2): New module.
1799 * grub-core/fs/minix.c: Use definitions instead of runtime version
1800 checking.
1801 * grub-core/fs/minix2.c: New file.
1802
c0e53ea5
YB
18032010-09-08 Yves Blusseau <blusseau@zetam.org>
1804
1805 Add new --boot-directory option to replace --root-directory
1806
1807 * util/grub-install.in: Add new --boot-directory option
1808 * util/grub-reboot.in: Likewise.
1809 * util/grub-set-default.in: Likewise.
1810
b9fe6ea2
YB
18112010-09-08 Yves Blusseau <blusseau@zetam.org>
1812
1813 * util/grub-mkconfig.in: Use new variable.
1814
d87aedff
YB
18152010-09-08 Yves Blusseau <blusseau@zetam.org>
1816
1817 * configure.ac: Define some useful variables.
1818
e55e8495
VS
18192010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1822 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
1823 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
1824 Use terminfo and don't use cursor-on/cursor-off unless it's known
1825 to work.
1826 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
1827 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
1828
6fa6d675
CW
18292010-09-08 Colin Watson <cjwatson@ubuntu.com>
1830
1831 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
1832 starts with "(,", fill the drive containing the loaded image in
1833 between those two characters, but expect that a full partition
1834 specification including partition map names will follow.
1835
92f2aef0
RM
18362010-09-08 Robert Millan <rmh@gnu.org>
1837
1838 * configure.ac: Remove `--enable-grub-fstest' option.
1839 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
1840
1841 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
1842 `grub-fstest' instead of `grub-probe' for readability verification.
1843 * util/grub-probe.c (probe): Remove readability verification kludge.
1844
99fd620d
RM
18452010-09-08 Robert Millan <rmh@gnu.org>
1846
1847 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
1848 initializing `GRUB_FS'.
1849
058e30ac 18502010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
1851
1852 Not command (!) support to GRUB script.
1853
1854 * tests/grub_script_not.in: New test.
1855 * Makefile.util.def: Rules for new test.
1856
1857 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1858 ! command as a special case.
1859 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
1860
b61d05ed 18612010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1862
058e30ac 1863 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
1864 grub_free.
b61d05ed 1865
4d69c786 18662010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1867
1868 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
1869
aa3119c4 18702010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1871
1872 * docs/grub.texi (Shell-like scripting): Documentation for break,
1873 continue, shift and return commands.
1874
db0f7e3d
VS
18752010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Rename CD-ROM to cd on BIOS.
1878
1879 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
1880 "cd".
1881 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
1882
88b87c93
VS
18832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
1886 * util/grub-probe.c (main): Likewise.
1887 * util/i386/pc/grub-setup.c (main): Likewise.
1888 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1889 Reported and debugged by: alexxy
1890
294f324d
VS
18912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
1894 diagnostic info.
1895
d7ee3441
JS
18962010-09-05 Jo Shields <directhex@apebox.org>
1897
1898 * util/grub.d/30_os-prober.in: Add missing classes.
1899
d7e06c1f
VS
19002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * docs/grub.texi (Theme file format): Document new position format.
1903
fc157e53
VS
19042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
1907 a table. Use @code instead of @verbatim.
1908
506e9a1c
CB
19092010-09-05 Colin D Bennett <colin@gibibit.com>
1910
1911 Gfxmenu documentation.
1912
1913 * docs/grub.texi (Theme file format): New chapter.
1914
f0aff67c
SJ
19152010-09-05 Szymon Janc <szymon@janc.net.pl>
1916
1917 * grub-core/Makefile.core.def (xzio): New module.
1918 * grub-core/io/xzio.c: New file.
1919 * grub-core/lib/xzembed/xz.h: New file (from xembed).
1920 * grub-core/lib/xzembed/xz_config.h: Likewise.
1921 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
1922 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
1923 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
1924 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
1925 * grub-core/lib/xzembed/xz_private.h: Likewise.
1926 * grub-core/lib/xzembed/xz_stream.h: Likewise.
1927 * include/grub/file.h (grub_file_filter_id): New compression filter
1928 GRUB_FILE_FILTER_XZIO.
1929
82a85062
VS
19302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
1933 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
1934 size.
1935
3579415d
VS
19362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
1939 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
1940
5124ae6d
VS
19412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 Uncompressed checksum support.
1944
1945 * grub-core/commands/hashsum.c (options): Add option --uncompress.
1946 (check_list): New parameter uncompress.
1947 (grub_cmd_hashsum): Handle --uncompress.
1948
9aadb3d1
VS
19492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 Reintroduce testload.
1952
1953 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
1954 from here ...
1955 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
1956 (GRUB_MOD_INIT): New function.
1957 (GRUB_MOD_FINI): Likewise.
1958 * grub-core/Makefile.core.def (testload): New module.
1959
a17792c3
SJ
19602010-09-05 Szymon Janc <szymon@janc.net.pl>
1961
1962 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
1963 (uint8_t): New type.
1964 (uint16_t): Likewise.
1965 (uint32_t): Likewise.
1966 (uint64_t): Likewise.
1967
b81e40a3
SJ
19682010-09-05 Szymon Janc <szymon@janc.net.pl>
1969
1970 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
1971
fc2ef117
VS
19722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
1975 Made static.
1976 (grub_gzfile_open): Removed. All users updated.
1977 (GRUB_MOD_INIT): New function.
1978 (GRUB_MOD_FINI): Likewise.
1979 * grub-core/kern/file.c (grub_file_filters_all): New variable.
1980 (grub_file_filters_enabled): Likewise.
1981 (grub_file_open): Handle filters.
1982 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
1983 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
1984 * include/grub/file.h (grub_file_filter_id_t): New type.
1985 (grub_file_filter_t): Likewise.
1986 (grub_file_filters_all): New extern variable.
1987 (grub_file_filters_enabled): Likewise.
1988 (grub_file_filter_register): New inline function.
1989 (grub_file_filter_unregister): Likewise.
1990 (grub_file_filter_disable): Likewise.
1991 (grub_file_filter_disable_compression): Likewise.
1992 * include/grub/gzio.h: Removed.
1993
35ee15e0
BC
19942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1995
1996 Filename expansion support for wildcards in GRUB script.
1997
1998 * tests/grub_script_expansion.in: New test.
1999 * Makefile.util.def: Rule for new test.
2000
2001 * grub-core/commands/wildcard.c: New file, implements filename
2002 expansion support for GRUB script.
2003 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2004 * grub-core/script/argv.c: Cosmetic changes.
2005 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2006 Refactored to perform wildcard expansion on arguments.
2007 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2008 struct.
2009
2010 * tests/util/grub-shell.in: Fix quoting for read input.
2011
5f0c4aca
BC
20122010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2013
2014 Support for updating environment variables with matched substrings
2015 of regexp.
2016
2017 * tests/grub_cmd_regexp.in: New test.
2018 * Makefile.util.def: Rule for new test.
2019
2020 * grub-core/commands/regexp.c: New option -s to update environment
2021 variables with regexp matches.
2022
3759a35f
SJ
20232010-09-04 Szymon Janc <szymon@janc.net.pl>
2024
2025 * include/grub/file.h (grub_file): New member not_easly_seekable.
2026 (grub_file_seekable): New inline function.
2027 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
2028 easily seekable.
2029 (grub_gzio_open): Set not_easly_seekable.
2030 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
2031 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2032
ed8c6dec
BC
20332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2034
2035 Support for options to appear multiple times on cmdline.
2036
2037 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
2038 * grub-core/commands/extcmd.c: Support for repeatable option.
2039 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
2040 repeatable option support.
2041
2042 Refactor menuentry into a regular command.
2043
2044 * grub-core/commands/menuentry.c: New file, menuentry command
2045 implementation.
2046 * grub-core/Makefile.core.def: Rule update for normal.mod.
2047 * grub-core/normal/main.c: Moved menuentry creation to
2048 grub-core/commands/menuentry.c.
2049 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2050 (grub_menu_execute_entry_real): Removed.
2051 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2052 function.
2053 (grub_script_execute_menuentry): Removed.
2054 * grub-core/script/parser.y (menuentry): Removed.
2055 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2056 * grub-core/script/yylex.l (menuentry): Removed.
2057 * include/grub/menu.h (grub_menu_init): New prototype.
2058 (grub_menu_fini): New prototype.
2059 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2060 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2061 (grub_script_execute_sourcecode): New prototype.
2062
dacd0cf0
BC
20632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2064
2065 "return" command for GRUB script functions.
2066
2067 * tests/grub_script_return.in: New test.
2068 * Makefile.util.def: Rules for new test.
2069
2070 * grub-core/script/execute.c (grub_script_return): New function.
2071 * grub-core/script/main.c: Register/unregister return commaond.
2072 * include/grub/script_sh.h (grub_script_return): New prototype.
2073
52e72f9d
BC
20742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2075
2076 "setparams" command to update positional parameters.
2077
2078 * tests/grub_script_setparams.in: New test.
2079 * Makefile.util.def: Rules for new test.
2080
2081 * grub-core/script/argv.c (grub_script_argv_make): New function.
2082 * grub-core/script/execute.c (replace_scope): New function.
2083 (grub_script_setparams): New function.
2084 * grub-core/script/lexer.c: Remove unused variables.
2085 * grub-core/script/main.c: Register/unregister setparams command.
2086 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2087 (grub_script_setparams): New prototype.
2088
25b60c91
BC
20892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2090
2091 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2092 grub_free order.
2093
37e7bf68
BC
20942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2095
2096 Support for passing block of commands as an argument to extcmds.
2097
2098 * Makefile.util.def: Rules for new test.
2099 * tests/grub_script_blockarg.in: New test.
2100 * grub-core/tests/test_blockarg.c: New file, block argument
2101 command used in the test.
2102
2103 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2104 (grub_register_extcmd_prio): New function prototype.
2105 (grub_extcmd_dispatcher): New function prototype.
2106 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2107 type.
2108 * include/grub/script_sh.h (struct grub_script): New members
2109 `children', `next_siblings' and `refcnt' for block arguments and
2110 reference counting.
2111 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2112 (grub_script_arg): New member `script' for block argument.
2113 (grub_script_argv): New member `script' for block argument.
2114 (grub_parser_param): New member `scripts' for block argument.
2115 (grub_script_mem_free): New extern function prototype.
2116 (grub_script_ref): New function prototype.
2117 (grub_script_unref): New function prototype.
2118
2119 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2120 extcmd form to support block arguments.
2121 * grub-core/script/argv.c: Block arguments support.
2122 * grub-core/script/execute.c: Likewise.
2123 * grub-core/script/lexer.c: Likewise.
2124 * grub-core/script/main.c: Likewise.
2125 * grub-core/script/script.c: Likewise.
2126 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2127 non-terminals.
2128
2129 * grub-core/commands/acpi.c: Update extcmd implementations with
2130 grub_extcmd_context_t.
2131 * grub-core/commands/cat.c: Likewise.
2132 * grub-core/commands/echo.c: Likewise.
2133 * grub-core/commands/extcmd.c: Likewise.
2134 * grub-core/commands/hashsum.c: Likewise.
2135 * grub-core/commands/hdparm.c: Likewise.
2136 * grub-core/commands/help.c: Likewise.
2137 * grub-core/commands/hexdump.c: Likewise.
2138 * grub-core/commands/i386/cpuid.c: Likewise.
2139 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2140 * grub-core/commands/i386/pc/halt.c: Likewise.
2141 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2142 * grub-core/commands/iorw.c: Likewise.
2143 * grub-core/commands/keystatus.c: Likewise.
2144 * grub-core/commands/loadenv.c: Likewise.
2145 * grub-core/commands/ls.c: Likewise.
2146 * grub-core/commands/lspci.c: Likewise.
2147 * grub-core/commands/memrw.c: Likewise.
2148 * grub-core/commands/probe.c: Likewise.
2149 * grub-core/commands/search_wrap.c: Likewise.
2150 * grub-core/commands/setpci.c: Likewise.
2151 * grub-core/commands/sleep.c: Likewise.
2152 * grub-core/disk/loopback.c: Likewise.
2153 * grub-core/hello/hello.c: Likewise.
2154 * grub-core/loader/i386/bsd.c: Likewise.
2155 * grub-core/loader/xnu.c: Likewise.
2156 * grub-core/term/gfxterm.c: Likewise.
2157 * grub-core/term/serial.c: Likewise.
2158 * grub-core/tests/lib/functional_test.c: Likewise.
2159
888d1500
BC
21602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2161
2162 Multi-line quoted strings support.
2163
2164 * grub-core/script/lexer.c (append_newline): Removed.
2165 (grub_script_lexer_yywrap): Refactored.
2166 (grub_script_lexer_init): Refactored.
2167 * grub-core/script/yylex.l (yywrap): New function.
2168 (grub_lexer_resplit): New function.
2169 (grub_lexer_unput): New function.
2170 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2171 and resplit.
2172 * tests/grub_script_echo1.in: Added few more testcases.
2173
dda060dd
VS
21742010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/kern/misc.c: Don't add abort alias in utils.
2177 Reported by: echoline.
2178
6556eba9
BC
21792010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2180
2181 Add missing files into "make dist" tarball for other platforms.
2182
2183 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2184 * conf/Makefile.common (dist_noinst_DATA): New variable.
2185 * conf/Makefile.extra-dist: Added missing make dist files.
2186 * grub-core/Makefile.core.def: Likewise.
2187
c8e7bf5f
VS
21882010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 Compress grub_prefix.
2191
2192 * grub-core/boot/i386/pc/lnxboot.S: Use
2193 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2194 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2195 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2196 GRUB_MACHINE_PREFIX_END. All users updated.
2197 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2198 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2199 + 0x40.
2200 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2201 * util/grub-mkimage.c (image_target_desc): Change data_end to
2202 prefix_end. All users updated.
2203
a7c00cdb
VS
22042010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2207 value.
2208 (grub_openbsd_boot): Likewise.
2209 (grub_netbsd_boot): Likewise.
2210 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2211 (grub_xnu_boot): Likewise.
2212
9f915872
VS
22132010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * configure.ac: Clean LIBS variable after tests.
2216
efa1bee7
CW
22172010-09-02 Colin Watson <cjwatson@ubuntu.com>
2218
2219 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2220
61d720e5
VS
22212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2224 echo if libdevmapper will be used.
2225
ef8e0ec8
IT
22262010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2227
2228 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2229 constant for the same file.
2230
03e261d8
VS
22312010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2234
c2a4eba6
CW
22352010-09-02 Colin Watson <cjwatson@ubuntu.com>
2236
2237 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2238 grub-core/*.pp.
2239
9056cbf3
CW
22402010-09-02 Colin Watson <cjwatson@ubuntu.com>
2241
2242 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2243 required by the boot protocol.
2244
2245 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2246 ebp and edi members.
2247 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2248 state.ebp and state.edi.
2249 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2250 %ebp and %edi according to grub_relocator32_ebp and
2251 grub_relocator32_edi respectively.
2252 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2253 and state.edi.
2254
529cc99a
VS
22552010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Add i386-pc-pxe image target.
2258
2259 * util/grub-mkimage.c (image_target_desc): New enum value
2260 IMAGE_I386_PC_PXE.
2261 (image_targets): New target i386-pc-pxe.
2262 (generate_image): Handle i386-pc-pxe image.
2263
9a093920
VS
22642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 Fix grub_pxe_scan.
2267
2268 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2269 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2270 All users updated.
2271 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2272 (grub_pxe_pxenv): Correct type.
2273
f9cefc4e
CW
22742010-09-01 Colin Watson <cjwatson@ubuntu.com>
2275
2276 * NEWS: Document most of the important changes since 1.98.
2277
4066f57f
CW
22782010-09-01 Colin Watson <cjwatson@ubuntu.com>
2279
2280 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2281 generated manual page) a little.
2282
da2891f9
CW
22832010-09-01 Colin Watson <cjwatson@ubuntu.com>
2284
2285 * docs/grub.texi: Add myself as an author.
2286
ad717fae
VS
22872010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * Makefile.util.def (libgrub.a): Add missing sunpc.
2290 Reported by: Seth Goldberg.
2291
eefe8abd
VS
22922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Interrupt wrapping and code simplifications.
2295
9494ef9a
VS
2296 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2297 x86_noieee1275 which are functionaly equivalent in this case.
2298 (grub-install): Make source on each platform explicit. Enable on
2299 all noemu.
2300 * gentpl.py (x86_efi_pc): Removed group.
2301 (x86_noefi): Likewise.
2302 (i386_noefi): Likewise.
2303 (x86_noieee1275): Likewise.
2304 (i386_noieee1275): Likewise.
2305 (i386_noefi_noieee1275): Likewise.
2306 (i386_pc_qemu_coreboot): Likewise.
2307 (i386_coreboot_multiboot): Likewise.
2308 (i386_pc_coreboot_multiboot_qemu): Likewise.
2309 (x86_noefi_mips): Likewise.
2310 (noieee1275): Likewise.
2311 (ieee1275_mips): Likewise.
2312 (noemu_noieee1275): Likewise.
2313 (cmos): New group.
2314 (usb): Likewise.
2315 (videoinkernel): Likewise.
2316 (videomodules): Likewise.
eefe8abd 2317 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
2318 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2319 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2320 include/grub/loader.h, include/grub/msdos_partition.h,
2321 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2322 include/grub/machine/console.h, include/grub/machine/vga.h,
2323 include/grub/machine/vbe.h, include/grub/machine/init.h,
2324 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2325 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 2326 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
2327 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2328 * grub-core/Makefile.core.def (kernel): Explicit the source for
2329 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2330 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2331 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2332 Use videoinkernel tag.
2333 (usb): Enable on all usb.
2334 (usbserial_common): Likewise.
2335 (usbserial_pl2303): Likewise.
2336 (usbserial_ftdi): Likewise.
2337 (uhci): Enable on all x86.
2338 (ohci): Enable on all pci.
2339 (cmostest): Enable on all CMOS.
2340 (acpi): Include commands/acpi.c on all platforms.
2341 (halt): Add relevant lib/*/halt.c.
2342 (hdparm): Enable on all pci.
2343 (lspci): Likewise.
2344 (usbtest): Enable on all usb.
2345 (ata): Enable on all pci.
2346 (ata_pthru): Likewise.
2347 (usbms): Enable on all usb.
2348 (usb_keyboard): Likewise.
2349 (font): Use tag videomodules.
2350 (bufio): Likewise.
2351 (datetime): Use tag cmos. Enable on all noemu.
2352 (mmap): Use tags common and x86.
2353 (gfxterm): Use tag videomodules.
2354 (bitmap): Likewise.
2355 (bitmap_scale): Likewise.
2356 (video_fb): Likewise.
2357 (video): Likewise.
2358 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2359 adjust padding accordingly. All users updated.
2360 (grub_ohci_transaction): Fix bad format specification.
2361 (GRUB_MOD_INIT): Add asserts for struct size.
2362 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2363 (grub_alloc_td): Likewise.
2364 (grub_free_queue): Likewise.
2365 (grub_uhci_transfer): Likewise.
2366 (grub_uhci_transaction): Fix bad format specification.
2367 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2368 (grub_usb_bulk_readwrite): Likewise.
2369 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2370 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2371 Made static.
2372 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2373 Made static.
2374 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2375 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2376 Transformed into C.
2377 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2378 Moved from here ...
2379 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2380 ... here. Transformed into C. Made static.
2381 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2382 Moved from here ...
2383 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2384 ... here. Transformed into C. Made static.
2385 * grub-core/kern/i386/pc/startup.S
2386 (grub_biosdisk_check_int13_extensions): Moved from here ...
2387 * grub-core/disk/i386/pc/biosdisk.c
2388 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2389 Made static.
2390 * grub-core/kern/i386/pc/startup.S
2391 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2392 * grub-core/disk/i386/pc/biosdisk.c
2393 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2394 Transformed into C. Made static.
2395 * grub-core/kern/i386/pc/startup.S
2396 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2397 * grub-core/disk/i386/pc/biosdisk.c
2398 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2399 Transformed into C. Made static.
2400 * grub-core/kern/i386/pc/startup.S
2401 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2402 * grub-core/disk/i386/pc/biosdisk.c
2403 (grub_biosdisk_get_diskinfo_standard): ... here.
2404 Transformed into C. Made static.
2405 * grub-core/kern/i386/pc/startup.S
2406 (grub_biosdisk_get_num_floppies): Moved from here ...
2407 * grub-core/disk/i386/pc/biosdisk.c
2408 (grub_biosdisk_get_num_floppies): ... here.
2409 Transformed into C. Made static.
2410 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2411 New function.
2412 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2413 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2414 Transformed into C. Made static.
2415 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2416 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2417 Transformed into C. Made static.
2418 * grub-core/kern/i386/ieee1275/init.c: Removed.
2419 * grub-core/kern/i386/misc.S: Likewise.
2420 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2421 Splitted from here ...
2422 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2423 Transformed into C. Made static. All users updated.
2424 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2425 Transformed into C. Made static. All users updated.
2426 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2427 Moved from here...
2428 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2429 Transformed into C. Made static. All users updated.
2430 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2431 Moved from here...
2432 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2433 Transformed into C. Made static. All users updated.
2434 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2435 Removed (replaced by C version).
2436 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2437 Moved from here...
2438 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2439 Transformed into C. Made static.
2440 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2441 Moved from here...
2442 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2443 ... here. Transformed into C.
2444 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2445 Moved from here...
2446 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2447 ... here. Transformed into C.
2448 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2449 Moved from here...
2450 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2451 ... here. Transformed into C. Made static.
2452 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2453 Moved from here...
2454 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2455 ... here. Transformed into C.
21ed554b
VS
2456 * grub-core/kern/i386/pc/startup.S
2457 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2458 * grub-core/video/i386/pc/vbe.c
2459 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
2460 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2461 Moved from here...
2462 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2463 ... here. Transformed into C.
2464 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2465 Moved from here...
2466 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2467 ... here. Transformed into C.
2468 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2469 Moved from here...
2470 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2471 ... here. Transformed into C.
2472 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2473 Moved from here...
2474 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2475 ... here. Transformed into C.
2476 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2477 Moved from here...
2478 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2479 ... here. Transformed into C. Made static.
2480 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2481 Moved from here...
2482 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2483 ... here. Transformed into C. Made static.
2484 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2485 Moved from here...
2486 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2487 ... here. Transformed into C. Made static.
2488 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2489 pxe_rm_entry as third argument.
2490 (grub_bios_interrupt): New function.
2491 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2492 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2493 of calling grub_stop.
2494 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2495 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2496 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2497 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2498 * grub-core/lib/i386/halt.c: Moved from here ...
2499 * grub-core/lib/i386/halt.c: ... here.
2500 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2501 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2502 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2503 grub_stop_floppy.
2504 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2505 * include/grub/i386/coreboot/init.h: Removed.
2506 * include/grub/i386/multiboot/init.h: Likewise.
2507 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2508 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2509 * include/grub/i386/pc/int.h: New file.
2510 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2511 (grub_pxe_scan): Removed.
2512 (grub_pxe_call): Update prototype.
2513 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2514 prototypes.
2515 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2516 * include/grub/i386/qemu/init.h: Removed.
2517 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2518 noreturn.
2519 (grub_halt): Likewise.
2520 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2521 (grub_reboot): Likewise.
2522 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2523 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
2524 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2525
215dd471
RM
25262010-08-30 Robert Millan <rmh@gnu.org>
2527
2528 * NEWS: Document addition of ZFS support in `grub-install' and
2529 `grub-mkconfig'.
2530
ebd65b82
BC
25312010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2532
2533 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2534 dprintf output.
2535
11721d19
VS
25362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 Remove leftover embedding of font objects.
2539
2540 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2541 * util/grub-install.in (font): Removed.
2542 * util/grub-mkimage.c (generate_image): Remove font support. All users
2543 updated.
2544
37837d4e
VS
25452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 Remove leftover embedding of font objects.
2548
2549 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2550 * util/grub-install.in (font): Removed.
2551 * util/grub-mkimage.c (generate_image): Remove font support. All users
2552 updated.
2553
b4c1aae0
VS
25542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 2557 Reported by: Ian Turner
b4c1aae0 2558
8920a08d
VS
25592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
2562 timeout to avoid indefinite boot stalling.
2563
f21db033
VS
25642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
2567 (grub_env_write_color_highlight): Likewise.
2568
9a9de209
VS
25692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/normal/term.c (print_more): Return to normal and not
2572 to standard state after printing "---MORE---".
2573
3dca01d7
VS
25742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
2577 Mask out the bit 0x80 since it has other meaning that specifiing color.
2578
0b986c40
VS
25792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 New relocator. Allows for more kernel support and more straightforward
2582 loader writing.
2583
2584 * Makefile.am (BOOTTARGET): New variable.
2585 (QEMU32): Likewise.
2586 (linux.init.x86_64): New target.
2587 (linux.init.i386): Likewise.
2588 (multiboot.elf): Likewise.
2589 (kfreebsd.elf): Likewise.
2590 (kfreebsd.aout): Likewise.
2591 (pc-chainloader.elf): Likewise.
2592 (pc-chainloader.bin): Likewise.
2593 (ntldr.elf): Likewise.
2594 (ntldr.bin): Likewise.
2595 (multiboot2.elf): Likewise.
2596 (kfreebsd.init.x86_64): Likewise.
2597 (kfreebsd.init.i386): Likewise.
2598 (knetbsd.init.i386): Likewise.
2599 (kopenbsd.init.i386): Likewise.
2600 (knetbsd.init.x86_64): Likewise.
2601 (kopenbsd.init.x86_64): Likewise.
2602 (linux-initramfs.i386): Likewise.
2603 (linux-initramfs.x86_64): Likewise.
2604 (kfreebsd-mfsroot.i386.img): Likewise.
2605 (knetbsd.image.i386): Likewise.
2606 (kopenbsd.image.i386): Likewise.
2607 (kopenbsd.image.x86_64): Likewise.
2608 (knetbsd.miniroot-image.i386.img): Likewise.
2609 (kfreebsd-mfsroot.x86_64.img): Likewise.
2610 (knetbsd.image.x86_64): Likewise.
2611 (knetbsd.miniroot-image.x86_64.img): Likewise.
2612 (kfreebsd-mfsroot.i386.gz): Likewise.
2613 (bootcheck-kfreebsd-i386): Likewise.
2614 (kfreebsd-mfsroot.x86_64.gz): Likewise.
2615 (bootcheck-kfreebsd-x86_64): Likewise.
2616 (knetbsd.miniroot-image.i386.gz): Likewise.
2617 (bootcheck-knetbsd-i386): Likewise.
2618 (bootcheck-kopenbsd-i386): Likewise.
2619 (bootcheck-kopenbsd-x86_64): Likewise.
2620 (knetbsd.miniroot-image.x86_64.gz): Likewise.
2621 (bootcheck-knetbsd-x86_64): Likewise.
2622 (bootcheck-linux-i386): Likewise.
2623 (bootcheck-linux-x86_64): Likewise.
2624 (bootcheck-linux16-i386): Likewise.
2625 (bootcheck-linux16-x86_64): Likewise.
2626 (bootcheck-multiboot): Likewise.
2627 (bootcheck-multiboot2): Likewise.
2628 (bootcheck-kfreebsd-aout): Likewise.
2629 (bootcheck-pc-chainloader): Likewise.
2630 (bootcheck-ntldr): Likewise.
2631 (CLEANFILES): Add new targets.
2632 (BOOTCHECKS): New variable.
2633 (.PHONY): Add bootchecks.
2634 (SUCCESSFUL_BOOT_STRING): New variable.
2635 (BOOTCHECK_TIMEOUT): Likewise.
2636 (bootcheck): New target
2637 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
2638 * configure.ac: Correct efiemu excuse.
2639 * docs/grub.texi (Supported kernels): New chapter.
2640 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
2641 include/grub/mm_private.h. Simplify inclusion of
2642 include/grub/boot.h, include/grub/loader.h
2643 and include/grub/msdos_partition.h
2644 (KERNEL_HEADER_FILES) [i386_coreboot]:
2645 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
2646 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
2647 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
2648 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
2649 include/grub/machine/loader.h.
2650 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
2651 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
2652 extra_dist.
2653 (pci.mod): Enable on i386-multiboot.
2654 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
2655 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
2656 i386-qemu.
2657 (relocator.mod): Rewritten.
2658 (aout.mod): Enable on all x86.
2659 (bsd.mod): Likewise.
2660 (ntldr.mod): New module.
2661 (linux.mod): Use loader/i386/linux.c on all x86.
2662 (xnu.mod): Enable on all x86.
2663 (vga_text.mod): disable on EFI and QEMU.
2664 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
2665 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
2666 * grub-core/efiemu/loadcore.c: Likewise.
2667 * grub-core/efiemu/main.c: Likewise.
2668 (grub_efiemu_exit_boot_services): Removed.
2669 (grub_efiemu_finish_boot_services): Likewise.
2670 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
2671 function.
2672 * grub-core/efiemu/i386/nocfgtables.c: New file.
2673 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
2674 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
2675 (grub_efi_finish_boot_services): Moved from here ...
2676 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
2677 Fille finish memory map and related data.
2678 (finish_mmap_buf): New variable.
2679 (grub_efi_uintn_t finish_mmap_size): Likewise.
2680 (grub_efi_uintn_t finish_key): Likewise.
2681 (grub_efi_uintn_t finish_desc_size): Likewise.
2682 (grub_efi_uint32_t finish_desc_version): Likewise.
2683 (grub_efi_is_finished): Likewise.
2684 (grub_efi_get_memory_map): Use saved memory map if EFI is already
2685 finished.
2686 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
2687 (grub_elf64_phdr_iterate): Likewise.
2688 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
2689 (grub_os_area_size): Likewise.
2690 (grub_machine_init): Don't reserve os area.
2691 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
2692 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2693 * grub-core/kern/i386/loader.S: Removed.
2694 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
2695 (grub_os_area_size): Likewise.
2696 (grub_machine_init): Don't reserve os area.
2697 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2698 Don't call grub_dl_unload_all.
2699 Don't include loader.S.
2700 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2701 Declare the memory after _end as available.
2702 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 2703 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 2704 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
2705 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
2706 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
2707 * include/grub/mm_private.h (grub_mm_header): ... here.
2708 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
2709 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
2710 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
2711 (grub_mm_region): ..here. Removed addr. Added pre_size.
2712 All users updated.
2713 * grub-core/kern/mm.c (base): Renamed to ...
2714 (grub_mm_base): ... this. Made global.
2715 (grub_real_malloc): Alloc from end of region.
2716 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
2717 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
2718 * grub-core/kern/powerpc/cache_flush.S: ... here.
2719 * grub-core/lib/efi/relocator.c: New file.
2720 * grub-core/lib/i386/relocator.c: Rewritten.
2721 * grub-core/lib/i386/relocator16.S: New file.
2722 * grub-core/lib/i386/relocator32.S: Likewise.
2723 * grub-core/lib/i386/relocator64.S: Likewise.
2724 * grub-core/lib/i386/relocator_asm.S: Rewritten.
2725 * grub-core/lib/i386/relocator_common.S: New file.
2726 * grub-core/lib/ieee1275/relocator.c: Likewise.
2727 * grub-core/lib/mips/relocator.c: Rewritten.
2728 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
2729 stylistic adjustments.
2730 * grub-core/lib/powerpc/relocator.c: New file.
2731 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
2732 * grub-core/lib/relocator.c: Rewritten.
2733 * grub-core/lib/x86_64/relocator_asm.S: New file.
2734 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
2735 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
2736 (bsd_tag): New struct.
2737 (tags): New variable.
2738 (tags_last): Likewise.
2739 (netbsd_module): New struct.
2740 (netbsd_mods): New variable.
2741 (netbsd_mods_last): Likewise.
2742 (openbsd_opts): New parameter "serial".
2743 (OPENBSD_SERIAL_ARG): New definition.
2744 (netbsd_opts): New parameter "serial".
2745 (NETBSD_SERIAL_ARG): New definition.
2746 (grub_freebsd_add_meta): Reorganised into ...
2747 (grub_bsd_add_meta): ...this. All users updated.
2748 (grub_freebsd_add_mmap): Reorganised into ...
2749 (generate_e820_mmap): ...this...
2750 (grub_bsd_add_mmap): ...and this. All users updated.
2751 (grub_freebsd_list_modules): Use tags.
2752 (grub_netbsd_add_meta_module): New function.
2753 (grub_netbsd_list_modules): Likewise.
2754 (grub_freebsd_boot): Use relocator and finish EFI.
2755 (grub_openbsd_boot): Likewise.
2756 (grub_netbsd_setup_video): New function.
2757 (grub_netbsd_add_modules): Likewise.
2758 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
2759 and finish EFI.
2760 (grub_bsd_unload): Unload tags.
2761 (grub_bsd_load_aout): Use relocator.
2762 (grub_bsd_elf32_size_hook): New function.
2763 (grub_bsd_elf32_hook): Use relocator.
2764 (grub_bsd_elf64_size_hook): New function.
2765 (grub_bsd_elf64_hook): Use relocator.
2766 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
2767 (grub_bsd_load): Zero-out openbsd_ramdisk.
2768 (grub_bsd_load): Use relocator.
2769 (grub_cmd_openbsd): Support serial.
2770 (grub_cmd_netbsd): Support modules.
2771 (grub_cmd_freebsd_module): Use relocator.
2772 (grub_netbsd_module_load): New function.
2773 (grub_cmd_netbsd_module): Likewise.
2774 (grub_cmd_openbsd_ramdisk): Likewise.
2775 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
2776 kopenbsd_ramdisk.
2777 (GRUB_MOD_FINI): Unregister new commands.
2778 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
2779 (grub_freebsd_load_elfmodule_obj): Use relocator.
2780 (grub_freebsd_load_elfmodule): Likewise.
2781 (grub_freebsd_load_elf_meta): Likewise.
2782 (grub_netbsd_load_elf_meta): New function.
2783 (grub_openbsd_find_ramdisk): Likewise.
2784 * grub-core/loader/i386/bsd_helper.S: Removed.
2785 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
2786 * grub-core/loader/i386/bsd_trampoline.S: Removed.
2787 * grub-core/loader/i386/efi/linux.c: Likewise.
2788 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
2789 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
2790 (DEFAULT_VIDEO_MODE): Likewise.
2791 (real_mode_target): New variable.
2792 (prot_mode_target): Likewise.
2793 (initrd_mem_target): Likewise.
2794 (relocator): Likewise.
2795 (efi_mmap_buf): Likewise.
2796 (efi_mmap_size): Likewise.
2797 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
2798 (free_pages): Use relocator.
2799 (allocate_pages): Account for efi_mmap and use relocator. Return error.
2800 (grub_linux_setup_video): Return error.
2801 (grub_linux_trampoline_start): Removed.
2802 (grub_linux_trampoline_end): Likewise.
2803 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
2804 andd video parameters depending on firmware.
2805 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
2806 [GRUB_MACHINE_EFI]: Pass EFI parameters.
2807 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
2808 (grub_cmd_initrd): Use relocator.
2809 * grub-core/loader/i386/linux_trampoline.S: Removed.
2810 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
2811 (elf_sec_entsize): Likewise.
2812 (elf_sec_shstrndx): Likewise.
2813 (elf_sections): Likewise.
2814 (grub_multiboot_load): Use relocator.
2815 (grub_multiboot_get_mbi_size): Account for sections.
2816 (grub_multiboot_make_mbi): Use relocator and support sections.
2817 (grub_multiboot_add_elfsyms): New function.
2818 (grub_multiboot_free_mbi): Free sections.
2819 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
2820 (grub_linux_real_target): Likewise.
2821 (grub_linux_real_chunk): Likewise.
2822 (grub_linux16_prot_size): Likewise.
2823 (grub_linux16_boot): Use relocator.
2824 (grub_linux_unload): Unload relocator.
2825 (grub_cmd_linux): Use relocator.
2826 (grub_cmd_initrd): Likewise.
2827 * grub-core/loader/i386/pc/ntldr.c: New file.
2828 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
2829 Don't try to guess CPU frequency.
2830 (grub_xnu_set_video): Stretch bitmap.
2831 (grub_xnu_boot): Use relocator.
2832 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
2833 (grub_linux_unload): Free relocator.
2834 (grub_linux_load32): Use relocator.
2835 (grub_linux_load64): Likewise.
2836 (grub_cmd_initrd): Likewise.
2837 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
2838 (grub_multiboot_unload): Unload relocator.
2839 (grub_cmd_multiboot): Use relocator.
2840 (grub_cmd_module): Likewise.
2841 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
2842 Use relocator and support sections.
2843 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
2844 (elf_sec_entsize): Likewise.
2845 (elf_sec_shstrndx): Likewise.
2846 (elf_sections): Likewise.
2847 (grub_multiboot_load): Use relocator.
2848 (grub_multiboot_get_mbi_size): Account for sections.
2849 (grub_multiboot_make_mbi): Use relocator and support sections.
2850 (grub_multiboot_add_elfsyms): New function.
2851 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
2852 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
2853 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
2854 Prototype changed. All users updated.
2855 (grub_xnu_align_heap): Simplified.
2856 (grub_xnu_writetree_toheap): Likewise.
2857 (grub_xnu_unload): Unload relocator.
2858 (grub_cmd_xnu_kernel): Use relocator.
2859 (grub_cmd_xnu_kernel64): Likewise.
2860 (grub_xnu_register_memory): Simplified.
2861 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
2862 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
2863 EFI is finished.
2864 (grub_console_checkkey): Likewise.
2865 (grub_console_getkey): Likewise.
2866 (grub_console_getwh): Likewise.
2867 (grub_console_getxy): Likewise.
2868 (grub_console_gotoxy): Likewise.
2869 (grub_console_cls): Likewise.
2870 (grub_console_setcolorstate): Likewise.
2871 (grub_console_setcursor): Likewise.
2872 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
2873 * grub-core/tests/boot/kbsd.init-i386.S: New file.
2874 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
2875 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
2876 * grub-core/tests/boot/kernel-8086.S: Likewise.
2877 * grub-core/tests/boot/kernel-i386.S: Likewise.
2878 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
2879 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
2880 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
2881 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
2882 * grub-core/tests/boot/knetbsd.cfg: Likewise.
2883 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
2884 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
2885 * grub-core/tests/boot/linux.cfg: Likewise.
2886 * grub-core/tests/boot/linux.init-i386.S: Likewise.
2887 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
2888 * grub-core/tests/boot/linux16.cfg: Likewise.
2889 * grub-core/tests/boot/multiboot.cfg: Likewise.
2890 * grub-core/tests/boot/multiboot2.cfg: Likewise.
2891 * grub-core/tests/boot/ntldr.cfg: Likewise.
2892 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
2893 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
2894 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
2895 New definition.
2896 * include/grub/dl.h (grub_dl_unload_all): Removed.
2897 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
2898 (grub_efi_finish_boot_services): Change prototype.
2899 (grub_efi_is_finished): New variable.
2900 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
2901 Changed prototype.
2902 (grub_efiemu_finish_boot_services): Removed.
2903 (grub_machine_efiemu_init_tables): New prototype.
2904 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
2905 (grub_elf64_phdr_iterate): Likewise.
2906 * include/grub/i386/bsd.h: Include relocator.h.
2907 (freebsd_tag_header): New struct.
2908 (grub_openbsd_bios_mmap): Removed.
2909 (grub_unix_real_boot): Removed.
2910 (grub_freebsd_load_elfmodule32): Changed prototype.
2911 (grub_freebsd_load_elfmodule_obj64): Likewise.
2912 (grub_freebsd_load_elf_meta32): Likewise.
2913 (grub_freebsd_load_elf_meta64): Likewise.
2914 (grub_freebsd_add_meta): Removed.
2915 (grub_netbsd_load_elf_meta32): New prototype.
2916 (grub_netbsd_load_elf_meta64): Likewise.
2917 (grub_bsd_add_meta): Likewise.
2918 (grub_openbsd_ramdisk_descriptor): New struct.
2919 (grub_openbsd_find_ramdisk32): New prototype.
2920 (grub_openbsd_find_ramdisk64): Likewise.
2921 * include/grub/i386/coreboot/loader.h: Removed.
2922 * include/grub/i386/efi/loader.h: Likewise.
2923 * include/grub/i386/ieee1275/loader.h: Likewise.
2924 * include/grub/i386/linux.h (linux_kernel_header): Change void *
2925 to grub_uint32_t.
2926 * include/grub/i386/loader.h: Removed.
2927 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
2928 value.
2929 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
2930 (grub_phys_addr_t): New type.
2931 (grub_vtop): New inline function.
2932 (grub_map_memory): Likewise.
2933 (grub_unmap_memory): Likewise.
2934 * include/grub/i386/multiboot/loader.h: Removed.
2935 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
2936 (NETBSD_BTINFO_CONSOLE): New definition.
2937 (NETBSD_BTINFO_SYMTAB): Likewise.
2938 (NETBSD_BTINFO_MODULES): Likewise.
2939 (NETBSD_BTINFO_FRAMEBUF): Likewise.
2940 (grub_netbsd_bootinfo): New struct.
2941 (grub_netbsd_btinfo_common): Use explicit bitsize.
2942 (grub_netbsd_btinfo_mmap_entry): Removed.
2943 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
2944 (grub_netbsd_btinfo_bootdisk): New struct.
2945 (grub_netbsd_btinfo_symtab): Likewise.
2946 (grub_netbsd_btinfo_serial): Likewise.
2947 (grub_netbsd_btinfo_modules): Likewise.
2948 (grub_netbsd_btinfo_framebuf): Likewise.
2949 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
2950 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
2951 Likewise.
2952 (grub_openbsd_bootargs): Use explicit bitsize.
2953 (grub_openbsd_bootarg_console): New struct.
2954 (GRUB_OPENBSD_COM_MAJOR): New definition.
2955 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
2956 * include/grub/i386/pc/efiemu.h: Removed.
2957 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
2958 * include/grub/i386/qemu/loader.h: Removed.
2959 * include/grub/i386/relocator.h: Rewritten.
2960 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
2961 * include/grub/mips/memory.h: New file.
2962 * include/grub/mips/multiboot.h: Rewritten.
2963 * include/grub/mips/relocator.h: Rewritten.
2964 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
2965 (grub_vtop): New function.
2966 (grub_map_memory): Likewise.
2967 (grub_unmap_memory): Likewise.
2968 * include/grub/misc.h (ALIGN_DOWN): New definition.
2969 * include/grub/mm.h (grub_mm_check_real): New proto.
2970 (GRUB_MM_CHECK): New definition.
2971 * include/grub/mm_private.h: New file.
2972 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
2973 (grub_multiboot_get_mbi_size): Removed.
2974 (grub_multiboot_make_mbi): Change prottype.
2975 (grub_multiboot_set_accepts_video): New proto.
2976 (grub_multiboot_add_elfsyms): Likewise.
2977 (grub_multiboot_payload_eip): New variable.
2978 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
2979 New prototype.
2980 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
2981 New definition.
2982 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
2983 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
2984 * include/grub/powerpc/ieee1275/loader.h: Removed.
2985 * include/grub/powerpc/memory.h: New file.
2986 * include/grub/powerpc/relocator.h: Likewise.
2987 * include/grub/relocator.h: Likewise.
2988 * include/grub/relocator_private.h: Likewise.
2989 * include/grub/sparc64/ieee1275/loader.h: Removed.
2990 * include/grub/x86_64/memory.h: New file.
2991 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
2992 (grub_xnu_heap_malloc): Likewise.
2993 (grub_xnu_heap_real_start): Removed.
2994 (grub_xnu_heap_start): Likewise.
2995 (grub_xnu_relocator): New variable.
2996 (grub_xnu_heap_target_start): Likewise.
2997 * tests/util/grub-shell.in: Support non-pc.
2998 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 2999
5303b85d
VS
30002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3003 on malloc error.
3004 (grub_bidi_logical_to_visual): Check that malloc succeded.
3005 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3006 puts.
3007 (grub_xputs_normal): Likewise.
3008
d768d159
VS
30092010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
3012 extra_dist.
3013
30142010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/efiemu/runtime/efiemu.sh: Removed.
3017
5bf84df4
VS
30182010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
3021
3626810e
VS
30222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
3025 dprintf.
3026
a7363f53
BC
30272010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
3028
3029 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
3030
902f75f6
VS
30312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/normal/term.c (print_more): Fix a memory leak.
3034 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
3035 (grub_xputs_normal): Likewise.
3036
3c707967
VS
30372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
3040 the begining of the string
3041
2053cc07
VS
30422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/script/script.c (grub_script_parse): Free parsed on
3045 failure.
3046
46422ebf
VS
30472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3050 on failure.
3051
9e0fa3f6
VS
30522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3055 return.
3056
3393cf16
VS
30572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3060 (scroll_up): Fix a memory leak.
3061
b17540cb
VS
30622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3065 errors.
3066
67140446
VS
30672010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 Handle USB pendrives exposed as floppies.
3070
3071 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3072 floppy.
3073 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3074 Check for partitions on all devices.
3075
e35e46fc
VS
30762010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3079 (readkey): Likewise.
3080
d24c6190
BC
30812010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3082
3083 Multiple variable names support to "export" command.
3084
3085 * normal/context.c (grub_cmd_export): "export" command supports
3086 multiple variable names.
3087
04ddcc6a
ST
30882010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3089
3090 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3091 --target=drive output to Mach device name.
3092
0c8b61d8
BC
30932010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3094
3095 New Automake based build system for GRUB.
3096
3097 * ABOUT-NLS: New file.
3098 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3099 in Makefile.util.def file.
3100 * Makefile.util.def: New file. Autogen build definitions file for
3101 GRUB host utils.
3102 * conf/Makefile.common: New file. Common variables for GRUB host
3103 utils and target modules.
3104 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3105 * docs/Makefile.am: New file. Automake file for docs.
3106 * gentpl.py: New file. Python script to generate Autogen
3107 template.
3108 * grub-core/Makefile.am: New file. GRUB target modules' rules
3109 that doesn't fit in Makefile.core.def file.
3110 * grub-core/Makefile.core.def: New file. Autogen build
3111 definitions file for GRUB target modules.
3112 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3113 specific setjmp.S file.
3114 * po/Makefile.am: New file.
3115
3116 * .bzrignore: New ignores.
3117 * INSTALL: New requirements, without Ruby.
3118 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3119 * autogen.sh: Updated to invoke autogen as necessary.
3120 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3121 and defines for Automake conditionals.
3122 * geninit.sh: Refactoring.
3123
3124 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3125 necessary.
3126 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3127 New prototype.
3128
3129 * include/grub/test.h: Fix functional test modules' naming.
3130 * grub-core/tests/example_functional_test.c: Fix test module name.
3131
3132 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3133 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3134 * util/grub-editenv.c: Likewise.
3135 * util/grub-fstest.c: Likewise.
3136 * util/grub-mkdevicemap.c: Likewise.
3137 * util/grub-mkfont.c: Likewise.
3138 * util/grub-mkimage.c: Likewise.
3139 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3140 * util/grub-probe.c: Likewise.
3141 * util/grub-script-check.c: Likewise.
3142 * util/i386/pc/grub-setup.c: Likewise.
3143 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3144
3145 * tests/util/grub-shell.in: Fix override directory path.
3146 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3147 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3148
3149 * util/lvm.c: Update #includes.
3150 * util/raid.c: Likewise.
3151 * util/resolve.c: Likewise.
3152 * grub-core/bus/emu/pci.c: Likewise.
3153 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3154 * grub-core/lib/posix_wrap/string.h: Likewise.
3155 * grub-core/kern/emu/main.c: Likewise.
3156
3157 * grub-core/gensymlist.sh: New file. Script for generating kernel
3158 symbols file.
3159 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3160
3161 * grub-core/gentrigtables.c: Fix unused variable warnings.
3162
3163 * Makefile.in: Removed.
3164 * conf/any-emu.rmk: Removed.
3165 * conf/common.rmk: Removed.
3166 * conf/i386-coreboot.rmk: Removed.
3167 * conf/i386-efi.rmk: Removed.
3168 * conf/i386-ieee1275.rmk: Removed.
3169 * conf/i386-multiboot.rmk: Removed.
3170 * conf/i386-pc.rmk: Removed.
3171 * conf/i386-qemu.rmk: Removed.
3172 * conf/i386.rmk: Removed.
3173 * conf/mips-yeeloong.rmk: Removed.
3174 * conf/mips.rmk: Removed.
3175 * conf/powerpc-ieee1275.rmk: Removed.
3176 * conf/sparc64-ieee1275.rmk: Removed.
3177 * conf/tests.rmk: Removed.
3178 * conf/x86-efi.rmk: Removed.
3179 * conf/x86_64-efi.rmk: Removed.
3180 * gendistlist.sh: Removed.
3181 * geninitheader.sh: Removed.
3182 * genkernsyms.sh.in: Removed.
3183 * genmk.rb: Removed.
3184 * gensymlist.sh.in: Removed.
3185 * mkinstalldirs: Removed.
3186 * boot: Moved ...
3187 * grub-core/boot: ... to here.
3188 * bus: Moved ...
3189 * grub-core/bus: ... to here.
3190 * commands: Moved ...
3191 * grub-core/commands: ... to here.
3192 * disk: Moved ...
3193 * grub-core/disk: ... to here.
3194 * efiemu: Moved ...
3195 * grub-core/efiemu: ... to here.
3196 * font: Moved ...
3197 * grub-core/font: ... to here.
3198 * fs: Moved ...
3199 * grub-core/fs: ... to here.
3200 * gencmdlist.sh: Moved ...
3201 * grub-core/gencmdlist.sh: ... to here.
3202 * genemuinit.sh: Moved ...
3203 * grub-core/genemuinit.sh: ... to here.
3204 * genemuinitheader.sh: Moved ...
3205 * grub-core/genemuinitheader.sh: ... to here.
3206 * genfslist.sh: Moved ...
3207 * grub-core/genfslist.sh: ... to here.
3208 * genhandlerlist.sh: Moved ...
3209 * grub-core/genhandlerlist.sh: ... to here.
3210 * genmoddep.awk: Moved ...
3211 * grub-core/genmoddep.awk: ... to here.
3212 * genmodsrc.sh: Moved ...
3213 * grub-core/genmodsrc.sh: ... to here.
3214 * genpartmaplist.sh: Moved ...
3215 * grub-core/genpartmaplist.sh: ... to here.
3216 * genparttoollist.sh: Moved ...
3217 * grub-core/genparttoollist.sh: ... to here.
3218 * genterminallist.sh: Moved ...
3219 * grub-core/genterminallist.sh: ... to here.
3220 * gentrigtables.c: Moved ...
3221 * grub-core/gentrigtables.c: ... to here.
3222 * genvideolist.sh: Moved ...
3223 * grub-core/genvideolist.sh: ... to here.
3224 * gettext: Moved ...
3225 * grub-core/gettext: ... to here.
3226 * gfxmenu: Moved ...
3227 * grub-core/gfxmenu: ... to here.
3228 * gnulib: Moved ...
3229 * grub-core/gnulib: ... to here.
3230 * hello: Moved ...
3231 * grub-core/hello: ... to here.
3232 * hook: Moved ...
3233 * grub-core/hook: ... to here.
3234 * io: Moved ...
3235 * grub-core/io: ... to here.
3236 * kern: Moved ...
3237 * grub-core/kern: ... to here.
3238 * lib: Moved ...
3239 * grub-core/lib: ... to here.
3240 * loader: Moved ...
3241 * grub-core/loader: ... to here.
3242 * mmap: Moved ...
3243 * grub-core/mmap: ... to here.
3244 * normal: Moved ...
3245 * grub-core/normal: ... to here.
3246 * partmap: Moved ...
3247 * grub-core/partmap: ... to here.
3248 * parttool: Moved ...
3249 * grub-core/parttool: ... to here.
3250 * script: Moved ...
3251 * grub-core/script: ... to here.
3252 * term: Moved ...
3253 * grub-core/term: ... to here
3254 * tests/example_functional_test.c: Moved ...
3255 * grub-core/tests/example_functional_test.c: ... to here.
3256 * tests/lib/functional_test.c: Moved ...
3257 * grub-core/tests/lib/functional_test.c: ... to here.
3258 * tests/lib/test.c: Moved ...
3259 * grub-core/tests/lib/test.c: ... to here.
3260 * video: Moved ...
3261 * grub-core/video: ... to here.
3262
645586e6
BC
32632010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3264
3265 Replace --enable-grub-emu-modules with grub-emu-lite.
3266
3267 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3268 cache.S.
3269
3270 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3271 * kern/emu/full.c: New file. For grub-emu specific initialization.
3272 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3273 * kern/emu/main.c: Call initialization function grub_emu_init.
3274
3275 * Makefile.in: Include grub-emu-lite in install.
3276 * commands/parttool.c: Use grub_no_autoload to differentiate
3277 between grub-emu and grub-emu-lite.
3278 * include/grub/misc.h: New variable grub_no_autoload.
3279
3280 * conf/any-emu.rmk: New rules for grub-emu-lite.
3281 * configure.ac: Remove --enable-grub-emu-modules.
3282 * genmk.rb: Cleanup unnecessary rules.
3283 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3284
3285 * normal/main.c: Don't load list files on grub-emu-lite.
3286 * util/misc.c (grub_arch_sync_caches): Removed.
3287
f86a4030
CW
32882010-08-23 Colin Watson <cjwatson@ubuntu.com>
3289
3290 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3291 grub-mkimage rather than grub-mkelfimage.
3292 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3293
06776944
VS
32942010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3297 a key after CapsLock or NumLock. It's just a qemu bug.
3298
df262419
VS
32992010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3302 needed by libusb wrapper.
3303
b40ea81b
ST
33042010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3305
3306 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3307
dee50575
VS
33082010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3311 --nounzip is passed.
3312
fb1d7b79
VS
33132010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 USB hotunplugging and USB serial support.
3316
3317 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3318 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3319 (grub_uhci_transfer): Respect timeout and set *actual.
3320 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3321 non-standard length.
3322 (grub_usb_device_attach): Autoload modules.
3323 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3324 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3325 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3326 users updated.
3327 (grub_usb_add_hub): Fill nports and children.
3328 (attach_root_port): Receive hub instead of controller.
3329 All users updated. Fill hub->devices.
3330 (grub_usb_root_hub): Allocate hub->devices.
3331 (detach_device): New function.
3332 (poll_nonroot_hub): Fill children and detach devices.
3333 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3334 actual arguments. All users updated.
3335 (grub_usb_bulk_read_extended): New function.
3336 * bus/usb/serial/common.c: New file.
3337 * bus/usb/serial/ftdi.c: Likewise.
3338 * bus/usb/serial/pl2303.c: Likewise.
3339 * commands/terminal.c (handle_command): Support wildcard.
3340 * commands/usbtest.c: Output "Unknown" instead of empty string.
3341 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3342 (usbserial_common_mod_SOURCES): New variable.
3343 (usbserial_common_mod_CFLAGS): Likewise.
3344 (usbserial_common_mod_LDFLAGS): Likewise.
3345 (pkglib_MODULES): Add usbserial_pl2303.mod.
3346 (usbserial_pl2303_mod_SOURCES): New variable.
3347 (usbserial_pl2303_mod_CFLAGS): Likewise.
3348 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3349 (pkglib_MODULES): Add usbserial_ftdi.mod.
3350 (usbserial_ftdi_mod_SOURCES): New variable.
3351 (usbserial_ftdi_mod_CFLAGS): Likewise.
3352 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3353 (pkglib_MODULES): Add serial.mod.
3354 (serial_mod_SOURCES): New variable.
3355 (serial_mod_CFLAGS): Likewise.
3356 (serial_mod_LDFLAGS): Likewise.
3357 * conf/i386-pc.rmk: Likewise.
3358 * conf/mips-yeeloong.rmk: Likewise.
3359 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3360 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3361 * disk/usbms.c (first_available_slot): New variable.
3362 (grub_usbms_attach): Don't reuse free slots due to potential cache
3363 problems.
3364 * include/grub/serial.h: Moved to ..
3365 * include/grub/ns8250.h: ...this.
3366 * include/grub/serial.h: New file.
3367 * include/grub/term.h (grub_term_poll_usb): New variable.
3368 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3369 readkey. All users updated.
3370 (grub_terminfo_output_state): Pass term to put.
3371 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3372 (grub_usb_controller_dev): Add timeout and actual arguments to
3373 transfer. All users updated.
3374 (grub_usb_interface): New field detach_data.
3375 (grub_usb_device): New fields children and nports.
3376 (grub_usb_ep_type_t): New type.
3377 (grub_usb_get_ep_type): New function.
3378 (grub_usb_bulk_read_extended): Likewise.
3379 * include/grub/usbdesc.h (grub_usb_desc): New type.
3380 * include/grub/usbserial.h: New file.
3381 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3382 * kern/term.c (grub_term_poll_usb): New variable.
3383 (grub_getkey): Call grub_term_poll_usb if set.
3384 (grub_checkkey): Likewise.
3385 (grub_getkeystatus): Likewise.
3386 * term/serial.c: Moved controller-specific parts to ...
3387 * term/ns8250.c: ... here.
3388 * term/serial.c: Mostly rewritten.
3389 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3390 according to spec.
3391
21a313de
RM
33922010-08-20 Robert Millan <rmh@gnu.org>
3393
3394 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3395 a separate module and maybe other interesting combinations.
3396
3397 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3398 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3399 (kfreebsd_entry): Add generic filesystem module load routine.
3400 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3401
63c734a6
CW
34022010-08-20 Colin Watson <cjwatson@ubuntu.com>
3403
3404 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3405 "numcenter" (I misunderstood the purpose of this entry).
3406 * docs/grub.texi (sendkey): Likewise.
3407
c4d16542
CW
34082010-08-20 Colin Watson <cjwatson@ubuntu.com>
3409
3410 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3411 status flag options; simply omitting the option is equivalent and
3412 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3413 (keysym_table): Rename "num5numlock" to "numlock".
3414 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3415 can uniformly say that only the last of multiple `sendkey'
3416 invocations has any effect.
3417 * docs/grub.texi (sendkey): New section.
3418
93541d66
CW
34192010-08-19 Colin Watson <cjwatson@ubuntu.com>
3420
3421 * commands/i386/pc/sendkey.c (options): Fix three typos.
3422
b4ece5e1
VS
34232010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 Implement sendkey support.
3426
3427 * commands/i386/pc/sendkey.c: New file.
3428 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3429 (sendkey_mod_SOURCES): New variable.
3430 (sendkey_mod_CFLAGS): Likewise.
3431 (sendkey_mod_LDFLAGS): Likewise.
3432
51f1f5af
CW
34332010-08-18 Colin Watson <cjwatson@ubuntu.com>
3434
3435 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3436 fix warnings from Autoconf.
3437
9da94e05
CW
34382010-08-18 Colin Watson <cjwatson@ubuntu.com>
3439
3440 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3441 to avoid false positives with some assemblers that output things
3442 like "someprefix_func" as part of their output.
3443
729a0f2e
RM
34442010-08-15 Robert Millan <rmh@gnu.org>
3445
3446 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3447 errors.
3448 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3449 grub_get_libzfs_handle() errors.
3450
f3710e08
RM
34512010-08-14 Robert Millan <rmh@gnu.org>
3452
3453 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3454 filesystem is not ZFS.
3455
7a3c13de
BC
34562010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3457
3458 Fix for misspelled color names defaulting to black/black (bug
3459 reported by Doug Nazar)
3460
3461 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3462 status to prototype.
3463 * normal/color.c (grub_parse_color_name_pair): Return failure
3464 status.
3465 (grub_env_write_color_normal): Ignore bad color names.
3466 (grub_env_write_color_highlight): Likewise.
3467 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3468
ab8ba50d
BC
34692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3470
3471 "shift" command support to GRUB script.
3472
3473 * include/grub/script_sh.h (grub_script_shift): New prototype.
3474 * script/execute.c (grub_script_shift): New function.
3475 * script/main.c (grub_script_init): Register shift command.
3476 (grub_script_fini): Unregister shift command.
3477 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3478
3479 * tests/grub_script_shift.in: New testcase.
3480 * conf/tests.rmk: Rules for new testcase.
3481
4d61999e
BC
34822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3483
3484 "continue" command support to GRUB script.
3485
3486 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3487 (grub_script_break): Continue support.
3488 * script/main.c (grub_script_init): Register continue command.
3489 (grub_script_fini): Unregister continue command.
3490
3491 * tests/grub_script_continue.in: New testcase.
3492 * conf/tests.rmk: Rules for new testcase.
3493
4df51e00
BC
34942010-08-12 BVK Chaitanya <bvk@dbook>
3495
3496 "break" command support to GRUB script.
3497
3498 * conf/common.rmk: Rule updates to grub-script-check.
3499 * include/grub/misc.h (grub_min): New function.
3500 * include/grub/script_sh.h (grub_script_init): New prototype.
3501 (grub_script_fini): New prototype.
3502 (grub_script_break): New prototype.
3503 * script/main.c (grub_script_init): New function.
3504 (grub_script_fini): New function.
3505 * script/execute.c (grub_script_break): New function.
3506 * normal/main.c: Calls to grub_script_{init,fini}.
3507 * util/grub-script-check.c (grub_script_break): New function.
3508
3509 * tests/grub_script_break.in: New testcase.
3510 * conf/tests.rmk: Rules for new test case.
3511
f12c8420
BC
35122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3513
3514 Function parameters support to GRUB script.
3515
3516 * script/yylex.l (VARIABLE): Regular expression update.
3517 * script/function.c (grub_script_function_call): Moved ...
3518 * script/execute.c (grub_script_function_call): ... to here.
3519 (grub_script_execute_arglist_to_argv): Removed.
3520 (grub_script_arglist_to_argv): New function.
3521 * script/argv.c: New file.
3522 (grub_script_argv_free): New function.
3523 (grub_script_argv_next): Likewise.
3524 (grub_script_argv_append): Likewise.
3525 (grub_script_argv_split_append): Likewise.
3526 * include/grub/script_sh.h (grub_script_argv): New struct.
3527 (grub_script_argv_free): New function.
3528 (grub_script_argv_next): Likewise.
3529 (grub_script_argv_append): Likewise.
3530 (grub_script_argv_split_append): Likewise.
3531
3532 * conf/common.rmk (normal.mod): New source script/argv.c.
3533
3534 * tests/grub_script_echo1.in: More tests.
3535 * tests/grub_script_vars1.in: Likewise.
3536 * tests/grub_script_functions.in: New test case.
3537 * conf/tests.rmk: Rules for new testcase.
3538
8022b748
BC
35392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3540
3541 Remove grub_script_cmdblock struct.
3542
3543 * include/grub/script_sh.h: Remove grub_script_cmdblock.
3544 * script/parser.y: Likewise.
3545 * script/execute.c: Rename cmdblock suffix to cmdlist.
3546 * script/script.c: Likewise.
3547 * util/grub-script-check.c: Likewise.
3548
79a6ba61
YB
35492010-08-11 Yves Blusseau <blusseau@zetam.org>
3550
3551 * .bzrignore: add grub-macho2img
3552
d04b9414
VS
35532010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
3556
f947ab49
VS
35572010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 Remove the dump of sm712 initialisation sequence.
3560
3561 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
3562 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
3563 (GRUB_VGA_IO_MISC_WRITE): Likewise.
3564 (GRUB_VGA_CR_*): Added many registers.
3565 (GRUB_VGA_SR_*): Likewise.
3566 (GRUB_VGA_GR_*): Likewise.
3567 (grub_vga_write_arx): New function.
3568 (grub_video_hw_config): New struct.
3569 (grub_vga_set_geometry): New function.
3570 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
3571 GRUB_PCI_CLASS_SUBCLASS_VGA.
3572 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
3573 * video/sm712.c (grub_sm712_write_reg): New function
3574 (grub_sm712_read_reg): Likewise.
3575 (grub_sm712_sr_write): Likewise.
3576 (grub_sm712_gr_write): Likewise.
3577 (grub_sm712_cr_write): Likewise.
3578 (grub_sm712_write_arx): Likewise.
3579 (grub_sm712_cr_shadow_write): Likewise.
3580 (grub_sm712_write_dda_lookup): Likewise.
3581 (grub_video_sm712_setup): Initialise the video rather then
3582 blindly replay the dump.
3583 (main) [TEST]: Add a routine to be able to compile as standalone for
3584 tests.
3585 * video/sm712_init.c (sm712_init): Removed.
3586 (sm712_sr_seq1): New array.
3587 (sm712_sr_seq2): Likewise.
3588
f0206638
VS
35892010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * include/grub/vga.h: Add missing grub/pci.h include.
3592
2764da3b
YB
35932010-08-10 Yves Blusseau <blusseau@zetam.org>
3594
3595 * util/grub-macho2img.c (main): fix typo
3596
cf0c775e
VS
35972010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
3600 (grub_vga_gr_read): Likewise.
3601 (grub_vga_cr_write): Likewise.
3602 (grub_vga_cr_read): Likewise.
3603 (grub_vga_sr_write): Likewise.
3604 (grub_vga_sr_read): Likewise.
3605 (grub_vga_palette_read): Likewise.
3606 (grub_vga_palette_write): Likewise.
3607 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
3608 (grub_sm712_sr_read): New function.
3609 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
3610 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
3611
07f360e9
RM
36122010-08-09 Robert Millan <rmh@gnu.org>
3613
3614 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
3615 out unused variables on non-ZFS build.
3616
346c2072
RM
36172010-08-08 Robert Millan <rmh@gnu.org>
3618
3619 Fix path generation for sub-filesystems in ZFS.
3620
3621 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
3622 missing slash.
3623
71175420
RM
36242010-08-08 Robert Millan <rmh@gnu.org>
3625
3626 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
3627
0d8286f3
RM
36282010-08-08 Robert Millan <rmh@gnu.org>
3629
3630 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
3631 exist, issue a proper error message (rely on `ls' for translated
3632 strings).
3633
55dd2924
RM
36342010-08-08 Robert Millan <rmh@gnu.org>
3635
3636 Fix grub-probe invocation.
3637
3638 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
3639
d3dd9e80
RM
36402010-08-04 Robert Millan <rmh@gnu.org>
3641
3642 * configure.ac: Remove checks for getfsstat() and getmntany().
3643 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
3644 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
3645 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
3646 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
3647 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
3648 function.
3649 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
3650 via find_mount_point_from_dir() and getfsstat() / getmntany().
3651
0de22aa9
RM
36522010-08-04 Robert Millan <rmh@gnu.org>
3653
3654 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3655 (grub_find_zpool_from_mount_point): Merge into ...
3656 (grub_find_zpool_from_dir): ... this.
3657 * kern/emu/misc.c: Likewise.
3658
3659 * kern/emu/misc.c
3660 (grub_make_system_path_relative_to_its_root): Replace
3661 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
3662 with grub_find_zpool_from_dir().
3663 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
3664
62858144
RM
36652010-08-04 Robert Millan <rmh@gnu.org>
3666
3667 Support OpenSolaris in ZFS device resolution.
3668
3669 * configure.ac: Check for getmntany().
3670 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
3671 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
3672 support.
3673
9dd6fd50
RM
36742010-08-03 Robert Millan <rmh@gnu.org>
3675
3676 Fix grub-emu build.
3677
3678 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
3679 * include/grub/emu/misc.h: ... here.
3680
3681 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
3682 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
3683
3684 * util/misc.c: Remove `<grub/util/libzfs.h>'.
3685 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
3686 (grub_get_libzfs_handle): Move to ...
3687 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
3688 (grub_get_libzfs_handle): ... here.
3689
c9f7ff97
BC
36902010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
3691
3692 * script/execute.c (grub_script_execute_cmdline): Check for NULL
3693 as command name case.
3694
a870a783
CW
36952010-08-02 Colin Watson <cjwatson@ubuntu.com>
3696
3697 * disk/raid.c (insert_array): Select unique numbers for named arrays
3698 as well, for use as keys in the disk cache.
3699
c7db243b
RM
37002010-08-01 Robert Millan <rmh@gnu.org>
3701
3702 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
3703 kFreeBSD device name, except on ZFS where the filesystem label is
3704 used.
3705 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
3706 `/boot/zfs/zpool.cache'.
3707 Set mountfrom kernel variable using ${kfreebsd_device}.
3708
f7abdefb
RM
37092010-08-01 Robert Millan <rmh@gnu.org>
3710
3711 Make it even harder to use uninitialized `libzfs_handle' (and
3712 make the interface a bit simpler).
3713
3714 * include/grub/util/misc.h (grub_util_init_libzfs)
3715 (libzfs_handle): Remove.
3716 (grub_get_libzfs_handle): New prototype.
3717
3718 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
3719 attribute.
3720 (grub_util_init_libzfs): Remove.
3721 (grub_get_libzfs_handle): New function.
3722
3723 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
3724 grub_get_libzfs_handle() to obtain a libzfs handle instead of
3725 accessing `libzfs_handle' directly.
3726
c882acc0
RM
37272010-08-01 Robert Millan <rmh@gnu.org>
3728
3729 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3730 (grub_find_zpool_from_mount_point): New function prototypes.
3731
3732 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3733 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3734
3735 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3736 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3737 `static' attribute.
3738
3739 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3740 finding zpool from mount point into ...
3741 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3742
3743 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3744 requested path is part of a ZFS pool, use
3745 grub_find_zpool_from_mount_point() to detect its filesystem name,
3746 and generate a path with `/fsname@path' syntax.
3747
8bfe31d8
CW
37482010-08-01 Colin Watson <cjwatson@ubuntu.com>
3749
3750 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
3751 (void) rather than () so that this is a proper prototype.
3752
553df63d
VS
37532010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
3756
8687cf07
VS
37572010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
3760 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
3761
ea9be8ea
CW
37622010-08-01 Colin Watson <cjwatson@ubuntu.com>
3763
3764 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
3765
6eea041a
CW
37662010-08-01 Colin Watson <cjwatson@ubuntu.com>
3767
3768 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
3769
2cfb45df
CW
37702010-08-01 Colin Watson <cjwatson@ubuntu.com>
3771
3772 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
3773 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
3774 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
3775 disable gfxpayload.
3776 (Shell-like scripting): Add real content.
3777 (Serial terminal): Suggest `terminal_input serial; terminal_output
3778 serial' rather than putting the two commands on separate lines,
3779 since console input will be inoperative after the first command.
3780 (menuentry): Document --class, --users, and --hotkey options.
3781 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
3782 Vladimir Serbinenko).
3783
7decd202
VS
37842010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
37852010-08-01 Colin Watson <cjwatson@ubuntu.com>
3786
3787 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
3788
c882acc0
RM
37892010-08-01 Robert Millan <rmh@gnu.org>
3790
3791 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3792 (grub_find_zpool_from_mount_point): New function prototypes.
3793
3794 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3795 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3796
3797 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3798 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3799 `static' attribute.
3800
3801 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3802 finding zpool from mount point into ...
3803 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3804
3805 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3806 requested path is part of a ZFS pool, use
3807 grub_find_zpool_from_mount_point() to detect its filesystem name,
3808 and generate a path with `/fsname@path' syntax.
3809
deb0caa3
RM
38102010-08-01 Robert Millan <rmh@gnu.org>
3811
3812 Prevent accidental use of uninitialized libzfs_handle.
3813
3814 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
3815 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
3816 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
3817
ce04ef47
CW
38182010-08-01 Colin Watson <cjwatson@ubuntu.com>
3819
3820 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
3821 util/grub.d/10_linux.in). Fixes Debian bug #591093.
3822
ebf53056
RM
38232010-08-01 Robert Millan <rmh@gnu.org>
3824
3825 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 3826
3710bb6b
RM
38272010-07-31 Robert Millan <rmh@gnu.org>
3828
3829 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
3830
8072efeb
RM
38312010-07-31 Robert Millan <rmh@gnu.org>
3832
3833 * kern/emu/misc.c: Add missing license header.
3834
3169f4c7
RM
38352010-07-31 Robert Millan <rmh@gnu.org>
3836
3837 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
3838
3839 * include/grub/util/libnvpair.h: Include `<config.h>'.
3840 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
3841 declaring libnvpair prototypes ourselves.
3842 * include/grub/util/libzfs.h: Include `<config.h>'.
3843 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
3844 declaring libzfs prototypes ourselves.
3845
3846 (libzfs_handle): Moved to ...
3847 * include/grub/util/misc.h (libzfs_handle): ... here.
3848 Include `<grub/util/libzfs.h>'.
3849
c9a00aee
RM
38502010-07-30 Robert Millan <rmh@gnu.org>
3851
3852 * include/grub/emu/misc.h: Add missing license header.
3853
a184f9c8
RM
38542010-07-30 Robert Millan <rmh@gnu.org>
3855
3856 Enable `grub-probe -t device' resolution on ZFS.
3857
3858 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
3859 * include/grub/util/libnvpair.h: New file.
3860 * include/grub/util/libzfs.h: New file.
3861
3862 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
3863 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
3864 `<grub/util/libnvpair.h>'.
3865 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
3866
3867 (find_mount_point_from_dir): New static function.
3868 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
3869 function.
3870 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
3871 find_root_device_from_libzfs() before ressorting to find_root_device().
3872
3873 * include/grub/util/misc.h (grub_util_init_libzfs): New function
3874 prototype.
3875 * util/misc.c: Include `<grub/util/libzfs.h>'.
3876 (grub_util_init_libzfs): New function.
3877 [HAVE_LIBZFS] (libzfs_handle): New global variable.
3878 [HAVE_LIBZFS] (fini_libzfs): New static function.
3879 (grub_util_init_libzfs): New function.
3880 * util/grub-probe.c (main): Call grub_util_init_libzfs().
3881
f7790cdd
RM
38822010-07-30 Robert Millan <rmh@gnu.org>
3883
3884 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
3885 (xmalloc, xrealloc, xstrdup, xasprintf): Add
3886 `warn_unused_result' attribute.
3887 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
3888 (grub_xasprintf, grub_xvasprintf): Likewise.
3889 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
3890
0806b63c
RM
38912010-07-29 Robert Millan <rmh@gnu.org>
3892
3893 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
3894 (probe): Handle `PRINT_FS_LABEL'.
3895 (main): Handle `-t fs_label'.
3896
9f841f5c
RM
38972010-07-29 Robert Millan <rmh@gnu.org>
3898
3899 * configure.ac: Remove grub-mkisofs checks.
3900
46371121
VS
39012010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * util/ieee1275/grub-install.in: Don't use empty grub_device.
3904 Reported by: Lennart Sorensen.
3905
39062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
3909 prior to terminal_input/terminal_output separation. It's been over 1.5
3910 years and those versions weren't widely deployed.
3911
a9600892
CW
39122010-07-22 Colin Watson <cjwatson@ubuntu.com>
3913
3914 * disk/raid.c (insert_array): Don't count named arrays when looking
3915 for unused array numbers.
697e053c 3916 Reported and tested by: Michael Guntsche.
a9600892 3917
c03507df
CW
39182010-07-20 Colin Watson <cjwatson@ubuntu.com>
3919
3920 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
3921 implementation of this so that grub-emu links again, with a note
3922 that this should support hotplugging in the future.
3923
b26f1c11
CW
39242010-07-20 Colin Watson <cjwatson@ubuntu.com>
3925
3926 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3927
efc9d7f1
CW
39282010-07-20 Colin Watson <cjwatson@ubuntu.com>
3929
3930 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
3931 handle on failure.
3932 (grub_loopback_close): Remove empty function.
3933 (grub_loopback_dev): Remove close method.
3934
dd8ff5c9
CW
39352010-07-20 Colin Watson <cjwatson@ubuntu.com>
3936
3937 Disable EFI cursor when the EFI console becomes inactive.
3938
3939 * term/efi/console.c (grub_efi_console_init): New function.
3940 (grub_efi_console_fini): New function.
3941 (grub_console_term_output): Register init and fini methods.
3942
5e3bec67
VS
39432010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * tests/util/grub-shell-tester.in: Remove bashism and declare as
3946 sh script.
3947
afaec079
VS
39482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * disk/loopback.c (grub_loopback): Replace filename with file.
3951 (delete_loopback): Handle new semantics.
3952 (grub_cmd_loopback): Likewise.
3953 (grub_loopback_iterate): Likewise.
3954 (grub_loopback_close): Likewise.
3955
a6a11f3c
VS
39562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
3959 with -p "".
3960 Reported by: Tito Keitel.
3961
64a638b0
VS
39622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * docs/grub.texi (Naming convention): Document new naming convention.
3965
ab8ba957
VS
39662010-07-20 Vadim Solomin <vadic052@gmail.com>
39672010-07-20 Colin Watson <cjwatson@ubuntu.com>
3968
3969 Generate device.map in something closer to the old ordering.
3970
3971 * util/deviceiter.c (struct device): New declaration.
3972 (compare_file_names): Rename to ...
3973 (compare_devices): ... this. Sort by kernel name in preference to
3974 the stable by-id name, but keep the latter as a fallback comparison.
3975 Update header comment.
3976 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
3977 of `struct device' rather than of plain file names.
3978
a29d6a4b
TF
39792010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
3980
3981 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
3982 on i386.
3983
39d824e8
VS
39842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * commands/acpi.c (setup_common_tables): Use sizeof instead of
3987 hardcoding size.
3988 (setv1table): Likewise.
3989
f058276b
FZ
39902010-07-20 Colin Watson <cjwatson@ubuntu.com>
3991
3992 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
3993 removing the homehost if present.
3994 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
3995 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
3996 removing the homehost if present.
3997 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
3998 if possible.
3999 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4000
4001 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4002 parameter. Set its pointer target to 0.
4003 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4004 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4005 `data_offset' value from the superblock for 1.x metadata.
4006 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4007 data on the device.
4008 (insert_array): Record the start sector of data on the device.
4009 (grub_raid_register): Pass start_sector parameters to
4010 grub_raid_list->detect and insert_array.
4011 * include/grub/raid.h (struct grub_raid_array): Add start_sector
4012 member.
4013 (struct grub_raid): Add start_sector parameter to `detect'.
4014
4015 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
4016 __attribute__ ((packed)), leaving a comment.
4017 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
4018 (grub_mdraid_detect_09): ... here and ...
4019 (grub_mdraid_detect_1x): ... here.
4020
40212010-07-20 Peter Henn <peter.henn@web.de>
4022
4023 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
4024 chunk size and disk size, which are already given as sector counts
4025 as distinct from the 0.90 units. Fetch the correct device number
4026 from the role table instead of using the table index.
4027
40282010-07-20 Felix Zielcke <fzielcke@z-51.de>
4029
4030 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
4031 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
4032 (WriteMostly1): New macro.
4033 Set array->name to NULL for metadata format 0.90. Add support for
4034 metadata 1.x. Fix some comments.
4035 * disk/raid.c (): Add support for name based RAID arrays. Fix a
4036 few comments.
4037 * util/getroot.c (grub_util_get_grub_dev): Add support for
4038 /dev/md/name style devices.
4039
4b761da9
CW
40402010-07-20 Colin Watson <cjwatson@ubuntu.com>
4041
4042 * .bzrignore: Ignore 20_linux_xen.
4043
5771289a
CW
40442010-07-17 Colin Watson <cjwatson@ubuntu.com>
4045
4046 * util/import_unicode.py: Remove unnecessary imports.
4047
5dab68df
AN
40482010-07-17 Aleš Nesrsta <starous@volny.cz>
4049
4050 Hotplugging and USB hub support.
4051
4052 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4053 (grub_ohci): Likewise.
4054 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4055 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4056 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4057 (GRUB_OHCI_CTRL_EDS): Likewise.
4058 (GRUB_OHCI_BULK_EDS): Likewise.
4059 (GRUB_OHCI_TDS): Likewise.
4060 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4061 (grub_ohci_ed_phys2virt): New function.
4062 (grub_ohci_virt_to_phys): Likewise.
4063 (grub_ohci_td_phys2virt): Likewise.
4064 (grub_ohci_td_virt2phys): Likewise.
4065 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4066 attachment.
4067 (grub_ohci_find_ed): New function.
4068 (grub_ohci_alloc_td): Likewise.
4069 (grub_ohci_free_td): Likewise.
4070 (grub_ohci_free_tds): Likewise.
4071 (grub_ohci_transfer): Use previously allocated memory.
4072 (grub_ohci_portstatus): Reset status changed bit.
4073 (grub_ohci_detect_dev): Supply status changed.
4074 (grub_ohci_fini_hw): Free memory.
4075 (grub_ohci_restore_hw): Reallocate memory.
4076 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4077 Reset status change.
4078 (grub_uhci_detect_dev): Supply status_change.
4079 * bus/usb/usb.c (attach_hooks): New var.
4080 (grub_usb_device_attach): New function.
4081 (grub_usb_register_attach_hook_class): Likewise.
4082 (grub_usb_unregister_attach_hook_class): Likewise.
4083 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4084 (grub_usb_add_hub): Reset connection changed bit.
4085 (attach_root_port): New function.
4086 (grub_usb_root_hub): Likewise.
4087 (poll_nonroot_hub): Likewise.
4088 (grub_usb_poll_devices): Likewise.
4089 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4090 * disk/usbms.c (grub_usbms_open): Use device hooks.
4091 (grub_usbms_iterate) :Poll devices.
4092 (grub_usbms_finddevs): Split into ...
4093 (grub_usbms_attach): ... this ...
4094 (grub_usbms_attach): ... and this.
4095 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4096 in detect_dev.
4097 (grub_usb_interface): New fields attached and detach_hook.
4098 (grub_usb_attach_hook_class): New type.
4099 (grub_usb_attach_desc): New struct.
4100 (grub_usb_register_attach_hook_class): New function.
4101 (grub_usb_unregister_attach_hook_class): Likewise.
4102 (grub_usb_poll_devices): Likewise.
4103 (grub_usb_device_attach): Likewise.
4104 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4105 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4106
3222efaf
VS
41072010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4110 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4111 delta determination style. Works with most NetBSD partitions too.
4112
139b714a
VS
41132010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4116 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4117
986aad56
VS
41182010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4121
99be513c
AB
41222010-07-14 Anton Blanchard <anton@samba.org>
4123
4124 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4125 ET_DYN files.
4126
18075f62
GS
41272010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4128
4129 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4130
8d9a5b15
GS
41312010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4132
4133 * kern/partition.c (grub_partition_check_containment): New function to
4134 check that a partition is physically contained in a parent. Since
4135 offsets are relative (and non-negative), this reduces to checking that
4136 the partition ends before its parent.
4137 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4138 (grub_partition_iterate): Likewise.
4139 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4140 comments.
4141 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4142 partitions that start before their parent, and add debug printfs.
4143
19563c25
CW
41442010-07-13 Colin Watson <cjwatson@ubuntu.com>
4145
4146 * Makefile.in (.SUFFIX): Spell correctly, as ...
4147 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4148 bare module name without `.mod', e.g. `test') tried to invoke a
4149 Modula-2 compiler.
4150
1a1f1e67
CW
41512010-07-13 Colin Watson <cjwatson@ubuntu.com>
4152
4153 * README: Point to the Info manual.
4154
811b0dca
JS
41552010-07-13 Jiro SEKIBA <jir@unicus.jp>
4156
4157 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4158 2nd superblock position from partition size.
4159
e4f4eafc
CW
41602010-07-10 Colin Watson <cjwatson@ubuntu.com>
4161
4162 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4163 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4164 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4165 outputs.
4166
4274c30f
VS
41672010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 Restructure SCSI .id handling.
4170 Reported and tested by: Aleš Nesrsta.
4171
4172 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4173 (grub_atapi_dev): Changed .name to "ata". New field .id.
4174 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4175 (grub_usbms_dev): New field .id.
4176 * disk/scsi.c (grub_scsi_iterate): Generate name.
4177 (grub_scsi_open): Parse name.
4178 * include/grub/scsi.h (grub_make_scsi_id): New function.
4179 (grub_scsi_dev): Change iterate and open to number instead of naming
4180 busses. All users updated.
4181 (grub_scsi): Remove name. Add .bus.
4182
5bc24388
VS
41832010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * commands/help.c (grub_cmd_help): Fix a typo.
4186
249975ba
VS
41872010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4190 Reported and tested by: Colin Watson.
4191
3eaac1a1
VS
41922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4195 in this context.
4196
becce1b1
VS
41972010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4200
f7bf0918
CW
42012010-07-07 Colin Watson <cjwatson@ubuntu.com>
4202
4203 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4204 indentation.
4205
0b0f9620
CW
42062010-07-06 Colin Watson <cjwatson@ubuntu.com>
4207
4208 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4209 and disk/raid6_recover.c.
4210 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4211 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4212
1e545469
CW
42132010-07-06 Colin Watson <cjwatson@ubuntu.com>
4214
4215 * term/gfxterm.c (repaint_schedulded): Rename to ...
4216 (repaint_scheduled): ... this. Update all callers.
4217 (repaint_was_schedulded): Rename to ...
4218 (repaint_was_scheduled): ... this. Update all callers.
4219
5357687a
CW
42202010-07-06 Colin Watson <cjwatson@ubuntu.com>
4221
4222 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4223 which we expect to be handled by upper layers.
4224
29d7e783
BC
42252010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4226
4227 * bus/usb/usbhub.c: #include time.h header.
4228
37582066
CW
42292010-07-06 Colin Watson <cjwatson@ubuntu.com>
4230
4231 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4232 entry_name also for entries without stat blocks (e.g. ".."); fixes
4233 corruption of the first entry in a directory.
4234
c8c06953
CW
42352010-07-06 Colin Watson <cjwatson@ubuntu.com>
4236
4237 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4238 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4239 doesn't work otherwise.
4240
e75056f1
CW
42412010-07-05 Colin Watson <cjwatson@ubuntu.com>
4242
4243 * docs/grub.texi (Features): Update list of supported file systems.
4244 (GNU/Linux): Update for GRUB 2.
4245 (Serial terminal): Remove mention of --disable-serial, which was a
4246 GRUB Legacy configure option. Update instructions to use
4247 `terminal_input' and `terminal_output' rather than `terminal'.
4248 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4249 configuration' and `Installing GRUB using grub-install'.
4250 (Menu entry editor): Update for GRUB 2.
4251 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4252 Document new -a, -u, and -v options.
4253 (initrd): New section.
4254 (initrd16): New section.
4255 (linux): New section.
4256 (linux16): New section.
4257 (search): The `var' argument to `--set' is optional.
4258 (GRUB only offers a rescue shell): Go into a little more detail on
4259 drive ordering.
4260
5cf69151
CW
42612010-07-05 Colin Watson <cjwatson@ubuntu.com>
4262
4263 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4264
e3f90044
CW
42652010-07-05 Colin Watson <cjwatson@ubuntu.com>
4266
4267 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4268 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4269
38d8f4f3
CW
42702010-07-05 Colin Watson <cjwatson@ubuntu.com>
4271
4272 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4273 install_prefix, in line with install_dos_part and install_bsd_part.
4274 Add new prefix variable, which is copied to install_prefix after
4275 comparing core.img in memory with the one read from disk in the
4276 no-embedding case, and use that rather than overwriting
4277 install_prefix immediately when installing to a partition.
4278 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4279 Bicakci.
4280
57ebd41e
GS
42812010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4282
4283 * configure.ac: Avoid == in test command, it's not portable.
4284 * util/grub.d/30_os-prober.in: Likewise.
4285
cb7f64b2
CW
42862010-07-04 Colin Watson <cjwatson@ubuntu.com>
4287
4288 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4289
6b654bb0
GS
42902010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4291
4292 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4293 multiple (top-level) partmaps.
4294
72a2026d
VS
42952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 4298 Reported by: Tino Keitel.
72a2026d 4299
df3eb88f
VS
43002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 Bidi and diacritics support.
4303
4304 * Makefile.in (widthspec.bin): New target.
4305 (widthspec.h): Likewise.
4306 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4307 * autogen.sh: Generate unidata.c.
4308 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4309 * commands/ls.c (grub_ls_list_devices): Likewise.
4310 (grub_ls_list_files): Likewise.
4311 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4312 (grub_mini_cmd_lsmod): Likewise.
4313 * commands/read.c: Likewise.
4314 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4315 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4316 * lib/arg.c (grub_arg_show_help): Likewise.
4317 * lib/crypto.c (grub_password_get): Likewise.
4318 * normal/auth.c (grub_username_get): Likewise.
4319 * normal/misc.c (grub_normal_print_device_info): Likewise.
4320 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4321 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4322 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4323 (normal/charset.c_DEPENDENCIES): New variable.
4324 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4325 (pkglib_MODULES): Remove charset.mod.
4326 (charset_mod_SOURCES): Removed.
4327 (charset_mod_CFLAGS): Likewise.
4328 (charset_mod_LDFLAGS): Likewise.
4329 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4330 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4331 and term/tparm.c.
4332 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4333 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4334 (kernel_img_HEADERS): Add terminfo.h.
4335 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4336 Fill ->font. Reverse ascii bitmaps.
4337 (grub_font_get_xheight): New function.
4338 * font/font.c (grub_font_get_string_width): Moved from here ...
4339 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4340 * font/font.c (grub_font_draw_string): Moved from here ...
4341 * gfxmenu/font.c (grub_font_draw_string): ... here.
4342 * font/font.c (grub_font_dup_glyph): New function.
4343 (grub_font_blit_glyph): Likewise.
4344 (grub_font_blit_glyph_mirror): Likewise.
4345 (blit_comb): Likewise.
4346 (grub_font_construct_dry_run): Likewise.
4347 (grub_font_get_constructed_device_width): Likewise.
4348 (grub_font_construct_glyph): Likewise.
4349 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4350 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4351 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4352 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4353 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4354 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4355 (grub_font_get_xheight): New proto.
4356 (grub_font_get_constructed_device_width): Likewise.
4357 (grub_font_construct_glyph): Likewise.
4358 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4359 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4360 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4361 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4362 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4363 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4364 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4365 (grub_console_getcharwidth): Likewise.
4366 * include/grub/misc.h (grub_xputs): New proto.
4367 (grub_puts): Inlined.
4368 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4369 (grub_normal_get_line_counter): Removed.
4370 (grub_install_newline_hook): Likewise.
4371 (grub_normal_get_char_counter): New proto.
4372 (grub_normal_reset_more): Likewise.
4373 (grub_xputs_normal): Likewise.
4374 * include/grub/powerpc/ieee1275/console.h: Removed.
4375 * include/grub/sparc64/ieee1275/console.h: Likewise.
4376 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4377 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4378 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4379 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4380 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4381 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4382 (grub_term_input): Pass reference to self. All users updated.
4383 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4384 Pass reference to self. New fields normal_color, highlight_color and
4385 data. All users updated.
4386 (grub_putchar): Removed.
4387 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4388 (grub_unicode_estimate_width): New function.
4389 (grub_term_getcharwidth): Add defaults.
4390 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4391 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4392 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4393 (grub_cls): Remove EXPORT_FUNC.
4394 (grub_setcolorstate): Inline.
4395 (grub_newline_hook): Removed.
4396 * include/grub/terminfo.h: Rewritten. All users updated.
4397 * include/grub/unicode.h: New file.
4398 * include/grub/video.h (grub_video_signed_rect): New type.
4399 * kern/emu/console.c (grub_console_highlight_color): Removed.
4400 (grub_console_normal_color): Likewise.
4401 (grub_console_standard_color): Made static.
4402 (grub_ncurses_putchar): Remove mapping.
4403 (grub_ncurses_getcharwidth): Removed.
4404 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4405 (grub_ncurses_setcolor): Removed.
4406 (grub_ncurses_getcolor): Likewise.
4407 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4408 (grub_console_putchar): ... this.
4409 (grub_console_putchar): Handle argument difference.
4410 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4411 console_init_early and console_init_lately.
4412 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4413 * kern/misc.c (grub_puts): Removed.
4414 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4415 (grub_vsnprintf_real): Remove str = NULL support.
4416 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4417 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4418 * kern/term.c (grub_putcode): Renamed to ...
4419 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4420 (grub_putchar): Removed.
4421 (grub_xputs_dumb): New function.
4422 (grub_xputs): New variable.
4423 * lib/charset.c: Move from here ...
4424 * normal/charset.c: ... to here.
4425 (grub_ucs4_to_utf8): New function.
4426 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4427 (join_types): New variable.
4428 (unpack_join): New function.
4429 (bidi_types): New variable.
4430 (unpack_bidi): New function.
4431 (get_bidi_type): Likewise.
4432 (get_join_type): Likewise.
4433 (is_mirrored): Likewise.
4434 (grub_unicode_get_comb_type): Likewise.
4435 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4436 (is_type_after): Likewise.
4437 (grub_unicode_aglomerate_comb): Likewise.
4438 (bidi_line_wrap): Likewise.
4439 (grub_bidi_line_logical_to_visual): Likewise.
4440 (grub_bidi_logical_to_visual): Likewise.
4441 (grub_unicode_mirror_code): Likewise.
4442 (grub_unicode_shape_code): Likewise.
4443 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4444 Don't use grub_putchar.
4445 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4446 (grub_normal_reader_init): Likewise.
4447 (grub_xputs_saved): New variable.
4448 (GRUB_MOD_INIT): Set grub_xputs.
4449 (GRUB_MOD_FINI): Restore grub_xputs.
4450 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4451 (menu_init): Avoid printing gfxmenu error.
4452 (show_menu): Use grub_normal_get_char_counter.
4453 * normal/menu_entry.c (update_screen): Fix out-of-array.
4454 (complete): Avoid NULL dereferencing.
4455 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4456 * normal/menu_text.c (print_spaces): Removed.
4457 (grub_print_ucs4): Likewise.
4458 (grub_print_message_indented): Use grub_print_ucs4.
4459 (print_message): Use grub_putcode.
4460 (print_entry): Hanlde diacritics.
4461 * normal/term.c (term_state): New type.
4462 (grub_more_lines): Removed.
4463 (term_states): New variable.
4464 (grub_normal_line_counter): Renamed to ..
4465 (grub_normal_char_counter): ...this. All users updated.
4466 (grub_normal_get_line_counter): Renamed to ...
4467 (grub_normal_get_char_counter): ... this.
4468 (grub_normal_reset_more): New function.
4469 (process_newline): Removed.
4470 (print_more): New function.
4471 (grub_install_newline_hook): Removed.
4472 (map_code): New function.
4473 (grub_puts_terminal): Use grub_print_ucs4.
4474 (putglyph): New function.
4475 (putcode_real): Likewise.
4476 (grub_putcode): Use putcode_real.
4477 (get_maxwidth): New function.
4478 (get_startwidth): Likewise.
4479 (print_ucs4_terminal): Likewise.
4480 (find_term_state): Likewise.
4481 (put_glyphs_terminal): Likewise.
4482 (print_backlog): Likewise.
4483 (print_ucs4_real): Likewise.
4484 (grub_print_ucs4): Likewise.
4485 (grub_xputs_normal): Likewise.
4486 * term/efi/console.c (grub_console_putchar): Output diacritics.
4487 (grub_console_getcharwidth): Removed.
4488 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4489 * term/gfxterm.c (clear_char): Free chars.
4490 (scroll_up): Avoid leaking memory.
4491 (grub_gfxterm_putchar): Support diacritics.
4492 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4493 * term/i386/pc/console.c (grub_console_term_output): Declare as
4494 GRUB_TERM_CODE_TYPE_VGA.
4495 * term/i386/pc/vga.c (grub_vga_term): Declare as
4496 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4497 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4498 GRUB_TERM_CODE_TYPE_VGA.
4499 * term/i386/vga_common.c (map_char): Removed.
4500 (grub_console_putchar): Likewise.
4501 (grub_console_getcharwidth): Likewise.
4502 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4503 (colors): Reordered to match terminfo.
4504 (grub_ofconsole_normal_color): Removed.
4505 (grub_ofconsole_writeesc): Likewise.
4506 (grub_ofconsole_highlight_color): Likewise.
4507 (grub_ofconsole_getcharwidth): Likewise.
4508 (grub_ofconsole_setcolorstate): Likewise.
4509 (grub_ofconsole_setcolor): Likewise.
4510 (grub_ofconsole_getcolor): Likewise.
4511 (grub_ofconsole_readkey): Renamed to ...
4512 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4513 key.
4514 (grub_ofconsole_checkkey): Removed.
4515 (grub_ofconsole_getkey): Likewise.
4516 (grub_ofconsole_getxy): Likewise.
4517 (grub_ofconsole_gotoxy): Likewise.
4518 (grub_ofconsole_cls): Likewise.
4519 (grub_ofconsole_refresh): Likewise.
4520 (grub_ofconsole_terminfo_input): New struct.
4521 (grub_ofconsole_terminfo_output): Likewise.
4522 (grub_ofconsole_term_input): Use terminfo.
4523 (grub_ofconsole_term_output): Likewise.
4524 (grub_console_init): Split into ...
4525 (grub_console_init_early): ...this and ...
4526 (grub_console_init_lately): ...this. Use terminfo.
4527 (grub_ofconsole_putchar): Renamed to ...
4528 (put): ... this. Remove mapping.
4529 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4530 * term/serial.c: Simplify using terminfo.
4531 (xpos): Removed.
4532 (ypos): Likewise.
4533 (keep_track): Likewise.
4534 (registered): Likewise.
4535 (input_buf): Likewise.
4536 (npending): Likewise.
4537 (serial_translate_key_sequence): Likewise.
4538 (fill_input_buf): Likewise.
4539 (grub_serial_checkkey): Likewise.
4540 (grub_serial_getkey): Likewise.
4541 (grub_serial_getxy): Likewise.
4542 (grub_serial_gotoxy): Likewise.
4543 (grub_serial_putchar): Likewise.
4544 (grub_serial_cls): Likewise.
4545 (grub_serial_setcolorstate): Likewise.
4546 (grub_serial_setcursor): Likewise.
4547 (serial_hw_init): Use serial_hw_fetch.
4548 (grub_serial_terminfo_input): New variable.
4549 (grub_serial_terminfo_output): Likewise.
4550 (grub_serial_term_input): Use terminfo.
4551 (grub_serial_term_output): Likewise.
4552 * term/terminfo.c (putstr): Use put.
4553 (grub_terminfo_all_free): New function
4554 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
4555 (grub_terminfo_output_register): New function.
4556 (grub_terminfo_output_unregister): Likewise.
4557 (grub_terminfo_getxy): Likewise.
4558 (grub_terminfo_readkey): Likewise.
4559 (grub_terminfo_checkkey): Likewise.
4560 (grub_terminfo_getkey): Likewise.
4561 (grub_terminfo_input_init): Likewise.
4562 (print_terminfo): Likewise.
4563 (grub_cmd_terminfo): Handle encoding.
4564 (grub_terminfo_gotoxy): Track position.
4565 (grub_terminfo_cls): Likewise.
4566 (grub_terminfo_putchar): Likewise.
4567 (grub_terminfo_setcolorstate): Handle colors
4568 (grub_terminfo_cursor_on): This ...
4569 (grub_terminfo_cursor_off): ... and this merged into ...
4570 (grub_terminfo_setcursor): ... this.
4571 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
4572 * unicode/ArabicShaping.txt: New file (imported from Unicode).
4573 * unicode/BidiMirroring.txt: Likewise.
4574 * unicode/UnicodeData.txt: Likewise.
4575 * unicode/COPYING: Likewise.
4576 * util/grub-editenv.c (grub_putchar): Removed.
4577 (grub_xputs_real): New function.
4578 (grub_xputs): New variable.
4579 * util/grub-fstest.c (grub_putchar): Removed.
4580 (grub_xputs_real): New function.
4581 (grub_xputs): New variable.
4582 * util/grub-mkdevicemap.c (grub_putchar): Removed.
4583 (grub_xputs_real): New function.
4584 (grub_xputs): New variable.
4585 * util/grub-probe.c (grub_putchar): Removed.
4586 (grub_xputs_real): New function.
4587 (grub_xputs): New variable.
4588 * util/grub-script-check.c (grub_putchar): Removed.
4589 (grub_xputs_real): New function.
4590 (grub_xputs): New variable.
4591 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
4592 (grub_xputs_real): New function.
4593 (grub_xputs): New variable.
4594 * util/import_unicode.py: New file.
4595 * util/grub-mkfont.c (ft_errmsgs): New array.
4596 (grub_glyph_info): Make bitmap a pointer.
4597 (file_formats): New type WIDTH_SPEC.
4598 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
4599 (options): Add width-spec.
4600 (help): Likewise.
4601 (add_char): Renamed to ...
4602 (add_glyph): ... this.
4603 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
4604 (glyph_replace): New type.
4605 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
4606 (add_char): New function.
4607 (add_subst): Likewise.
4608 (process_cursive): Likewise.
4609 (add_font): Handle GSUB.
4610 (write_font_width_spec): New function.
4611 (main): Sort glyphs.
4612 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
4613 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
4614 * kern/term.c (grub_cls): Moved from here...
4615 * normal/term.c (grub_cls): ... here.
4616
50f0bcda
CW
46172010-07-02 Colin Watson <cjwatson@ubuntu.com>
4618
4619 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
4620 suitable for using within the format argument of printf when
4621 converting grub_size_t.
4622 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
4623 "x" to convert grub_size_t arguments.
4624
40372103
VS
46252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4628 too long captions.
4629 (list_get_minimal_size): Take selection box into account.
4630
942a10c7
VS
46312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
4634 NULL font.
4635
2bdb2892
CW
46362010-07-02 Colin Watson <cjwatson@ubuntu.com>
4637
4638 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4639 devices when iterating over /dev/disk/by-id; they will be handled
4640 later if appropriate, which they aren't always (e.g. LVM).
4641
e03ed6c1
CW
46422010-07-02 Colin Watson <cjwatson@ubuntu.com>
4643
4644 * include/grub/misc.h (grub_reboot): Declare as noreturn.
4645 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
4646 fails.
4647 (grub_halt): Likewise.
4648 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
4649 reset-all fails.
4650 (grub_halt): Don't return, even if all of shut-down, power-off, and
4651 poweroff fail.
4652
47695765
CW
46532010-07-02 Colin Watson <cjwatson@ubuntu.com>
4654
4655 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
4656 arguments, not three.
4657
507736c8
CW
46582010-07-02 Colin Watson <cjwatson@ubuntu.com>
4659
4660 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
4661 * util/grub.d/10_linux.in: Use it to check for LVM, so that
4662 LVM-on-RAID is handled correctly.
4663
e3c8cd37
CW
46642010-07-02 Colin Watson <cjwatson@ubuntu.com>
4665
4666 * docs/grub.texi (Changes from GRUB Legacy): New section.
4667 (Future): Fix typo.
4668
8d4a2fec
CW
46692010-07-02 Colin Watson <cjwatson@ubuntu.com>
4670
4671 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
4672 grub.d/README accidentally ends up executable for one reason or
4673 another. Ignore it.
4674
1c4827be
VS
46752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
4678 (gpt_partition_map_iterate): Support non-512B sectors.
4679
d9a0c941
VS
46802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * kern/efi/init.c (grub_efi_init): Disable watchdog.
4683 Tested by: Seth Goldberg.
4684
48f27e87
VS
46852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
4688 Properly align mbi.
4689 Reported by: Seth Goldberg.
4690
b0c4f956
VS
46912010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * util/grub-mkrescue.in: Avoid module duplication.
4694
105a2e8c
SF
46952010-07-01 Sean Finney <seanius@seanius.net>
4696
4697 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
4698
5944958c
SF
46992010-07-01 Sean Finney <seanius@seanius.net>
4700
4701 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
4702
47032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * disk/lvm.c (grub_lvm_checkvalue): New function.
4706 (grub_lvm_check_flag): Likewise.
4707
b79889ba
RM
47082010-07-01 Robert Millan <rmh@gnu.org>
4709
4710 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
4711 Support 'p' as partition separator on kernel of FreeBSD (used
4712 with GPT labels).
4713 (grub_util_biosdisk_get_grub_dev): Likewise.
4714
ec1d04f1
VS
47152010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 Yeeloong firmware port.
4718
4719 * boot/mips/yeeloong/fwstart.S: New file.
4720 * bus/cs5536.c (gpiodump): New const.
4721 (set_io_space): New function.
4722 (set_iod): Likewise.
4723 (set_p2d): Likewise.
4724 (grub_cs5536_init_geode): Likewise.
4725 * commands/mips/yeeloong/lsspd.c: New file.
4726 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
4727 (serial_mod_SOURCES): New variable.
4728 (serial_mod_CFLAGS): Likewise.
4729 (serial_mod_LDFLAGS): Likewise.
4730 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
4731 term/terminfo.c and term/tparm.c.
4732 (pkglib_IMAGES): Add fwstart.img.
4733 (fwstart_img_SOURCES): New variable.
4734 (fwstart_img_CFLAGS): Likewise.
4735 (fwstart_img_ASFLAGS): Likewise.
4736 (fwstart_img_LDFLAGS): Likewise.
4737 (fwstart_img_FORMAT): Likewise.
4738 (pkglib_MODULES): Add lsspd.mod.
4739 (lsspd_mod_SOURCES): New variable.
4740 (lsspd_mod_CFLAGS): Likewise.
4741 (lsspd_mod_LDFLAGS): Likewise.
4742 (pkglib_MODULES): Add halt.mod.
4743 (halt_mod_SOURCES): New variable.
4744 (halt_mod_CFLAGS): Likewise.
4745 (halt_mod_LDFLAGS): Likewise.
4746 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
4747 (serial_mod_SOURCES): Removed.
4748 (serial_mod_CFLAGS): Likewise.
4749 (serial_mod_LDFLAGS): Likewise.
4750 * disk/ata.c (check_device): New function.
4751 (grub_ata_device_initialize): Use check_device.
4752 (grub_ata_iterate): Recheck devices.
4753 (grub_ata_open): Likewise.
4754 (grub_atapi_iterate): Likewise.
4755 (grub_atapi_open): Likewise.
4756 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
4757 (GRUB_ATA_CH1_PORT1): Likewise.
4758 (GRUB_ATA_CH0_PORT2): Likewise.
4759 (GRUB_ATA_CH1_PORT2): Likewise.
4760 * include/grub/mips/loongson.h: New file.
4761 * include/grub/mips/yeeloong/ec.h: Likewise.
4762 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
4763 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
4764 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
4765 * include/grub/misc.h (grub_halt): Declare as noreturn.
4766 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
4767 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
4768 (UART_ENABLE_FIFO_TRIGGER1): New definition.
4769 (UART_ENABLE_DTRRTS): Likewise.
4770 (UART_ENABLE_MODEM): Removed.
4771 (UART_ENABLE_OUT2): New const.
4772 * include/grub/term.h (grub_term_register_input_active): New function.
4773 (grub_term_register_output_active): Likewise.
4774 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
4775 argument.
4776 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
4777 (init_pci): New function.
4778 (grub_machine_init): Execute platform init when firmware. Init serial.
4779 (grub_halt): Implement.
4780 (grub_exit): Likewise.
4781 (grub_reboot): Likewise.
4782 * term/serial.c (serial_hw_init): Update macros.
4783 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
4784 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
4785 (image_targets): New target mipsel-yeeloong-flash.
4786 (generate_image): Support IMAGE_YEELOONG_FLASH.
4787 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
4788 (grub_video_sm712_setup): Init card.
4789 (grub_video_sm712_set_palette): Removed.
4790 * video/sm712_init.c: New file.
4791
ff4a70d2
CW
47922010-06-30 Colin Watson <cjwatson@ubuntu.com>
4793
4794 * Makefile.in (install-local): Temporarily prepend $(builddir) to
4795 PATH when running help2man and then run it on the unadorned
4796 executable names, rather than passing $(builddir)/* paths to
4797 help2man. This avoids the build directory ending up in generated
4798 manual pages.
4799
1246efeb
CW
48002010-06-29 Colin Watson <cjwatson@ubuntu.com>
4801
4802 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
4803 to avoid accidents when debugging with 'sh -x'.
4804 * util/grub-mkrescue.in: Likewise.
4805 * util/grub.d/00_header.in: Likewise.
4806 * util/grub.d/10_hurd.in: Likewise.
4807 * util/grub.d/10_kfreebsd.in: Likewise.
4808 * util/grub.d/10_linux.in: Likewise.
4809 * util/grub.d/10_netbsd.in: Likewise.
4810 * util/grub.d/10_windows.in: Likewise.
4811 * util/grub.d/20_linux_xen.in: Likewise.
4812 * util/grub.d/30_os-prober.in: Likewise.
4813 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4814
1ba9b889
CW
48152010-06-29 Colin Watson <cjwatson@ubuntu.com>
4816
4817 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
4818 last character in the buffer.
4819 Reported by: Vladimir Serbinenko.
4820
dccaf99d
RM
48212010-06-29 Robert Millan <rmh@gnu.org>
4822
4823 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
4824 (Command-line and menu entry commands): Document `badram' command.
4825
d500ed12
RM
48262010-06-28 Robert Millan <rmh@gnu.org>
4827
4828 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
4829 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
4830 command using ${GRUB_BADRAM} as parameter.
4831
20bc84a6
CW
48322010-06-28 Colin Watson <cjwatson@ubuntu.com>
4833
4834 * docs/grub.texi (Device map): New section.
4835 (Themes): New section (stub).
4836 * Makefile.in (docs/grub.info): The info documentation now builds
4837 without errors. Make sure it stays that way.
4838
4045dee1
VS
48392010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 Use normal parser for menu entries.
4842 Reported by: Thomas Frauendorfer
4843
4844 * include/grub/parser.h (grub_parser_execute): Don't export.
4845 * normal/menu.c (grub_menu_execute_entry_real): New function.
4846 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
4847
bca58c7b
CW
48482010-06-28 Colin Watson <cjwatson@ubuntu.com>
4849
4850 * docs/grub.texi (Embedded configuration): New section (replacing
4851 old "Preset Menu" stub).
4852 (Images): New section.
4853 (configfile): Note that any menu entries defined in `file' are shown
4854 immediately.
4855
dec53e63
JT
48562010-06-28 Josh Triplett <josh@joshtriplett.org>
4857
4858 * mmap/i386/pc/mmap_helper.S: Set CF on return.
4859
c06e40f7
CW
48602010-06-28 Colin Watson <cjwatson@ubuntu.com>
4861
4862 * util/grub-install.in: Add --debug-image= option.
4863
cb88052b
CW
48642010-06-28 Colin Watson <cjwatson@ubuntu.com>
4865
4866 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
4867 possible on Linux.
4868
4869 * util/deviceiter.c (check_device): Rename to ...
4870 (check_device_readable_unique): ... this. Update all callers.
4871 Maintain and check a list of which devices (by canonicalized name)
4872 have already been seen.
4873 (clear_seen_devices): New function.
4874 (compare_file_names) [__linux__]: New function.
4875 (grub_util_iterate_devices): Clear the list of seen devices on exit
4876 and (just in case) on entry.
4877 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
4878 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
4879 seen-devices list, superseded by general code in check_device.
4880
bbe34652
CW
48812010-06-28 Colin Watson <cjwatson@ubuntu.com>
4882
4883 * commands/cat.c (options): New variable.
4884 (grub_cmd_cat): Parse options. If the --dos option is given, print
4885 DOS-style "\r\n" line endings as simple newlines (Debian bug
4886 #586358).
4887 (GRUB_MOD_INIT): Use extcmd.
4888 (GRUB_MOD_FINI): Likewise.
4889 * docs/grub.texi (cat): Document --dos.
4890
412e09f3
VS
48912010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 XEN with Linux grub-mkconfig support.
4894
4895 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
4896 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
4897 GRUB_CMDLINE_XEN_DEFAULT.
4898 * util/grub.d/20_linux_xen.in: New file.
4899
53f3ef38 49002010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
4901
4902 Initialise VGA video on qemu ourselves.
4903
4904 * boot/i386/qemu/boot.S: Don't call 0xc000.
4905 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
4906 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
4907 (kernel_img_HEADERS): Add pci.h.
4908 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
4909 * configure.ac: Force unifont on qemu and yeeloong.
4910 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
4911 (grub_vga_palette_write): Use correct register.
4912 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
4913 Call grub_qemu_init_cirrus.
4914 * kern/i386/qemu/init.c: New file.
4915 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
4916
4917 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
4918
c75be4fb
PR
49192010-06-26 Pavel Roskin <proski@gnu.org>
4920
4921 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
4922 13.
4923
d8034603
CW
49242010-06-26 Colin Watson <cjwatson@ubuntu.com>
4925
4926 * docs/grub.texi (Simple configuration): Explain that
4927 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
4928 set to `true' to disable their respective recovery entries, not
4929 merely set.
4930
3fa06487
CW
49312010-06-26 Colin Watson <cjwatson@ubuntu.com>
4932
4933 Make the `source' command slightly faster.
4934
4935 * normal/main.c (grub_normal_execute): Don't re-read list files when
4936 nested.
4937
e9b29642
CW
49382010-06-23 Colin Watson <cjwatson@ubuntu.com>
4939
4940 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
4941 field position and mask size to red fields from mode_info, not
4942 green.
4943 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
4944 Remove redundant tag->common.framebuffer_type assignment.
4945 Reported by: Seth Goldberg.
4946
e726542f
CW
49472010-06-23 Colin Watson <cjwatson@ubuntu.com>
4948
4949 Sync up other versions of the Linux loader with Robert Millan's
4950 change of 2010-01-09, "Make loader output a bit more user-friendly".
4951
4952 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
4953 grub_dprintf().
4954 (grub_cmd_linux): Likewise.
4955 (grub_cmd_initrd): Likewise.
4956 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
4957 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4958
d6e98a17
CW
49592010-06-21 Colin Watson <cjwatson@ubuntu.com>
4960
4961 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
4962 larger than MEMORY_MAP_SIZE.
4963
14d3f08e
BC
49642010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
4965
4966 Fix parallel build.
4967
4968 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
4969 dependency.
4970 * script/parser.y: #include grub_script.tab.h header.
4971
4f9613a3
VS
49722010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 Support >3GiB and <16MiB RAM in i386-qemu.
4975
4976 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
4977 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
4978 (grub_lower_mem): Removed.
4979 (grub_upper_mem): Likewise.
4980 (mem_size): Made static.
4981 (above_4g): New variable.
4982 (grub_machine_mmap_init): Detect small mem_size and above_4g.
4983 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
4984 support.
4985
05e51879
VS
49862010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 Cirrus 5446 and Bochs video cards support.
4989
4990 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
4991 video_bochs.mod
4992 (video_cirrus_mod_SOURCES): New variable.
4993 (video_cirrus_mod_CFLAGS): Likewise.
4994 (video_cirrus_mod_LDFLAGS): Likewise.
4995 (video_bochs_mod_SOURCES): Likewise.
4996 (video_bochs_mod_CFLAGS): Likewise.
4997 (video_bochs_mod_LDFLAGS): Likewise.
4998 * include/grub/vga.h: New file.
4999 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5000 (grub_video_fb_set_page_t): New type.
5001 (grub_video_fb_setup): New prototype.
5002 (grub_video_fb_swap_buffers): Likewise.
5003 (grub_video_fb_get_info_and_fini): Likewise.
5004 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5005 (CRTC_DATA_PORT): Likewise.
5006 (CRTC_CURSOR): Likewise.
5007 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5008 (CRTC_CURSOR_ADDR_LOW): Likewise.
5009 (CRTC_CURSOR_DISABLE): Likewise.
5010 (update_cursor): Use grub_vga_cr_write.
5011 (grub_vga_text_setcursor): Likewise.
5012 * video/bochs.c: New file.
5013 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
5014 (palette): Likewise.
5015 (palette_size): Likewise.
5016 (framebuffer): New variable.
5017 (grub_video_fb_init): Use 'framebuffer'.
5018 (grub_video_fb_fini): Likewise.
5019 (grub_video_fb_get_info): Likewise.
5020 (grub_video_fb_get_palette): Likewise.
5021 (grub_video_fb_set_palette): Likewise.
5022 (grub_video_fb_set_viewport): Likewise.
5023 (grub_video_fb_get_viewport): Likewise.
5024 (grub_video_fb_map_color): Likewise.
5025 (grub_video_fb_map_rgb): Likewise.
5026 (grub_video_fb_map_rgba): Likewise.
5027 (grub_video_fb_unmap_color): Likewise.
5028 (grub_video_fb_unmap_color_int): Likewise.
5029 (grub_video_fb_fill_rect): Likewise.
5030 (grub_video_fb_blit_bitmap): Likewise.
5031 (grub_video_fb_blit_render_target): Likewise.
5032 (grub_video_fb_scroll): Likewise.
5033 (grub_video_fb_create_render_target): Likewise.
5034 (grub_video_fb_doublebuf_blit_init): Likewise.
5035 (grub_video_fb_set_active_render_target): Handle doublebuffering.
5036 (doublebuf_pageflipping_update_screen): New function.
5037 (doublebuf_pageflipping_init): Likewise.
5038 (grub_video_fb_setup): Likewise.
5039 (grub_video_fb_swap_buffers): Likewise.
5040 (grub_video_fb_get_info_and_fini): Likewise.
5041 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
5042 All users updated.
5043 (doublebuf_pageflipping_commit): Restructured into ...
5044 (doublebuf_pageflipping_set_page): ... this.
5045 (doublebuf_pageflipping_update_screen): Removed.
5046 (doublebuf_pageflipping_init): Likewise.
5047 (double_buffering_init): Likewise.
5048 (grub_video_vbe_setup): Use grub_video_fb_setup.
5049 (grub_video_vbe_swap_buffers): Removed.
5050 (grub_video_vbe_set_active_render_target): Likewise.
5051 (grub_video_vbe_get_active_render_target): Likewise.
5052 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5053 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5054 grub_video_fb_set_active_render_target and
5055 grub_video_fb_get_active_render_target.
5056 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5057 (SEQUENCER_DATA_PORT): Likewise.
5058 (MAP_MASK_REGISTER): Likewise.
5059 (CRTC_ADDR_PORT): Likewise.
5060 (CRTC_DATA_PORT): Likewise.
5061 (START_ADDR_HIGH_REGISTER): Likewise.
5062 (START_ADDR_LOW_REGISTER): Likewise.
5063 (GRAPHICS_ADDR_PORT): Likewise.
5064 (GRAPHICS_DATA_PORT): Likewise.
5065 (READ_MAP_REGISTER): Likewise.
5066 (INPUT_STATUS1_REGISTER): Likewise.
5067 (INPUT_STATUS1_VERTR_BIT): Likewise.
5068 (get_map_mask): Use grub_vga_sr_read.
5069 (set_map_mask): Use grub_vga_sr_write.
5070 (set_read_map): Use grub_vga_gr_write.
5071 (set_start_address): Use grub_vga_cr_write.
5072 * video/sm712.c (framebuffer): Remove leftover fields.
5073
4321c64a
CW
50742010-06-20 Colin Watson <cjwatson@ubuntu.com>
5075
5076 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5077 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5078 instead. Replace the gfxterm backend check with a check that
5079 ${GRUB_PREFIX}/video.lst is non-empty.
5080 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5081 again.
5082 (load_video): New generated function. Call it before loading
5083 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5084 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5085 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5086 * docs/grub.texi (Simple configuration): Document
5087 GRUB_VIDEO_BACKEND.
5088
50892010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 Use video functions in linux and xnu loaders.
5092
5093 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5094 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5095 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5096 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5097 loader/i386/pc/linux.c.
5098 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5099 (find_line_len): Removed.
5100 (find_framebuf): Likewise.
5101 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5102 * loader/i386/efi/xnu.c: Removed.
5103 * loader/i386/pc/xnu.c: Moved from here...
5104 * loader/i386/xnu.c: ...here.
5105
5106 Enable priorities in video drivers.
5107
5108 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5109 (grub_video_adapter): New field prio.
5110 (grub_video_register): Respect prio when inserting.
5111 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5112 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5113 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5114 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5115 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5116 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5117 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5118
5119 Fix SDL driver ID.
5120
5121 * include/grub/video.h (grub_video_driver_id_t): New value
5122 GRUB_VIDEO_DRIVER_SDL.
5123 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5124
7d24e434
CW
51252010-06-17 Colin Watson <cjwatson@ubuntu.com>
5126
5127 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5128 argument to printf.
5129 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5130
c88a83f6
CW
51312010-06-17 Colin Watson <cjwatson@ubuntu.com>
5132
5133 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5134 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5135
094dfb69
CW
51362010-06-17 Colin Watson <cjwatson@ubuntu.com>
5137
5138 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5139 directly, and recommend grub-install instead.
5140 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5141
2164da6b
CW
51422010-06-17 Colin Watson <cjwatson@ubuntu.com>
5143
5144 Fix i386-pc prefix handling with nested partitions (Debian bug
5145 #585068). Note that the case where the core image is booted using
5146 multiboot and relocated from its original location still requires
5147 more work.
5148
5149 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5150 with "(,", fill the boot drive in between those two characters, but
5151 expect that a full partition specification including partition map
5152 names will follow.
5153 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5154 specified, write a prefix without the drive name but including a
5155 full partition specification.
5156
044e2e60
CW
51572010-06-16 Colin Watson <cjwatson@ubuntu.com>
5158
5159 * util/grub-mkconfig.in: Ignore non-option arguments, for
5160 compatibility with older versions (before 2010-06-12) which did the
5161 same. In particular, this makes it easier to ship an update-grub
5162 wrapper which is compatible with that used with GRUB Legacy (Debian
5163 bug #586056).
5164
5591324f
GS
51652010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5166
5167 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5168 for manual page generation.
5169
662e24d5
GS
51702010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5171
5172 * po/POTFILES: Remove leftover commands/handler.c.
5173
8d70754e
CW
51742010-06-14 Colin Watson <cjwatson@ubuntu.com>
5175
5176 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5177 left this script non-functional.
5178
41160e2e
CW
51792010-06-14 Colin Watson <cjwatson@ubuntu.com>
5180
5181 * docs/man/grub-emu.h2m: New file.
5182
b5309cc1
CW
51832010-06-13 Colin Watson <cjwatson@ubuntu.com>
5184
5185 * docs/grub.texi (Commands): Document reduced command set in rescue
5186 mode.
5187 (cpuid): New section.
5188
fcb2d090
GS
51892010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5190
5191 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5192 new partition naming style.
5193 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5194
96e5c556
BC
51952010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5196
5197 Add "-o grub.iso" like cmdline options support.
5198
5199 * util/grub-install.in: Improve cmdline option parsing.
5200 * util/grub-mkconfig.in: Likewise.
5201 * util/grub-mkrescue.in: Likewise.
5202 * util/grub-reboot.in: Likewise.
5203 * util/grub-set-default.in: Likewise.
5204 * util/i386/efi/grub-install.in: Likewise.
5205 * util/ieee1275/grub-install.in: Likewise.
5206 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5207
c16be99b
CW
52082010-06-12 Colin Watson <cjwatson@ubuntu.com>
5209
5210 * .bzrignore: Ignore 41_custom.
5211
ce08a9fb
TS
52122010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5213
5214 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5215
7beac90c
CW
52162010-06-12 Colin Watson <cjwatson@ubuntu.com>
5217
5218 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5219 prototype declarations.
5220
5221 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5222 generating fs, partmap, and video lists.
5223 * include/grub/fs.h (grub_fs_register): Omit prototype if
5224 GRUB_LST_GENERATOR is defined.
5225 * include/grub/partition.h (grub_partition_map_register): Likewise.
5226 * include/grub/video.h (grub_video_register): Likewise.
5227
1c8f0f8d
JM
52282010-06-12 Javier Martín <lordhabbit@gmail.com>
5229
5230 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5231
a6085973
TS
52322010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5233
5234 * util/grub-mkrescue.in: Support --xorriso argument.
5235
25c56d29
VS
52362010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5239 Suggested by: Thomas Schmitt.
5240
e03e4b24
VS
52412010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5244 Suggested by: Thomas Schmitt.
5245
57711df6
VS
52462010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 custom.cfg support.
5249
5250 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5251 * util/grub.d/41_custom.in: New file.
5252
ee62c427
CW
52532010-06-12 Colin Watson <cjwatson@ubuntu.com>
5254
5255 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5256 been merged back into normal.
5257
283af07a
CW
52582010-06-11 Colin Watson <cjwatson@ubuntu.com>
5259
5260 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5261 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5262
56a0d956
CW
52632010-06-11 Colin Watson <cjwatson@ubuntu.com>
5264
5265 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5266 when generating manual pages.
5267 * docs/man/grub-bin2h.h2m: New file.
5268 * docs/man/grub-editenv.h2m: New file.
5269 * docs/man/grub-fstest.h2m: New file.
5270 * docs/man/grub-install.h2m: New file.
5271 * docs/man/grub-macho2img.h2m: New file.
5272 * docs/man/grub-mkconfig.h2m: New file.
5273 * docs/man/grub-mkdevicemap.h2m: New file.
5274 * docs/man/grub-mkfont.h2m: New file.
5275 * docs/man/grub-mkimage.h2m: New file.
5276 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5277 * docs/man/grub-mkrelpath.h2m: New file.
5278 * docs/man/grub-mkrescue.h2m: New file.
5279 * docs/man/grub-ofpathname.h2m: New file.
5280 * docs/man/grub-pe2elf.h2m: New file.
5281 * docs/man/grub-probe.h2m: New file.
5282 * docs/man/grub-reboot.h2m: New file.
5283 * docs/man/grub-script-check.h2m: New file.
5284 * docs/man/grub-set-default.h2m: New file.
5285 * docs/man/grub-setup.h2m: New file.
5286
3a37e322
VS
52872010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 Use FOR_* macros instead of *_iterate whenever possible.
5290
5291 * commands/handler.c: Removed.
5292 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5293 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5294 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5295 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5296 (grub_probe_SOURCES): Remove kern/parser.c.
5297 (util/grub-script-check.c_DEPENDENCIES): Removed.
5298 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5299 and grub_script_check_init.c.
5300 (grub_script_check_init.lst): Removed.
5301 (grub_script_check_init.h): Likewise.
5302 (grub_script_check_init.c): Likewise.
5303 (pkglib_MODULES): Remove handler.mod and sh.mod.
5304 (handler_mod_SOURCES): Removed.
5305 (handler_mod_CFLAGS): Likewise.
5306 (handler_mod_LDFLAGS): Likewise.
5307 (normal_mod_SOURCES): Remove normal/handler.c.
5308 Add script/main.c, script/script.c, script/execute.c,
5309 script/function.c, script/lexer.c, grub_script.tab.c
5310 and grub_script.yy.c.
5311 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5312 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5313 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5314 (grub_setup_SOURCES): Remove kern/parser.c.
5315 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5316 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5317 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5318 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5319 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5320 (grub_setup_SOURCES): Remove kern/parser.c.
5321 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5322 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5323 * include/grub/command.h (grub_command_iterate): Removed.
5324 (FOR_COMMANDS): New macro.
5325 * include/grub/dl.h (grub_dl): New member next.
5326 (grub_dl_iterate): Removed.
5327 (grub_dl_head): New variable declaration.
5328 (FOR_DL_MODULES): New macro.
5329 * include/grub/fs.h: Include list.h.
5330 (grub_fs): Make next first element.
5331 (grub_fs_list): New variable declaration.
5332 (grub_fs_register): Make inline.
5333 (grub_fs_unregister): Likewise.
5334 (grub_fs_iterate): Removed.
5335 (FOR_FILESYSTEMS): New macro.
5336 * include/grub/handler.h: Removed.
5337 * include/grub/list.h (grub_list_hook_t): Removed.
5338 (grub_list_test_t): Likewise.
5339 (grub_list_pop): Likewise.
5340 (grub_list_iterate): Likewise.
5341 (grub_list_insert): Likewise.
5342 (FOR_LIST_ELEMENTS): New macro.
5343 * include/grub/parser.h (grub_parser_class): Removed.
5344 (grub_parser_register): Likewise.
5345 (grub_parser_unregister): Likewise.
5346 (grub_parser_get_current): Likewise.
5347 (grub_parser_set_current): Likewise.
5348 (grub_register_rescue_parser): Likewise.
5349 (grub_rescue_parse_line): New function.
5350 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5351 * include/grub/script_sh.h (grub_script_function_list): New variable
5352 declaration.
5353 (FOR_SCRIPT_FUNCTIONS): New macro.
5354 (grub_script_function_iterate): Removed.
5355 (grub_normal_parse_line): New prototype.
5356 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5357 (FOR_DISABLED_TERM_INPUTS): Likewise.
5358 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5359 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5360 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5361 element.
5362 (grub_video_register): Inline.
5363 (grub_video_unregister): Likewise.
5364 (grub_video_adapter_list): New variable declaration.
5365 (grub_video_iterate): Removed.
5366 (FOR_VIDEO_ADAPTERS): New macro.
5367 * kern/dl.c (grub_dl_list): Removed. All users updated.
5368 (grub_dl_iterate): Removed.
5369 * kern/fs.c (grub_fs_list): Make global.
5370 (grub_fs_register): Removed.
5371 (grub_fs_unregister): Likewise.
5372 (grub_fs_iterate): Likewise.
5373 * kern/handler.c: Removed.
5374 * kern/list.c (grub_list_pop): Removed.
5375 (grub_list_iterate): Likewise.
5376 (grub_list_insert): Likewise.
5377 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5378 (grub_prio_list_insert): Don't use grub_list_insert.
5379 * kern/main.c (grub_register_rescue_parser): Don't call
5380 grub_register_rescue_parser.
5381 * kern/parser.c (grub_parser_class): Removed.
5382 (grub_parser_execute): Use grub_rescue_parse_line.
5383 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5384 (grub_rescue_parser): Removed.
5385 (grub_register_rescue_parser): Likewise.
5386 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5387 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5388 (grub_auth_check_authentication): Likewise.
5389 * normal/completion.c (iterate_command): Removed.
5390 (grub_normal_do_completion): Use FOR_COMMANDS.
5391 * normal/handler.c: Removed.
5392 * normal/main.c (read_config_file): Remove parser changing.
5393 (grub_normal_execute): Don't call read_handler_list.
5394 (grub_normal_read_line_real): Statically allocate prompt.
5395 (grub_cmdline_run): Use grub_normal_parse_line.
5396 (GRUB_MOD_FINI): Don't call free_handler_list.
5397 * normal/menu_entry.c (run): Likewise.
5398 * script/function.c (grub_script_function_list): Make global.
5399 (grub_script_function_iterate): Removed.
5400 * script/main.c (grub_normal_parse_line): Make global.
5401 (grub_sh_parser): Removed.
5402 (GRUB_MOD_INIT): Likewise.
5403 (GRUB_MOD_FINI): Likewise.
5404 * tests/lib/functional_test.c (grub_functional_test): Use
5405 FOR_LIST_ELEMENTS.
5406 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5407 (grub_test_run): Use FOR_LIST_ELEMENTS.
5408 * tests/lib/unit_test.c (main): Likewise.
5409 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5410 grub_list_pop.
5411 * util/grub-fstest.c (grub_term_input_class): Removed.
5412 (grub_term_output_class): Likewise.
5413 * util/grub-probe.c: Likewise.
5414 * util/i386/pc/grub-setup.c: Likewise.
5415 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5416 * util/grub-script-check.c (main): Don't call grub_init_all and
5417 grub_fini_all.
5418 * video/video.c (grub_video_adapter_list): Make global.
5419 (grub_video_register): Removed.
5420 (grub_video_unregister): Likewise.
5421 (grub_video_iterate): Likewise.
5422
6289c3a7
VS
54232010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5426 reported by Henrique Ferreiro.
5427
91460247
RM
54282010-06-09 Robert Millan <rmh@gnu.org>
5429
5430 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5431 ones, when both are available.
5432
0ea7c4f9
GS
54332010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5434
5435 Make --version uniform and avoid hard-coded program name.
5436
5437 * util/grub-mkimage.c (main): Use `program_name' instead of
5438 hard-coded string.
5439 * util/i386/pc/grub-setup.c (main): Likewise.
5440 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5441 * util/grub-install.in: Save the basename of $0 in $self, and use the
5442 latter in informational messages. Use the same format for --version
5443 as the binary programs.
5444 * util/grub-mkconfig.in: Likewise.
5445 * util/grub-mkrescue.in: Likewise.
5446 * util/grub-reboot.in: Likewise.
5447 * util/grub-set-default.in: Likewise.
5448 * util/i386/efi/grub-install.in: Likewise.
5449 * util/ieee1275/grub-install.in: Likewise.
5450 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5451
e8a6f3b6
GS
54522010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5453
5454 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5455 embedding area. Use <= instead of == when checking for non-emptiness.
5456
f4d095d7
GS
54572010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5458
5459 * configure.ac: Add `.' to the directories searched for unifont.
5460
50e532ca
CW
54612010-06-08 Colin Watson <cjwatson@ubuntu.com>
5462
5463 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5464 grub_script.yy.h.
5465
d39f3dec
CW
54662010-06-08 Colin Watson <cjwatson@ubuntu.com>
5467
5468 * docs/grub.texi (History): Expand to cover GRUB 2.
5469 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5470 commands, not `terminal'.
5471 (serial): Likewise.
5472 (terminal_input): New section.
5473 (terminal_output): New section.
5474 (uppermem): New section (stub).
5475 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5476
6ef0ddb4
CW
54772010-06-08 Colin Watson <cjwatson@ubuntu.com>
5478
5479 * docs/grub.texi (Security): Menu entries are unrestricted by
5480 default, not restricted to superusers as I had previously thought.
5481 Reword to account for this.
5482
e0f4c438
CW
54832010-06-07 Colin Watson <cjwatson@ubuntu.com>
5484
5485 * kern/emu/misc.c (device_mapper_null_log): New function.
5486 (grub_device_mapper_supported): New function.
5487 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5488 prototype.
5489 * kern/emu/hostdisk.c (find_partition_start): Check whether
5490 device-mapper is supported before trying to use it.
5491 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5492
da908200
CW
54932010-06-07 Colin Watson <cjwatson@ubuntu.com>
5494
5495 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5496 (File name syntax): Likewise.
5497 (help): --all is no longer supported in GRUB 2. Be more precise
5498 about pattern matching.
5499
fb55c3ac
CW
55002010-06-07 Colin Watson <cjwatson@ubuntu.com>
5501
5502 * normal/completion.c (grub_normal_do_completion): When completing
5503 arguments to "set" and the current word contains an equals sign,
5504 skip to after the equals sign before starting completion.
5505
258c2573
CW
55062010-06-07 Colin Watson <cjwatson@ubuntu.com>
5507
5508 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5509
ee75515e
CW
55102010-06-07 Colin Watson <cjwatson@ubuntu.com>
5511
5512 * docs/grub.texi (Network): New section.
5513 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5514 `(nd)' as in GRUB Legacy.
5515 (pxe_unload): New section.
5516
a6a700aa
CW
55172010-06-07 Colin Watson <cjwatson@ubuntu.com>
5518
5519 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5520 in the rescue shell, so recommend using `set' instead. Thanks,
5521 Jordan Uggla.
5522
4003dd38
CW
55232010-06-07 Colin Watson <cjwatson@ubuntu.com>
5524
5525 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5526 (password): New section.
5527 (password_pbkdf2): New section.
5528 (search): New section.
5529 (Security): New section.
5530 (Troubleshooting): New section, currently very incomplete.
5531 (Invoking grub-mkpasswd-pbkdf2): New section.
5532 (Internals): New section, currently very incomplete.
5533
e1cbcc40
CW
55342010-06-07 Colin Watson <cjwatson@ubuntu.com>
5535
5536 * util/grub.d/00_header.in: Add some more quoting (of
5537 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5538 work again.
5539 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
5540
db8fa1ad
CW
55412010-06-07 Colin Watson <cjwatson@ubuntu.com>
5542
5543 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
5544 to `count', fixing variable shadowing that broke the -c option.
5545
55462010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
5547
5548 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
5549 in case they contain spaces.
5550
f28a9212
CW
55512010-06-04 Colin Watson <cjwatson@ubuntu.com>
5552
5553 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
5554 "part_" to partmap module names, in line with grub-install.
5555 Reported by: Jindřich Makovička (Debian bug #584426).
5556
9cdfe32f
CW
55572010-06-04 Colin Watson <cjwatson@ubuntu.com>
5558
5559 * util/grub-mkimage.c: Make target-related error messages slightly
5560 more helpful; -O talks about "format". Explicitly point to the use
5561 of -O if no target is specified.
5562 Reported by: Didier Raboud (Debian bug #584415).
5563
795b593a
CW
55642010-06-03 Colin Watson <cjwatson@ubuntu.com>
5565
5566 * INSTALL: Document several build requirements for optional features
5567 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
5568
9d9b5833
GS
55692010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5570
5571 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
5572 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
5573 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
5574
0819fec8
CW
55752010-06-02 Colin Watson <cjwatson@ubuntu.com>
5576
5577 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
5578 Thanks to Jordan Uggla for spotting this.
5579
49396b4f
VS
55802010-06-02 Aleš Nesrsta <starous@volny.cz>
5581
5582 Finally make USB usable.
5583
5584 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
5585 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
5586 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
5587 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
5588 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
5589 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
5590 (GRUB_OHCI_FSMPS): Likewise.
5591 (GRUB_OHCI_PERIODIC_START): Likewise.
5592 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
5593 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
5594 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
5595 (GRUB_OHCI_SET_PORT_RESET): Likewise.
5596 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
5597 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
5598 (grub_ohci_transaction): Likewise.
5599 (grub_ohci_transfer): Improve condition detection algorithms.
5600 Handle toggle property. Program the transactions correctly.
5601 Improve error handling. Various important fixups.
5602 (grub_ohci_portstatus): Put register writes in right order.
5603 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
5604 (grub_uhci_transfer): Don't show "failed" message on success.
5605 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
5606 array.
5607 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
5608 determine its size.
5609 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
5610 before initialization is completed. Use IN direction for empty
5611 transfers. Use last_trans and compute toggle.
5612 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
5613 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
5614 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
5615 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
5616 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
5617 (grub_usb_device): Increase toggle to 256.
5618 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
5619 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
5620 GRUB_USBMS_SUBCLASS_SFF8070.
5621 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
5622 (grub_scsi_inquiry): New member page and alloc_length.
5623 (grub_scsi_request_sense): New structure.
5624 (grub_scsi_request_sense_data): Likewise.
5625 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
5626 control.
5627 * disk/scsi.c (grub_scsi_request_sense): New function.
5628 (grub_scsi_test_unit_ready): Likewise.
5629 (grub_scsi_inquiry): Fill new fields.
5630 (grub_scsi_read_capacity): Likewise.
5631 (grub_scsi_read10): Add request sense at the end.
5632 (grub_scsi_read12): Likewise.
5633 (grub_scsi_write10): Likewise.
5634 (grub_scsi_write12): Likewise.
5635 (grub_scsi_open): Add Test Unit Ready.
5636 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
5637 Support additional subclasses. Con't clear halt yet. Activate the
5638 proper config. Calculate LUNs correctly.
5639 (grub_usbms_transfer): Various important fixups.
5640
56412010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
5644 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
5645 (grub_ohci_fini_hw): New function.
5646 (grub_ohci_restore_hw): Likewise.
5647 (GRUB_MOD_INIT(ohci)): Register preboot hook.
5648 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
5649 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
5650
56512010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 Dedicated DMA allocations.
5654
5655 * bus/pci.c (grub_memalign_dma32): New function
5656 (grub_dma_free): Likewise.
5657 (grub_dma_get_virt): Likewise.
5658 (grub_dma_get_phys): Likewise.
5659 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
5660 (grub_ohci_pci_iter): Use dma32_alloc.
5661 (grub_ohci_transfer): Likewise.
5662 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5663 (grub_usb_bulk_readwrite): Likewise.
5664 * include/grub/pci.h: Add declarations.
5665
56662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 CS5536 support.
5669
5670 * bus/cs5536.c: New file.
5671 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
5672 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
5673 (cs5536_mod_SOURCES): New variable.
5674 (cs5536_mod_CFLAGS): Likewise.
5675 (cs5536_mod_LDFLAGS): Likewise.
5676 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
5677 machine/pci.h.
5678 (kernel_img_SOURCES): Add bus/cs5536.c.
5679 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
5680 usb_keyboard.mod.
5681 (usb_mod_SOURCES): New variable.
5682 (usb_mod_CFLAGS): New variable.
5683 (usb_mod_LDFLAGS): New variable.
5684 (usbtest_mod_SOURCES): New variable.
5685 (usbtest_mod_CFLAGS): New variable.
5686 (usbtest_mod_LDFLAGS): New variable.
5687 (ohci_mod_SOURCES): New variable.
5688 (ohci_mod_CFLAGS): New variable.
5689 (ohci_mod_LDFLAGS): New variable.
5690 (usbms_mod_SOURCES): New variable.
5691 (usbms_mod_CFLAGS): New variable.
5692 (usbms_mod_LDFLAGS): New variable.
5693 (usb_keyboard_mod_SOURCES): New variable.
5694 (usb_keyboard_mod_CFLAGS): New variable.
5695 (usb_keyboard_mod_LDFLAGS): New variable.
5696 * include/grub/smbus.h: New file.
5697 * include/grub/cs5536.h: New file.
5698
0b35b2a9
CW
56992010-06-02 Colin Watson <cjwatson@ubuntu.com>
5700
5701 * util/grub.d/00_header.in: Add safety check to make sure that
5702 ${locale_dir} exists before trying to probe it.
5703
ca0afd5b
CW
57042010-06-02 Colin Watson <cjwatson@ubuntu.com>
5705
5706 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
5707 per the GNU Coding Standards; this is now too obscure to be worth
5708 documenting.
5709 (QNX): Likewise.
5710 (chainloader): Remove cross-reference to `SCO UnixWare'.
5711
1c41aa78
CW
57122010-06-02 Colin Watson <cjwatson@ubuntu.com>
5713
5714 * docs/grub.texi (Chain-loading): New section.
5715 (DOS/Windows): New section, borrowed from GRUB Legacy with details
5716 adjusted for GRUB 2.
5717 (SCO UnixWare): Likewise.
5718 (QNX): Likewise.
5719 (chainloader): Add reference to `Block list syntax'.
5720 (drivemap): New section.
5721 (parttool): New section.
5722
bb8ea0f5
CW
57232010-06-02 Colin Watson <cjwatson@ubuntu.com>
5724
5725 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
5726 the grub shell'.
5727 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
5728 (Installing GRUB using grub-install): Remove reference to the grub
5729 shell; mention `grub-mkimage' and `grub-setup' instead.
5730 (Invoking grub-install): Likewise.
5731 (Interface): Add reference to `Menu entry editor'.
5732 (serial): Remove `--device' option.
5733
288dd6ed
CW
57342010-06-02 Colin Watson <cjwatson@ubuntu.com>
5735
5736 * docs/grub.texi (Configuration): New section, documenting
5737 configuration file generation using grub-mkconfig. I've left a slot
5738 for documenting the full shell scripting format but have not yet
5739 started on writing that up.
5740 (Invoking grub-mkconfig): New section.
5741
34c9f0e9
CW
57422010-06-02 Colin Watson <cjwatson@ubuntu.com>
5743
5744 * docs/grub.texi (direntry): Remove grub-terminfo reference.
5745 (GNU GRUB manual): Likewise.
5746 (General commands): Update description of `terminfo' for GRUB 2.
5747
9121567e
CW
57482010-06-02 Colin Watson <cjwatson@ubuntu.com>
5749
5750 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
5751 (GRUB_MOD_INIT): Fix capitalisation.
5752 * docs/grub.texi (Command-line and menu entry commands): Document
5753 gettext and gptsync commands.
5754
ab631611
CW
57552010-06-02 Colin Watson <cjwatson@ubuntu.com>
5756
5757 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
5758 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
5759
bde4a9ac
CW
57602010-06-01 Colin Watson <cjwatson@ubuntu.com>
5761
5762 Add btrfs probing support, currently only in the single-device case.
5763
5764 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
5765 function.
5766 (grub_guess_root_device): Call find_root_device_from_mountinfo
5767 before looking in /dev.
5768
b1d17e10
VS
57692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
5772 GRUB_DISK_SIZE_UNKNOWN.
5773 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
5774
dfbfe004
JS
57752010-05-31 Jiro SEKIBA <jir@unicus.jp>
5776
5777 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
5778 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
5779 corrupted or not synced properly.
5780
c2ffc8e9
VS
57812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
5784 Reported by: Seth Goldberg.
5785
56293166
VS
57862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
5789 addition of dest.
5790 Reported by: Seth Goldberg.
5791
7620e7de
VS
57922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
5795 Reported by: Seth Goldberg.
5796
c837af3f
VS
57972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
5800 64-bit address as signed on MIPS.
5801
c7c75cf4
CW
58022010-05-28 Colin Watson <cjwatson@ubuntu.com>
5803
5804 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
5805 to the empty string.
5806
fa4b8490
BC
58072010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
5808
5809 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
5810
5811 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
5812 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
5813 * kern/misc.c (__enable_execute_stack): Disable on
5814 GRUB_MACHINE_EMU.
5815
a33075b9
CW
58162010-05-28 Colin Watson <cjwatson@ubuntu.com>
5817
5818 Make grub-probe work with symbolic links under /dev/mapper as well
5819 as with real block devices. The Linux world seems to be (at best)
5820 in transition here, and GRUB shouldn't get caught in the middle.
5821
5822 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
5823 /dev/mapper.
5824
d8708134
CW
58252010-05-27 Colin Watson <cjwatson@ubuntu.com>
5826
5827 * util/grub-script-check.c (main): Ensure defined behaviour on empty
5828 input files (in which case exit zero).
5829
db2102a0
CW
58302010-05-27 Colin Watson <cjwatson@ubuntu.com>
5831
5832 * kern/emu/misc.c (canonicalize_file_name): realpath can still
5833 return NULL for various reasons even if it has a maximum-length
5834 buffer: for example, there might be a symlink loop, or the path
5835 might exceed PATH_MAX. If this happens, return NULL.
5836
5fdba519
RM
58372010-05-27 Robert Millan <rmh@gnu.org>
5838
5839 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
5840 partmap module to handle cross-partmap setups.
5841 Reported by Orestes Mas. Gràcies!
5842
d1d368e4
CW
58432010-05-27 Colin Watson <cjwatson@ubuntu.com>
5844
5845 * util/grub-mkrescue.in: Initialise override_dir rather than
5846 assuming that it's unset or empty in the environment.
5847
95ac3c73
GS
58482010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
5849
5850 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
5851 variable index into p_index to suppress a warning with -Wshadow.
5852
7d8c0213
BC
58532010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
5854
5855 * INSTALL: Added flex >= 2.5.35 requirement.
5856
db4d5813
VS
58572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
5860
f24f4300
VS
58612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 cmostest support.
5864
5865 * commands/i386/cmostest.c: New file.
5866 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
5867 (cmostest_mod_SOURCES): New variable.
5868 (cmostest_mod_CFLAGS): Likewise.
5869 (cmostest_mod_LDFLAGS): Likewise.
5870 * conf/i386-pc.rmk: Likewise.
5871 * docs/grub.texi (Vendor power-on keys): New section.
5872 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
5873 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
5874 and GRUB_BUTTON_CMOS_ADDRESS.
5875 * util/grub.d/00_header.in: Handle powering-on by separate button.
5876
ad603f61
VS
58772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
5880 Removed drawing_scrollbar argument. All users updated
5881 Fixes #29792.
5882 Reported by Jo Shields
5883
3ecb080a
VS
58842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
5887 buffer since gfxterm handles double repaint.
5888
5f2316c1
VS
58892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
5892 * term/gfxterm.c (real_scroll): Likewise.
5893
9a25f885
VS
58942010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
5897 before calling BIOS.
5898
39fbb79a
VS
58992010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * include/grub/i18n.h: Always enable grub_gettext.
5902
228cfa97
VS
59032010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
5906 partition naming style.
5907
21717c8f
CW
59082010-05-21 Colin Watson <cjwatson@ubuntu.com>
5909
5910 * util/grub-mkconfig.in: Fix handling of -o so that it works when
5911 not the first option.
5912
c0f48e65
CW
59132010-05-20 Colin Watson <cjwatson@ubuntu.com>
5914
5915 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
5916
96779aec
CW
59172010-05-20 Colin Watson <cjwatson@ubuntu.com>
5918
5919 * util/misc.c: Move inclusion of <limits.h> to ...
5920 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
5921
fa9d256e
GS
59222010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5923
5924 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
5925 Fix merge error in NetBSD code.
5926 (find_partition_start) [__NetBSD__]: Likewise.
5927
123b7a85
BC
59282010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
5929
5930 Fix grub-mkrescue usage unit testing.
5931
5932 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
5933
74276c0d
CF
59342010-05-18 Christian Franke <franke@computer.org>
5935
5936 * util/grub.d/10_windows.in: Use path names instead of
5937 drive letters to prevent warning from Cygwin 1.7.
5938 Add drivemap command to menuentry if needed.
5939
c4f7b523
ST
59402010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
5941
5942 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
5943 gnumach and gnumach.gz.
5944
95b97950
VS
59452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * include/grub/i18n.h (gettext): Inline instead of using #define.
5948 (grub_gettext): Likewise.
5949 (_): Likewise.
5950
01b8d2d7
VS
59512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
5954 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
5955 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
5956 (main): Add a slash after pkglibdirroot.
5957
654e1d1e
VS
59582010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * util/grub-install.in: Add missing "in" keyword.
5961
26966aeb
VS
59622010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
5965 Reported by: Seth Goldberg.
5966
75006747
VS
59672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
5970
74cbf5bd
CW
59712010-05-18 Colin Watson <cjwatson@ubuntu.com>
5972
5973 * configure.ac: Check for Linux device-mapper support.
5974
5975 * util/hostdisk.c (device_is_mapped): New function.
5976 (find_partition_start): New function, partly broken out from
5977 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
5978 device-mapper support added.
5979 (linux_find_partition): Use find_partition_start.
5980 (convert_system_partition_to_system_disk): Add `st' argument.
5981 Support Linux /dev/mapper/* devices if device-mapper support is
5982 available; only DM-RAID devices are understood at present.
5983 (find_system_device): Add `st' argument. Pass it to
5984 convert_system_partition_to_system_disk.
5985 (grub_util_biosdisk_get_grub_dev): Pass stat result to
5986 find_system_device and convert_system_partition_to_system_disk. Use
5987 find_partition_start.
5988
5989 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
5990 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
5991 * util/deviceiter.c [__linux__]: Define MINOR.
5992 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
5993 * util/mkdevicemap.c (grub_putchar): New function.
5994 (grub_getkey): New function.
5995 (grub_refresh): New function.
5996 (main): Set debug=all if -v -v is used.
5997
355b51e9
CW
59982010-05-18 Colin Watson <cjwatson@ubuntu.com>
5999
6000 Fix build with non-GNU libcs.
6001
6002 * util/misc.c (canonicalize_file_name): Move to ...
6003 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6004 grub_make_system_path_relative_to_its_root.
6005
7fb5c25f
CW
60062010-05-18 Colin Watson <cjwatson@ubuntu.com>
6007
6008 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6009 we handle finding grub-mkimage. Default to finding grub-mkimage in
6010 ${bindir} with program_transform_name applied, and provide a
6011 --grub-mkimage option to override this.
6012
1d3293d6
VS
60132010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 Remove grub-mkisofs.
6016
6017 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
6018 (grub_mkisofs_SOURCES): Removed.
6019 (grub_mkisofs_CFLAGS): Removed.
6020 * util/mkisofs/defaults.h: Removed.
6021 * util/mkisofs/eltorito.c: Likewise.
6022 * util/mkisofs/exclude.h: Likewise.
6023 * util/mkisofs/hash.c: Likewise.
6024 * util/mkisofs/include/: Likewise.
6025 * util/mkisofs/include/fctldefs.h: Likewise.
6026 * util/mkisofs/include/mconfig.h: Likewise.
6027 * util/mkisofs/include/prototyp.h: Likewise.
6028 * util/mkisofs/include/statdefs.h: Likewise.
6029 * util/mkisofs/iso9660.h: Likewise.
6030 * util/mkisofs/joliet.c: Likewise.
6031 * util/mkisofs/match.c: Likewise.
6032 * util/mkisofs/match.h: Likewise.
6033 * util/mkisofs/mkisofs.c: Likewise.
6034 * util/mkisofs/mkisofs.h: Likewise.
6035 * util/mkisofs/msdos_partition.h: Likewise.
6036 * util/mkisofs/multi.c: Likewise.
6037 * util/mkisofs/name.c: Likewise.
6038 * util/mkisofs/rock.c: Likewise.
6039 * util/mkisofs/tree.c: Likewise.
6040 * util/mkisofs/write.c: Likewise.
6041
5dde9afe
VS
60422010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Unify grub-mkimage accross platforms.
6045
6046 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6047 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6048 (grub_mkelfimage_SOURCES): Removed.
6049 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6050 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6051 (bin_UTILITIES): Add grub-mkimage.
6052 (grub_mkimage_SOURCES): New variable.
6053 (kernel_img_HEADERS): Remove machine/kernel.h.
6054 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6055 (pkglib_PROGRAMS): Add kernel.img.
6056 (kernel_img_HEADERS): Add machine/kernel.h.
6057 (kernel_img_FORMAT): Removed.
6058 (bin_UTILITIES): Remove grub-mkimage.
6059 (grub_mkimage_SOURCES): Removed.
6060 (grub_mkimage_CFLAGS): Likewise.
6061 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6062 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6063 (pkglib_PROGRAMS): Add kernel.img.
6064 (bin_UTILITIES): Remove grub-mkimage.
6065 (grub_mkimage_SOURCES): Removed.
6066 (grub_mkimage_CFLAGS): Likewise.
6067 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6068 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6069 (pkglib_PROGRAMS): Add kernel.img.
6070 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6071 (pkglib_PROGRAMS): Add kernel.img.
6072 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6073 (grub_mkimage_SOURCES): Removed.
6074 (grub_mkimage_CFLAGS): Likewise.
6075 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6076 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6077 (pkglib_PROGRAMS): Add kernel.img.
6078 (bin_UTILITIES): Remove grub-mkimage.
6079 (grub_mkimage_SOURCES): Removed.
6080 (grub_mkimage_CFLAGS): Likewise.
6081 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6082 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6083 (grub_mkimage_SOURCES): Removed.
6084 (grub_mkimage_CFLAGS): Likewise.
6085 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6086 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6087 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6088 (grub_pe32_optional_header): ... this.
6089 (grub_pe64_optional_header): ... and this. All users updated.
6090 (GRUB_PE32_PE32_MAGIC): Split into ..
6091 (GRUB_PE32_PE32_MAGIC): .. this.
6092 (GRUB_PE32_PE64_MAGIC): .. and this.
6093 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6094 * include/grub/elf.h (PT_GNU_STACK): New definition.
6095 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6096 * include/grub/i386/efi/kernel.h: Likewise.
6097 * include/grub/i386/kernel.h: Likewise.
6098 * include/grub/i386/pc/kernel.h: Likewise.
6099 * include/grub/i386/qemu/boot.h: Likewise.
6100 * include/grub/mips/kernel.h: Likewise.
6101 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6102 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6103 * include/grub/powerpc/kernel.h: Likewise.
6104 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6105 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6106 * include/grub/sparc64/kernel.h: Likewise.
6107 * include/grub/x86_64/efi/kernel.h: Likewise.
6108 * include/grub/x86_64/kernel.h: Likewise.
6109 * include/grub/offsets.h: New file.
6110 * include/grub/kernel.h (grub_module_info): Split into ...
6111 (grub_module_info32): ... this.
6112 (grub_module_info64): ... and this.
6113 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6114 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6115 (grub_boot_blocklist): Moved from here ...
6116 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6117 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6118 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6119 * include/grub/types.h (grub_target_to_host16): Removed.
6120 (grub_target_to_host32): Likewise.
6121 (grub_target_to_host64): Likewise.
6122 (grub_host_to_target16): Likewise.
6123 (grub_host_to_target32): Likewise.
6124 (grub_host_to_target64): Likewise.
6125 (grub_host_to_target_addr): Likewise.
6126
6127 Support grub-mkrescue for efi, coreboot and qemu.
6128
6129 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6130 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6131 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6132 * util/grub-mkrawimage.c: Moved from here ...
6133 * util/grub-mkimage.c: ... here. All users updated.
6134 (ALIGN_ADDR): Use image_target.
6135 (TARGET_NO_FIELD): New const.
6136 (image_target_desc): New type.
6137 (image_targets): New array.
6138 (grub_target_to_host64): Use image_target.
6139 (grub_target_to_host32): Likewise.
6140 (grub_target_to_host16): Likewise.
6141 (grub_host_to_target64): Likewise.
6142 (grub_host_to_target32): Likewise.
6143 (grub_host_to_target16): Likewise.
6144 (grub_host_to_target_addr): Likewise.
6145 (generate_image): Handle multiimage.
6146 (main): Require -O parameter. All users updated.
6147 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6148 util/efi/grub-mkimage.c
6149 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6150 New option --rom-directory.
6151 Use xorriso.
6152 * util/i386/efi/grub-mkimage.c: Removed.
6153 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6154 (grub_target_to_host32): Likewise.
6155 (grub_target_to_host64): Likewise.
6156 (grub_host_to_target16): Likewise.
6157 (grub_host_to_target32): Likewise.
6158 (grub_host_to_target64): Likewise.
6159 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6160 (grub_target_to_host32): Likewise.
6161 (grub_target_to_host64): Likewise.
6162 (grub_host_to_target16): Likewise.
6163 (grub_host_to_target32): Likewise.
6164 (grub_host_to_target64): Likewise.
6165
f4fc97d0
BC
61662010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6167
6168 Source tree is reorganized for emu build.
6169
6170 * include/grub/util/console.h: Move from here...
6171 * include/grub/emu/console.h: ...to here.
6172 * include/grub/util/getroot.h: Move from here...
6173 * include/grub/emu/getroot.h: ...to here.
6174 * include/grub/util/hostdisk.h: Move from here...
6175 * include/grub/emu/hostdisk.h: ...to here.
6176 * util/console.c: Move from here...
6177 * kern/emu/console.c: ...to here.
6178 * util/getroot.c: Move from here...
6179 * kern/emu/getroot.c: ...to here.
6180 * util/grub-emu.c: Move from here...
6181 * kern/emu/main.c: ...to here.
6182 * util/hostdisk.c: Move from here...
6183 * kern/emu/hostdisk.c: ...to here.
6184 * util/hostfs.c: Move from here...
6185 * kern/emu/hostfs.c: ...to here.
6186 * util/mm.c: Move from here...
6187 * kern/emu/mm.c: ...to here.
6188 * util/pci.c: Move from here...
6189 * bus/emu/pci.c: ...to here.
6190 * util/sdl.c: Move from here...
6191 * video/emu/sdl.c: ...to here.
6192 * util/time.c: Move from here...
6193 * kern/emu/time.c: ...to here.
6194 * util/usb.c: Move from here...
6195 * bus/usb/emu/usb.c: ...to here.
6196
6197 * include/grub/emu/misc.h: New header for grub-emu functions.
6198 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6199
6200 * conf/any-emu.rmk: Rule updates for above renames.
6201 * conf/common.rmk: Likewise.
6202 * conf/i386-pc.rmk: Likewise.
6203 * conf/i386-qemu.rmk: Likewise.
6204 * conf/mips.rmk: Likewise.
6205 * conf/sparc64-ieee1275.rmk: Likewise.
6206 * conf/x86-efi.rmk: Likewise.
6207
6208 * disk/lvm.h: #include updates for above renames.
6209 * util/grub-mkrelpath.c: Likewise.
6210 * util/grub-probe.c: Likewise.
6211 * util/i386/pc/grub-setup.c: Likewise.
6212 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6213 * kern/emu/console.c: Likewise.
6214 * kern/emu/getroot.c: Likewise.
6215 * kern/emu/hostdisk.c: Likewise.
6216 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6217
6218 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6219 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6220 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6221 * util/misc.c: Remove grub-emu functions.
6222
cced9145
VS
62232010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 Fix gfxmenu crash.
6226 Reported by: Thorsten Grützmacher.
6227
6228 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6229 timeout hook.
6230 (circprog_set_property): Register and unregister timeout hook.
6231 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6232 (label_destroy): Free template. and unregister hook.
6233 (label_set_state): New function.
6234 (label_set_property): Handle templates and hooks.
6235 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6236 timeout hook.
6237 (progress_bar_set_property): Register and unregister timeout hook.
6238 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6239 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6240 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6241 (update_timeout_visit): Removed.
6242 (update_timeouts): New function.
6243 (redraw_timeouts): Likewise.
6244 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6245 (grub_gfxmenu_clear_timeout): Likewise.
6246 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6247 (grub_gfxmenu_timeout_notify): Likewise.
6248 (grub_gfxmenu_timeout_notifications): New external variable.
6249 (grub_gfxmenu_timeout_register): New function.
6250 (grub_gfxmenu_timeout_unregister): Likewise.
6251
c6e5caab
VS
62522010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 Transform (broken) vga terminal into (working) vga video driver.
6255
6256 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6257 video/i386/pc/vga.c.
6258 * include/grub/video.h (grub_video_driver_id):
6259 Add GRUB_VIDEO_DRIVER_VGA.
6260 * term/i386/pc/vga.c: Renamed to ...
6261 * video/i386/pc/vga.c: ...this
6262 (DEBUG_VGA): Removed.
6263 (CHAR_WIDTH): Likewise.
6264 (CHAR_HEIGHT): Likewise.
6265 (TEXT_WIDTH): Likewise.
6266 (TEXT_HEIGHT): Likewise.
6267 (DEFAULT_FG_COLOR): Likewise.
6268 (DEFAULT_BG_COLOR): Likewise.
6269 (colored_char): Likewise.
6270 (xpos): Likewise.
6271 (ypos): Likewise.
6272 (cursor_state): Likewise.
6273 (fg_color): Likewise.
6274 (bg_color): Likewise.
6275 (text_buf): Likewise.
6276 (page): Likewise.
6277 (font): Likewise.
6278 (framebuffer): New variable.
6279 (set_read_map): Disabled.
6280 (setup): New variable.
6281 (is_target): Likewise.
6282 (grub_vga_mod_init): Likewise.
6283 (grub_vga_mod_fini): Likewise.
6284 (check_vga_mem): Likewise.
6285 (write_char): Likewise.
6286 (write_cursor): Likewise.
6287 (scroll_up): Likewise.
6288 (grub_vga_putchar): Likewise.
6289 (grub_vga_getcharwidth): Likewise.
6290 (grub_vga_getwh): Likewise.
6291 (grub_vga_getxy): Likewise.
6292 (grub_vga_gotoxy): Likewise.
6293 (grub_vga_cls): Likewise.
6294 (grub_vga_setcolorstate): Likewise.
6295 (grub_vga_setcursor): Likewise.
6296 (grub_video_vga_init): New function.
6297 (grub_video_vga_setup): Likewise.
6298 (grub_video_vga_fini): Likewise.
6299 (update_target): Likewise.
6300 (grub_video_vga_blit_bitmap): Likewise.
6301 (grub_video_vga_blit_render_target): Likewise.
6302 (grub_video_vga_set_active_render_target): Likewise.
6303 (grub_video_vga_get_active_render_target): Likewise.
6304 (grub_video_vga_swap_buffers): Likewise.
6305 (grub_video_vga_set_palette): Likewise.
6306 (grub_video_vga_get_info_and_fini): Likewise.
6307 (grub_vga_term): Removed.
6308 (grub_video_vga_adapter): New variable.
6309 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6310 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6311
2bf61a98
VS
63122010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * video/readers/jpeg.c: Indented.
6315
09ddcd11
VS
63162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 Various jpeg cleanups.
6319
6320 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6321 (grub_jpeg_decode_quan_table): Use sizeof.
6322 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6323
e5507505
PH
63242010-05-05 Peter Hurley <No e-mail available> (tiny change)
6325
6326 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6327 tables. Ignore non-last ac bit.
6328 (grub_jpeg_decode_quan_table): Likewise.
6329
7e720a9b
VS
63302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6333 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6334 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6335 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6336 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6337 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6338
a7fc080b
VS
63392010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6342 error.
6343
2bf6012d
VS
63442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6347
265d68cd
VS
63482010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6351 condition.
6352
63532010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6354
6355 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6356 part.
6357
265d68cd 63582010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6359
6360 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6361 pointers.
6362
265d68cd 63632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6364
6365 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6366
d1b61374
CF
63672010-05-01 Christian Franke <franke@computer.org>
6368
6369 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6370 Remove broken Cygwin path conversion.
6371 * util/misc.c: [__CYGWIN__] Add include and define.
6372 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6373 for Cygwin 1.7.
6374 (make_system_path_relative_to_its_root): Simplify loop, replace early
6375 return by break.
6376 [__CYGWIN__] Add conversion to win32 path.
6377 Include "/" case in trailing slash removal.
6378
3558c6e9
VS
63792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6382 Reported by: Seth Goldberg
6383
f5f3ff93
VS
63842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * commands/help.c (grub_cmd_help): Fix a typo.
6387 Reported by: Seth Goldberg
6388
d8b5cd40
VS
63892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6392 name and add N_.
6393 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6394 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6395 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6396 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6397 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6398 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6399 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6400 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6401 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6402 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6403 * normal/context.c (GRUB_MOD_INIT): Likewise.
6404 * normal/main.c (GRUB_MOD_INIT): Likewise.
6405 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6406 * term/serial.c (GRUB_MOD_INIT): Likewise.
6407 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6408
88c14915
VS
64092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6412 extra == 0.
6413
165134bc
VS
64142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * commands/iorw.c: New file.
6417 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6418 (iorw_mod_SOURCES): New variable.
6419 (iorw_mod_CFLAGS): Likewise.
6420 (iorw_mod_LDFLAGS): Likewise.
6421
c5ac9b32
VS
64222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 Hotkey support
6425
6426 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6427 * normal/main.c (hotkey_aliases): New variable.
6428 (grub_normal_add_menu_entry): Parse "--hotkey".
6429 * normal/menu_text.c (run_menu): Handle hotkeys.
6430
ce60689c
VS
64312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * kern/i386/coreboot/init.c (grub_machine_init): Call
6434 grub_machine_mmap_init on qemu.
6435
0359d006
VS
64362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * boot/i386/qemu/boot.S: Add a missing .code16.
6439
7819a456
VS
64402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Use LBIO on coreboot.
6443
6444 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6445 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6446 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6447 New declaration.
6448 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6449 grub_machine_mmap_init on coreboot.
6450 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6451 GRUB_LINUXBIOS_MEMBER_LINK.
6452 (grub_machine_mmap_iterate): Fix declaration.
6453 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6454
7210dca9
VS
64552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 Split coreboot and multiboot ports.
6458
6459 * conf/i386-multiboot.rmk: New file.
6460 * configure.ac: Add multiboot port.
6461 * include/grub/i386/multiboot/boot.h: New file.
6462 * include/grub/i386/multiboot/console.h: Likewise.
6463 * include/grub/i386/multiboot/init.h: Likewise.
6464 * include/grub/i386/multiboot/kernel.h: Likewise.
6465 * include/grub/i386/multiboot/loader.h: Likewise.
6466 * include/grub/i386/multiboot/memory.h: Likewise.
6467 * include/grub/i386/multiboot/serial.h: Likewise.
6468 * include/grub/i386/multiboot/time.h: Likewise.
6469 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6470 * loader/multiboot.c: Likewise.
6471 * loader/multiboot_mbi2.c: Likewise.
6472 * util/grub-mkrescue.in: Generate multiboot rescue.
6473
6f8aaf68
VS
64742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6475
3080f7a7
VS
6476 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6477
64782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
6481
6482 * commands/terminal.c (abstract_terminal): New struct.
6483 (handle_command): New function. Based on grub_cmd_terminal_input.
6484 (grub_cmd_terminal_input): Use handle_command.
6485 (grub_cmd_terminal_output): Use handle_command.
6486
a8ebb841
BC
64872010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6488
6489 Fix comment handling.
6490
6491 * tests/grub_script_comments.in: New testcase.
6492 * conf/tests.rmk: Rules for new testcase.
6493 * script/yylex.l: Updated flex rules.
6494
bb06ba08
ST
64952010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6496
6497 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
6498 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6499 if argc is 1.
bb06ba08 6500
cc9d2425
VS
65012010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6504 autogen issues.
6505
460d8402
CF
65062010-04-26 Christian Franke <franke@computer.org>
6507
6508 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6509 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6510 (grub_get_prefix): Remove function.
6511 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6512 make_system_path_relative_to_its_root ().
6513 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6514
553c01f9
CF
65152010-04-24 Christian Franke <franke@computer.org>
6516
6517 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6518 (kernel_img_LDFLAGS): Remove -static-libgcc.
6519
2aec1692
CF
65202010-04-24 Christian Franke <franke@computer.org>
6521
6522 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6523 and CHECK_END_SYMBOL if grub-emu is built.
6524 Unset TARGET_OBJ2ELF if grub-emu is built
6525 without module support.
6526
f67dc308
JS
65272010-04-24 Jiro SEKIBA <jir@unicus.jp>
6528
6529 Nilfs2 support.
6530
6531 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6532 (grub_fstest_SOURCES): Likewise.
6533 (pkglib_MODULES): Add nilfs2.mod.
6534 (nilfs2_mod_SOURCES): New variable.
6535 (nilfs2_mod_CFLAGS): Likewise.
6536 (nilfs2_mod_LDFLAGS): Likewise.
6537 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6538 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6539 * fs/nilfs2.c: New file.
6540
4ba8d354
VS
65412010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
6544 is not supported.
6545
0d2c20c6
GS
65462010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
6547
6548 Add grub-mkconfig support for NetBSD.
6549
6550 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
6551 * util/grub-mkconfig.in: export new NetBSD specific variables.
6552 * po/POTFILES-shell: added 10_netbsd.in.
6553 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
6554
bc4a2d83
BC
65552010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
6556
6557 Fix emu build with grub-emu-pci and grub-emu-modules.
6558
6559 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
6560 functions.
6561 * include/grub/libpciaccess.h: New file.
6562 * conf/any-emu.rmk: Update kernel headers for emu build.
6563
f48c87aa
VS
65642010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
6567
18959385
VS
65682010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
6571
0037de3f
VS
65722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
6575 Retrieve chosen/bootpath if bootpath isn't hardcoded.
6576 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
6577 util/ieee1275/ofpath.c.
6578 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
6579 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
6580 * include/grub/sparc64/ieee1275/boot.h
6581 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
6582 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
6583 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
6584 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
6585 const char *.
6586 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
6587 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
6588 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
6589 install.
6590
38e55e90
GS
65912010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6592
6593 * util/grub-mkconfig.in: Corrected two == equality tests.
6594 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
6595 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
6596 expect a number appended to it.
6597 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
6598 expects a number appended to it.
6599
a9e6ff28
VS
66002010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
6603
0b830b8f
VS
66042010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * util/hostdisk.c (make_device_name): Change to new partition naming.
6607
0973daeb
VS
66082010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
6611
460d8402 66122010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
6613
6614 * Makefile.in: Add missing localedir setting.
6615
0b456309
CW
66162010-04-14 Colin Watson <cjwatson@ubuntu.com>
6617
6618 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
6619 mistake in r2156. Noticed by Anthony Fok.
6620
6621 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
6622 @localedir@.
6623 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6624
08f46d62
BC
66252010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
6626
6627 Fix a spurious, uninitialized variable warning.
6628
6629 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
6630 Initialize variable, shdr.
6631 (grub_freebsd_load_elfmodule): Likewise.
6632 (grub_freebsd_load_elf_meta): Likewise.
6633
8c4a72d4
BC
66342010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
6635
6636 Fix for escaped dollar in double quoted strings.
6637
6638 * script/yylex.l: Updated flex rules.
6639 * conf/tests.rmk: Rule for new testcase.
6640 * tests/grub_script_dollar.in: New testcase.
6641
ce44826e
CPE
66422010-04-13 Carles Pina i Estany <carles@pina.cat>
66432010-04-13 Colin Watson <cjwatson@ubuntu.com>
6644
6645 Enclose all translated strings in grub.cfg in single quotes, and
6646 escape them appropriately (Ubuntu bug #552921).
6647
6648 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
6649 * util/grub.d/10_hurd.in: Use it.
6650 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6651 * util/grub.d/10_linux.in (linux_entry): Likewise.
6652
4b0cd8f8
VS
66532010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 Fix cygwin compilation.
6656
6657 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
6658 * include/grub/misc.h (__register_frame_info)
6659 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
6660 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6661 * kern/misc.c (__register_frame_info)
6662 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
6663 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6664
01fcf061
VS
66652010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
6668
5d04b11e
VS
66692010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 Unify libgcc processing.
6672
6673 * Makefile.in (kernel_img_LDFLAGS): New variable.
6674 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
6675 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
6676 overwriting.
6677 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
6678 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
6679 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
6680 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
6681 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
6682 overwriting. Remove -lgcc and -static-libgcc
6683 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
6684 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6685 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6686 (kernel_img_LDFLAGS): Append instead of overwriting.
6687 Remove -lgcc and -static-libgcc
6688 * conf/sparc64-ieee1275.rmk: Likewise.
6689 * include/grub/powerpc/libgcc.h: Move to ...
6690 * include/grub/libgcc.h: .. this.
6691 * include/grub/libgcc.h: Don't export most of the function on x86.
6692 (__bswapsi2): New export.
6693 (__bswapdi2): Likewise.
6694 * include/grub/mips/libgcc.h: Removed.
6695 * include/grub/sparc64/libgcc.h: Likewise.
6696
b7f3ac29
VS
66972010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
6700 disk_info_msg (conflicts with gettexting into languages with cases).
6701
2c7031b1
GS
67022010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6703
6704 Add grub-probe support for NetBSD.
6705
6706 * util/getroot.c (find_root_device): Convert block device to
6707 character device on NetBSD.
6708 * util/probe.c (probe): Require character device on NetBSD.
6709 * util/hostdisk.c: NetBSD specific headers.
6710 (configure_device_driver): new function to tune device driver
6711 parameters (currently only for NetBSD floppy driver).
6712 (grub_util_biosdisk_open): NetBSD specific code (get disk size
6713 via disklabel ioctl).
6714 (open_device): call configure_device_driver on NetBSD.
6715 (convert_system_partition_to_system_disk): NetBSD specific code.
6716 (device_is_wholedisk): Likewise.
6717 (grub_util_biosdisk_get_grub_dev): Likewise.
6718 (make_device_name): Fixed a typo in bsd_part_str.
6719 * configure.ac: check for opendisk() and getrawpartition() on
6720 NetBSD and set LIBUTIL.
6721 * Makefile.in: add LIBUTIL to LIBS.
6722
f516290c
BC
67232010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6724
6725 Documentation fix.
6726
6727 * util/grub-script-check.c: Better help message.
6728
d8dcc0df
BC
67292010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6730
6731 Fix FreeBSD build.
6732
6733 * configure.ac: Flex version check.
6734 * conf/common.rmk: Add -Wno-error to sh.mod.
6735 * script/yylex.l: Remove all #pragma.
6736
6734334a
VS
67372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * include/grub/util/misc.h (canonicalise_file_name): Add missing
6740 prototype.
6741 Reported by: Seth Goldberg.
6742
daea6abd
VS
67432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
6746 Rename "module" to "module2".
6747 Reported by: Seth Goldberg.
6748
f2fd9d2b
VS
67492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
6752 EXPORT_FUNC.
6753 Reported by: Seth Goldberg.
6754
be124579
VS
67552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 * lib/posix_wrap/locale.h: Add missing file.
6758 Reported by: Seth Goldberg.
6759
ef5da797
VS
67602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 grub-emu module load support.
6763
6764 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
6765 NO_DYNAMIC_MODULES switched to this.
6766 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
6767 (CFLAGS): Likewise.
6768 * conf/any-emu.rmk: Generate symlist.
6769 (kernel_img_HEADERS): Add util/datetime.h.
6770 (kernel_img_HEADERS) [sdl]: Add sdl.h.
6771 (kernel_img_HEADERS) [libusb]: Add libusb.h.
6772 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
6773 kern/$(target_cpu)/cache.S.
6774 * configure.ac (grub-emu-modules): New option.
6775 * genmk.rb: Handle multiple source lists.
6776 * include/grub/sdl.h: New file.
6777 * include/grub/libusb.h: Likewise.
6778 * util/grub-emu.c (main): Hanle (host) root.
6779 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
6780 GRUB_ERR_UNKNOWN_DEVICE.
6781 * util/misc.c: Move mm functions to ...
6782 * util/mm.c: ... here. All users updated.
6783
47822096
VS
67842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
6787 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
6788 missing files.
6789 (maintainer-clean): Remove libgcrypt-grub.
6790
5d7e7445
VS
67912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
6794
25f4e252
EC
67952010-04-09 EFI Coder <eficoder@hotmail.com>
6796
6797 * normal/menu_text.c (print_message): Clean up the message and show
6798 the Fn information when on EFI
6799 * term/efi/console.c (grub_console_checkkey): Add F4 support.
6800
027de555
VS
68012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
6804 All users updated.
6805 * normal/crypto.c (read_crypto_list): Likewise.
6806 * normal/dyncmd.c (read_command_list): Likewise.
6807 * normal/term.c (read_terminal_list): Likewise.
6808 * normal/main.c (read_lists): Use explicit prefix.
6809 (read_lists_hook): Use read_lists.
6810 (grub_normal_execute): Likewise.
6811
47779711
VS
68122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
6815 Reported by: Thomas Schmitt.
6816 Add -no-emul-boot to grub-mkisofs parameters.
6817
1118c32e
VS
68182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * font/font.c: Indented.
6821
7d652447
BC
68222010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6823
6824 Elif support to GRUB script (by Deepak Vankadaru).
6825
6826 * tests/grub_script_if.in: New testcase.
6827 * conf/tests.rmk: Rule for new testcase.
6828 * script/parser.y: Grammar rules for elif.
6829
34bb22df
BC
68302010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6831
6832 While and until loops support to GRUB script.
6833
6834 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
6835 (grub_script_create_cmdwhile): New function prototype.
6836 (grub_script_execute_cmdwhile): New function prototype.
6837 * script/execute.c (grub_script_execute_cmdwhile): New function.
6838 * script/parser.y (command): New commands.
6839 (whilecmd): New grammar rule.
6840 (untilcmd): New grammar rule.
6841 * script/script.c (grub_script_create_cmdwhile): New function.
6842 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
6843 function.
6844
6845 * tests/grub_script_while1.in: New testcase.
6846 * conf/tests.rmk: Rule for new testcase.
6847
e215d8e0
VS
68482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
6851 as *.jpg.
6852
d7c43ba1
MV
68532010-04-09 Mario Vazquez <mariovazq@gmail.com>
6854
6855 GRUB_BACKGROUND support.
6856
6857 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
6858 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
6859
d64795c0
VS
68602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 6863 Idea by: Mario Vazquez
d64795c0
VS
6864
6865 * util/grub.d/00_header.in: Load pf2 and image modules.
6866
f267f83a
VS
68672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 grub-mkconfig multiple terminal support.
6870
6871 * util/grub-mkconfig.in: Handle multiple terminals correctly.
6872 * util/grub.d/00_header.in: Likewise.
6873
b7841ceb
VS
68742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * Makefile.in: Specify files explicitly instead of using $< and $@ since
6877 we use cd $(srcdir).
6878
df60998c
CW
68792010-04-08 Colin Watson <cjwatson@ubuntu.com>
6880
6881 * util/grub.d/10_linux.in: Only use the first word of
6882 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
6883 spaces in GRUB_DISTRIBUTOR.
6884 * util/grub.d/10_kfreebsd.in: Likewise.
6885 * util/grub.d/10_hurd.in: Likewise.
6886
fa09c82e
BC
68872010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
6888
14e18ae3 6889 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
6890
6891 * tests/util/grub-shell.in: Remove -serial stdio option.
6892
daf892b3
BC
68932010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 POSIX header file wrappers.
6896
6897 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
6898 equivalents.
6899 * lib/posix_wrap/ctype.h: Likewise.
6900 * lib/posix_wrap/errno.h: Likewise.
6901 * lib/posix_wrap/langinfo.h: Likewise.
6902 * lib/posix_wrap/limits.h: Likewise.
6903 * lib/posix_wrap/localcharset.h: Likewise.
6904 * lib/posix_wrap/stdint.h: Likewise.
6905 * lib/posix_wrap/stdio.h: Likewise.
6906 * lib/posix_wrap/stdlib.h: Likewise.
6907 * lib/posix_wrap/string.h: Likewise.
6908 * lib/posix_wrap/sys/types.h: Likewise.
6909 * lib/posix_wrap/unistd.h: Likewise.
6910 * lib/posix_wrap/wchar.h: Likewise.
6911 * lib/posix_wrap/wctype.h: Likewise.
6912 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
6913 (grub_script.yy.h): Likewise.
6914 * script/yylex.l: Remove POSIX emulation #defines.
6915 * Makefile.in (POSIX_CFLAGS): New variable.
6916 (GNULIB_UTIL_CFLAGS): Likewise.
6917
6918 Regexp support.
6919
6920 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
6921 (regexp_mod_SOURCES): New variable.
6922 (regexp_mod_CFLAGS): Likewise.
6923 (regexp_mod_LDFLAGS): Likewise.
6924 * commands/regexp.c: New file.
6925 * gnulib/regcomp.c: New file. Imported from gnulib.
6926 * gnulib/regex.c: Likewise.
6927 * gnulib/regex_internal.c: Likewise.
6928 * gnulib/regex_internal.h: Likewise.
6929 * gnulib/regexec.c: Likewise.
6930 * gnulib/regex.h: Likewise.
6931
974ac4f7
VS
69322010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
6935 unsupported video mode types.
6936
2622c3ff
VS
69372010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
6940
064cb524
VS
69412010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
6944 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
6945
a8c3b552
VS
69462010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 Remove unused grub_vga_get_font.
6949
6950 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
6951 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
6952
187bbe3d
GS
69532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6954
6955 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
6956 * include/grub/misc.h: Likewise.
6957
b9396631
GS
69582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6959
6960 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
6961 for which failure is fatal.
6962
50479feb
GS
69632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6964
6965 * util/grub-install.in: Use mkdir -p to create grub directory.
6966 * util/i386/efi/grub-install.in: Likewise.
6967 * util/ieee1275/grub-install.in: Likewise.
6968
b1654fdf
GS
69692010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6970
6971 * Makefile.in (LEX): new variable.
6972
bd5a6415
GS
69732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6974
6975 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
6976 `=' and added double quotes on operands of this equality test.
6977
3db3a82b
VS
69782010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * Makefile.in (uninstall): Remove a leftover debug echo.
6981 Reported by: Grégoire Sutre
6982
38023412
VS
69832010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 MIPS multiboot2 support.
6986
6987 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
6988 (multiboot2_mod_SOURCES): New variable.
6989 (multiboot2_mod_CFLAGS): Likewise.
6990 (multiboot2_mod_LDFLAGS): Likewise.
6991 (multiboot2_mod_ASFLAGS): Likewise.
6992 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
6993 definition.
6994 (MULTIBOOT_ENTRY_REGISTER): Likewise.
6995 (MULTIBOOT_MBI_REGISTER): Likewise.
6996 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
6997 (MULTIBOOT_ELF32_MACHINE): Likewise.
6998 (MULTIBOOT_ELF64_MACHINE): Likewise.
6999 * include/grub/mips/multiboot.h: New file.
7000 * include/grub/video.h (grub_video_driver_id): New type
7001 GRUB_VIDEO_DRIVER_SM712.
7002 (grub_video_get_info_and_fini): Export.
7003 (grub_video_get_palette): Likewise.
7004 (grub_video_get_driver_id): Likewise.
7005 * include/multiboot2.h: Resynced with spec.
7006 * loader/i386/multiboot.c: Moved from here ...
7007 * loader/multiboot.c: ... here. All users updated.
7008 (grub_multiboot_boot): Use platform-specific macros.
7009 * loader/i386/multiboot_elfxx.c: Moved from here ...
7010 * loader/multiboot_elfxx.c: ... here. All users updated.
7011 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
7012 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
7013 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
7014
47674667
VS
70152010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 Import gnulib argp module.
7018
7019 * gnulib/argp-ba.c: New file.
7020 * gnulib/argp-eexst.c: Likewise.
7021 * gnulib/argp-fmtstream.c: Likewise.
7022 * gnulib/argp-fmtstream.h: Likewise.
7023 * gnulib/argp-fs-xinl.c: Likewise.
7024 * gnulib/argp-help.c: Likewise.
7025 * gnulib/argp-namefrob.h: Likewise.
7026 * gnulib/argp-parse.c: Likewise.
7027 * gnulib/argp-pin.c: Likewise.
7028 * gnulib/argp-pv.c: Likewise.
7029 * gnulib/argp-pvh.c: Likewise.
7030 * gnulib/argp-version-etc.c: Likewise.
7031 * gnulib/argp-version-etc.h: Likewise.
7032 * gnulib/argp-xinl.c: Likewise.
7033 * gnulib/argp.h: Likewise.
7034
495442ed
VS
70352010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * kern/device.c (grub_device_iterate): Clear errors after failed
7038 opening device.
7039
f9fd65df
VS
70402010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7043 returned by firmware.
7044
af09641e
VS
70452010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7048 compilation on coreboot and qemu
7049
016883a5
VS
70502010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * include/multiboot2.h: Resync with spec.
7053
f97e1f7d
VS
70542010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 Multiboot2 tag support
7057
7058 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7059 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7060 Remove loader/multiboot_loader.c.
7061 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7062 (grub_multiboot2_real_boot): Likewise.
7063 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7064 (grub_get_multiboot_mmap_count): New proto.
7065 (grub_fill_multiboot_mmap): Likewise.
7066 (grub_multiboot_set_video_mode): Likewise.
7067 (grub_multiboot_set_console): Likewise.
7068 (grub_multiboot_load): Likewise.
7069 (grub_multiboot_load_elf): Likewise.
7070 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7071 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7072 * include/multiboot.h: Resynced with specification.
7073 * include/multiboot2.h: Resynced with specification.
7074 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7075 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7076 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7077 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7078 users updated.
7079 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7080 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7081 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7082 Removed.
7083 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7084 Moved from here...
7085 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7086 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7087 Moved from here...
7088 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7089 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7090 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7091 All users updated.
7092 * loader/i386/multiboot_mbi2.c: New file.
7093
3506b90b
VS
70942010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 Resync with gnulib.
7097
7098 * Makefile.in (GNULIB_CFLAGS): New variable.
7099 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7100 (grub_script_check_CFLAGS): New variable.
7101 * gnulib/alloca.h: Resync with gnulib.
7102 * gnulib/error.c: Likewise.
7103 * gnulib/error.h: Likewise.
7104 * gnulib/fnmatch.c: Likewise.
7105 * gnulib/fnmatch_loop.c: Likewise.
7106 * gnulib/getdelim.c: Likewise.
7107 * gnulib/getline.c: Likewise.
7108 * gnulib/getopt.c: Likewise.
7109 * gnulib/getopt1.c: Likewise.
7110 * gnulib/getopt_int.h: Likewise.
7111 * gnulib/gettext.h: Likewise.
7112 * gnulib/progname.c: Likewise.
7113 * gnulib/progname.h: Likewise.
7114
394a3120
GS
71152010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7116
7117 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7118 which is the case with --disabled-nls.
7119
7120 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7121 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7122 * util/misc.c: Likewise.
7123 * util/mkisofs/mkisofs.c: Likewise.
7124 * util/mkisofs/mkisofs.h: Likewise.
7125
969d1c78
VS
71262010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 Simplify Apple CC support.
7129
7130 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7131 Add 0 byte at the end not to have a symbol with empty target.
7132 * mmap/i386/pc/mmap_helper.S: Likewise.
7133 * genmk.rb: Ignore errors 2030 and 2050.
7134 * kern/i386/pc/startup.S: Use LOCAL when possible.
7135
8d2977bb
BC
71362010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7137
7138 Testcase and the fix for final semicolon on cmdline.
7139
7140 * tests/grub_script_final_semicolon.in: New testcase.
7141 * conf/tests.rmk: Rules for the new testcase.
7142 * script/parser.y: Grammar fix.
7143
a7bd6915
BC
71442010-03-26 BVK Chaitanya <bvk@localhost>
7145
7146 Blank lines testcase for GRUB script.
7147
7148 * tests/grub_script_blanklines.in: New testcase.
7149 * conf/tests.rmk: Rules for the new testcase.
7150
e4ff6628
VS
71512010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 Don't use __FILE__.
7154
7155 * genmk.rb: Add -DGRUB_FILE to all C targets.
7156 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7157 * include/grub/list.h: Likewise.
7158 * include/grub/misc.h: Likewise.
7159 * include/grub/mm.h: Likewise.
7160 * include/grub/test.h: Likewise.
7161 * kern/mm.c: Likewise.
7162 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7163
6a5cf6b6
VS
71642010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Sunpc partitions support.
7167
7168 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7169 (grub_fstest_SOURCES): Likewise.
7170 (pkglib_MODULES): Add part_sunpc.mod.
7171 (part_sunpc_mod_SOURCES): New variable.
7172 (part_sunpc_mod_CFLAGS): Likewise.
7173 (part_sunpc_mod_LDFLAGS): Likewise.
7174 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7175 * partmap/sunpc.c: New file.
7176
746d9045
BC
71772010-03-26 BVK Chaitanya <bvk@localhost>
7178
7179 For loop support to GRUB script.
7180
7181 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7182 (grub_script_create_cmdfor): New function prototype.
7183 (grub_script_execute_cmdfor): New function prototype.
7184 * script/execute.c (grub_script_execute_cmdfor): New function.
7185 * script/parser.y (command): New for command.
7186 (forcmd): New grammar rule.
7187 * script/script.c (grub_script_create_cmdfor): New function.
7188 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7189 function.
7190 * tests/grub_script_for1.in: New testcase.
7191 * conf/tests.rmk: Rules for new testcase.
7192
18486b18
VS
71932010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Nested partitions
7196
7197 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7198 'partition' is NULL, grub_partition_get_start already does that.
7199 * commands/loadenv.c (check_blocklists): Likewise.
7200 (write_blocklists): Likewise.
7201 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7202 (grub_fstest_SOURCES): Likewise.
7203 (pkglib_MODULES): Add part_bsd.mod.
7204 (part_bsd_mod_SOURCES): New variable.
7205 (part_bsd_mod_CFLAGS): Likewise.
7206 (part_bsd_mod_LDFLAGS): Likewise.
7207 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7208 (grub_emu_SOURCES): Likewise.
7209 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7210 * include/grub/bsdlabel.h: New file.
7211 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7212 'get_name'.
7213 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7214 (grub_partition_map_list): New variable.
7215 (grub_partition_map_register): Inline.
7216 (grub_partition_map_unregister): Likewise.
7217 (FOR_PARTITION_MAPS): New macro.
7218 (grub_partition_map_iterate): Removed.
7219 (grub_partition_get_start): Handle nested partitions.
7220 * include/grub/msdos_partition.h: Remove bsd-related entries.
7221 (grub_pc_partition): Remove.
7222 * kern/disk.c (grub_disk_close): Free partition data.
7223 (grub_disk_adjust_range): Handle nested partitions.
7224 * kern/partition.c (grub_partition_map_probe): New function.
7225 (grub_partition_probe): Parse name to number, handle subpartitions.
7226 (get_partmap): New function.
7227 (grub_partition_iterate): Handle subpartitions.
7228 (grub_partition_get_name): Likewise.
7229 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7230 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7231 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7232 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7233 Set 'number'.
7234 (acorn_partition_map_probe): Remove.
7235 (acorn_partition_map_get_name): Likewise.
7236 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7237 Set 'number'.
7238 Set 'index' to 0 since there can be only one partition entry per sector.
7239 (amiga_partition_map_probe): Remove.
7240 (amiga_partition_map_get_name): Likewise.
7241 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7242 Set 'number'.
7243 Set 'offset' and 'index' to real positions of partitions.
7244 (apple_partition_map_probe): Remove.
7245 (apple_partition_map_get_name): Likewise.
7246 * partmap/bsdlabel.c: New file.
7247 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7248 Set 'number'.
7249 Allocate 'data' so it can be correctly freed.
7250 Set 'index' to offset inside sector.
7251 (gpt_partition_map_probe): Remove.
7252 (gpt_partition_map_get_name): Likewise.
7253 * partmap/msdos.c (grub_partition_parse): Remove.
7254 (pc_partition_map_iterate): Don't force raw access.
7255 Set 'number'.
7256 Make 'ext_offset' a local variable.
7257 (pc_partition_map_probe): Remove.
7258 (pc_partition_map_get_name): Remove.
7259 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7260 Set 'number'.
7261 (sun_partition_map_probe): Remove.
7262 (sun_partition_map_get_name): Likewise.
7263 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7264 (grub_pcpart_type): Likewise.
7265 * util/hostdisk.c (open_device): Handle new numbering scheme.
7266 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7267 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7268 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7269 * util/grub-install.in: Insert all subpartition modules.
7270 * util/ieee1275/grub-install.in: Likewise.
7271
a3940f88
AG
72722010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7273
7274 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7275 grammar.
7276
21b99926 72772010-03-24 Colin Watson <cjwatson@ubuntu.com>
7278
7279 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7280
bed1d352
CW
72812010-03-21 Colin Watson <cjwatson@ubuntu.com>
7282
7283 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7284 match where 'make install' puts them.
7285 * util/i386/efi/grub-install.in: Likewise.
7286
c9f58427
CW
72872010-03-19 Colin Watson <cjwatson@ubuntu.com>
7288
7289 * .bzrignore: Add gentrigtables, grub-script-check,
7290 grub_script_check_init.c, grub_script_check_init.h, and
7291 trigtables.c.
7292
f84afb27
VS
72932010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * kern/parser.c: Indented.
7296
ed0e3d30
VS
72972010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7300
0ea81d98
VS
73012010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7304 alpha_mask_size == 0 case.
7305
0cdc2a09
BC
73062010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7307
7308 GRUB shell lexer and parser improvements.
7309
7310 * conf/any-emu.rmk: Build rule updates.
7311 * conf/common.rmk: Likewise.
7312 * conf/i386-coreboot.rmk: Likewise.
7313 * conf/i386-efi.rmk: Likewise.
7314 * conf/i386-ieee1275.rmk: Likewise.
7315 * conf/i386-pc.rmk: Likewise.
7316 * conf/powerpc-ieee1275.rmk: Likewise.
7317 * conf/x86_64-efi.rmk: Likewise.
7318
7319 * configure.ac: Configure check for flex.
7320
7321 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7322 types.
7323 (grub_lexer_param): Struct member updates.
7324 (grub_parser_param): Likewise.
7325 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7326 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7327 (grub_script_lexer_init): Prototype update.
7328 (grub_script_lexer_record_start): Likewise.
7329 (grub_script_lexer_record_stop): Likewise.
7330 (grub_script_lexer_yywrap): New function prototype.
7331 (grub_script_lexer_fini): Likewise.
7332 (grub_script_execute_argument_to_string): Removed by...
7333 (grub_script_execute_argument_to_argv): ...better version.
7334
7335 * script/execute.c (ROUND_UPTO): New macro.
7336 (grub_script_execute_cmdline): Out of memory fixes.
7337 (grub_script_execute_menuentry): Likewise.
7338 (grub_script_execute_argument_to_string): Removed. Update all
7339 users by...
7340 (grub_script_execute_argument_to_argv): ...better version.
7341 * script/function.c (grub_script_function_create): Use
7342 grub_script_execute_argument_to_argv instead of
7343 grub_script_execute_argument_to_string.
7344
7345 * script/lexer.c (check_varstate): Removed.
7346 (check_textstate): Removed.
7347 (grub_script_lexer_record_start): Likewise.
7348 (grub_script_lexer_record_stop): Likewise.
7349 (recordchar): Replaced with...
7350 (grub_script_lexer_record): ...new function.
7351 (nextchar): Removed.
7352 (grub_script_lexer_init): Rewritten.
7353 (grub_script_yylex): Rewritten.
7354 (append_newline): New function.
7355 (grub_script_lexer_yywrap): New function.
7356 (grub_script_lexer_fini): New function.
7357 (grub_script_yyerror): Sets error flag.
7358
7359 * script/yylex.l: New file.
7360 (grub_lexer_yyfree): Wrapper for flex yyffre.
7361 (grub_lexer_yyalloc): Likewise.
7362 (grub_lexer_yyrealloc): Likewise.
7363 * script/parser.y: Refactored.
7364
7365 * script/script.c (grub_script_arg_add): Out of memory fixes.
7366 (grub_script_add_arglist): Likewise.
7367 (grub_script_create_cmdline): Likewise.
7368 (grub_script_create_cmdmenu): Likewise.
7369 (grub_script_add_cmd): Likewise.
7370 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7371 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7372 unnecessary code.
7373
7374 * tests/grub_script_echo1.in: New testcase.
7375 * tests/grub_script_vars1.in: New testcase.
7376 * tests/grub_script_echo_keywords.in: New testcase.
7377
1d63a066
VS
73782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Remove some redundancy in build system.
7381
7382 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7383 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7384 (TARGET_LDFLAGS): Add -nostdlib.
7385 (TARGET_IMG_LDFLAGS): Likewise.
7386 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7387 anything since mmap isn't available.
7388 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7389 Add util/time.c.
7390 (pkglib_MODULES): Remove reboot.mod.
7391 (reboot_mod_SOURCES): Removed.
7392 (reboot_mod_CFLAGS): Likewise.
7393 (reboot_mod_LDFLAGS): Likewise.
7394 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7395 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7396 (DEFSYMFILES): Add kernel_syms.lst.
7397 (kernel_img_HEADERS): Add common headers.
7398 (symlist.c): New target.
7399 (kernel_syms.lst): Likewise.
7400 (pkglib_MODULES): Add memdisk.mod.
7401 (memdisk_mod_SOURCES): New variable.
7402 (memdisk_mod_CFLAGS): Likewise.
7403 (memdisk_mod_LDFLAGS): Likewise.
7404 (pkglib_MODULES): Add reboot.mod.
7405 (reboot_mod_SOURCES): New variable.
7406 (reboot_mod_CFLAGS): Likewise.
7407 (reboot_mod_LDFLAGS): Likewise.
7408 (pkglib_MODULES): Add date.mod.
7409 (date_mod_SOURCES): New variable.
7410 (date_mod_CFLAGS): Likewise.
7411 (date_mod_LDFLAGS): Likewise.
7412 (pkglib_MODULES): Add datehook.mod.
7413 (datehook_mod_SOURCES): New variable.
7414 (datehook_mod_CFLAGS): Likewise.
7415 (datehook_mod_LDFLAGS): Likewise.
7416 (pkglib_MODULES): Add lsmmap.mod.
7417 (lsmmap_mod_SOURCES): New variable.
7418 (lsmmap_mod_CFLAGS): Likewise.
7419 (lsmmap_mod_LDFLAGS): Likewise.
7420 (pkglib_MODULES): Add boot.mod.
7421 (boot_mod_SOURCES): New variable.
7422 (boot_mod_CFLAGS): Likewise.
7423 (boot_mod_LDFLAGS): Likewise.
7424 * conf/i386-coreboot.rmk: Removed redundant parts.
7425 * conf/i386-ieee1275.rmk: Likewise.
7426 * conf/i386-pc.rmk: Likewise.
7427 * conf/mips-yeeloong.rmk: Likewise.
7428 * conf/mips.rmk: Likewise.
7429 * conf/powerpc-ieee1275.rmk: Likewise.
7430 * conf/sparc64-ieee1275.rmk: Likewise.
7431 * conf/x86_64-efi.rmk: Likewise.
7432 * conf/i386-coreboot.rmk: Moved qemu parts ..
7433 * conf/i386-qemu.rmk: ... here
7434 * conf/i386-efi.rmk: Moved common parts to...
7435 * conf/x86-efi.rmk: ... here.
7436 * conf/i386.rmk: Added modules common to all x86 variants.
7437 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7438 * disk/memdisk.c: Remove grub/machine/kernel.h.
7439 * gensymlist.sh.in: Include symbol.h.
7440 * hook/datehook.c: Correct module name.
7441 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7442 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7443 * include/grub/i386/efi/serial.h: New file.
7444 * include/grub/x86_64/efi/serial.h: Likewise.
7445 * util/time.c: Likewise.
7446 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7447
463ac55f
CK
74482010-03-14 Colin King <colin.king@ubuntu.com>
74492010-03-14 Colin Watson <cjwatson@ubuntu.com>
7450
7451 Shrink the pre-partition-table part of boot.img by eight bytes.
7452
7453 * boot/i386/pc/boot.S (ERR): New macro.
7454 (chs_mode): Use ERR.
7455 (geometry_error): Likewise.
7456 (hd_probe_error): Remove. This is only used once, so we wrwite
7457 it inline instead.
7458 (read_error): Instead of printing read_error_string, just set up
7459 %si and fall through to ...
7460 (error_message): ... this new function, also used by ERR.
7461
08e46ede
CW
74622010-03-14 Colin Watson <cjwatson@ubuntu.com>
7463
7464 Speed up consecutive hostdisk operations on the same device.
7465
7466 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7467 (grub_util_biosdisk_open): Initialise disk->data.
7468 (struct linux_partition_cache): New structure.
7469 (linux_find_partition): Cache partition start positions; these are
7470 expensive to compute on every read and write.
7471 (open_device): Cache open file descriptor in disk->data, so that we
7472 don't have to reopen it and flush the buffer cache for consecutive
7473 operations on the same device.
7474 (grub_util_biosdisk_close): New function.
7475 (grub_util_biosdisk_dev): Set `close' member.
7476
7477 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7478 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7479 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7480 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7481 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7482
4a6d2d06
VS
74832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 Compile parts of grub-emu as modules.
7486
7487 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7488 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7489 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7490 (all-local): Add $(GRUB_EMU).
7491 (install-local): Install $(GRUB_EMU).
7492 (uninstall): Uninstall $(GRUB_EMU).
7493 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7494 * kern/dl.c: Likewise.
7495 * commands/sleep.c: Not include machine/time.h.
7496 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7497 (COMMON_CFLAGS): Likewise.
7498 (sbin_UTILITIES): Remove grub-emu.
7499 (grub_emu_SOURCES): Removed.
7500 (kernel_img_RELOCATABLE): New variable.
7501 (pkglib_PROGRAMS): Add kernel.img.
7502 (kernel_img_SOURCES): New variable
7503 (kernel_img_CFLAGS): Likewise.
7504 (kernel_img_LDFLAGS): Likewise.
7505 (TARGET_NO_STRIP): Likewise.
7506 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7507 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7508 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7509 (grub-emu): New target.
7510 (GRUB_EMU): New variable.
7511 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7512 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7513 * loader/xnu.c: Likewise.
7514 * include/grub/pci.h: Likewise.
7515 * genemuinit.sh: New file.
7516 * genemuinitheader.sh: Likewise.
7517 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7518 Support TARGET_NO_DYNAMIC_MODULES.
7519 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7520 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7521 * disk/loopback.c: Likewise.
7522 * font/font_cmd.c: Likewise.
7523 * partmap/acorn.c: Likewise.
7524 * partmap/amiga.c: Likewise.
7525 * partmap/apple.c: Likewise.
7526 * partmap/gpt.c: Likewise.
7527 * partmap/msdos.c: Likewise.
7528 * partmap/sun.c: Likewise.
7529 * parttool/msdospart.c: Likewise.
7530 * term/gfxterm.c: Likewise.
7531 * video/bitmap.c: Likewise.
7532 * video/readers/jpeg.c: Likewise.
7533 * video/readers/png.c: Likewise.
7534 * video/readers/tga.c: Likewise.
7535 * video/video.c: Likewise.
7536 * util/grub-emu.c (read_command_list): Removed.
7537 (main): Don't call util_init_nls.
7538 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
7539 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
7540
91fdd2ed
VS
75412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
7544 date.mod, datehook.mod.
7545 (datetime_mod_SOURCES): New variable.
7546 (datetime_mod_CFLAGS): Likewise.
7547 (datetime_mod_LDFLAGS): Likewise.
7548 (date_mod_SOURCES): Likewise.
7549 (date_mod_CFLAGS): Likewise.
7550 (date_mod_LDFLAGS): Likewise.
7551 (datehook_mod_SOURCES): Likewise.
7552 (datehook_mod_CFLAGS): Likewise.
7553 (datehook_mod_LDFLAGS): Likewise.
7554 * conf/sparc64-ieee1275.rmk: Likewise.
7555 * lib/ieee1275/datetime.c: New file.
7556
873ccae6
VS
75572010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
7560 (ieee1275_fb_mod_SOURCES): New variable.
7561 (ieee1275_fb_mod_CFLAGS): Likewise.
7562 (ieee1275_fb_mod_LDFLAGS): Likewise.
7563 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
7564 New proto.
7565 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
7566 (HEAP_MAX_ADDR): Likewise.
7567 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
7568 type.
7569 Correct stop condition.
7570 (grub_ieee1275_devices_iterate): New function.
7571 * video/ieee1275.c: New file.
7572
601c97c0
VS
75732010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
7576
7577 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
7578 as scratch.
7579 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
7580 SCRATCH_PAD_DISKBOOT as scratch.
7581 (bootit): Pass Openfirmware pointer in %o4.
7582 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
7583 of 0x200000.
7584 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
7585 with util/grub-mkrawimage.c.
7586 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
7587 * include/grub/aout.h (AOUT_MID_SUN): New definition.
7588 (grub_aout_get_type) [GRUB_UTIL]: Removed.
7589 (grub_aout_load) [GRUB_UTIL]: Likewise.
7590 * include/grub/kernel.h (grub_modules_get_end): New proto.
7591 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
7592 (SCRATCH_PAD_BOOT): New definition.
7593 (SCRATCH_PAD_DISKBOOT): Likewise.
7594 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
7595 * include/grub/sparc64/ieee1275/ieee1275.h
7596 (grub_ieee1275_original_stack): New variable
7597 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
7598 New definition
7599 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
7600 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
7601 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
7602 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
7603 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
7604 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
7605 (grub_platform_image_format_t): New type.
7606 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
7607 * kern/main.c (grub_modules_get_end)
7608 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
7609 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
7610 (codestart): Switch stacks.
7611 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
7612 variable.
7613 (grub_heap_init): Use grub_modules_get_end.
7614 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
7615 stack.
7616 * util/grub-mkrawimage.c (generate_image): Support sparc64.
7617 (main): Likewise.
7618 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
7619
d68b491e
TG
76202010-03-14 Thorsten Glaser <tg@mirbsd.org>
7621
7622 * util/grub-mkrescue.in: Base ISO UUID on UTC.
7623
4e02ed50
MK
76242010-03-08 Matt Kraai <kraai@ftbfs.org>
7625
7626 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
7627 bug #559005).
7628
1f15fc1e
VS
76292010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * genmoddep.awk: Output all missing symbols and not only first.
7632
fce5d8ff
VS
76332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * NEWS: Put the date of 1.98 release.
7636
d1e8a02f
VS
76372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
7640 ft2build.h.
7641
696fd607
VS
76422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
7645 completition in the middle of string.
7646
33e2e6f3
VS
76472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * util/grub-mkrescue.in: Use mktemp with explicit template.
7650
b1f6d291
VS
76512010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
7654
2ac227c7
VS
76552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
7658 right pointer.
7659
8f9a632b
VS
76602010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 Fix FreeBSD compilation.
7663
7664 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
7665 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
7666
60b03859
VS
76672010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
7670
48a5a769
VS
76712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
7674
3ab4bd77
VS
76752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
7678
d116e0d8
RM
76792010-03-04 Robert Millan <rmh.grub@aybabtu.com>
7680
7681 Support relative image path in theme file.
7682
7683 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
7684 (image_set_property): Handle theme_dir and relative path.
7685
c7ef54aa
VS
76862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * configure.ac: Alias amd64 to x86_64.
7689
fcee14ed
VS
76902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * NEWS: mention multiboot on EFI.
7693
d0780363
VS
76942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * kern/main.c (grub_load_modules): Handle errors from init functions of
7697 embeded modules.
7698
41168ea4
VS
76992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * normal/autofs.c (autoload_fs_module): Handle errors.
7702
b54d93ac
VS
77032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 Disable linux.mod on qemu-mips since it's not functional and leads
7706 to compilation failure.
7707
7708 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
7709 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
7710 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
7711 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
7712 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
7713 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
7714 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
7715 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
7716 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
7717 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
7718 Reported by: BVK Chaitanya
7719
fc8345da
JU
77202010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
7721
7722 * INSTALL: Add gettext as a dependency and add qemu to a new section
7723 "Prerequisites for make-check".
7724
4760f979
CF
77252010-03-04 Christian Franke <franke@computer.org>
7726
7727 * util/grub-pe2elf.c: Add missing include "progname.h".
7728
f209b5b2
VS
77292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * normal/crypto.c (read_crypto_list): Fix a typo.
7732 Reported by: Seth Goldberg.
7733
b4b7be98
VS
77342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 7737 Reported by: Seth Goldberg.
b4b7be98 7738
c0ee0385
VS
77392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
7742 ascii.bitmaps.
7743
a8efbf64
VS
77442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 7747 Reported by: Seth Goldberg.
a8efbf64 7748
08dcd913
VS
77492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * util/i386/efi/grub-install.in: Copy gettext files.
7752
c4d0b332
VS
77532010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
7756
c6f2fe52
VS
77572010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 Wait for user entry basing on presence of output rather than on errors.
7760
7761 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
7762 (grub_install_newline_hook): Likewise.
7763 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
7764 * normal/menu.c (show_menu): Check line_counter to determine presence
7765 of output.
7766 * normal/term.c (grub_normal_line_counter): New variable.
7767 (grub_normal_get_line_counter): New function.
7768 (grub_install_newline_hook): Likewise.
7769
5382b1e4
VS
77702010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
7773
5519963b
VS
77742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * configure.ac: Update version to 1.98.
7777
72b28631
VS
77782010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * util/grub.d/10_linux.in (linux_entry): Don't default to
7781 gfxpayload=keep if Linux doesn't support video handover.
7782
c140a180
VS
77832010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 Don't compile video modules on yeeloong since video subsystem is part
7786 of kernel.
7787
7788 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
7789 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
7790 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
7791 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
7792 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
7793 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
7794 * include/grub/bitmap_scale.h: Likewise.
7795 * include/grub/bufio.h: Likewise.
7796 * include/grub/font.h: Likewise.
7797 * include/grub/gfxterm.h: Likewise.
7798 * include/grub/video.h: Likewise.
7799 * include/grub/vbe.h: Don't include video_fb.h.
7800 * video/i386/pc/vbe.c: Include video_fb.h.
7801 * commands/i386/pc/vbetest.c: Include video.h.
7802
a0ca21c2
CW
78032010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
7804
7805 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
7806 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
7807 default entry if GRUB_SAVEDEFAULT=true. This allows using
7808 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
7809 saving a new default on every boot.
7810
4a8a763c
VS
78112010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * normal/crypto.c (read_crypto_list): Fix a memory leak.
7814 * normal/term.c (read_terminal_list): Likewise.
7815 * normal/main.c (grub_normal_init_page): Likewise.
7816 (grub_normal_read_line_real): Likewise.
7817
607ffde2
VS
78182010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
7821 memory leak.
7822 Reported by: Seth Goldberg.
7823
2b8fa975
CW
78242010-02-24 Joey Korkames <joey+lists@kidfixit.com>
7825
7826 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
7827 duplicate declaration of `start'.
7828
618307dd
VS
78292010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
7832 filename.
7833 Reported by: Georgy Buranov
7834
7dd05b96 78352010-02-20 Carles Pina i Estany <carles@pina.cat>
7836
7837 * util/grub-mkrawimage.c (usage): Change string formatting to
7838 improve gettext.
7839
d1484a42
MRA
78402010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7841
7842 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
7843 backspace keys.
7844
42b1d186
VS
78452010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
7848 Reported by: Michael Suchanek.
7849
78502010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
7851
7852 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
7853 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
7854
d9f31a41
VS
78552010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 Remove any reference to non-free fonts.
7858
7859 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
7860 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
7861 uses non-free components.
7862 * font/font.c (grub_font_get_name): Remove example name.
7863 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
7864 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7865 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
7866 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
7867
2793c71e
GB
78682010-02-16 Georgy Buranov <gburanov@gmail.com>
7869
7870 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
7871
402e3779
VS
78722010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
7875 Double divisor.
7876 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
7877 features.
7878 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
7879
0dd1e0dd
VS
78802010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * gensymlist.sh.in: Use TARGET_CC instead of CC.
7883
6fa7cfce
ST
78842010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7885
7886 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
7887 * docs/grub.texi (Command-line and menu entry commands): Document play
7888 command.
7889
37c8483b
ST
78902010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7891
7892 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
7893 parse arguments as inline tempo and notes. Move code for playing notes
7894 to...
7895 (play): ... new function.
7896
14da0fb7
ST
78972010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7898
7899 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
7900 grub_uint16_t instead of short.
7901 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
7902 disk from little endian to cpu endianness.
7903
04459e70
ST
79042010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
7905
7906 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
7907 GRUB_TICKS_PER_SECOND instead of 120.
7908
a0876943
VS
79092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
7912 escape sequence after \e.
7913
e29f95dc
VS
79142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
7917 non-ASCII characters.
7918
d27859b2
VS
79192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
7922 set root in single quotes to prevent \, from being unescaped.
7923
bc028f2f
VS
79242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 Prevent unknown commands from stopping menuentry execution.
7927
7928 * script/execute.c (grub_script_execute_cmdline): Print error after
7929 unknown command.
7930
095f5f82
VS
79312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
7934 Reported by: Pavel Pisa.
7935
8c717950
VS
79362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
7939
904935c3
VS
79402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 Merge grub_ieee1275_map_physical into grub_map and rename to
7943 grub_ieee1275_map
7944
7945 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
7946 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
7947 Remove.
7948 * kern/ieee1275/openfw.c (grub_map): Rename to ...
7949 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
7950 necessary.
7951 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
7952
5b59a4e3
VS
79532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
7956 opening and not after.
7957
69e137e8
VS
79582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
7961 constants.
7962
2c0fcc36
VS
79632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
7966 (alloc_phys): Use ALIGN_UP instead of align_addr.
7967
8c6052ce
VS
79682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
7971
17cec782
VS
79722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
7975
e0128bbd
VS
79762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
7979 verbose dprintf.
7980
ca62070b
VS
79812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 Fix over-4GiB seek on sparc64.
7984
7985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
7986 Replace pos_i and pos_lo with pos. All users updated.
7987 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7988 New constant.
7989 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7990 Likewise.
7991 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
7992 and pos_lo.
7993
bdca2607
VS
79942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * util/grub-mkrawimage.c (main): Call set_program_name.
7997
da278c4d
VS
79982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 Properly align 64-bit targets.
8001
8002 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8003 (generate_image): Use ALIGN_ADDR.
8004
b274d734
VS
80052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 Properly create cross-endian images.
8008
8009 * include/grub/types.h (grub_host_to_target_addr): New macro
8010 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8011
82da2062
VS
80122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
8015
7cae4377
VS
80162010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
8019
8020 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
8021 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
8022 (grub_linux_boot): Divide by 64K when on VESA.
8023
65a533e7
VS
80242010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 Support GRUB_GFXPAYLOAD_LINUX.
8027
8028 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
8029 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
8030
dd01d397
VS
80312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
8034 to show messages instead of discarding them.
8035 Process errors after executing command and not before. Keep old method
8036 too as precaution.
8037
660960d6
VS
80382010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * configure.ac: Check for ft2build.h.
8041
62509f04
VS
80422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8045
473df63d
VS
80462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * genkernsyms.sh.in: Use TARGET_CC.
8049
c98d2a13
CW
80502010-02-07 Colin Watson <cjwatson@ubuntu.com>
8051
8052 * NEWS: Update.
8053
6e14234c
VS
80542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
8057 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8058 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 8059
b255e9cf
YB
80602010-02-07 Yves Blusseau <blusseau@zetam.org>
8061
6e14234c 8062 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 8063
98e6959d
VS
80642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 Fix warnings in grub-emu when compiling with maximum warning options.
8067
8068 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8069 (grub_arch_modules_addr): Return 0 and not NULL.
8070 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 8071 (xstrdup): Use newstr instead of dup.
f88d801b
VS
8072 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8073 of disk to dsk to avoid shadowing.
74e4934e
VS
8074 (find_free_slot): Fix prototype.
8075 * util/getroot.c (grub_util_is_dmraid): Make static.
8076 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8077 Add missing prototype.
8078 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 8079
74e31b5c
VS
80802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8083 appropriately.
8084
6b2ad14b
VS
80852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8088 code out.
8089
8f891adc
VS
80902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8093 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8094 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8095 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8096 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8097 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8098
74b45184
VS
80992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * include/grub/err.h (grub_err_printf): Don't export.
8102
a4bced77
VS
81032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8106
007d0695
VS
81072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8110 * kern/misc.c (grub_gettext_dummy): Make static.
8111
b6c0d9c2
VS
81122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8115 by non-valid ones.
8116 * kern/term.c (grub_putchar): Likewise.
8117
f51a90d0
VS
81182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8121 buggy hook call and memory leak.
8122
6846cec5
VS
81232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8126
468d69fe
VS
81272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8130
51906b8c
VS
81312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8134 modevar.
8135 Return grub_errno on allocation error.
8136
09706ce5
VS
81372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8140
911df80c
YB
81412010-02-06 Yves Blusseau <blusseau@zetam.org>
8142
8143 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8144 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8145
3746a6bc
VS
81462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8149 non-pxe disk.
8150 (grub_pxefs_open): Likewise.
8151
09706ce5
VS
81522010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8153
8154 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8155 * util/grub.d/10_kfreebsd.in: Likewise.
8156 * util/grub.d/10_linux.in: Likewise.
8157
7cc192d9
VS
81582010-02-06 Colin D Bennett <colin@gibibit.com>
8159
8160 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8161 (gfxmenu_mod_SOURCES): New variable.
8162 (gfxmenu_mod_CFLAGS): Likewise.
8163 (gfxmenu_mod_LDFLAGS): Likewise.
8164 * include/grub/term.h (grub_term_set_current_output): Declare
8165 argument as const.
8166 * docs/gfxmenu-theme-example.txt: New file.
8167 * gfxmenu/gfxmenu.c: Likewise.
8168 * gfxmenu/gui_box.c: Likewise.
8169 * gfxmenu/gui_canvas.c: Likewise.
8170 * gfxmenu/gui_circular_progress.c: Likewise.
8171 * gfxmenu/gui_image.c: Likewise.
8172 * gfxmenu/gui_label.c: Likewise.
8173 * gfxmenu/gui_list.c: Likewise.
8174 * gfxmenu/gui_progress_bar.c: Likewise.
8175 * gfxmenu/gui_string_util.c: Likewise.
8176 * gfxmenu/gui_util.c: Likewise.
8177 * gfxmenu/icon_manager.c: Likewise.
8178 * gfxmenu/model.c: Likewise.
8179 * gfxmenu/named_colors.c: Likewise.
8180 * gfxmenu/theme_loader.c: Likewise.
8181 * gfxmenu/view.c: Likewise.
8182 * gfxmenu/widget-box.c: Likewise.
8183 * include/grub/gfxmenu_model.h: Likewise.
8184 * include/grub/gfxmenu_view.h: Likewise.
8185 * include/grub/gfxwidgets.h: Likewise.
8186 * include/grub/gui.h: Likewise.
8187 * include/grub/gui_string_util.h: Likewise.
8188 * include/grub/icon_manager.h: Likewise.
8189
81902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 Agglomerate scrolling in gfxterm.
8193
8194 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8195 (grub_virtual_screen_setup): Initialise 'total_screen'.
8196 (write_char): Split to ...
8197 (paint_char): ... this ...
8198 (write_char): ... and this.
8199 (paint_char): Handle delayed scrolling.
8200 (draw_cursor): Likewise.
8201 (scroll_up): Split to ...
8202 (real_scroll): ... this ...
8203 (scroll_up): ... and this.
8204 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8205 characters.
8206 (grub_gfxterm_refresh): Call real_scroll.
8207
82082010-02-06 Colin D Bennett <colin@gibibit.com>
8209
8210 * include/grub/misc.h (grub_iscntrl): New inline function.
8211 (grub_isalnum): Likewise.
8212 (grub_strtol): Likewise.
8213
82142010-02-06 Colin D Bennett <colin@gibibit.com>
8215
8216 * normal/menu_text.c (get_entry_number): Move from here ...
8217 * normal/menu.c (get_entry_number): ... moved here.
8218 * include/grub/menu.h (grub_menu_get_default_entry_index):
8219 New prototype.
8220 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8221 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8222 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8223 (grub_menu_viewer_should_return): Likewise.
8224 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8225 * normal/menu_text.c (run_menu): Enable menu switching.
8226 * normal/menu_viewer.c (should_return): New variable.
8227 (menu_viewer_changed): Likewise.
8228 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8229 (grub_menu_viewer_should_return): New function.
8230 (menuviewer_write_hook): Likewise.
8231 (grub_menu_viewer_init): Likewise.
8232
82332010-02-06 Colin D Bennet <colin@gibibit.com>
82342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Support for gfxterm in a window.
8237
8238 * include/grub/gfxterm.h: New file.
8239 * include/grub/video.h (struct grub_video_rect): New declaration.
8240 (grub_video_rect_t): Likewise.
8241 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8242 (refcount): New variable.
8243 (render_target): Likewise.
8244 (window): Likewise.
8245 (repaint_callback): Likewise.
8246 (grub_virtual_screen_setup): Use 'render_target'.
8247 (init_window): New function.
8248 (grub_gfxterm_init_window): Likewise.
8249 (grub_gfxterm_init): Check reference counter.
8250 Use init_window.
8251 (destroy_window): New function.
8252 (grub_gfxterm_destroy_window): Likewise.
8253 (grub_gfxterm_fini): Check reference counter.
8254 Use destroy_window.
8255 (redraw_screen_rect): Restore viewport.
8256 Use 'render_target' and 'window'.
8257 Call 'repaint_callback'.
8258 (write_char): Use 'render_target'.
8259 (draw_cursor): Likewise.
8260 (scroll_up): Restore viewport.
8261 Use 'render_target' and 'window'.
8262 Call 'repaint_callback'.
8263 (grub_gfxterm_cls): Likewise.
8264 (grub_gfxterm_refresh): Use 'window'.
8265 (grub_gfxterm_set_repaint_callback): New function.
8266 (grub_gfxterm_background_image_cmd): Use 'window'.
8267 (grub_gfxterm_get_term): New function.
8268 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8269
82702010-02-06 Colin D Bennett <colin@gibibit.com>
8271
8272 Bitmap scaling support.
8273
8274 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8275 (bitmap_scale_mod_SOURCES): New variable.
8276 (bitmap_scale_mod_CFLAGS): Likewise.
8277 (bitmap_scale_mod_LDFLAGS): Likewise.
8278 * include/grub/bitmap_scale.h: New file.
8279 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8280 (background_image_cmd_options): New variable.
8281 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8282 (cmd): Rename and change type to ...
8283 (background_image_cmd_handle): ... this. All users updated.
8284 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8285 * video/bitmap_scale.c: New file.
8286
82872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 SDL support.
8290
8291 * Makefile.in (LIBSDL): New variable.
8292 (enable_grub_emu_sdl): Likewise.
8293 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8294 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8295 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8296 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8297 * util/sdl.c: New file.
8298
82992010-02-06 Colin D Bennett <colin@gibibit.com>
83002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 Double buffering support.
8303
8304 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8305 * include/grub/video.h: Update comment.
8306 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8307 New type.
8308 (grub_video_fb_doublebuf_blit_init): New prototype.
8309 * term/gfxterm.c (scroll_up): Support double buffering.
8310 (grub_gfxterm_refresh): Likewise.
8311 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8312 (grub_video_fb_doublebuf_blit_init): Likewise.
8313 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8314 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8315 'displayed_page', 'render_page' and 'update_screen'.
8316 (grub_video_vbe_fini): Free offscreen buffer.
8317 (doublebuf_pageflipping_commit): New function.
8318 (doublebuf_pageflipping_update_screen): Likewise.
8319 (doublebuf_pageflipping_init): Likewise.
8320 (double_buffering_init): Likewise.
8321 (grub_video_vbe_setup): Enable doublebuffering.
8322 (grub_video_vbe_swap_buffers): Implement.
8323 (grub_video_vbe_set_active_render_target): Handle double buffering.
8324 (grub_video_vbe_get_active_render_target): Likewise.
8325 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8326 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8327 (grub_video_vbe_enable_double_buffering): Likewise.
8328 (grub_video_vbe_swap_buffers): Use update_screen.
8329 (grub_video_set_mode): Use double buffering.
8330
83312010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8332
8333 * maintainance/gentrigtables.py: Remove.
8334 * lib/trig.c: Likewise.
8335
8336 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8337
8338 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8339 `trigtables.c'.
8340 (trigtables.c): New rule.
8341 (gentrigtables): Likewise.
8342 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8343
83442010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8345
8346 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8347 integer constants.
8348
83492010-02-06 Colin D Bennet <colin@gibibit.com>
8350
8351 Trigonometry support.
8352
8353 * include/grub/trig.h: New file.
8354 * lib/trig.c: Likewise.
8355 * maintainance/gentrigtables.py: Likewise.
8356 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8357 (trig_mod_SOURCES): New variable.
8358 (trig_mod_CFLAGS): Likewise.
8359 (trig_mod_LDFLAGS): Likewise.
8360
5562834e
VS
83612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8364 disk devices.
8365
4f8528fc
VS
83662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8369 error.
8370
2b4068e9
VS
83712010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * util/hostdisk.c (open_device): Don't use partition device when reading
8374 before the partition.
8375 (grub_util_biosdisk_read): Don't read from partition and before the
8376 partition in single operation.
8377 (grub_util_biosdisk_write): Don't write to partition and before the
8378 partition in single operation.
8379
399f6e4d
TL
83802010-02-03 Torsten Landschoff <torsten@debian.org>
8381
8382 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8383 last sectors.
8384
996649b0
VS
83852010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8388 CDROM reads.
8389 (grub_biosdisk_write): Refuse to write to CDROM.
8390
3b205d4d
VS
83912010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8394
61e89d9d
VS
83952010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * font/font.c (find_glyph): Check that bmp_idx is available before
8398 using it.
8399 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8400 with (font == NULL).
8401
bf7fcba2
CS
84022010-01-28 Christian Schmitt <chris@ilovelinux.de>
8403
8404 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8405
f45d2663
BC
84062010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8407
8408 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8409 * util/grub-script-check.c (getline): Fix empty lines case.
8410
ec1444e6
RM
84112010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8412
8413 * Makefile.in (check): Exit with fail status when one of the tests
8414 fails.
8415 * tests/example_functional_test.c (example_test): Fix reversed assert.
8416 * tests/example_unit_test.c (example_test): Likewise.
8417
2e1cb9bb
CW
84182010-01-28 Colin Watson <cjwatson@ubuntu.com>
8419
8420 * util/grub.d/10_linux.in: This script does not use any of the
8421 contents of gettext.sh, only the external command `gettext', so stop
8422 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8423 the same prefix as GRUB.)
8424 * util/grub.d/10_kfreebsd.in: Likewise.
8425
63533ab0
VS
84262010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8429 of the line.
8430
989e1f93
VS
84312010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8434 last sectors.
8435
e709ebe2
VS
84362010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8439 having a 4KiB and not 32KiB buffer size.
8440
27dea7ed
RM
84412010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8442
8443 * util/hostfs.c: Include `<errno.h>'.
8444 (grub_hostfs_read): Handle errors from fseeko() and fread().
8445
67667b9c
RM
84462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8447
8448 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8449 loop when using read hooks on files whose size isn't sector-aligned.
8450
c294d9d8
RM
84512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8452
8453 Remove unused parameter.
8454
8455 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8456 (grub_iso9660_open): Remove initialization of `data->length'.
8457
af75a9f1
RM
84582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8459
8460 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8461 memleak conditions.
8462
254e2ce5 84632010-01-27 Carles Pina i Estany <carles@pina.cat>
8464
8465 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8466 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8467
b510928c 84682010-01-26 Carles Pina i Estany <carles@pina.cat>
8469
8470 * util/bin2h.c (usage): Fix warning (space after backslash).
8471
aa2f9dd2 84722010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 8473
8474 * font/font.c: Include `grub/fontformat.h.
8475 Remove font file format constants.
8476 (grub_font_load): Use the new macros.
8477 * include/grub/fontformat.h: New file.
8478 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8479 (write_font_pf2): Use the new macros.
8480
94e7e712
RM
84812010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8482
8483 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8484 does.
8485
3973a59a
RM
84862010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8487
8488 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8489
8490 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8491 (_start): Macroify `0x7F'.
8492
8493 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8494 (make_install_device): Use "(pxe)" as fallback prefix when booting
8495 via PXE.
8496
42e0cba3
GS
84972010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 * configure.ac: Reset LIBS after check for libgcc symbols.
8500
847effd8
CW
85012010-01-25 Colin Watson <cjwatson@ubuntu.com>
8502
8503 * util/hostdisk.c (open_device): Add trailing newline to debug
8504 message.
8505
ea4a7e35
GS
85062010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8507
8508 * configure.ac: Check for `limits.h'.
8509 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8510
67951a53
RM
85112010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8512
8513 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8514 capitalize error strings.
8515
c273d4ce
ST
85162010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8517
8518 * util/grub.d/10_hurd.in: Add a recovery mode.
8519
69be5b74
VS
85202010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * configure.ac: Check for libgcc symbols with -nostdlib.
8523
fc9e5810
BC
85242010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8525
8526 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8527
4b358c0a
VS
85282010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8531 stack since heap may be unavailable at that point.
8532 (grub_ofconsole_gotoxy): Likewise.
8533
454fcd1c
VS
85342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * configure.ac: Check for _restgpr_14_x.
8537 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8538 and _savegpr_* prototypes.
8539
566863ca
RM
85402010-01-22 Robert Millan <rmh.grub@aybabtu.com>
8541
8542 Use generic grub_reboot() for i386-efi.
8543
8544 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
8545 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
8546 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
8547
bf86e59a
VS
85482010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
8551 presence of "prefix" variable as it breaks when normal.mod is
8552 embedded.
8553
d645e0f8
VS
85542010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
8557 stack since heap is unavailable at that point.
8558
f9ab2e25
VS
85592010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
8562 (grub_freebsd_bootinfo): Rewritten.
8563 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
8564
01fc7054
VS
85652010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
8568
caab4fd6
RM
85692010-01-21 Robert Millan <rmh.grub@aybabtu.com>
8570
8571 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
8572 domain now.
8573
67eb1427
FZ
85742010-01-20 Felix Zielcke <fzielcke@z-51.de>
8575
8576 * util/misc.c (make_system_path_relative_to_its_root): Change the work
8577 around for handling "/" to the correct fix. Fix a memory leak. Use
8578 xstrdup instead of strdup.
8579
a9ed4ff3
VS
85802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
8583
85842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
8585
8586 Optimise glyph lookup by Basic Multilingual Plane lookup array.
8587
8588 * font/font.c (struct grub_font): New member 'bmp_idx'.
8589 (font_init): Initialise 'bmp_idx'.
8590 (load_font_index): Fill 'bmp_idx'.
8591 (find_glyph): Make inline. Use bmp_idx for BMP characters.
8592
48209f4f
VS
85932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
8596 unnecessary calls.
8597
9f0a4bb7
VS
85982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 Move context handling out of the kernel.
8601
8602 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
8603 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
8604 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
8605 * conf/i386-efi.rmk: Likewise.
8606 * conf/i386-ieee1275.rmk: Likewise.
8607 * conf/i386-pc.rmk: Likewise.
8608 * conf/powerpc-ieee1275.rmk: Likewise.
8609 * conf/sparc64-ieee1275.rmk: Likewise.
8610 * conf/x86_64-efi.rmk: Likewise.
8611 * include/grub/env.h: Include grub/menu.h.
8612 (grub_env_var_type): Removed.
8613 (grub_env_var): Replaced field 'type' with 'global'.
8614 (grub_env_find): New prototype.
8615 (grub_env_context_open): Remove EXPORT_FUNC.
8616 (grub_env_context_close): Likewise.
8617 (grub_env_export): Likewise.
8618 (grub_env_set_data_slot): Removed.
8619 (grub_env_get_data_slot): Likewise.
8620 (grub_env_unset_data_slot): Likewise.
8621 (grub_env_unset_menu): New prototype.
8622 (grub_env_set_menu): Likewise.
8623 (grub_env_get_menu): Likewise.
8624 * include/grub/env_private.h: New file.
8625 * include/grub/normal.h (grub_context_init): New prototype.
8626 (grub_context_fini): Likewise.
8627 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
8628 * normal/context.c (grub_cmd_export): ... to here.
8629 * kern/env.c: Include env_private.h.
8630 (HASHSZ): Moved to include/grub/env_private.h.
8631 (grub_env_context): Likewise.
8632 (grub_env_sorted_var): Likewise.
8633 (current_context): Renamed from this ...
8634 (grub_current_context): ...to this. 'static' removed. All users updated.
8635 (grub_env_find): Removed 'static'.
8636 (grub_env_context_open): Moved to normal/context.c.
8637 (grub_env_context_close): Likewise.
8638 (grub_env_export): Likewise.
8639 (mangle_data_slot_name): Removed.
8640 (grub_env_set_data_slot): Likewise.
8641 (grub_env_get_data_slot): Likewise.
8642 (grub_env_unset_data_slot): Likewise.
8643 * kern/main.c (grub_set_root_dev): Don't export root.
8644 It will be done later.
8645 (grub_main): Don't export prefix.
8646 It will be done later.
8647 * normal/context.c: New file.
8648 * normal/main.c (free_menu): Use grub_env_unset_menu.
8649 (grub_normal_add_menu_entry): Use grub_env_get_menu.
8650 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
8651 (GRUB_MOD_INIT(normal)): Call grub_context_init.
8652 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
8653
8dd35b8c
VS
86542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 setpci support.
8657
8658 * commands/setpci.c: New file.
8659 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
8660 (setpci_mod_SOURCES): New variable.
8661 (setpci_mod_CFLAGS): Likewise.
8662 (setpci_mod_LDFLAGS): Likewise.
8663
449193d5
VS
86642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 Byte-addressable PCI configuration space.
8667
8668 * bus/pci.c (grub_pci_make_address): Use byte address instead of
8669 dword address.
8670 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
8671 GRUB_PCI_REG_CACHELINE.
8672 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
8673 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
8674 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
8675 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
8676 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
8677 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
8678 grub_pci_make_address.
8679 (lock_rom_area): Likewise.
8680 * commands/lspci.c (grub_lspci_iter): Use macroses
8681 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
8682 of grub_pci_make_address.
8683 * disk/ata.c (grub_ata_pciinit): Likewise.
8684 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
8685 (GRUB_PCI_REG_VENDOR): Likewise.
8686 (GRUB_PCI_REG_DEVICE): Likewise.
8687 (GRUB_PCI_REG_COMMAND): Likewise.
8688 (GRUB_PCI_REG_STATUS): Likewise.
8689 (GRUB_PCI_REG_REVISION): Likewise.
8690 (GRUB_PCI_REG_CLASS): Likewise.
8691 (GRUB_PCI_REG_CACHELINE): Likewise.
8692 (GRUB_PCI_REG_LAT_TIMER): Likewise.
8693 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
8694 (GRUB_PCI_REG_BIST): Likewise.
8695 (GRUB_PCI_REG_ADDRESSES): Likewise.
8696 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8697 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8698 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8699 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8700 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8701 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8702 (GRUB_PCI_REG_CIS_POINTER): Likewise.
8703 (GRUB_PCI_REG_SUBVENDOR): Likewise.
8704 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
8705 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
8706 (GRUB_PCI_REG_CAP_POINTER): Likewise.
8707 (GRUB_PCI_REG_IRQ_LINE): Likewise.
8708 (GRUB_PCI_REG_IRQ_PIN): Likewise.
8709 (GRUB_PCI_REG_MIN_GNT): Likewise.
8710 (GRUB_PCI_REG_MAX_LAT): Likewise.
8711 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
8712 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
8713 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 8714 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
8715 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
8716 space.
8717
96d73208
RM
87182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8719
8720 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
8721 can be reliably determined to be supported.
8722
d4484482
RM
87232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8724
8725 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
8726 that VESA is supported.
8727 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
8728 supported.
8729
00308ecf
VS
87302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
8733
f66924a4
RM
87342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8735
8736 * util/misc.c (make_system_path_relative_to_its_root): Work around
8737 special-casing of "/", as previous incarnation of this routine did.
8738
cbca0ada
VS
87392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 Fix any-emu compilation.
8742
8743 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
8744 * grub_bin2h_SOURCES: New variable.
8745
34a66d99
RM
87462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8747
8748 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
8749
94fabf58
RM
87502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8751
8752 * util/grub.d/00_header.in: Fix handling of locale_dir.
8753
02cf98ca
VS
87542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
8757 as possible unifont location (Gentoo).
8758 Reported by: Alexander Brüning
8759
327dbcd7
VS
87602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 Don't try to generate lists for kernel.img.
8763
8764 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
8765 (pkglib_MODULES): Remove kernel.img.
8766 (kernel_img_EXPORTS): Removed.
8767 (kernel_img_RELOCATABLE): New variable.
8768 * conf/x86_64-efi.rmk: Likewise.
8769 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
8770
ca467290
VS
87712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
8774 grub_xasprintf or grub_snprintf.
8775 (grub_vsprintf): Likewise.
8776 (grub_snprintf): New proto.
8777 (grub_vsnprintf): Likewise.
8778 (grub_xasprintf): Likewise.
8779 (grub_xvasprintf): Likewise.
8780 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
8781 (grub_sprintf): Removed.
8782 (grub_vsnprintf): New function.
8783 (grub_snprintf): Likewise.
8784 (grub_xvasprintf): Likewise.
8785 (grub_xasprintf): Likewise.
8786 (grub_vsprintf): Renamed to ...
8787 (grub_vsnprintf_real): ...this. New argument max_len.
8788
aca655fd
BC
87892010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
8790
8791 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
8792 fix grub-script-check warning.
8793
7ee92c32
VS
87942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * include/grub/font.h (grub_font_load): Fix prototype.
8797
f80927ca
VS
87982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
8801
119c50ea
VS
88022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * include/grub/x86_64/at_keyboard.h: New file.
8805
47d5f3c1
VS
88062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * loader/mips/linux.c: Include missing grub/i18n.h.
8809
55ff5266
RM
88102009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8811
8812 * normal/menu.c (notify_execution_failure): Clarify error message.
8813
c893cc87
RM
88142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8815
8816 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
8817 return value (and revert all return statements). Update users.
8818
917dd370
CW
88192010-01-20 Dan Merillat <debian@dan.merillat.org>
8820
8821 * kern/device.c (grub_device_iterate): Allocate new part_ent
8822 structure based on sizeof (*p) rather than sizeof (p->next), to
8823 account for structure padding.
8824
8825 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
8826 disk is NULL, which might happen for LVM physical volumes with no
8827 LVM signature.
8828
d4a4ee57
RM
88292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8830
8831 * loader/mips/linux.c (grub_cmd_initrd)
8832 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
8833
88342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8835
8836 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
8837 (grub_video_video_init, grub_video_bitmap_init)
8838 (grub_font_manager_init, grub_term_gfxterm_init)
8839 (grub_at_keyboard_init): New extern declarations.
8840 (grub_machine_init): Initialize gfxterm and at_keyboard.
8841
8842 * kern/main.c (grub_main): Revert grub_printf delay kludge.
8843
8844 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
8845 `gfxterm.mod' into core image.
8846
8847 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8848 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8849 (kernel_img_FORMAT): Copy to ...
8850
8851 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8852 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8853 (kernel_img_FORMAT): ... here, and ...
8854
8855 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8856 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8857 (kernel_img_FORMAT): ... here.
8858
8859 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
8860 and input (at_keyboard) terminals in kernel.
8861 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
8862
8863 (pkglib_MODULES): Remove `pci.mod'.
8864 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
8865 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
8866 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8867 (at_keyboard_mod_LDFLAGS): Remove variables.
8868
88692010-01-11 Felix Zielcke <fzielcke@z-51.de>
8870
8871 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
8872
88732009-12-10 Robert Millan <rmh.grub@aybabtu.com>
8874
8875 * include/grub/mips/libgcc.h: Only export symbols for functions
8876 that libgcc provides.
8877
88782009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 MIPS support.
8881
8882 * bus/bonito.c: New file.
8883 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
8884 GRUB_PCI_NUM_DEVICES.
8885 * term/i386/pc/serial.c: Move to ...
8886 * term/serial.c: ... here. All users updated.
8887 * util/i386/pc/grub-mkimage.c: Move to ...
8888 * util/grub-mkrawimage.c: ... here. All users updated.
8889 * term/i386/pc/at_keyboard.c: Move to ...
8890 * term/at_keyboard.c: ... here. All users updated.
8891 * conf/mips-qemu-mips.rmk: New file.
8892 * conf/mips-yeeloong.rmk: Likewise.
8893 * conf/mips.rmk: Likewise.
8894 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
8895 mipsel-qemu-mips.
8896 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
8897 to port addresses.
8898 (grub_ata_pciinit): Support CS5536.
8899 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
8900 * font/font_cmd.c (loadfont_command): Open file before passing it to
8901 grub_font_load.
8902 (pseudo_file_read): New function.
8903 (pseudo_file_close): Likewise.
8904 (pseudo_fs): New structure.
8905 (load_font_module): New function.
8906 (GRUB_MOD_INIT(font_manager)): Load embedded font.
8907 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
8908 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
8909 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
8910 * include/grub/i386/at_keyboard.h: Split into ...
8911 * include/grub/at_keyboard.h: ... this ...
8912 * include/grub/i386/at_keyboard.h: ... and this.
8913 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
8914 New prototype.
8915 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
8916 updated.
8917 (grub_elf64_size): Likewise.
8918 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
8919 filename.
8920 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
8921 * include/grub/i386/coreboot/serial.h: Rewritten.
8922 * include/grub/i386/ieee1275/serial.h: Include
8923 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
8924 * include/grub/i386/pc/serial.h: Moved from here ...
8925 * include/grub/serial.h: ... to here. All users updated.
8926 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
8927 (GRUB_PCI_NUM_BUS): Likewise.
8928 (GRUB_PCI_NUM_DEVICES): Likewise.
8929 (grub_pci_device_map_range): Add missing volatile keyword.
8930 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
8931 * include/grub/mips/at_keyboard.h: New file.
8932 * include/grub/mips/cache.h: Likewise.
8933 * include/grub/mips/io.h: Likewise.
8934 * include/grub/mips/kernel.h: Likewise.
8935 * include/grub/mips/libgcc.h: Likewise.
8936 * include/grub/mips/pci.h: Likewise.
8937 * include/grub/mips/qemu-mips/boot.h: Likewise.
8938 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8939 * include/grub/mips/qemu-mips/loader.h: Likewise.
8940 * include/grub/mips/qemu-mips/memory.h: Likewise.
8941 * include/grub/mips/qemu-mips/serial.h: Likewise.
8942 * include/grub/mips/qemu-mips/time.h: Likewise.
8943 * include/grub/mips/relocator.h: Likewise.
8944 * include/grub/mips/time.h: Likewise.
8945 * include/grub/mips/types.h: Likewise.
8946 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
8947 * include/grub/mips/yeeloong/boot.h: Likewise.
8948 * include/grub/mips/yeeloong/kernel.h: Likewise.
8949 * include/grub/mips/yeeloong/loader.h: Likewise.
8950 * include/grub/mips/yeeloong/memory.h: Likewise.
8951 * include/grub/mips/yeeloong/pci.h: Likewise.
8952 * include/grub/mips/yeeloong/serial.h: Likewise.
8953 * include/grub/mips/yeeloong/time.h: Likewise.
8954 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
8955 * kern/elf.c (grub_elf32_size): New parameter. All users
8956 updated.
8957 (grub_elf64_size): Likewise.
8958 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
8959 Load modules before saying "Welcome to GRUB!".
8960 Call grub_refresh after saying "Welcome to GRUB!".
8961 * kern/mips/cache.S: New file.
8962 * kern/mips/cache_flush.S: Likewise.
8963 * kern/mips/dl.c: Likewise.
8964 * kern/mips/init.c: Likewise.
8965 * kern/mips/qemu-mips/init.c: Likewise.
8966 * kern/mips/startup.S: Likewise.
8967 * kern/mips/yeeloong/init.c: Likewise.
8968 * kern/term.c (grub_putcode): Handle NULL terminal.
8969 (grub_getcharwidth): Likewise.
8970 (grub_getkey): Likewise.
8971 (grub_checkkey): Likewise.
8972 (grub_getkeystatus): Likewise.
8973 (grub_getxy): Likewise.
8974 (grub_getwh): Likewise.
8975 (grub_gotoxy): Likewise.
8976 (grub_cls): Likewise.
8977 (grub_setcolorstate): Likewise.
8978 (grub_setcolor): Likewise.
8979 (grub_getcolor): Likewise.
8980 (grub_refresh): Likewise.
8981 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
8982 (write_jump): Add hatch nop.
8983 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
8984 * lib/mips/setjmp.S: New file.
8985 * loader/mips/linux.c: Likewise.
8986 * term/i386/pc/at_keyboard.c: Move from here ...
8987 * term/at_keyboard.c: ... to here.
8988 * term/i386/pc/serial.c: Moved from here ...
8989 * term/serial.c: ... to here. All users updated.
8990 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
8991 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
8992 (serial_translate_key_sequence): Avoid deadlock.
8993 (grub_serial_getkey): Handle backspace.
8994 (grub_serial_putchar): Fix newline handling.
8995 * util/i386/pc/grub-mkimage.c: Move from here ...
8996 * util/grub-mkrawimage.c: ... to here. All users updated.
8997 (generate_image): New parameters 'font_path' and 'format'.
8998 Support embedding font.
8999 Use grub_host_to_target* instead of grub_cpu_to_le*.
9000 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9001 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9002 (options): New option "--font".
9003 (usage): Likewise.
9004 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9005 (main): Handle "--font".
9006 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9007 (grub_virtual_screen_setup): Set bg_color_display.
9008 (redraw_screen_rect): Use bg_color_display instead of incorrect
9009 bg_color.
9010 (grub_gfxterm_cls): Likewise.
9011 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
9012 Support embedding config file.
9013 (add_segments): Likewise.
9014 (options): New option "--config".
9015 (main): Handle "--config".
9016 * video/sm712.c: New file.
9017
25c2b5b3
RM
90182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9019
9020 Fix parallel builds.
9021
9022 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
9023 font.c depend on ascii.h).
9024
90252010-01-12 Carles Pina i Estany <carles@pina.cat>
9026
9027 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
9028
90292010-01-11 Carles Pina i Estany <carles@pina.cat>
9030
9031 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
9032 By default: disabled.
9033 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
9034 parameter.
9035
90362010-01-10 Carles Pina i Estany <carles@pina.cat>
9037
9038 * font/font.c: Update copyright years.
9039 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
9040
90412010-01-10 Carles Pina i Estany <carles@pina.cat>
9042
9043 * font/font.c: Include `ascii.h'.
9044 (ASCII_BITMAP_SIZE): New macro.
9045 (ascii_font_glyph): Define.
9046 (ascii_glyph_lookup): New function.
9047 (grub_font_get_string_width): Change comment. If glyph not found, use
9048 ascii_glyph_lookup.
9049 (grub_font_get_glyph_with_fallback): If glyph not available returns
9050 ascii_glyph_lookup.
9051 * util/grub-mkfont.c (file_formats): New enum.
9052 (options): Add `ascii-bitmaps' new option.
9053 (usage): Add `asii-bitmaps' new option.
9054 (write_font_ascii_bitmap): New function.
9055 (write_font): Rename to ...
9056 (write_font_p2): ... this. Remove print_glyphs call.
9057 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9058 used. Call print_glyphs.
9059 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9060
90612010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9062
9063 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9064 (grub_bin2h_SOURCES): New variable.
9065 * util/bin2h.c: New file.
9066
915fc1b8
VS
90672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * include/multiboot.h: Resynced with spec.
9070 * include/multiboot2.h: Likewise.
9071 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9072 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9073
9444b678
RM
90742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9075
9076 * include/grub/term.h (grub_term_register_input,
9077 grub_term_register_output): Check return of terminal init()
9078 routines, and abort if errors are raised.
9079
9080 * commands/terminal.c: Update copyright year.
9081
cba98e8d
RM
90822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9083
9084 * commands/terminal.c (grub_cmd_terminal_input)
9085 (grub_cmd_terminal_output): Check return of terminal init()
9086 routines, and abort if errors are raised.
9087
6f7db5d6
VS
90882010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * include/grub/i386/bsd.h: Fix include pathes.
9091
262bff8d
VS
90922010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 Add missing *BSD copyright headers.
9095
9096 * include/grub/aout.h: Add BSD licence.
9097 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9098 * include/grub/i386/freebsd_linker.h: ... here,
9099 * include/grub/i386/freebsd_reboot.h: ... here,
9100 * include/grub/i386/netbsd_bootinfo.h: ... here,
9101 * include/grub/i386/netbsd_reboot.h: ... here,
9102 * include/grub/i386/openbsd_bootarg.h: ... here,
9103 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9104 licence to each file.
9105
b2cab848
RM
91062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9107
9108 * acinclude.m4: Remove `nop' assembly instruction; it's not
9109 implemented by all architectures.
9110
2cb6be4b
RM
91112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9112
9113 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9114 ELILO. This is no longer necessary.
9115
a2eaee15
BC
91162010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9117
9118 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9119
9120 * util/grub-script-check.c: grub-script-check tool.
9121 * conf/common.rmk: Make rules for grub-script-check.
9122
88d17012
RM
91232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9124
9125 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9126 spotting it back in 2008. Shame on me for forgetting he did.
9127
9128 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9129
8040619d
RM
91302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9131
9132 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9133 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9134 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9135 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9136 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9137 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9138
a0c2a0f6
RM
91392010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9140
9141 * include/grub/test.h: Add license header.
9142 * tests/example_functional_test.c: Likewise.
9143 * tests/example_unit_test.c: Likewise.
9144 * tests/lib/functional_test.c: Likewise.
9145 * tests/lib/test.c: Likewise.
9146 * tests/lib/unit_test.c: Likewise.
9147
b0b13907
VS
91482010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 Use flag-based instead of hook-based video mode selection and "auto"
9151 keyword.
9152
9153 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9154 (grub_video_set_mode): Changed prototype. All users updated.
9155 (grub_video_check_mode_flag): New inline function.
9156 * video/video.c (parse_modespec): New function.
9157 (grub_video_set_mode): Parse flags and keywords.
9158
ea379330 91592010-01-17 Carles Pina i Estany <carles@pina.cat>
9160
9161 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9162 fprintf call.
9163
e15c215e
FZ
91642010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9165
9166 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9167
409ae1c9 91682010-01-16 Carles Pina i Estany <carles@pina.cat>
9169
9170 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9171 string.
9172 * util/grub-emu.c (usage): Likewise.
9173 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9174 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9175 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9176 * util/i386/pc/grub-setup.c (usage): Likewise.
9177
70a14d3d 91782010-01-16 Carles Pina i Estany <carles@pina.cat>
9179
9180 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9181 the message.
9182 (grub_util_info): Likewise.
9183 (grub_util_error): Likewise.
9184 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9185 and/or new lines in `grub_util_warna', `grub_util_info',
9186 `grub_util_error' calls.
9187 * util/getroot.c: Likewise.
9188 * util/grub-editenv.c: Likewise.
9189 * util/grub-emu.c: Likewise.
9190 * util/grub-fstest.c: Likewise.
9191 * util/grub-mkdevicemap.c: Likewise.
9192 * util/grub-mkfont.c: Likewise.
9193 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9194 * util/grub-mkrelpath.c: Likewise.
9195 * util/grub-pe2elf.c: Likewise.
9196 * util/grub-probe.c: Likewise.
9197 * util/hostdisk.c: Likewise.
9198 * util/i386/efi/grub-mkimage.c: Likewise.
9199 * util/i386/pc/grub-mkimage.c: Likewise.
9200 * util/i386/pc/grub-setup.c: Likewise.
9201 * util/ieee1275/ofpath.c: Likewise.
9202 * util/mkisofs/eltorito.c: Likewise.
9203 * util/mkisofs/rock.c: Likewise.
9204 * util/mkisofs/write.c: Likewise.
9205 * util/raid.c: Likewise.
9206 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9207 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9208
a0b766fc
VS
92092010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Enable multiboot on non-pc.
9212
9213 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9214 multiboot.mod and multiboot2.mod to ...
9215 * conf/i386.rmk (pkglib_MODULES): ... here.
9216 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9217 Moved to ...
9218 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9219 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9220 Moved to ...
9221 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9222 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9223 Moved to ...
9224 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9225 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9226 Moved to ...
9227 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9228 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9229 relocator.mod.
9230 (ata_mod_SOURCES): Removed.
9231 (ata_mod_CFLAGS): Likewise.
9232 (ata_mod_LDFLAGS): Likewise.
9233 (relocator_mod_SOURCES): Removed.
9234 (relocator_mod_CFLAGS): Likewise.
9235 (relocator_mod_ASFLAGS): Likewise.
9236 (relocator_mod_LDFLAGS): Likewise.
9237 Include i386.mk.
9238 * include/grub/x86_64/multiboot.h: New file.
9239 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9240 Terminate EFI.
9241
884ade56
VS
92422010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 Video multiboot support.
9245
9246 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9247 New prototype.
9248 * include/multiboot.h: Resynced with multiboot specification.
9249 * include/multiboot2.h: Likewise.
9250 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9251 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9252 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9253 (HAS_VGA_TEXT): Likewise.
9254 (accepts_video): New variable.
9255 (grub_multiboot_set_accepts_video): New function.
9256 (grub_multiboot_get_mbi_size): Account for video structures.
9257 (set_video_mode): New function.
9258 (retrieve_video_parameters): Likewise.
9259 (grub_multiboot_make_mbi): Fill video fields.
9260
0d90e8a6
VS
92612010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 Video driver ids.
9264
9265 * include/grub/video.h (grub_video_driver_id): New type.
9266 (grub_video_adapter): New member 'id'. All users updated.
9267 (grub_video_get_driver_id): New proto.
9268 * video/video.c (grub_video_get_driver_id): New function.
9269
5c71db1b 92702010-01-14 Carles Pina i Estany <carles@pina.cat>
9271
9272 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9273 `var=val'.
9274
cca15b52 92752010-01-14 Carles Pina i Estany <carles@pina.cat>
9276
9277 * normal/cmdline.c (print_completion): Gettextizze.
9278
c586fbb2 92792001-01-14 Carles Pina i Estany <carles@pina.cat>
9280
9281 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9282
ba2f6848 92832010-01-14 Carles Pina i Estany <carles@pina.cat>
9284
9285 * gettext/gettext.c (grub_gettext_translate): Push and pop
9286 grub_errno.
9287 (grub_gettext_delete_list): Change comment style.
9288 * kern/err.c (grub_error): Gettextizze.
9289 (grub_fatal): Gettextizze.
9290
0a46429a
RM
92912010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9292
9293 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9294 (grub_linux16_real_boot): ... this.
9295 * kern/i386/loader.S: Likewise.
9296 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9297 (grub_linux16_boot): New function. Switches to text mode and calls
9298 grub_linux16_real_boot().
9299
9300 * loader/i386/bsd.c: Include `<grub/video.h>'.
9301 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9302 text mode before calling grub_unix_real_boot().
9303
9304 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9305 (grub_multiboot_boot): Switch to text mode before calling
9306 grub_relocator32_boot().
9307
9308 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9309 (grub_chainloader_boot): Switch to text mode before calling
9310 grub_chainloader_real_boot().
9311
d6f93a66
RM
93122010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
93132010-01-05 Colin Watson <cjwatson@ubuntu.com>
9314
9315 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9316 non-empty value.
9317
93182010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
93192010-01-05 Colin Watson <cjwatson@ubuntu.com>
9320
9321 * util/grub.d/00_header.in: Define a "savedefault" function for use
9322 in menu entries.
9323 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9324
93252010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
93262010-01-05 Colin Watson <cjwatson@ubuntu.com>
9327
9328 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9329 saved_entry if boot_once is unset.
9330 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9331 previous saved entry (i.e. grub-reboot).
9332
93332009-12-08 Colin Watson <cjwatson@ubuntu.com>
9334
9335 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9336
93372009-12-08 Colin Watson <cjwatson@ubuntu.com>
9338
9339 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9340 `var=val'.
9341 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9342
93432009-12-08 Colin Watson <cjwatson@ubuntu.com>
9344
9345 * util/grub-reboot.in: Fix --version output.
9346 * util/grub-set-default.in: Likewise.
9347
93482009-12-08 Colin Watson <cjwatson@ubuntu.com>
9349
9350 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9351 blocks.
9352
93532009-12-08 Colin Watson <cjwatson@ubuntu.com>
9354
9355 * util/grub.d/00_header.in: Quote the value assigned to `default',
9356 in case it contains spaces.
9357
93582009-12-08 Colin Watson <cjwatson@ubuntu.com>
9359
9360 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9361 `save_default_entry' call from the macosx case to the linux case.
9362
93632009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
93642009-10-25 Colin Watson <cjwatson@ubuntu.com>
9365
9366 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9367 in `chosen' environment variable.
9368 * normal/menu_text.c (get_entry_number): Check if the variable
9369 matches the title of a menu entry.
9370 (run_menu): Pass menu to get_entry_number.
9371
9372 * util/grub-reboot.in: New file.
9373 * util/grub-set-default.in: New file.
9374 * conf/common.rmk (grub-reboot): New utility.
9375 (grub-set-default): New utility.
9376
9377 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9378 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9379 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9380 move it to `saved_entry' for the next boot. Load environment on
9381 initialisation.
9382 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9383 * util/grub.d/10_hurd.in: Likewise.
9384 * util/grub.d/10_linux.in (linux_entry): Likewise.
9385 * util/grub.d/10_windows.in: Likewise.
9386 * util/grub.d/30_os-prober.in: Likewise.
9387
9388 * util/grub-install.in: Create environment block.
9389 * util/i386/efi/grub-install.in: Likewise.
9390 * util/ieee1275/grub-install.in: Likewise.
9391 * util/sparc64/ieee1275/grub-install.in: Likewise.
9392
0934d184
BC
93932010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9394
9395 Unit testing framework for GRUB.
9396
9397 * Makefile.in: Test framework build rules for 'make check'.
9398 * conf/tests.rmk: Build rules for individual tests and framework.
9399
9400 * include/grub/test.h: Header file for whitebox tests.
9401 * tests/lib/functional_test.c: Framework support for whitebox
9402 functional tests.
9403 * tests/lib/test.c: Common whitebox testing code for unit and
9404 functional tests.
9405 * tests/lib/unit_test.c: Framework support for whitebox unit
9406 tests.
9407
9408 * tests/util/grub-shell-tester.in: Support utility for grub-script
9409 tests.
9410 * tests/util/grub-shell.in: Utility to execute grub-script
9411 commands in a Qemu instance.
9412
9413 * tests/example_functional_test.c: Example whitebox functional
9414 test.
9415 * tests/example_grub_script_test.in: Example grub-script test.
9416 * tests/example_scripted_test.in: Example scripted test.
9417 * tests/example_unit_test.c: Example whitebox unit test.
9418
9c4ffeeb
VS
94192010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9422 Add loader/i386/multiboot_mbi.c.
9423 (multiboot2_mod_SOURCES): Likewise.
9424 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9425 (multiboot2_mod_SOURCES): Likewise.
9426 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9427 (grub_multiboot_make_mbi): Likewise.
9428 (grub_multiboot_free_mbi): Likewise.
9429 (grub_multiboot_init_mbi): Likewise.
9430 (grub_multiboot_add_module): Likewise.
9431 (grub_multiboot_set_bootdev): Likewise.
9432 * loader/i386/multiboot.c (mbi): Removed.
9433 (mbi_dest): Likewise.
9434 (alloc_mbi): New variable.
9435 (grub_multiboot_payload_size): Removed. All users updated.
9436 (grub_multiboot_pure_size): New variable.
9437 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9438 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9439 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9440 (grub_fill_multiboot_mmap): Likewise.
9441 (grub_multiboot_get_bootdev): Likewise.
9442 (grub_multiboot): Use multiboot_mbi functions.
9443 * loader/i386/multiboot_mbi.c: New file.
9444
17383dfe
VS
94452010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9448 it would result in module crash.
9449
c1f28820
VS
94502010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9453 (grub_ofconsole_getwh): Split to ...
9454 (grub_ofconsole_getwh): ... this.
9455 (grub_ofconsole_dimensions): ...and this.
9456 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9457
58655a16
RM
94582010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9459
9460 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9461
10891398
VS
94622010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * loader/i386/pc/multiboot2.c: Removed stalled file.
9465
0b8a223c
VS
94662010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9469 Reported by: Grégoire Sutre
9470
92ab12b0
RM
94712010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9472
9473 * util/misc.c (canonicalize_file_name): New function.
9474 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9475 instead of realpath().
9476
a788afb6
CW
94772010-01-11 Colin Watson <cjwatson@ubuntu.com>
9478
9479 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9480 and make it clearer that it's optional. Based on confusion
9481 witnessed on IRC.
9482
ffa8e3d2
VS
94832010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9486 in premature implicit newline.
9487
e9060a9d
VS
94882010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9491 which resulted in garbled command line at the end of screen.
9492
f0d0c0b7
RM
94932010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9494
9495 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9496 initialization with similar approach as with other Linux loaders.
9497
0e60bae7
RM
94982010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9499
9500 Fix i386-ieee1275 build.
9501
9502 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9503 and grub_term_height() for video_{width,height} initialization.
9504
95052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
9506
9507 Fix grub-emu build.
9508
9509 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9510
cdb3f378
RM
95112010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
95122010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9513
9514 Support for multiple terminals.
9515
9516 * Makefile.in (pkglib_DATA): terminal.lst.
9517 (terminal.lst): New target.
9518 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9519 (GRUB_MOD_INIT(handler)): Likewise.
9520 (GRUB_MOD_FINI(handler)): Likewise.
9521 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9522 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9523 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9524 (grub_cmd_sleep): Use grub_term_save_pos.
9525 * commands/terminal.c: New file.
9526 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9527 commands/terminal.c and lib/charset.c.
9528 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9529 (pkglib_MODULES): Add terminal.mod.
9530 (terminal_mod_SOURCES): New variable.
9531 (terminal_mod_CFLAGS): Likewise.
9532 (terminal_mod_LDFLAGS): Likewise.
9533 * genhandlerlist.sh: Don't handle terminals.
9534 * genmk.rb: Generate terminal-*.lst.
9535 * genterminallist.sh: New file.
9536 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9537 (grub_is_valid_utf8): Likewise.
9538 (grub_utf8_to_ucs4_alloc): Likewise.
9539 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
9540 (grub_menu_register_viewer): Changed argument.
9541 (grub_menu_try_text): New proto.
9542 (grub_gfxmenu_try_hook): New declaration.
9543 * include/grub/normal.h (grub_normal_exit_level): New declaration.
9544 (grub_menu_init_page): Additional argument term.
9545 (grub_normal_init_page): Likewise.
9546 (grub_cmdline_get): Arguments simplified.
9547 (grub_utf8_to_ucs4_alloc): Removed.
9548 (grub_print_ucs4): Additional argument term.
9549 (grub_getstringwidth): Likewise.
9550 (grub_print_message_indented): Likewise.
9551 (grub_menu_text_register_instances): New proto.
9552 (grub_show_menu): Likewise.
9553 (read_terminal_list): Likewise.
9554 (grub_set_more): Likewise.
9555 * include/grub/parser.h: Include handler.h.
9556 * include/grub/reader.h: Rewritten.
9557 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
9558 (GRUB_TERM_WIDTH): Changed to function.
9559 (GRUB_TERM_HEIGHT): Likewise.
9560 (GRUB_TERM_BORDER_WIDTH): Likewise.
9561 (GRUB_TERM_BORDER_HEIGHT): Likewise.
9562 (GRUB_TERM_NUM_ENTRIES): Likewise.
9563 (GRUB_TERM_ENTRY_WIDTH): Likewise.
9564 (GRUB_TERM_CURSOR_X): Likewise.
9565 (grub_term_input_class): Likewise.
9566 (grub_term_output_class): Likewise.
9567 (grub_term_outputs_disabled): New declaration.
9568 (grub_term_inputs_disabled): Likewise.
9569 (grub_term_outputs): Likewise.
9570 (grub_term_inputs): Likewise.
9571 (grub_term_register_input): Rewritten.
9572 (grub_term_register_output): Likewise.
9573 (grub_term_unregister_input): Likewise.
9574 (grub_term_unregister_output): Likewise.
9575 (FOR_ACTIVE_TERM_INPUTS): New macro.
9576 (FOR_DISABLED_TERM_INPUTS): Likewise.
9577 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9578 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9579 * include/grub/terminfo.h: Add oterm argument to all protypes.
9580 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
9581 Use grub_rescue_run.
9582 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
9583 All users updated.
9584 * kern/reader.c: Removed. All users updated.
9585 * kern/rescue_reader.c (grub_rescue_init): Removed.
9586 (grub_rescue_reader): Likewise.
9587 (grub_register_rescue_reader): Likewise.
9588 (grub_rescue_run): New function based on kern/reader.c.
9589 * kern/term.c: Adapted for multiterm.
9590 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
9591 (grub_is_valid_utf8): Likewise.
9592 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
9593 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
9594 right terminal.
9595 * loader/i386/linux.c (grub_linux_boot): Likewise.
9596 * normal/auth.c (grub_username_get): New function.
9597 (grub_auth_check_authentication): Use grub_username_get.
9598 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
9599 * normal/color.c: Adapt for multiterm.
9600 * normal/main.c (read_config_file): Don't use grub_reader_loop.
9601 (grub_normal_init_page): Additional argument term.
9602 (read_lists): Call read_terminal_lists.
9603 (grub_enter_normal_mode): Call grub_cmdline_run.
9604 Handle grub_normal_exit_level.
9605 (grub_cmd_normal): Make reentrant.
9606 (grub_cmd_normal_exit): New function.
9607 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
9608 * normal/menu.c: Adapt for multiterm.
9609 * normal/menu_entry.c: Likewise.
9610 * normal/menu_text.c: Likewise.
9611 * normal/menu_viewer.c: Removed. All users updated.
9612 * normal/term.c: New file.
9613 * util/console.c: Change order of includes to workaround a bug in
9614 ncurses headers.
9615 * term/terminfo.c: New argument oterm on all exported functions.
9616 All users updated.
9617 * util/grub-editenv.c (grub_term_input_class): Removed.
9618 (grub_term_output_class): Likewise.
9619
1a064917
RM
96202010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9621
9622 Make loader output a bit more user-friendly.
9623
9624 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
9625 is being loaded. Likewise for the Hurd.
9626
9627 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
9628 that kernel of FreeBSD ${version} is being loaded.
9629
9630 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
9631 grub_dprintf().
9632 (grub_cmd_initrd): Likewise.
9633 * util/grub.d/10_linux.in (linux_entry): Print message indicating
9634 that Linux ${version} is being loaded. Likewise for initrd.
9635
5ce0a83a 96362010-01-09 Carles Pina i Estany <carles@pina.cat>
9637
9638 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
9639
809bbfeb 96402010-01-08 Carles Pina i Estany <carles@pina.cat>
9641
9642 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
9643 (GRUB_MOD_INIT): Gettextizze.
9644 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
9645 (GRUB_MOD_INIT): Gettextizze.
9646 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
9647 (grub_cmd_linux): Capitalise Linux.
9648 (GRUB_MOD_INIT): Gettextizze.
9649 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
9650 (grub_cmd_linux): Capitalise Linux.
9651 (GRUB_MOD_INIT): Gettextizze.
9652 * loader/i386/linux.c: Include `<grub/i18n.h>'.
9653 (grub_cmd_linux): Capitalise Linux.
9654 (GRUB_MOD_INIT): Gettextizze.
9655 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
9656 (GRUB_MOD_INIT): Gettextizze.
9657 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
9658 (grub_cmd_linux): Capitalise Linux.
9659 (GRUB_MOD_INIT): Gettextizze.
9660 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
9661 (grub_cpu_xnu_init): Gettextizze.
9662 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
9663 (GRUB_MOD_INIT): Gettextizze.
9664 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
9665 (GRUB_MOD_INIT): Gettextizze.
9666 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
9667 (grub_linux_load64): Capitalise Linux.
9668 (GRUB_MOD_INIT): Gettextizze.
9669 * loader/xnu.c: Include `<grub/i18n.h>'.
9670 (GRUB_MOD_INIT): Gettextizze.
9671 * po/POTFILES: Add `loader/efi/appleloader.c',
9672 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
9673 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
9674 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
9675 `loader/i386/xnu.c', `loader/multiboot_loader.c',
9676 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
9677 and `loader/xnu.c'.
9678
b394b2ca
RM
96792010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9680
9681 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
9682
96832010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
9684
9685 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
9686 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
9687 * util/mkisofs/mkisofs.c (main): Readjust --version output.
9688
bc8b32b3
RM
96892010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9690
9691 Reset Multiboot 2 support. New loader implements the draft in
9692 /branches/multiboot2 and shares as much code as possible with the
9693 production Multiboot 1 implementation.
9694
9695 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
9696 * loader/multiboot2.c: Likewise.
9697 * loader/i386/multiboot_helper.S: Likewise.
9698 * include/multiboot2.h: Replace with latest version from the draft
9699 in /branches/multiboot2.
9700
9701 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
9702 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
9703 and `loader/multiboot2.c'.
9704 (pkglib_MODULES): Add `multiboot2.mod'.
9705 (multiboot2_mod_SOURCES): New variable.
9706 (multiboot2_mod_LDFLAGS): Likewise.
9707 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
9708
9709 * conf/i386-pc.rmk: Likewise.
9710
9711 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9712 (multiboot_mod_SOURCES): Remove variable.
9713 (multiboot_mod_LDFLAGS): Likewise.
9714 (multiboot_mod_CFLAGS): Likewise.
9715
9716 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
9717 `<multiboot2.h>' instead of `<multiboot.h>'.
9718 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
9719 (MULTIBOOT_HEADER_MAGIC): New macros.
9720
9721 * loader/multiboot_loader.c (module_version_status): Remove variable.
9722 (find_multi_boot2_header): Remove function.
9723 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
9724 logic. Always check for the Multiboot version we're compiling for.
9725 (grub_cmd_module_loader): Likewise.
9726 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
9727 command instead of `multiboot'.
9728
5d2c52b8
RM
97292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9730
9731 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
9732 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
9733 all users.
9734
53108d92
RM
97352010-01-07 Robert Millan <rmh.grub@aybabtu.com>
97362010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 Fix breakage introduced with previous commit.
9739
9740 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
9741 commands.
9742 * normal/handler.c (read_handler_list): Revert part of previous commit
9743 affecting this file.
9744 * normal/main.c (read_lists): Move read_handler_list() call back to ...
9745 (grub_normal_execute): ... here.
9746
e2e936b2
RM
97472010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9748
9749 Merge prefix-redefinition-fix branch.
9750
9751 * normal/autofs.c (read_fs_list): Make function capable of being
9752 run multiple times, gracefuly replacing the previous data
9753 structures.
9754 * normal/dyncmd.c (read_command_list): Likewise.
9755 * normal/handler.c (read_handler_list): Likewise.
9756 * normal/main.c (read_lists): New function. Calls all the
9757 list reading functions.
9758 (grub_normal_execute): Use read_lists() instead of calling all
9759 list reading functions explicitly. Register read_lists() as a
9760 variable hook attached to ${prefix}.
9761
607a3701
VS
97622010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 Merge crypto branch.
9765
9766 * Makefile.in (pkglib_DATA): Add crypto.lst.
9767 (crypto.lst): New target.
9768 * commands/hashsum.c: New file.
9769 * commands/password.c (check_password): Use grub_crypto_memcmp.
9770 * commands/password_pbkdf2.c: New file.
9771 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
9772 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
9773 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
9774 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
9775 -I$(srcdir)/lib/libgcrypt_wrap.
9776 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
9777 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
9778 password_pbkdf2.mod.
9779 (crypto_mod_SOURCES): New variable.
9780 (crypto_mod_CFLAGS): Likewise.
9781 (crypto_mod_LDFLAGS): Likewise.
9782 (hashsum_mod_SOURCES): New variable.
9783 (hashsum_mod_CFLAGS): Likewise.
9784 (hashsum_mod_LDFLAGS): Likewise.
9785 (pbkdf2_mod_SOURCES): New variable.
9786 (pbkdf2_mod_CFLAGS): Likewise.
9787 (pbkdf2_mod_LDFLAGS): Likewise.
9788 (password_pbkdf2_mod_SOURCES): New variable.
9789 (password_pbkdf2_mod_CFLAGS): Likewise.
9790 (password_pbkdf2_mod_LDFLAGS): Likewise.
9791 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
9792 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
9793 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
9794 Include conf/gcry.rmk.
9795 * include/grub/auth.h: Rewritten.
9796 * include/grub/crypto.h: New file.
9797 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
9798 * include/grub/normal.h (read_crypto_list): New prototype.
9799 * lib/crypto.c: New file.
9800 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9801 * lib/pbkdf2.c: Likewise.
9802 * normal/auth.c (grub_auth_strcmp): Removed.
9803 (grub_iswordseparator): Likewise.
9804 (grub_auth_strword): Likewise.
9805 (is_authenticated): Use grub_strword.
9806 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
9807 and grub_strword. Pass entered password to authentication callback.
9808 * normal/crypto.c: New file.
9809 * normal/main.c: Call read_crypto_list.
9810 * util/grub-mkpasswd-pbkdf2.c: New file.
9811 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
9812
42841caa
VS
98132010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 Fix descent and ascent calculation.
9816
9817 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
9818 (options): New option "asce".
9819 (usage): Likewise.
9820 (add_char): Ignore invalid glyphs for descent calculation.
9821 Calculate ascent from actual content.
9822 (print_glyphs): Use 'asce'.
9823 (write_font): Likewise. Allow ascent override.
9824 (main): Handle "asce" option.
9825
e7730de7 98262010-01-06 Carles Pina i Estany <carles@pina.cat>
9827
9828 * kern/err.c: Include `<grub/i18n.h>'.
9829 (grub_print_error): Add full stop. Gettextizze.
9830 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
9831 (grub_bsd_load_elf): Capitalise ELF.
9832 (grub_cmd_freebsd_loadenv): Add `s' in error string.
9833 (grub_cmd_freebsd_module): Likewise.
9834 (grub_cmd_freebsd_module_elf): Likewise.
9835 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
9836
40e3a41f 98372010-01-06 Carles Pina i Estany <carles@pina.cat>
9838
9839 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
9840 * commands/search_file.c (HELP_MESSAGE): New macro.
9841 * commands/search_label.c (HELP_MESSAGE): Likewise.
9842 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
9843 * po/POTFILES: Add `commands/search_file.c',
9844 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
9845 `commands/search.c'.
9846
83507e68
RM
98472010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9848
9849 * config.rpath: Update from Gnulib.
9850
465c787b
YB
98512010-01-05 Yves Blusseau <blusseau@zetam.org>
9852
9853 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
9854
6581dd3a
YB
98552010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
9856
9857 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
9858
3bff18c5
CW
98592010-01-05 Colin Watson <cjwatson@ubuntu.com>
9860
9861 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
9862 arguments to fread so that we get a return value in bytes, rather
9863 than something that will normally be rounded down to 0.
9864 Adjust error handling to avoid producing garbage when size_t is not
9865 the same size as long long.
9866
a1368118
CW
98672010-01-05 Colin Watson <cjwatson@ubuntu.com>
9868
9869 * util/mkisofs/write.c (padblock_write): Check return value of
9870 fread.
9871
7c302978
RM
98722010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9873
9874 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
9875 floppy images now.
9876
9877 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
9878
e33ace06
RM
98792010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9880
9881 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
9882 instead of manual alignment.
9883 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
9884 verbose). Avoid attempts to read past end of the device
9885 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
9886 but GRUB_DISK_CACHE_SIZE may exceed that).
9887
4b856776
RM
98882010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9889
9890 * commands/crc.c (grub_cmd_crc): Abort on read errors.
9891 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
9892 it to upper layer.
9893
52c2d97f
VS
98942010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
9897 New constant.
9898 (grub_efi_piwg_device_path): New structure
9899 (grub_efi_piwg_device_path_t): New type.
9900 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
9901 (devpath_1): Transform to a structure. All users updated.
9902 (devpath_2): Likewise.
9903 (devpath_3): Likewise.
9904 (devpath_4): Likewise.
9905 (devpath_5): Likewise.
9906
98ff6a54
VS
99072010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * loader/efi/appleloader.c: Restored. Update all users.
9910
3a73dcb6
RM
99112010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9912
9913 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
9914
9915 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
9916 (struct boot_blocklist): Move from here ...
9917 * include/grub/i386/pc/boot.h [ASM_FILE]
9918 (struct grub_boot_blocklist): ... to here. Update all users.
9919 (setup): Only initialize `start' member of `first_block'
9920 structure. Add assert() calls to verify the other members.
9921
9922 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
9923 (generate_image): Fix broken blocklist length initialization.
9924 Add assert() call to verify blocklist `segment' field.
9925
ab0eeb0c
RM
99262010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9927
9928 * loader/efi/appleloader.c: Remove. Update all users.
9929
58bc8bd5
RM
99302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9931
9932 * boot/i386/pc/boot.S: Update copyright year.
9933 * boot/i386/pc/cdboot.S: Likewise.
9934 * boot/i386/pc/diskboot.S: Likewise.
9935 * boot/i386/pc/lnxboot.S: Likewise.
9936 * boot/i386/pc/pxeboot.S: Likewise.
9937 * bus/pci.c: Likewise.
9938 * commands/cmp.c: Likewise.
9939 * commands/help.c: Likewise.
9940 * commands/hexdump.c: Likewise.
9941 * commands/i386/pc/halt.c: Likewise.
9942 * commands/i386/pc/play.c: Likewise.
9943 * commands/i386/pc/vbeinfo.c: Likewise.
9944 * commands/ls.c: Likewise.
9945 * commands/test.c: Likewise.
9946 * disk/dmraid_nvidia.c: Likewise.
9947 * disk/i386/pc/biosdisk.c: Likewise.
9948 * disk/ieee1275/nand.c: Likewise.
9949 * disk/ieee1275/ofdisk.c: Likewise.
9950 * disk/lvm.c: Likewise.
9951 * disk/raid.c: Likewise.
9952 * disk/raid6_recover.c: Likewise.
9953 * disk/scsi.c: Likewise.
9954 * fs/affs.c: Likewise.
9955 * fs/cpio.c: Likewise.
9956 * fs/ext2.c: Likewise.
9957 * fs/hfs.c: Likewise.
9958 * fs/iso9660.c: Likewise.
9959 * fs/ntfs.c: Likewise.
9960 * fs/sfs.c: Likewise.
9961 * fs/udf.c: Likewise.
9962 * fs/ufs.c: Likewise.
9963 * fs/xfs.c: Likewise.
9964 * gencmdlist.sh: Likewise.
9965 * genmk.rb: Likewise.
9966 * include/grub/disk.h: Likewise.
9967 * include/grub/efi/api.h: Likewise.
9968 * include/grub/efi/efi.h: Likewise.
9969 * include/grub/efi/pe32.h: Likewise.
9970 * include/grub/elf.h: Likewise.
9971 * include/grub/fs.h: Likewise.
9972 * include/grub/i386/at_keyboard.h: Likewise.
9973 * include/grub/i386/pc/memory.h: Likewise.
9974 * include/grub/i386/pc/vbe.h: Likewise.
9975 * include/grub/i386/pci.h: Likewise.
9976 * include/grub/i386/tsc.h: Likewise.
9977 * include/grub/ieee1275/ieee1275.h: Likewise.
9978 * include/grub/ntfs.h: Likewise.
9979 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
9980 * include/grub/sparc64/libgcc.h: Likewise.
9981 * include/grub/symbol.h: Likewise.
9982 * include/grub/types.h: Likewise.
9983 * include/multiboot2.h: Likewise.
9984 * io/gzio.c: Likewise.
9985 * kern/device.c: Likewise.
9986 * kern/disk.c: Likewise.
9987 * kern/efi/efi.c: Likewise.
9988 * kern/efi/mm.c: Likewise.
9989 * kern/elf.c: Likewise.
9990 * kern/file.c: Likewise.
9991 * kern/i386/dl.c: Likewise.
9992 * kern/i386/pc/init.c: Likewise.
9993 * kern/i386/pc/startup.S: Likewise.
9994 * kern/ieee1275/ieee1275.c: Likewise.
9995 * kern/ieee1275/init.c: Likewise.
9996 * kern/main.c: Likewise.
9997 * kern/mm.c: Likewise.
9998 * kern/powerpc/dl.c: Likewise.
9999 * kern/sparc64/dl.c: Likewise.
10000 * kern/x86_64/dl.c: Likewise.
10001 * lib/hexdump.c: Likewise.
10002 * loader/efi/appleloader.c: Likewise.
10003 * loader/i386/ieee1275/linux.c: Likewise.
10004 * loader/i386/pc/chainloader.c: Likewise.
10005 * loader/i386/pc/linux.c: Likewise.
10006 * loader/i386/pc/multiboot2.c: Likewise.
10007 * loader/ieee1275/multiboot2.c: Likewise.
10008 * loader/multiboot2.c: Likewise.
10009 * loader/multiboot_loader.c: Likewise.
10010 * loader/powerpc/ieee1275/linux.c: Likewise.
10011 * normal/completion.c: Likewise.
10012 * normal/menu_entry.c: Likewise.
10013 * partmap/apple.c: Likewise.
10014 * util/grub.d/10_hurd.in: Likewise.
10015 * util/hostfs.c: Likewise.
10016 * video/readers/png.c: Likewise.
10017
e2d70b5c
CW
100182010-01-03 Colin Watson <cjwatson@ubuntu.com>
10019
10020 * include/grub/misc.h (GNUC_PREREQ): New macro.
10021 (ATTRIBUTE_ERROR): New macro.
10022 * include/grub/list.h (grub_bad_type_cast_real): Use
10023 ATTRIBUTE_ERROR.
10024
a173283f 100252010-01-03 Carles Pina i Estany <carles@pina.cat>
10026
10027 * normal/menu_text.c (print_message): Change messages.
10028
7fa7ff74 100292010-01-03 Carles Pina i Estany <carles@pina.cat>
10030
10031 * normal/menu_entry.c (store_completion): Gettextizze.
10032
136d24f6 100332010-01-03 Carles Pina i Estany <carles@pina.cat>
10034
10035 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
10036
f936862e 100372010-01-03 Carles Pina i Estany <carles@pina.cat>
10038
10039 * po/POTFILES: Sort correctly.
10040
29c44ad1 100412010-01-03 Carles Pina i Estany <carles@pina.cat>
10042
10043 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10044 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10045 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10046 full stop.
10047 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10048 summary. Gettextizze the strings.
10049 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10050 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10051 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10052 full stop.
10053 (GRUB_MOD_INIT): Remove command name from summary.
10054 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10055 summary.
10056 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10057 * term/i386/pc/serial.c (options): Add full stops.
10058 (GRUB_MOD_INIT): Remove command name from the summary.
10059
77a79592 100602010-01-03 Carles Pina i Estany <carles@pina.cat>
10061
10062 * commands/acpi.c: Gettextizze help strings and/or options. Include
10063 `grub/i18n.h' if needed.
10064 * commands/blocklist.c: Likewise.
10065 * commands/boot.c: Likewise.
10066 * commands/cat.c: Likewise.
10067 * commands/cmp.c: Likewise.
10068 * commands/configfile.c: Likewise.
10069 * commands/crc.c: Likewise.
10070 * commands/date.c: Likewise.
10071 * commands/echo.c: Likewise.
10072 * commands/efi/fixvideo.c: Likewise.
10073 * commands/efi/loadbios.c: Likewise.
10074 * commands/gptsync.c: Likewise.
10075 * commands/halt.c: Likewise.
10076 * commands/handler.c: Likewise.
10077 * commands/hdparm.c: Likewise.
10078 * commands/hexdump.c: Likewise.
10079 * commands/i386/cpuid.c: Likewise.
10080 * commands/i386/pc/drivemap.c: Likewise.
10081 * commands/i386/pc/halt.c: Likewise.
10082 * commands/i386/pc/pxecmd.c: Likewise.
10083 * commands/i386/pc/vbeinfo.c: Likewise.
10084 * commands/i386/pc/vbetest.c: Likewise.
10085 * commands/ieee1275/suspend.c: Likewise.
10086 * commands/keystatus.c: Likewise.
10087 * commands/loadenv.c: Likewise.
10088 * commands/ls.c: Likewise.
10089 * commands/lsmmap.c: Likewise.
10090 * commands/lspci.c: Likewise.
10091 * commands/memrw.c: Likewise.
10092 * commands/minicmd.c: Likewise.
10093 * commands/parttool.c: Likewise.
10094 * commands/password.c: Likewise.
10095 * commands/probe.c: Likewise.
10096 * commands/read.c: Likewise.
10097 * commands/reboot.c: Likewise.
10098 * commands/search.c: Likewise.
10099 * commands/sleep.c: Likewise.
10100 * commands/test.c: Likewise.
10101 * commands/true.c: Likewise.
10102 * commands/usbtest.c: Likewise.
10103 * commands/videotest.c: Likewise.
10104 * commands/xnu_uuid.c: Likewise.
10105 * disk/loopback.c: Likewise.
10106 * hello/hello.c: Likewise.
10107 * loader/i386/bsd.c: Likewise.
10108 * term/i386/pc/serial.c: Likewise.
10109 * po/POTFILES: Add new files.
10110
da8d5c53
CW
101112010-01-02 Colin Watson <cjwatson@ubuntu.com>
10112
10113 * term/i386/pc/at_keyboard.c
10114 (keyboard_controller_wait_untill_ready): Rename to ...
10115 (keyboard_controller_wait_until_ready): ... this. Update all users.
10116
33937904 101172010-01-01 Carles Pina i Estany <carles@pina.cat>
10118
10119 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10120 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10121 string using string width.
10122 * normal/menu_text.c (grub_print_message_indented): Use
10123 grub_print_spaces and not print_spaces.
10124 (print_timeout): Likewise.
10125 (print_spaces): Move to...
10126 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10127
3fd3b8d8
RM
101282010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10129
10130 Import from Gnulib.
10131
10132 * gnulib/getdelim.c: New file.
10133 * gnulib/getline.c: Likewise.
10134
33433555
VS
101352009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10136
10137 * include/grub/list.h (grub_assert_fail): Removed.
10138 (grub_bad_type_cast_real): New function.
10139 (grub_bad_type_cast): New macro.
10140 (GRUB_AS_LIST): Use grub_bad_type_cast.
10141 (GRUB_AS_LIST_P): Likewise.
e44721e8 10142 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10143 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10144 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10145 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10146 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10147
f5a51306
VS
101482009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10151 Fix syntax error.
10152
90d1e879
RM
101532009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10154
10155 * configure.ac: Check for TARGET_CFLAGS initialization before we
10156 initialize it ourselves (sigh).
10157 Move a few modifications to TARGET_CFLAGS to be unconditional
10158 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10159 eh_frame)
10160
10161 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10162 * term/i386/pc/at_keyboard.c
10163 (keyboard_controller_wait_untill_ready): Likewise.
10164 (keyboard_controller_led): Rename `led_status' paramter to avoid
10165 name conflict.
10166
465b5a81 101672009-12-28 Carles Pina i Estany <carles@pina.cat>
10168
10169 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10170 quotes.
10171
c181849b
VS
101722009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10175
9c8739a4
VS
101762009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * normal/menu_text.c (grub_print_message_indented): Prevent
10179 past-the-end-of-array dereference.
10180
3e74249c
VS
101812009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10184 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10185
64fd18ed 101862009-12-27 Carles Pina i Estany <carles@pina.cat>
10187
10188 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10189 * normal/main.c (grub_normal_read_line): Remove a space from the
10190 default prompt.
10191
714af9b9 101922009-12-27 Carles Pina i Estany <carles@pina.cat>
10193
10194 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10195 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10196 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10197 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10198 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10199 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10200 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10201
82f3e412 102022009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 10203
10204 * video/readers/jpeg.c (cmd): Declare.
10205 (grub_cmd_jpegtest): Use `grub_command_t' type.
10206 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10207 Assign to `cmd'.
10208 (GRUB_MOD_FINI): Use `cmd' to unregister.
10209 * video/readers/png.c (cmd): Declare.
10210 (grub_cmd_pngtest): Use `grub_command_t' type.
10211 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10212 Assign to `cmd'.
10213 (GRUB_MOD_FINI): Use `cmd' to unregister.
10214 * video/readers/tga.c (cmd): Declare.
10215 (grub_cmd_tgatest): Use `grub_command_t' type.
10216 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10217 Assign to `cmd'.
10218 (GRUB_MOD_FINI): Use `cmd' to unregister.
10219
82f3e412 102202009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 10221
10222 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10223 stops.
10224 * kern/corecmd.c (grub_register_core_commands): Likewise.
10225 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10226 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10227 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10228 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10229 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10230 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10231 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10232 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10233 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10234 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10235 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10236 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10237 * normal/handler.c (insert_handler): Likewise.
10238 * normal/main.c (GRUB_MOD_INIT): Likewise.
10239 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10240
fdcdbb66 102412009-12-26 Carles Pina i Estany <carles@pina.cat>
10242
10243 * commands/help.c (grub_cmd_help): Print the command name before the
10244 summary.
10245 (GRUB_MOD_INIT): Remove command name from the summary.
10246 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 10247 string as summary.
fdcdbb66 10248 * lib/arg.c (find_long): Print the command name before the summary.
10249 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10250 summary.
10251 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10252 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10253 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10254 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10255 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10256 * commands/date.c (GRUB_MOD_INIT): Likewise.
10257 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10258 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10259 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10260 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10261 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10262 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10263 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10264 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10265 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10266 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10267 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10268 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10269 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10270 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10271 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10272 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10273 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10274 * commands/password.c (GRUB_MOD_INIT): Likewise.
10275 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10276 * commands/read.c (GRUB_MOD_INIT): Likewise.
10277 * commands/search.c (GRUB_MOD_INIT): Likewise.
10278 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10279 * commands/test.c (GRUB_MOD_INIT): Likewise.
10280 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10281 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10282 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10283 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10284 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10285 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10286 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10287 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10288 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10289 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10290 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10291 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10292 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10293 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10294
9c288be2
VS
102952009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 Use search command for preliminar UUID search.
10298
10299 * commands/search.c: Split into ...
10300 * commands/search_wrap.c: ...this
10301 * commands/search.c: ...and this.
10302 * commands/search_file.c: New file.
10303 * commands/search_label.c: New file.
10304 * commands/search_uuid.c: New file.
10305 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10306 Add commands/search_wrap.c, commands/search_file.c,
10307 commands/search_label.c and commands/search_uuid.c.
10308 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10309 (search_mod_SOURCES): Set to commands/search_wrap.c.
10310 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10311 search_label.mod.
10312 (search_fs_file_mod_SOURCES): New variable.
10313 (search_fs_file_mod_CFLAGS): Likewise.
10314 (search_fs_file_mod_LDFLAGS): Likewise.
10315 (search_label_mod_SOURCES): Likewise.
10316 (search_label_mod_CFLAGS): Likewise.
10317 (search_label_mod_LDFLAGS): Likewise.
10318 (search_fs_uuid_mod_SOURCES): New variable.
10319 (search_fs_uuid_mod_CFLAGS): Likewise.
10320 (search_fs_uuid_mod_LDFLAGS): Likewise.
10321 (fs_file_mod_SOURCES): Removed.
10322 (fs_file_mod_CFLAGS): Likewise.
10323 (fs_file_mod_LDFLAGS): Likewise.
10324 (fs_uuid_mod_SOURCES): Removed.
10325 (fs_uuid_mod_CFLAGS): Likewise.
10326 (fs_uuid_mod_LDFLAGS): Likewise.
10327 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10328 Set to util/grub-install.in.
10329 * disk/fs_file.c: Removed.
10330 * disk/fs_uuid.c: Likewise.
10331 * include/grub/search.h: New file.
10332 * util/grub-install.in: Handle sparc64.
10333 Create and use load.cfg.
10334 * util/sparc64/ieee1275/grub-install.in: Removed.
10335
db943399
VS
103362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10339 Ignore return status if CF is cleared.
10340 (grub_biosdisk_get_diskinfo_standard): Likewise.
10341
3fdae612
RM
103422009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10343
10344 * term/i386/pc/at_keyboard.c
10345 (keyboard_controller_wait_untill_ready): New function.
10346 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10347 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10348 for keyboard polling, rather than duplicate the same loop. This
10349 saves a few bytes in code size.
10350
7ebaa2b4
VS
103512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 Support for (pxe[:server[:gateway]]) syntax and
10354 use environment variable for PXE.
10355
10356 * commands/i386/pc/pxecmd.c (options): Removed.
10357 (print_ip): Removed.
10358 (grub_cmd_pxe): Removed
10359 (grub_cmd_pxe_unload): New function.
10360 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10361 (grub_pxe_your_ip): Made static.
10362 (grub_pxe_default_server_ip): Likewise.
10363 (grub_pxe_default_gateway_ip): Likewise.
10364 (grub_pxe_blksize): Likewise.
10365 (parse_ip): New function.
10366 (grub_pxe_open): Support server and gateway specification.
10367 (grub_pxe_close): Free disk->data.
10368 (grub_pxefs_open): Use disk->data.
10369 (grub_pxefs_read): Likewise.
10370 (grub_env_write_readonly): New function.
10371 (set_mac_env): Likewise.
10372 (set_env_limn_ro): Likewise.
10373 (parse_dhcp_vendor): Likewise.
10374 (grub_pxe_detect): Set the environment variables.
10375 (set_ip_env): New function.
10376 (write_ip_env): Likewise.
10377 (grub_env_write_pxe_default_server): Likewise.
10378 (grub_env_write_pxe_default_gateway): Likewise.
10379 (grub_env_write_pxe_blocksize): Likewise.
10380 (GRUB_MOD_INIT(pxe)): Set environment variables.
10381 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10382 (grub_pxe_mac_addr_t): ... this. All users updated.
10383 (grub_pxe_your_ip): Removed.
10384 (grub_pxe_server_ip): Likewise.
10385 (grub_pxe_gateway_ip): Likewise.
10386 (grub_pxe_blksize): Likewise.
10387
ec5f98ab 103882009-12-25 Carles Pina i Estany <carles@pina.cat>
10389
10390 * commands/help.c: Include `<grub/i18n.h>'.
10391 (grub_cmd_help): Gettextizze.
10392 (GRUB_MOD_INIT): Likewise.
10393 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10394 (GRUB_MOD_INIT): Gettextizze.
10395 * commands/search.c: Include `<grub/i18n.h>'.
10396 (options): Gettextizze.
10397 (GRUB_MOD_INIT): Gettextizze.
10398 * lib/arg.c: Include `<grub/i18n.h>'.
10399 (help_options): Gettextizze.
10400 (find_long): Likewise.
10401 (grub_arg_show_help): Likewise.
10402 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10403 (read_command_list): Gettextizze.
10404 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 10405 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 10406
22815526
RM
104072009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10408
10409 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10410 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10411 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10412 (led_status): New variable.
10413 (keyboard_controller_led): New function.
10414 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10415 update led status for caps lock, num lock and scroll lock.
10416
0ad46fd7
FZ
104172009-12-25 Felix Zielcke <fzielcke@z-51.de>
10418
10419 * util/hostdisk.c (open_device): Fix a comment.
10420
d0e158c2
RM
104212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10422
10423 * util/grub-install.in (host_os): New variable.
10424 * util/i386/efi/grub-install.in (host_os): Likewise.
10425
401c0ad6
RM
104262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10427
10428 * util/mkisofs/write.c (padblock_write): Abort when given an
10429 excedingly large embed image, instead of silently truncating it.
10430
d14d3370
RM
104312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10432
10433 * include/multiboot.h: Indentation fixes.
10434
eeed10b4
RM
104352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10436
10437 * include/multiboot.h (struct multiboot_aout_symbol_table)
10438 (struct multiboot_elf_section_header_table): New structure
10439 declarations (stolen from GRUB Legacy).
10440 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10441 table information.
10442
10443 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10444 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10445 type aliases.
10446
681c70ab
RM
104472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10448
10449 * include/multiboot.h: Make comments src2texi-friendly.
10450
e4d47d8d
RM
104512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10452
10453 For consistency with [multiboot]/docs/boot.S.
10454
10455 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10456 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10457 (MULTIBOOT_MAGIC2): Rename from this ...
10458 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10459
a0b70bda
RM
104602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10461
10462 * include/multiboot.h: Remove `<grub/types.h>'.
10463 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10464 types. Update all users.
10465
61ba42be 104662009-12-25 Carles Pina i Estany <carles@pina.cat>
10467
10468 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10469 `couldn't' and `can not' by `cannot'.
10470 * commands/i386/pc/drivemap.c: Likewise.
10471 * disk/ata.c: Likewise.
10472 * disk/ieee1275/nand.c: Likewise.
10473 * fs/affs.c: Likewise.
10474 * fs/fat.c: Likewise.
10475 * fs/hfs.c: Likewise.
10476 * fs/hfsplus.c: Likewise.
10477 * fs/iso9660.c: Likewise.
10478 * fs/jfs.c: Likewise.
10479 * fs/minix.c: Likewise.
10480 * fs/reiserfs.c: Likewise.
10481 * fs/sfs.c: Likewise.
10482 * fs/udf.c: Likewise.
10483 * fs/ufs.c: Likewise.
10484 * fs/xfs.c: Likewise.
10485 * loader/powerpc/ieee1275/linux.c: Likewise.
10486 * loader/sparc64/ieee1275/linux.c: Likewise.
10487 * util/grub-probe.c: Likewise.
10488 * util/misc.c: Likewise.
10489
7fd0baee 104902009-12-24 Carles Pina i Estany <carles@pina.cat>
10491
10492 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10493 grub_errno calls.
10494 * commands/acpi.c: Likewise.
10495 * commands/blocklist.c: Likewise.
10496 * commands/efi/loadbios.c: Likewise.
10497 * commands/i386/pc/drivemap.c: Likewise.
10498 * commands/loadenv.c: Likewise.
10499 * commands/memrw.c: Likewise.
10500 * commands/password.c: Likewise.
10501 * commands/videotest.c: Likewise.
10502 * disk/ata.c: Likewise.
10503 * disk/ata_pthru.c: Likewise.
10504 * disk/dmraid_nvidia.c: Likewise.
10505 * disk/ieee1275/nand.c: Likewise.
10506 * disk/ieee1275/ofdisk.c: Likewise.
10507 * disk/loopback.c: Likewise.
10508 * disk/lvm.c: Likewise.
10509 * disk/mdraid_linux.c: Likewise.
10510 * disk/raid.c: Likewise.
10511 * disk/raid6_recover.c: Likewise.
10512 * disk/scsi.c: Likewise.
10513 * efiemu/main.c: Likewise.
10514 * efiemu/mm.c: Likewise.
10515 * efiemu/pnvram.c: Likewise.
10516 * efiemu/symbols.c: Likewise.
10517 * font/font.c: Likewise.
10518 * fs/cpio.c: Likewise.
10519 * fs/hfsplus.c: Likewise.
10520 * fs/iso9660.c: Likewise.
10521 * fs/jfs.c: Likewise.
10522 * fs/minix.c: Likewise.
10523 * fs/ntfs.c: Likewise.
10524 * fs/ntfscomp.c: Likewise.
10525 * fs/reiserfs.c: Likewise.
10526 * fs/ufs.c: Likewise.
10527 * fs/xfs.c: Likewise.
10528 * gettext/gettext.c: Likewise.
10529 * include/grub/auth.h: Likewise.
10530 * kern/elf.c: Likewise.
10531 * kern/file.c: Likewise.
10532 * kern/ieee1275/init.c: Likewise.
10533 * kern/ieee1275/mmap.c: Likewise.
10534 * kern/ieee1275/openfw.c: Likewise.
10535 * kern/powerpc/dl.c: Likewise.
10536 * kern/sparc64/dl.c: Likewise.
10537 * lib/arg.c: Likewise.
10538 * loader/i386/bsd.c: Likewise.
10539 * loader/i386/bsdXX.c: Likewise.
10540 * loader/i386/efi/linux.c: Likewise.
10541 * loader/i386/efi/xnu.c: Likewise.
10542 * loader/i386/ieee1275/linux.c: Likewise.
10543 * loader/i386/linux.c: Likewise.
10544 * loader/i386/multiboot.c: Likewise.
10545 * loader/i386/pc/linux.c: Likewise.
10546 * loader/i386/pc/multiboot2.c: Likewise.
10547 * loader/i386/xnu.c: Likewise.
10548 * loader/ieee1275/multiboot2.c: Likewise.
10549 * loader/macho.c: Likewise.
10550 * loader/machoXX.c: Likewise.
10551 * loader/multiboot2.c: Likewise.
10552 * loader/multiboot_loader.c: Likewise.
10553 * loader/powerpc/ieee1275/linux.c: Likewise.
10554 * loader/sparc64/ieee1275/linux.c: Likewise.
10555 * loader/xnu.c: Likewise.
10556 * loader/xnu_resume.c: Likewise.
10557 * mmap/i386/pc/mmap.c: Likewise.
10558 * normal/menu_viewer.c: Likewise.
10559 * partmap/acorn.c: Likewise.
10560 * partmap/amiga.c: Likewise.
10561 * partmap/apple.c: Likewise.
10562 * script/lexer.c: Likewise.
10563 * term/gfxterm.c: Likewise.
10564 * term/i386/pc/serial.c: Likewise.
10565 * term/i386/pc/vga.c: Likewise.
10566 * term/ieee1275/ofconsole.c: Likewise.
10567 * term/terminfo.c: Likewise.
10568 * video/bitmap.c: Likewise.
10569 * video/efi_gop.c: Likewise.
10570 * video/efi_uga.c: Likewise.
10571 * video/fb/video_fb.c: Likewise.
10572 * video/i386/pc/vbe.c: Likewise.
10573 * video/readers/tga.c: Likewise.
10574 * video/video.c: Likewise.
10575
0ad46fd7 105762009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
10577
10578 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
10579 * commands/lspci.c: Likewise.
10580 * commands/probe.c: Likewise.
10581 * commands/xnu_uuid.c: Likewise.
10582 * conf/i386-coreboot.rmk: Likewise.
10583 * conf/i386-efi.rmk: Likewise.
10584 * conf/i386-ieee1275.rmk: Likewise.
10585 * conf/i386-pc.rmk: Likewise.
10586 * conf/powerpc-ieee1275.rmk: Likewise.
10587 * conf/sparc64-ieee1275.rmk: Likewise.
10588 * conf/x86_64-efi.rmk: Likewise.
10589 * fs/i386/pc/pxe.c: Likewise.
10590 * gettext/gettext.c: Likewise.
10591 * include/grub/efi/graphics_output.h: Likewise.
10592 * include/grub/i386/pc/memory.h: Likewise.
10593 * kern/env.c: Likewise.
10594 * kern/i386/qemu/startup.S: Likewise.
10595 * lib/i386/pc/biosnum.c: Likewise.
10596 * lib/i386/relocator.c: Likewise.
10597 * lib/i386/relocator_asm.S: Likewise.
10598 * lib/relocator.c: Likewise.
10599 * loader/i386/bsd.c: Likewise.
10600 * loader/i386/multiboot.c: Likewise.
10601 * loader/i386/pc/chainloader.c: Likewise.
10602 * loader/i386/xnu.c: Likewise.
10603 * loader/xnu.c: Likewise.
10604 * normal/main.c: Likewise.
10605 * normal/menu_text.c: Likewise.
10606 * util/getroot.c: Likewise.
10607 * util/grub-mkconfig_lib.in: Likewise.
10608 * util/grub.d/00_header.in: Likewise.
10609 * util/i386/pc/grub-mkimage.c: Likewise.
10610 * util/mkisofs/eltorito.c: Likewise.
10611 * util/mkisofs/exclude.h: Likewise.
10612 * util/mkisofs/hash.c: Likewise.
10613 * util/mkisofs/iso9660.h: Likewise.
10614 * util/mkisofs/joliet.c: Likewise.
10615 * util/mkisofs/mkisofs.c: Likewise.
10616 * util/mkisofs/mkisofs.h: Likewise.
10617 * util/mkisofs/multi.c: Likewise.
10618 * util/mkisofs/name.c: Likewise.
10619 * util/mkisofs/rock.c: Likewise.
10620 * util/mkisofs/tree.c: Likewise.
10621 * util/mkisofs/write.c: Likewise.
10622 * video/efi_gop.c: Likewise.
10623
009ec743
VS
106242009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10625
10626 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
10627 size counting.
10628
0ad46fd7 106292009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
10630
10631 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
10632 * genmk.rb (class SCRIPT): Modify the target file instead of source.
10633
d3d30ea0
VS
106342009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
10637 (GRUB_MOD_INIT(memrw)): Update help line.
10638
a34f5c70
VS
106392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
10642 Use grub_extcmd_t. All users updated.
10643 (options): New variable.
10644 (grub_cmd_read): Restructure for readability. Support "-v" option.
10645 (grub_cmd_write): Restructure for readability.
10646
0ad46fd7 106472009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
10648
10649 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
10650
0ad46fd7 106512009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
10652
10653 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
10654 with the actual contents of the correspondending make variable.
10655 * util/grub-mkrescue.in (pkglib_DATA): New variable.
10656 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
10657 specifying `*.lst' and `efiemu??.o'
10658
0ad46fd7 106592009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
10660
10661 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
10662 after function name.
10663 Noticed by Rene Engelhard <rene@debian.org>.
10664
dc77a799
VS
106652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
10668 (options): New variable.
10669 (iospace): Likewise.
10670 (grub_lspci_iter): List IO spaces if "-i" was given.
10671 (grub_cmd_lspci): Parse options.
10672 (GRUB_MOD_INIT(lspci)): Use extcmd.
10673 (GRUB_MOD_FINI(lspci)): Likewise.
10674
0ad46fd7 106752009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
10676
10677 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
10678 `function' keyword.
10679 Patch by Tony Mancill <tmancill@debian.org>.
10680
b5d5993b
VS
106812009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
10684 (grub_uhci_portstatus): Likewise.
10685 (grub_uhci_portstatus): Add necessary delay.
11d18281 10686 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 10687
941903f2 106882009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 10689
941903f2 10690 * commands/acpi.c (options): Fix capitalizations and/or full stops.
10691 (GRUB_MOD_INIT): Likewise.
10692 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 10693 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
10694 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 10695 * commands/efi/loadbios.c (enable_rom_area): Likewise.
10696 (enable_rom_area): Likewise.
10697 (GRUB_MOD_INIT): Likewise.
10698 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10699 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
10700 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10701 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
10702 * commands/hexdump.c (options): Likewise.
10703 * commands/i386/cpuid.c (options): Likewise.
10704 (GRUB_MOD_INIT): Likewise.
10705 * commands/i386/pc/drivemap.c (options): Likewise.
10706 (GRUB_MOD_INIT): Likewise.
10707 * commands/i386/pc/halt (options): Likewise.
10708 (GRUB_MOD_INIT): Likewise.
10709 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10710 * commands/i386/pc/pxecmd.c (options): Likewise.
10711 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
10712 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
10713 * commands/keystatus.c (options): Likewise.
10714 (GRUB_MOD_INIT): Likewise.
10715 * commands/loadenv.c (options): Likewise.
10716 * commands/ls.c (options): Likewise.
10717 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10718 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10719 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10720 * commands/parttool.c (helpmsg): Likewise.
10721 * commands/probe.c (options): Likewise.
10722 * commands/read.c (GRUB_MOD_INIT): Likewise.
10723 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
10724 * commands/search.c (options): Likewise.
10725 * commands/sleep.c (options): Likewise.
10726 * commands/test.c (GRUB_MOD_INIT): Likewise.
10727 * commands/true.c (GRUB_MOD_INIT): Likewise.
10728 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
10729 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
10730 * lib/arg.c (help_options): Likewise.
e9bbb4e7 10731 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
10732 `$(XGETTEXT)'.
98a50553 10733 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 10734
0ad46fd7 107352009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 10736
ef3c2c3a 10737 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
10738 instead of specifying them explicit.
10739
7922f68b
RM
107402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10741
10742 * NEWS: Add grub-probe support for GNU/Hurd.
10743
537ce47f
RM
107442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10745
10746 * NEWS: gettext was added after 1.97.
10747
9b214e3a
RM
107482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10749
10750 * util/mkisofs/msdos_partition.h: New file (based on
10751 include/grub/msdos_partition.h).
10752 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
10753 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
10754 (ld_options, main): Recognize --protective-msdos-label.
10755 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
10756 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
10757 (padblock_write): If `use_protective_msdos_label' is set, patch a
10758 protective DOS-style label in the output image.
10759
10760 * util/grub-mkrescue.in: Use --protective-msdos-label.
10761
e9309813
RM
107622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10763
10764 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
10765 boot.
10766
0ae56929
RM
107672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10768
10769 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
10770 variables.
10771 (ld_options, main): Recognize `--embedded-boot'.
10772 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
10773 declarations.
10774 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
10775 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
10776 (padblock_write): Likewise. Rewrite to support embedded boot image.
10777
10778 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
10779 for BIOS-based disk boot instead of only ElTorito.
10780
b15937b1
RM
107812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10782
10783 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
10784 build (not needed for bootstrap).
10785
52cc3ce0
RM
107862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10787
10788 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
10789 from i386-pc build (not needed for bootstrap).
10790 Rewrite a pair of strings.
10791
36f5ff04
RM
107922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10793
10794 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
10795
973c6c85 107962009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
10797
10798 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
10799
05d21547
AB
108002009-12-21 Andreas Born <futur.andy@googlemail.com>
10801
10802 * kern/env.c (grub_env_context_open): Mark exported variable for
10803 reexport.
10804
0175d51f
AB
108052009-12-21 Andreas Born <futur.andy@googlemail.com>
10806
10807 * kern/env.c (grub_env_export): Create nonexistent variables before
10808 exporting.
10809
7f39d92f 108102009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 10811
7f39d92f 10812 * include/grub/auth.h: Include `<grub/i18n.h>'.
10813 (GRUB_GET_PASSWORD): Gettextizze string.
10814 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
10815 menu_text.c.
10816 (grub_utf8_to_ucs4_alloc): Fix indentation.
10817 (grub_print_ucs4): Likewise.
10818 (grub_getstringwidth): Likewise.
10819 (print_message_indented): New declaration.
10820 * normal/auth.c: Include `<grub/i18n.h>'.
10821 (grub_auth_check_authentication): Gettexttize string.
10822 * normal/cmdline.c: Include `<grub/i18n.h>'.
10823 (grub_cmdline_get): Gettextizze.
10824 * normal/color.c: Include `<grub/i18n.h>'.
10825 (grub_parse_color_name_pair): Gettexttize strings.
10826 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
10827 string (use `print_message_indented').
10828 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
10829 `include/grub/normal.h'.
10830 (print_message_indented): Renamed to ...
10831 (grub_print_message_indented): ... this. Remove `static' qualifer (now
10832 used in normal/main.c).
10833 (print_message): Use `grub_print_message_indented' instead of
10834 `print_message_indented'.
10835 (print_timeout): Likewise.
10836 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
10837 (grub_normal_print_device_info): Gettexttize strings.
10838 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
10839
3041d898
VS
108402009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
10843 of arguments. Return number of tokens and not arguments. All users
10844 updated.
10845
de15bf8e
VS
108462009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
10849 non-MSDOS paritions.
10850
e0a6ca52
VS
108512009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * include/grub/types.h (UNUSED): Removed since it conflicts with
10854 NetBSD headers. All users changed to direct __attribute__ ((unused)).
10855 Reported by Grégoire Sutre.
10856
b99518d1 108572009-12-19 Carles Pina i Estany <carles@pina.cat>
10858
10859 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
10860 (grub_print_ucs4_alloc): Likewise.
10861 (grub_getstringwidth): Likewise.
10862 * normal/main.c (grub_normal_init_page): Gettextize version string.
10863 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
10864 (getstringwidth): Renamed to ...
10865 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
10866 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
10867 (grub_print_ucs4): Remove `static' qualifer (now used in
10868 normal/main.c).
10869 * po/POTFILES: Add normal/main.c.
10870
bfd5e52b 108712009-12-19 Carles Pina i Estany <carles@pina.cat>
10872
10873 * normal/menu_text.c (STANDARD_MARGIN): New macro.
10874 (print_message_indented): Add `margin_left' and `margin_right'
10875 parameters.
10876 (print_message): Update `print_message_indented' calls. Adds '\n' to the
10877 strings.
10878 (print_timeout): Use `print_message_indented' to print the message.
10879 Deletes `second_stage' parameter.
10880 (run_menu): Update `print_timeout' calls.
10881
5a1ad2b9
VS
108822009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 Fix console palette on OpenFirmware.
10885
10886 * term/ieee1275/ofconsole.c (MAX): Removed.
10887 (colors): Redone based on VGA palette.
10888 (grub_ofconsole_setcolor): Discard brightness bit since only 8
10889 colors are supported.
10890 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
10891
b045f00a
VS
108922009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 Fix potential EfiEmu double prepare.
10895
10896 * efiemu/main.c (prepared): New variable
10897 (grub_efiemu_unload): Set prepare to '0'.
10898 (grub_efiemu_prepare): Return if already prepared. Set prepared.
10899
10900 set_virtual_address_map support.
10901
10902 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
10903 prototype.
10904 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
10905 prototype.
10906 (grub_efiemu_crc32): Likewise.
10907 (grub_efiemu_crc64): Likewise.
10908 (grub_efiemu_set_virtual_address_map): Likewise.
10909 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
10910 New definition.
10911 (grub_autoefi_set_virtual_address_map): Likewise.
10912 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
10913 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
10914 Restructure flow to accomodate it.
10915 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
10916 (grub_efiemu_crc): Recompute CRC32.
10917 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
10918 (efiemu_ptv_relocated): ... this. Made global. All users updated.
10919 * efiemu/symbols.c (relocated_handle): New variable.
10920 (grub_efiemu_free_syms): Free relocated_handle.
10921 (grub_efiemu_alloc_syms): Allocate relocated_handle.
10922 (grub_efiemu_write_sym_markers): New function.
10923 (grub_efiemu_set_virtual_address_map): Likewise.
10924
10925 Newer XNU parameters.
10926
10927 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
10928 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
10929 (grub_xnu_fill_devicetree): New prototype.
10930 (grub_xnu_heap_real_start): New variable.
10931 * loader/xnu.c (get_name_ptr): New function.
10932 (grub_xnu_load_driver): Fill namelen and name.
10933
10934 64-bit xnu support.
10935
10936 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
10937 and 'loader/macho64.c'.
10938 * conf/i386-pc.rmk: Likewise.
10939 * conf/x86_64-efi.rmk: Likewise.
10940 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
10941 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
10942 * include/grub/macho.h (grub_macho_segment64): New structure.
10943 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
10944 (grub_macho_size32): ... to this.
10945 (grub_macho32_get_entry_point): Renamed from ...
10946 (grub_macho_get_entry_point32): ... to this.
10947 (grub_macho_contains_macho64): New prototype.
10948 (grub_macho_size64): Likewise.
10949 (grub_macho_get_entry_point64): Likewise.
10950 (grub_macho32_load): Renamed from ...
10951 (grub_macho_load32): ... to this.
10952 (grub_macho32_filesize): Renamed from ...
10953 (grub_macho_filesize32): ... to this.
10954 (grub_macho32_readfile): Renamed from ...
10955 (grub_macho_readfile32): ... to this.
10956 (grub_macho_filesize64): New prototype.
10957 (grub_macho_readfile64): Likewise.
10958 (grub_macho_parse32): Likewise.
10959 (grub_macho_parse64): Likewise.
10960 * loader/macho.c: Split into ...
10961 * loader/machoXX.c: ... and this. Replace 32 with XX.
10962 * loader/macho32.c: New file.
10963 * loader/macho64.c: Likewise.
10964 * loader/xnu.c (grub_xnu_is_64bit): New variable.
10965 (grub_cmd_xnu_kernel): Make 32-bit only.
10966 (grub_cmd_xnu_kernel64): New function.
10967 (grub_xnu_load_driver): Support Mach-O 64.
10968 (grub_cmd_xnu_mkext): Likewise.
10969 * util/grub.d/30_os-prober.in (osx_entry): New function.
10970 Generate entries for 64-bit boot too.
10971
10972 Eliminate ad-hoc tree format in XNU and EfiEmu.
10973
10974 * efiemu/main.c (grub_efiemu_prepare): Update comment.
10975 * efiemu/pnvram.c: Rewritten to use environment variables.
10976 All users updated.
10977
10978 Inline utf16_to_utf8.
10979
10980 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
10981 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
10982 All users updated.
10983 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
10984
10985 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
10986 * commands/usbtest.c (grub_usb_get_string): ... move here.
10987 (usb_print_str): Fix error handling.
10988 * include/grub/usb.h (grub_usb_get_string): Remove.
10989
10990 UTF-8 to UTF-16 transformation.
10991
10992 * conf/common.rmk (pkglib_MODULES): Add charset.mod
10993 (charset_mod_SOURCES): New variable.
10994 (charset_mod_CFLAGS): Likewise.
10995 (charset_mod_LDFLAGS): Likewise.
10996 * include/grub/utf.h: New file.
10997 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
10998
10999 Support for device properties.
11000
11001 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11002 (grub_xnu_devprop_device_header): Likewise.
11003 (grub_xnu_devprop_device_descriptor): Likewise.
11004 (grub_xnu_devprop_add_device): New prototype.
11005 (grub_xnu_devprop_remove_device): Likewise.
11006 (grub_xnu_devprop_remove_property): Likewise.
11007 (grub_xnu_devprop_add_property_utf8): Likewise.
11008 (grub_xnu_devprop_add_property_utf16): Likewise.
11009 (grub_cpu_xnu_init): Likewise.
11010 (grub_cpu_xnu_fini): Likewise.
11011 (grub_cpu_xnu_unload): Likewise.
11012 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
11013 (property_descriptor): Likewise.
11014 (devices): New variable.
11015 (grub_xnu_devprop_remove_property): New function.
11016 (grub_xnu_devprop_add_device): Likewise.
11017 (grub_xnu_devprop_remove_device): Likewise.
11018 (grub_xnu_devprop_add_property): Likewise.
11019 (grub_xnu_devprop_add_property_utf8): Likewise.
11020 (grub_xnu_devprop_add_property_utf16): Likewise.
11021 (hextoval): Likewise.
11022 (grub_cpu_xnu_fill_devprop): Likewise.
11023 (grub_cmd_devprop_load): Likewise.
11024 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
11025 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
11026 (cmd_devprop_load): New variable.
11027 (grub_cpu_xnu_init): New function.
11028 (grub_cpu_xnu_fini): Likewise.
11029 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
11030 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
11031 (grub_cmd_xnu_devtree): Likewise.
11032 (hextoval): New function.
11033 (unescape): Likewise.
11034 (grub_xnu_fill_devicetree): Likewise.
11035
11036 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
11037 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
11038
0945f181
VS
110392009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 Workaround for broken ATI VBE.
11042
11043 * video/i386/pc/vbe.c (last_set_mode): New variable.
11044 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11045 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11046 (grub_video_vbe_setup): Don't check for reserved flag.
11047
0ad46fd7 110482009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
11049
11050 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11051 the `find' command.
11052
c179ebe4
VS
110532009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 UUID support for HFS.
11056
11057 * fs/hfs.c (grub_hfs_uuid): New function.
11058 (grub_hfs_fs): New value .uuid.
11059 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11060
0ad46fd7 110612009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
11062
11063 Fix a segfault with parsing unknown long options.
11064
11065 * util/grub-mkrelpath.c (options): Zero terminate it.
11066
c4a3e41a
CPE
110672009-12-13 Carles Pina i Estany <carles@pina.cat>
11068
11069 * include/grub/misc.h (grub_puts): New declaration.
11070 (grub_puts_): Likewise.
a22008a6 11071 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
11072 (grub_puts_): Likewise.
11073
2e8a7602
RM
110742009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11075
11076 * util/grub-probe.c (probe): Improve error message.
11077
b50b77b9
RM
110782009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11079
11080 * loader/i386/multiboot_elfxx.c
11081 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11082 initialization.
11083
110842009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 Relocator framework
11087
11088 * loader/i386/xnu_helper.S: Removed. All users updated.
11089 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11090 (relocator_mod_SOURCES): New variable.
11091 (relocator_mod_CFLAGS): Likewise.
11092 (relocator_mod_LDFLAGS): Likewise.
11093 (relocator_mod_ASFLAGS): Likewise.
11094 * conf/x86_64.rmk: Likewise.
11095 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11096 (grub_multiboot_payload_entry_offset): Likewise.
11097 (grub_multiboot_forward_relocator): Likewise.
11098 (grub_multiboot_forward_relocator_end): Likewise.
11099 (grub_multiboot_backward_relocator): Likewise.
11100 (grub_multiboot_backward_relocator_end): Likewise.
11101 (grub_multiboot_payload_eip): New variable.
11102 (grub_multiboot_payload_orig): Likewise.
11103 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11104 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11105 * include/grub/i386/memory.h
11106 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11107 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11108 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11109 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11110 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11111 * include/grub/i386/relocator.h: New file.
11112 * include/grub/x86_64/relocator.h: Likewise.
11113 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11114 (XNU_RELOCATOR): New macro.
11115 (grub_xnu_launcher_start): Remove.
11116 (grub_xnu_launcher_end): Likewise.
11117 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11118 (grub_xnu_heap_real_start): Remove.
11119 (grub_xnu_heap_start): Change to void *. All users updated.
11120 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11121 * lib/i386/relocator.c: New file.
11122 * lib/i386/relocator_asm.S: Likewise.
11123 * lib/i386/relocator_backward.S: Likewise.
11124 * lib/mips/relocator.c: Likewise.
11125 * lib/mips/relocator_asm.S: Likewise.
11126 * lib/relocator.c: Likewise.
11127 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11128 (entry): Removed.
11129 (playground): Likewise.
11130 (grub_multiboot_payload_orig): New variable.
11131 (grub_multiboot_payload_dest): Likewise.
11132 (grub_multiboot_payload_size): Likewise.
11133 (grub_multiboot_payload_eip): Likewise.
11134 (grub_multiboot_payload_esp): Likewise.
11135 (grub_multiboot_boot): Use grub_relocator32_boot.
11136 (grub_multiboot_unload): Free relocators.
11137 (grub_multiboot): Setup stack. Use relocators.
11138 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11139 (grub_multiboot_load_elfXX): Use relocators.
11140 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11141 (grub_multiboot_payload_size): Likewise.
11142 (grub_multiboot_payload_dest): Likewise.
11143 (grub_multiboot_payload_entry_offset): Likewise.
11144 (grub_multiboot_forward_relocator): Likewise.
11145 (grub_multiboot_backward_relocator): Likewise.
11146 (grub_multiboot_real_boot): Likewise.
11147 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11148 (grub_xnu_entry_point): Likewise.
11149 (grub_xnu_arg1): Likewise.
11150 (grub_xnu_stack): Likewise.
11151 (grub_xnu_launch): Removed.
11152 (grub_xnu_boot_resume): New function.
11153 (grub_xnu_boot): Use relocators.
11154 * loader/i386/xnu_helper.S: Removed.
11155 * loader/xnu.c (grub_xnu_heap_start): New variable.
11156 (grub_xnu_heap_size): Likewise.
11157 (grub_xnu_heap_malloc): Use relocators.
11158 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11159
29eb90c6
VS
111602009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11163 anything.
11164
31027430
CPE
111652009-12-13 Carles Pina i Estany <carles@pina.cat>
11166
11167 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11168 GRUB_ERR_NONE before calling grub_env_set.
11169
dc0c71d9
RM
111702009-12-12 Robert Millan <rmh@aybabtu.com>
11171
11172 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11173 * genmk.rb (video): New variable.
11174 (CLEANFILES, VIDEOFILES): Add #{video}.
11175 (#{video}): New target rule.
11176 * genvideolist.sh: New file.
11177 * Makefile.in (pkglib_DATA): Add video.lst.
11178 (video.lst): New target rule.
11179 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11180 `video.lst'.
11181 * util/grub.d/30_os-prober.in: Replace `vbe' with
11182 ${GRUB_VIDEO_BACKEND}.
11183
2a4bfcf0
RM
111842009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11185
11186 * THANKS: Add David Miller.
11187
2a3aa4d5
RM
111882009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 libpciaccess support.
11191
11192 * Makefile.in (LIBPCIACCESS): New variable.
11193 (enable_grub_emu_pci): Likewise.
11194 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11195 util/pci.c and commands/lspci.c.
11196 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11197 * configure.ac (grub-emu-pci): New option.
11198 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11199 (grub_pci_device_unmap_range): Likewise.
11200 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11201 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11202 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11203 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11204 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11205 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11206 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11207 * include/grub/pciutils.h: New file.
11208 * util/pci.c: Likewise.
11209
0ad46fd7 112102009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
11211
11212 * util/misc.c: Don't include <errno.h> twice.
11213
0ad46fd7 112142009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
11215
11216 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11217 name in an error message.
11218 (grub_biosdisk_rw): Likewise.
11219
2e59983c
VS
112202009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 Eliminate NTFS 4Gib barrier.
11223
11224 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11225 (read_run_data): Likewise.
11226 (grub_ntfs_read_run_list): Likewise.
11227 (grub_ntfs_read_block): Likewise.
11228 (grub_ntfs_iterate_dir): Likewise.
11229 (read_mft): Likewise.
11230 (read_data): Likewise.
11231 Use COM_LOG_LEN.
11232 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11233 to avoid 64-bit division
11234 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11235 (grub_ntfs_rlst): Use grub_disk_addr_t.
11236
71ee178a
VS
112372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 Eliminate grub-fstest 4Gib barrier.
11240
11241 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11242 (read_file): Fix error reporting.
11243
2520d4b8
VS
112442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 Eliminate hexdump 4Gib barrier.
11247
11248 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11249 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11250
e1f27065
VS
112512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11254 Fixes amarsh bug.
11255
1a0f7f45
RM
112562009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11257
11258 Remove miscellaneous files in distclean target.
11259
11260 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11261
c631d9fb
CW
112622009-12-09 Colin Watson <cjwatson@ubuntu.com>
11263
11264 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11265 if they're already set. This resolves the conflict between my
11266 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11267 fixing the --grub-probe option again.
11268 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11269 change on 2009-10-06, so that we now once again source
11270 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11271
7c7b6106
RM
112722009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11273
11274 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11275 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11276 `util/devicemap.c'.
11277
e3069ec1
CPE
112782009-12-08 Carles Pina i Estany <carles@pina.cat>
11279
11280 * include/grub/misc.h (grub_printf_): New declaration.
11281 * kern/misc.c (grub_printf_): New definition.
11282 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11283 instead of `grub_printf' and `_'.
11284 * normal/menu_entry.c (store_completion): Likewise.
11285 (run): Likewise.
11286 (grub_menu_entry_run): Likewise.
11287 * normal/menu_text.c (grub_wait_after_message): Likewise.
11288 (notify_booting): Likewise.
11289 (notify_fallback): Likewise.
11290 (notify_execution_failure): Likewise.
11291
d6ceebf1
CW
112922009-12-07 Colin Watson <cjwatson@ubuntu.com>
11293
11294 * configure.ac: Check for vasprintf.
11295 * util/misc.c (asprintf): Move allocation from here ...
11296 (vasprintf): ... to here. New function.
11297 (xasprintf): New function.
11298 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11299 prototypes.
11300 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11301 * util/grub-mkfont.c (write_font): Likewise.
11302 * util/grub-probe.c (probe): Likewise.
11303 * util/hostdisk.c (make_device_name): Likewise.
11304
de6daa8b
DM
113052009-12-06 David S. Miller <davem@sunset.davemloft.net>
11306
11307 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11308 anything even prefixed with 'cdrom' as a cdrom.
11309
0ad46fd7 113102009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
11311
11312 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11313 mount points.
11314
98d3dc02
CPE
113152009-12-05 Carles Pina i Estany <carles@pina.cat>
11316
11317 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11318 grub_gettext_msg_list.
11319 (grub_gettext_gettranslation_from_position): Return const char *
11320 and not char *.
a2c1332b 11321 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
11322 returns from the list if existing there.
11323 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11324 (grub_gettext_delete_list): Delete the list.
11325 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11326 lang environment variable is changed.
11327 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11328
b283f108
VS
113292009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 Rename kernel.mod to kernel.img.
11332
11333 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11334 (kernel_mod_EXPORTS): Rename to ...
11335 (kernel_img_EXPORTS): ... this.
11336 (kernel_mod_SOURCES): Rename to ...
11337 (kernel_img_SOURCES): ... this.
11338 (kernel_mod_HEADERS): Rename to ...
11339 (kernel_img_HEADERS): ... this. All users updated.
11340 (kernel_mod_CFLAGS): Rename to ...
11341 (kernel_img_CFLAGS): ... this.
11342 (kernel_mod_ASFLAGS): Rename to ...
11343 (kernel_img_ASFLAGS): ... this.
11344 (kernel_mod_LDFLAGS): Rename to ...
11345 (kernel_img_LDFLAGS): ... this.
11346 * conf/x86_64-efi.rmk: Likewise.
11347 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11348 (read_kernel_image): ... this. All users updated.
11349 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11350
69055f8a
CPE
113512009-12-05 Carles Pina i Estany <carles@pina.cat>
11352
11353 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11354 (print_spaces): New function.
11355 (grub_print_ucs4): New function.
11356 (getstringwidth): New function.
11357 (print_message_indented): New function.
11358 (print_message): Gettexttize strings using print_message_indented.
11359 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11360 width.
11361 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11362 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11363 Gettextize.
11364 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11365 string.
11366 (run): Likewise.
11367 (grub_menu_entry_run): Likewise.
11368 * PO/POTFILES: Add normal/menu_entry.c.
11369
f616f51c
VS
113702009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11373
57bbe3be
CPE
113742009-12-05 Carles Pina i Estany <carles@pina.cat>
11375
11376 * util/grub-install.in: Install gettext .mo files.
11377 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11378
013d67a1
CPE
113792009-12-05 Carles Pina i Estany <carles@pina.cat>
11380
11381 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11382 grub_dprintf.
11383
fb954db0
RM
113842009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11385
11386 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11387 non-firmware-dependant one in realmode.S takes precedence.
11388
6b8474f8
RM
113892009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11390
11391 * commands/halt.c: Replace misc arch-specific headers with
11392 `<grub/misc.h>'.
11393 * commands/reboot.c: Likewise.
11394 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11395 `<grub/misc.h>'.
11396 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11397 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11398 (kernel_img_SOURCES): ... to here.
11399
11400 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11401 * include/grub/i386/pc/init.h: Likewise.
11402 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11403 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11404
11405 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11406
11407 * include/grub/i386/halt.h: Remove.
11408 * include/grub/i386/reboot.h: Likewise.
11409
11410 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11411
4b2e6ca2
DM
114122009-12-03 David S. Miller <davem@sunset.davemloft.net>
11413
11414 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11415 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11416 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11417 "progname.h"
11418 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11419 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11420 (usage): Add missing comma in printf.
11421
5239348f
RM
114222009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11423
11424 Use the same reboot approach on i386 coreboot and qemu as we do on
11425 BIOS.
11426
11427 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11428 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11429 * kern/i386/reboot.c: Remove.
11430 * include/grub/i386/reboot.h (grub_reboot): Export function.
11431 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11432 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11433 0xf000:0xfff0 instead of 0xffff:0x0000.
11434 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11435 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11436
ef34cbd4
RM
114372009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11438
11439 Fix $srcdir != $objdir build.
11440
11441 * Makefile.in (po/%.po): Rewrite as ...
11442 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11443
dc9837ea
ST
114442009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11445
11446 Fix GNU/Hurd grub-install crash.
11447 * util/grub-probe.c (probe): Try to access `path' only when it is not
11448 NULL.
11449
2f857f98
VS
114502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 Correct module naming.
11453
11454 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11455 (GRUB_MOD_INIT(efi_uga)): ... to this
11456 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11457 (GRUB_MOD_FINI(efi_uga)): ... to this
11458 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11459 (GRUB_MOD_INIT(efi_gop)): ... to this
11460 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11461 (GRUB_MOD_FINI(efi_gop)): ... to this
11462
c5448046
RM
114632009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11464
11465 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11466 translatable.
11467 (usage): Translate `arg' strings using gettext().
11468 Thanks to Jordi Mallach for the suggestion.
11469
c85184ad
VS
114702009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 GOP support. Based on patch from Bean
11473 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11474
11475 * video/efi_gop.c: New file.
11476 * include/grub/efi/graphics_output.h: Likewise.
11477 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11478 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11479 variables.
11480 * conf/x86_64-efi.rmk: Likewise.
11481
8a4c48d8
VS
114822009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 Rename efi_fb to efi_uga.
11485
11486 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11487 'efi_uga.mod'.
11488 (efi_fb_mod_SOURCES): Rename this ...
11489 (efi_uga_mod_SOURCES): ... to this.
11490 (efi_fb_mod_CFLAGS): Rename this ...
11491 (efi_uga_mod_CFLAGS): ... to this.
11492 (efi_fb_mod_LDFLAGS): Rename this ...
11493 (efi_uga_mod_LDFLAGS): ... to this.
11494 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11495 'efi_uga.mod'.
11496 (efi_fb_mod_SOURCES): Rename this ...
11497 (efi_uga_mod_SOURCES): ... to this.
11498 (efi_fb_mod_CFLAGS): Rename this ...
11499 (efi_uga_mod_CFLAGS): ... to this.
11500 (efi_fb_mod_LDFLAGS): Rename this ...
11501 (efi_uga_mod_LDFLAGS): ... to this.
11502 * video/efi_fb.c: Move this ...
11503 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11504
fb6c1a7b
RM
115052009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11506
11507 * po/README: New file. Explain our PO file workflow.
11508
3bc7896c
RM
115092009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11510
11511 * po/ChangeLog: Remove. Move relevant entries back to ...
11512 * ChangeLog: ... here.
11513 * po/ca.po: Remove (now handled by TLP).
11514 * po/id.po: Likewise.
11515 * po/zh_CN.po: Likewise.
11516 * Makefile.in (LINGUAS): Initialize in a way that supports
11517 empty set.
11518
9ed4841d
RM
115192009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11520
11521 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11522 reliing on po/LINGUAS.
11523 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11524 (po/%.po): ... this.
11525
0ad46fd7 115262009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
11527
11528 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11529 (main): Use `program_name' instead of nonexistent `progname'.
11530
e30dd392
FZ
115312009-11-26 Felix Zielcke <fzielcke@z-51.de>
11532
11533 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11534 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11535
7656de4f
RM
115362009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11537
11538 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
11539 commit.
11540 * conf/i386-efi.rmk: Likewise.
11541 * conf/i386-ieee1275.rmk: Likewise.
11542 * conf/powerpc-ieee1275.rmk: Likewise.
11543 * conf/sparc64-ieee1275.rmk: Likewise.
11544 * conf/x86_64-efi.rmk: Likewise.
11545
db77c4d4
FZ
115462009-11-26 Felix Zielcke <fzielcke@z-51.de>
11547
11548 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
11549
a755bb04
FZ
115502009-11-26 Felix Zielcke <fzielcke@z-51.de>
11551
11552 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
11553
8a4c07fd
RM
115542009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11555
11556 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
11557 (grub_mkdevicemap_SOURCES): New variable.
11558 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
11559 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
11560 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
11561 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
11562 (grub_mkdevicemap_SOURCES): Remove.
11563 * conf/i386-efi.rmk: Likewise.
11564 * conf/i386-ieee1275.rmk: Likewise.
11565 * conf/i386-pc.rmk: Likewise.
11566 * conf/powerpc-ieee1275.rmk: Likewise.
11567 * conf/sparc64-ieee1275.rmk: Likewise.
11568 * conf/x86_64-efi.rmk: Likewise.
11569 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
11570 (usage): Fix strings to use `program_name'.
11571 (main): Initialize gettext.
11572 * util/grub-editenv.c: Likewise.
11573 * util/grub-emu.c: Likewise.
11574 * util/grub-fstest.c: Likewise.
11575 * util/grub-mkdevicemap.c: Likewise.
11576 * util/grub-mkfont.c: Likewise.
11577 * util/grub-mkrelpath.c: Likewise.
11578 * util/grub-pe2elf.c: Likewise.
11579 * util/grub-probe.c: Likewise.
11580 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11581 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11582 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11583
11584 * util/misc.c: Include `"progname.h"'.
11585 (progname): Remove variable.
11586 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
11587
6f61ed55
FZ
115882009-11-25 Felix Zielcke <fzielcke@z-51.de>
11589
11590 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
11591 printf and print a newline after the menuentry header line.
11592 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11593
f022876b
FZ
115942009-11-25 Felix Zielcke <fzielcke@z-51.de>
11595
11596 autoconf >= 2.60 support $(localedir).
11597
11598 * INSTALL: Note that autoconf 2.60 is required.
11599 * configure.ac (AC_PREREQ): Bump to 2.60.
11600 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
11601 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11602
6717926e
YB
116032009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
11604
11605 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
11606 aclocal is run.
11607
08806a54
RM
116082009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11609
11610 * normal/main.c (grub_normal_read_line): Fix off-by-one
11611 buffer overflow.
11612
13b33fba
RM
116132009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11614
11615 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
11616 "parser.grub" in grub_command_execute() call.
11617
4a8572e9
CPE
116182009-11-24 Carles Pina i Estany <carles@pina.cat>
11619
11620 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
11621 * conf/i386-efi.rmk: Likewise.
11622 * conf/i386-ieee1275.rmk: Likewise.
11623 * conf/i386-pc.rmk: Likewise.
11624 * conf/powerpc-ieee1275.rmk: Likewise.
11625 * conf/sparc64-ieee1275.rmk: Likewise.
11626 * conf/x86_64-efi.rmk: Likewise.
11627 * gettext/gettex.c: Include <grub/i18n.h>.
11628 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
11629 here ...
11630 * include/grub/i18n.h: ... to here
11631 * include/grub/i18n.h: ... to here.
11632 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 11633 (grub_gettext_dummy): Move above user.
4a8572e9 11634
bee48093
FZ
116352009-11-24 Felix Zielcke <fzielcke@z-51.de>
11636
11637 * util/Makefile.in (install-local): Convert a `for' into a normal
11638 shell expansion.
11639
a031e91c
RM
116402009-11-24 Robert Millan <rmh.grub@aybabtu.com>
11641
11642 * autogen.sh: Add automake call.
11643 * config.guess: Remove.
11644 * config.sub: Likewise.
11645 * install-sh: Likewise.
11646
26bec39d
FZ
116472009-11-24 Felix Zielcke <fzielcke@z-51.de>
11648
11649 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
11650
8e2532fd
FZ
116512009-11-24 Felix Zielcke <fzielcke@z-51.de>
11652
11653 * util/Makefile.in (install-local): Convert a make `$(foreach)'
11654 function to a normal shell `for'.
11655
fefa1b7d
FZ
116562009-11-24 Felix Zielcke <fzielcke@z-51.de>
11657
11658 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11659
4501250b
FZ
116602009-11-24 Felix Zielcke <fzielcke@z-51.de>
11661
11662 * util/grub-mkrelpath.c: New file.
11663 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
11664 (grub_mkrelpath_SOURCES): New variable.
11665 * include/grub/util/misc.h: New function prototype.
11666 * util/misc.c (make_system_path_relative_to_its_root): New function.
11667
11668 * util/grub-mkconfig_lib.in (bindir): New variable.
11669 (grub_mkrelpath): Likewise.
11670 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
11671
11672 * util/probe.c (probe): Make the file path relative to its root.
11673 Change a info message to use the GRUB path. Enable again the
11674 check if we can read the file with GRUB facilities.
11675
11676 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
11677 to its root.
11678
11d9778b
FZ
116792009-11-24 Felix Zielcke <fzielcke@z-51.de>
11680
11681 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
11682 platform.
11683
4465287d
FZ
116842009-11-24 Felix Zielcke <fzielcke@z-51.de>
11685
11686 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
11687 strncmp().
11688
62b47f22
FZ
116892009-11-24 Felix Zielcke <fzielcke@z-51.de>
11690
11691 * util/getroot.c (grub_util_is_dmraid): New function.
11692 (grub_util_get_dev_abstraction): Treat dmraid and multipath
11693 devices as normal ones, not as LVM.
11694
1eafb9b9 116952009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
11696
11697 * conf/common.rmk: Add grub-gettext_lib target and updates
11698 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
11699 LDFLAGS.
11700 * gettext/gettext.c: New file. (Reads mo files).
11701 * include/grub/file.h (grub_file_pread): New prototype.
11702 * include/grub/i18n.h (_): New prototype.
11703 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
11704 prototypes.
11705 * kern/misc.c (grub_gettext_dummy): New function.
11706 * normal/menu_text.c: Include <grub/i18n.h>.
11707 * normal/menu_text.c (print_timeout): Gettexttize string.
11708 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
11709 * po/POTFILES: Add `normal/menu_text.c'.
11710 * po/ca.po: Add new translations.
c3ea6bd4
CPE
11711 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
11712 gettext module and defines locale_dir and lang in grub.cfg.
11713 * NEWS: Add gettext support.
11714
0fdb2568
RM
117152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11716
11717 * util/hostdisk.c: Include `<grub/i18n.h>'.
11718 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
11719 (make_device_name): Rewrite using asprintf.
11720 (convert_system_partition_to_system_disk): Replace 0 with NULL.
11721 (find_system_device): If a device is not found, generate one just
11722 by reusing the OS path name.
11723 (read_device_map): Make it permissible for device.map not to exist.
11724
f515aa62
RM
117252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11726
11727 * script/sh/execute.c: Move from here ...
11728 * script/execute.c: ... to here. Update all users.
11729 * script/sh/function.c: Move from here ...
11730 * script/function.c: ... to here. Update all users.
11731 * script/sh/lexer.c: Move from here ...
11732 * script/lexer.c: ... to here. Update all users.
11733 * script/sh/main.c: Move from here ...
11734 * script/main.c: ... to here. Update all users.
11735 * script/sh/parser.y: Move from here ...
11736 * script/parser.y: ... to here. Update all users.
11737 * script/sh/script.c: Move from here ...
11738 * script/script.c: ... to here. Update all users.
11739
f84b481b
RM
117402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11741
11742 * configure.ac: Detect all `emu' platforms. Define
11743 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
11744 --enable-grub-emu logic. Disable include/grub/machine
11745 symlink on `emu' platforms.
11746
11747 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
11748 * gensymlist.sh.in: Likewise.
11749
11750 * include/grub/i386/coreboot/machine.h: Remove file.
11751 * include/grub/i386/efi/machine.h: Likewise.
11752 * include/grub/i386/ieee1275/machine.h: Likewise.
11753 * include/grub/i386/pc/machine.h: Likewise.
11754 * include/grub/i386/qemu/machine.h: Likewise.
11755 * include/grub/powerpc/ieee1275/machine.h: Likewise.
11756 * include/grub/sparc64/ieee1275/machine.h: Likewise.
11757 * include/grub/x86_64/efi/machine.h: Likewise.
11758
11759 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
11760 * commands/halt.c: Likewise.
11761 * commands/reboot.c: Likewise.
11762 * include/grub/autoefi.h: Likewise.
11763 * include/grub/i386/at_keyboard.h: Likewise.
11764 * include/grub/i386/kernel.h: Likewise.
11765 * include/grub/i386/loader.h: Likewise.
11766 * include/grub/i386/pc/memory.h: Likewise.
11767 * kern/dl.c: Likewise.
11768 * kern/i386/coreboot/init.c: Likewise.
11769 * loader/i386/bsd.c: Likewise.
11770 * loader/i386/linux.c: Likewise.
11771 * loader/multiboot_loader.c: Likewise.
11772 * term/i386/pc/serial.c: Likewise.
11773 * term/usb_keyboard.c: Likewise.
11774
11775 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
11776 `<grub/machine/machine.h>'
11777 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
11778 * util/misc.c: Remove `<grub/machine/machine.h>' and
11779 `<grub/machine/time.h>'.
11780
11781 * Makefile.in (enable_grub_emu): Remove variable.
11782 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
11783
11784 * conf/any-emu.rmk: New file.
11785 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
11786 (grub_emu_init.c): Move from here ...
11787 * conf/any-emu.rmk: ... to here.
11788
11789 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
11790 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
11791 * conf/any-emu.rmk: ... to here.
11792
4efeab03
RM
117932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11794
11795 * include/grub/parser.h (grub_parser_register): Document need
11796 of `name' parameter.
11797 * normal/main.c (grub_normal_read_line): Simplify prompt string.
11798 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
11799 "sh" to "grub".
11800
ea1dd8bf
RM
118012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11802
11803 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
11804 `$(XGETTEXT)'.
11805 * include/grub/i18n.h (N_): New macro.
11806 * util/mkisofs/mkisofs.h: Likewise.
11807 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
11808 around N_().
11809 (usage): Use gettext() to translate help strings when printing them.
11810
0c140626
RM
118112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11812
11813 Based on patch from Bean
11814 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11815
11816 * video/efi_fb.c: New file.
11817 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
11818 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11819 variables.
11820 * conf/x86_64-efi.rmk: Likewise.
11821
87d58298
RM
118222009-11-22 Robert Millan <rmh.grub@aybabtu.com>
11823
11824 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
11825 * util/i386/pc/grub-setup.c: Likewise.
11826
994cc3a3
ST
118272009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11828
11829 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
11830 <hurd/fs.h>
11831 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
11832 file_get_storage_info to implement grub_guess_root_device.
11833
26a61d6a
FZ
118342009-11-21 Felix Zielcke <fzielcke@z-51.de>
11835
11836 * Makefile.in (target): Use make's builtin $(shell) function
11837 instead of calling directly $(SHELL) to create the locale directories,
11838 inside the $(foreach) function.
11839
74ff1dd5
FZ
118402009-11-21 Felix Zielcke <fzielcke@z-51.de>
11841
11842 * util/grub-mkrescue.in: Print an error and usage if output option
11843 has not been given.
11844
0b787d0e
FZ
118452009-11-21 Felix Zielcke <fzielcke@z-51.de>
11846
11847 Patch from Loïc Minier <loic.minier@ubuntu.com>.
11848 * util/grub.d/30_os-prober.in: Cope with Linux entries where
11849 root and /boot are on different devices.
11850
1164b270
RM
118512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11852
11853 Fix build for srcdir != objdir.
11854
11855 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
11856 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
11857 $(srcdir).
11858 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
11859 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
11860 reference for input.
11861
13774a2f
RM
118622009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11863
11864 * util/grub-mkrescue.in: Use source directory direcly (without copiing
11865 or hardlinking it). Remove -J option, Joliet is not compatible with
11866 multiple source directories.
11867
efda854e
RM
118682009-11-21 Carles Pina i Estany <carles@pina.cat>
118692009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11870
11871 * util/grub-mkrescue.in: Recognize `--override-directory' option.
11872 (process_input_dir): New function. Process an arbitrary input
11873 directory.
11874 Misc adjustments to support both "override mode" and system-wide mode.
11875
6c09890c
FZ
118762009-11-20 Felix Zielcke <fzielcke@z-51.de>
11877
11878 * configure.ac (UNIFONT_BDF): Rename to ...
11879 (FONT_SOURCE): ... this. Update all users.
11880
a797824f
FZ
118812009-11-20 Felix Zielcke <fzielcke@z-51.de>
11882
11883 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
11884 to the list of unifont files to look for.
11885
cd4f42b0
RM
118862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11887
11888 Patch from Joe Auricchio <jauricchio@gmail.com>
11889 * commands/minicmd.c (grub_mini_cmd_clear): New function.
11890 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
11891 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
11892
393c783d
FZ
118932009-11-19 Felix Zielcke <fzielcke@z-51.de>
11894
11895 * Makefile.in (install-local): Add a missing backslash.
11896
b2f1e327
FZ
118972009-11-19 Felix Zielcke <fzielcke@z-51.de>
11898
11899 * include/grub/x86_64/io.h: New file.
11900
f577f7a0
RM
119012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11902
11903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
11904 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
11905 Include `"progname.h"'.
11906 (main): Initialize gettext.
11907 * util/i386/pc/grub-setup.c: Gettexttize.
11908 * util/i386/pc/grub-mkimage.c: Likewise.
11909
11910 * Makefile.in (po/*.po): Redefine as ...
11911 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
11912
3bc7896c
RM
11913 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
11914
c37943b6
RM
119152009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11916
11917 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
11918 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
11919 (program_name): Remove.
11920 (main): Initialize gettext support.
6323f705
RM
11921 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
11922 Include `<libintl.h>'.
11923 (_): New macro.
c37943b6
RM
11924
11925 * util/mkisofs/eltorito.c: Gettexttize.
11926 * util/mkisofs/joliet.c: Likewise.
11927 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
11928 * util/mkisofs/multi.c: Likewise.
11929 * util/mkisofs/rock.c: Likewise.
11930 * util/mkisofs/tree.c: Likewise.
11931 * util/mkisofs/write.c: Likewise.
11932
3bc7896c
RM
11933 * po/POTFILES: Update with new files.
11934
5ce77c6e
RM
119352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11936
11937 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
11938 * util/mkisofs/iso9660.h: Likewise.
11939 * util/mkisofs/joliet.c: Likewise.
11940 * util/mkisofs/mkisofs.c: Likewise.
11941 * util/mkisofs/mkisofs.h: Likewise.
11942 * util/mkisofs/rock.c: Likewise.
11943 * util/mkisofs/tree.c: Likewise.
11944 * util/mkisofs/write.c: Likewise.
11945
11946 * util/mkisofs/eltorito.c (rcsid): Remove.
11947 * util/mkisofs/hash.c: Likewise.
11948 * util/mkisofs/joliet.c: Likewise.
11949 * util/mkisofs/name.c: Likewise.
11950 * util/mkisofs/rock.c: Likewise.
11951 * util/mkisofs/tree.c: Likewise.
11952 * util/mkisofs/write.c: Likewise.
11953
1dabbc77
RM
119542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11955
11956 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
11957 instead of static allocation.
11958 * util/mkisofs/match.h: Likewise.
11959
633877cb
RM
119602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11961
3bc7896c
RM
11962 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
11963 and `util/grub.d/10_linux.in'.
633877cb
RM
11964 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
11965 translatable Shell files.
11966
af1c0c85
RM
119672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11968
11969 * Makefile.in ($(srcdir)/aclocal.m4): New target.
11970
769ae37b
RM
119712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11972
11973 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 11974 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
11975 * util/grub.d/10_kfreebsd.in (bindir): New variable.
11976 Add gettext initialization.
11977 (kfreebsd_entry): Make menuentry output translatable.
11978
119792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11980
11981 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
11982 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
11983 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
11984 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
11985 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 11986 * po/LINGUAS: New file.
769ae37b
RM
11987
119882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11989
11990 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
11991 other things).
11992 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
11993 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
11994 bindtextdomain() calls for gettext initialization.
11995
119962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11997
11998 * gnulib/progname.c: New file (imported from Gnulib).
11999 * gnulib/progname.h: Likewise.
12000 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12001 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12002 (usage): Replace `progname' with `program_name'.
12003 (main): Use set_program_name() for program name initialization.
12004
120052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12006
12007 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12008 from here ...
12009 * Makefile.in (CPPFLAGS): ... to here.
12010
120112009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12012
12013 * aclocal.m4: Move from here ...
12014 * acinclude.m4: ... to here.
12015 * autogen.sh: Add call to `aclocal'.
12016 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
12017
120182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12019
12020 * Makefile.in (CLEANFILES): Add `po/*.mo'.
12021 (LINGUAS): New variable.
12022 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
12023 (install-local): Install MO files.
12024 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
12025 * include/grub/i18n.h: New file.
3bc7896c
RM
12026 * po/POTFILES: New file.
12027 * po/ca.po: New file.
769ae37b
RM
12028 * util/grub.d/10_linux.in (bindir): New variable.
12029 Add gettext initialization.
12030 (linux_entry): Make menuentry output translatable.
12031 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
12032 (usage): Make --help output translatable.
12033 (main): Initialize gettext.
12034
02c0a6ad
RM
120352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12036
12037 * import_gcry.py: New file (written by Vladimir with minor
12038 adjustments).
12039 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
12040 ciphers.
12041 * INSTALL: Document that Python is required for bootstrap.
12042
120432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12044
12045 Import ciphers from libgcrypt 1.4.4.
12046
12047 * lib/libgcrypt/cipher/ChangeLog
12048 * lib/libgcrypt/cipher/ac.c
12049 * lib/libgcrypt/cipher/arcfour.c
12050 * lib/libgcrypt/cipher/bithelp.h
12051 * lib/libgcrypt/cipher/blowfish.c
12052 * lib/libgcrypt/cipher/camellia-glue.c
12053 * lib/libgcrypt/cipher/camellia.c
12054 * lib/libgcrypt/cipher/camellia.h
12055 * lib/libgcrypt/cipher/cast5.c
12056 * lib/libgcrypt/cipher/cipher.c
12057 * lib/libgcrypt/cipher/crc.c
12058 * lib/libgcrypt/cipher/des.c
12059 * lib/libgcrypt/cipher/dsa.c
12060 * lib/libgcrypt/cipher/ecc.c
12061 * lib/libgcrypt/cipher/elgamal.c
12062 * lib/libgcrypt/cipher/hash-common.c
12063 * lib/libgcrypt/cipher/hash-common.h
12064 * lib/libgcrypt/cipher/hmac-tests.c
12065 * lib/libgcrypt/cipher/md.c
12066 * lib/libgcrypt/cipher/md4.c
12067 * lib/libgcrypt/cipher/md5.c
12068 * lib/libgcrypt/cipher/primegen.c
12069 * lib/libgcrypt/cipher/pubkey.c
12070 * lib/libgcrypt/cipher/rfc2268.c
12071 * lib/libgcrypt/cipher/rijndael-tables.h
12072 * lib/libgcrypt/cipher/rijndael.c
12073 * lib/libgcrypt/cipher/rmd.h
12074 * lib/libgcrypt/cipher/rmd160.c
12075 * lib/libgcrypt/cipher/rsa.c
12076 * lib/libgcrypt/cipher/seed.c
12077 * lib/libgcrypt/cipher/serpent.c
12078 * lib/libgcrypt/cipher/sha1.c
12079 * lib/libgcrypt/cipher/sha256.c
12080 * lib/libgcrypt/cipher/sha512.c
12081 * lib/libgcrypt/cipher/tiger.c
12082 * lib/libgcrypt/cipher/twofish.c
12083 * lib/libgcrypt/cipher/whirlpool.c
12084
af2f93ac
RM
120852009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12086
12087 Fix build for systems without error().
12088
12089 * gnulib/error.c: New file (imported from Gnulib).
12090 * gnulib/error.h: Likewise.
12091 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12092 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12093 (this variable is now used by error()).
12094
73fb3dd5
FZ
120952009-11-16 Felix Zielcke <fzielcke@z-51.de>
12096
814f5e96
FZ
12097 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12098 instead of relying that char is signed.
73fb3dd5 12099
a691ca33
VS
121002009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12103 blocksize different from specified.
12104 (grub_pxefs_read): Likewise.
12105
2af8f0f4
FZ
121062009-11-16 Felix Zielcke <fzielcke@z-51.de>
12107
12108 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12109
12110 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12111 (grub_ata_readwrite): Likewise. Update 2 format strings.
12112 (grub_atapi_read): Likewise.
12113
12114 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12115 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12116 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12117 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12118 (ata_mod_LDFLAGS): Move from here ...
12119 * conf/i386.rmk: ... to here ...
12120 * conf/x86_64-efi.rmk: ... and here.
12121 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12122 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12123
83bdecaf
RM
121242009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12125
12126 Relicense multiboot.h, with RMS' blessing.
12127
12128 * include/multiboot.h: Change to X11 license.
12129
fd6fd3d7
RM
121302009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12131
12132 Support --version in grub-mkisofs.
12133
12134 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12135 (OPTION_VERSION): New macro.
12136 (ld_options): Recognize --version.
12137 (usage): Move `program_name' from here ...
12138 (program_name): ... to here. Add `static' qualifier.
12139 (main): Recognize `OPTION_VERSION'.
12140
16a88c49
FZ
121412009-11-15 Felix Zielcke <fzielcke@z-51.de>
12142
12143 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12144 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12145
a4158476
RM
121462009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12147
12148 Fix help2man generation for mkisofs.
12149
12150 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12151 (usage): Send output to stdout (rather than stderr).
12152
fc2208b0
RM
121532009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12154
12155 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12156 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12157 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12158 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12159 (bin_SCRIPTS): Add `grub-mkfloppy'.
12160 (grub_mkfloppy_SOURCES): New variable.
12161
12162 * util/grub-mkrescue.in: New file.
12163 * util/i386/pc/grub-mkfloppy.in: New file.
12164
12165 * util/i386/coreboot/grub-mkrescue.in: Remove.
12166 * util/i386/pc/grub-mkrescue.in: Remove.
12167
8d0edf4a
RM
121682009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12169
12170 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12171 from here ...
12172 * include/multiboot.h (struct multiboot_header): ... to here. Update
12173 all users.
12174 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12175 from here ...
12176 * include/multiboot.h (struct multiboot_info): ... to here. Update
12177 all users.
12178 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12179 from here ...
12180 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12181 Update all users.
12182 * include/grub/multiboot.h (struct grub_mod_list): Move
12183 from here ...
12184 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12185 Update all users.
12186
a73f5969
RM
121872009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12188
12189 * include/multiboot2.h (multiboot_word): Rename from this ...
12190 (multiboot2_word): ... to this. Update all users.
12191 (multiboot_header): Rename from this ...
12192 (multiboot2_header): ... to this. Update all users.
12193 (multiboot_tag_header): Rename from this ...
12194 (multiboot2_tag_header): ... to this. Update all users.
12195 (multiboot_tag_start): Rename from this ...
12196 (multiboot2_tag_start): ... to this. Update all users.
12197 (multiboot_tag_name): Rename from this ...
12198 (multiboot2_tag_name): ... to this. Update all users.
12199 (multiboot_tag_module): Rename from this ...
12200 (multiboot2_tag_module): ... to this. Update all users.
12201 (multiboot_tag_memory): Rename from this ...
12202 (multiboot2_tag_memory): ... to this. Update all users.
12203 (multiboot_tag_unused): Rename from this ...
12204 (multiboot2_tag_unused): ... to this. Update all users.
12205 (multiboot_tag_end): Rename from this ...
12206 (multiboot2_tag_end): ... to this. Update all users.
12207
1c8927f0
RM
122082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12209
12210 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12211 this platform we should support Multiboot1 first.
12212
12213 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12214 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12215 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12216
6e1e0d89
RM
122172009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12218
12219 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12220 of write calls (converting them to fwrite() if they aren't already).
12221 (get_torito_desc): Likewise.
12222 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12223
7f2b34d8
RM
122242009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12225
12226 * util/i386/pc/grub-install.in: Move from here ...
12227 * util/grub-install.in: ... to here. Update all users.
12228
c0ef3311
CW
122292009-11-11 Colin Watson <cjwatson@ubuntu.com>
12230
12231 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12232
e1f240ff
RM
122332009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12234
12235 Support for El Torito without floppy emulation.
12236
12237 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12238 (init_boot_catalog): Improve error handling.
12239 (get_torito_desc): Don't use floppy emulation unless requested by
12240 user. Patch boot information table when requested via
12241 `-boot-info-table'.
12242 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12243 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12244 (use_boot_info_table): New variables.
12245 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12246 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12247 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12248 `--eltorito-emul-floppy'.
12249 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12250 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12251 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12252 (use_boot_info_table, get_731): New prototypes.
12253 * util/mkisofs/write.c (get_731): New function.
12254
af7d4de5
FZ
122552009-11-11 Felix Zielcke <fzielcke@z-51.de>
12256
12257 Fix the generation of the man page.
12258
12259 * util/pc/i386/grub-install.in: Source
12260 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12261
2c55dbc0
RM
122622009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12263
12264 Large file support for grub-mkisofs.
12265
12266 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12267 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12268 (session_start): Upgrade type to `uint64_t'. Update all users.
12269 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12270 (struct directory_entry): Upgrade type of `starting_block' and
12271 `size' to `uint64_t'. Update all users.
12272 (struct deferred): Remove unused structure.
12273 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12274 Update all users.
12275 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12276 file is larger than `UINT32_MAX'.
12277 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12278 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12279 return value.
12280 (struct deferred_write): Upgrade type of `extent' and `size' to
12281 `uint64_t'. Update all users.
12282 (last_extent_written): Upgrade type to `uint64_t'. Update all
12283 users.
12284 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12285 Update all users. Upgrade type of `remain' to `int64_t' and
12286 `use' to `size_t'. Use error() to handle fread() errors.
12287 (write_files): Rely on write_one_file() rather than calling
12288 xfwrite() directly.
12289
6a9cead5
FZ
122902009-11-09 Felix Zielcke <fzielcke@z-51.de>
12291
12292 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12293
4825d790
RM
122942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12295
12296 * util/mkisofs/fnmatch.c: Remove.
12297 * util/mkisofs/getopt1.c: Likewise.
12298 * util/mkisofs/getopt.c: Likewise.
12299 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12300 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12301 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12302 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12303 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12304
12305 * configure.ac: Detect `mingw32msvc' host_os.
12306 Check for lstat(), getuid() and getgid().
12307
12308 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12309 instances of `u_char' with `uint8_t'.
12310
12311 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12312 [!HAVE_GETUID] (getuid): New function (stub).
12313 [!HAVE_GETGID] (getgid): Likewise.
12314 [!HAVE_LSTAT] (lstat): Likewise.
12315 [!S_IROTH] (S_IROTH): New macro (dummy).
12316 [!S_IRGRP] (S_IRGRP): Likewise.
12317
84b860d8
RM
123182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12319
12320 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12321 conditional expression).
12322
66e9b712
RM
123232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12324
12325 Import from Gnulib.
12326
12327 * gnulib/fnmatch.c: New file.
12328 * gnulib/fnmatch.h: Likewise.
12329 * gnulib/fnmatch_loop.c: Likewise.
12330 * gnulib/getopt.c: Likewise.
12331 * gnulib/getopt.h: Likewise.
12332 * gnulib/getopt1.c: Likewise.
12333 * gnulib/getopt_int.h: Likewise.
12334 * gnulib/gettext.h: Likewise.
12335
34f4a5b0
RM
123362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12337
12338 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12339 * normal/handler.c (read_handler_list): Likewise.
12340
ac451143
RM
123412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12342
12343 Misc cleanup.
12344
12345 * kern/command.c (grub_register_command_prio): Use
12346 grub_zalloc() instead of explicitly zeroing data.
12347 * kern/list.c: Include `<grub/mm.h>'.
12348 (grub_named_list_find): Replace `0' with `NULL'.
12349 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12350 (fs_module_list): Change type to `grub_named_list_t'. Update all
12351 users.
12352 * normal/dyncmd.c (read_command_list): Add space between function
12353 call and parenthesis.
12354 * normal/handler.c (read_handler_list): Likewise.
12355
4089b167
RM
123562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12357
12358 * normal/auth.c (punishment_delay): Moved from here ...
12359 (grub_auth_strcmp): ... to here (inside function).
12360
325f5037
RM
123612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12362
12363 * include/grub/list.h (struct grub_named_list): Remove `const'
12364 qualifier from `name'.
12365 (struct grub_prio_list): Likewise.
12366
7aea29a3
RM
123672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12368
12369 * normal/auth.c: Include `<grub/time.h>'.
12370 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12371
3fd6f044
RM
123722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12373
12374 * normal/auth.c (punishment_delay): New variable.
12375 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12376 (grub_auth_check_authentication): Punish failed login attempts with
12377 an incremental (2^N) delay.
12378
a4cd68e4
RM
123792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12380
12381 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12382 path with $(srcdir).
12383
7ad12f43
VS
123842009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12387
c1129f03
RM
123882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12389
12390 * util/i386/coreboot/grub-mkrescue.in: New file.
12391 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12392 variables.
12393
12394 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12395 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12396 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12397 requirements.
12398 * util/mkisofs/defaults.h: New file.
12399 * util/mkisofs/eltorito.c: Likewise.
12400 * util/mkisofs/exclude.h: Likewise.
12401 * util/mkisofs/fnmatch.c: Likewise.
12402 * util/mkisofs/getopt.c: Likewise.
12403 * util/mkisofs/getopt1.c: Likewise.
12404 * util/mkisofs/hash.c: Likewise.
12405 * util/mkisofs/include/fctldefs.h: Likewise.
12406 * util/mkisofs/include/mconfig.h: Likewise.
12407 * util/mkisofs/include/prototyp.h: Likewise.
12408 * util/mkisofs/include/statdefs.h: Likewise.
12409 * util/mkisofs/iso9660.h: Likewise.
12410 * util/mkisofs/joliet.c: Likewise.
12411 * util/mkisofs/match.c: Likewise.
12412 * util/mkisofs/match.h: Likewise.
12413 * util/mkisofs/mkisofs.c: Likewise.
12414 * util/mkisofs/mkisofs.h: Likewise.
12415 * util/mkisofs/multi.c: Likewise.
12416 * util/mkisofs/name.c: Likewise.
12417 * util/mkisofs/rock.c: Likewise.
12418 * util/mkisofs/tree.c: Likewise.
12419 * util/mkisofs/write.c: Likewise.
12420
ec8bb77d
VS
124212009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12424 being insecure.
12425
3716b12c
RM
124262009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12427
12428 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12429 `grub-mkimage' (and use $0 when possible).
12430
b97b7b91
RM
124312009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12432
12433 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12434 error message for excessively large memory map.
12435
04114812
RM
124362009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12437
12438 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12439 executable bit.
12440
e4eb2373
RM
124412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12442
12443 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12444 message for coreboot users.
12445
c926e1d5 124462009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12447
12448 Fix build with GNU gold.
12449
12450 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12451 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12452 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12453 link addresses.
12454 * aclocal.m4: Likewise.
12455
86e5b1db 124562009-11-04 Felix Zielcke <fzielcke@z-51.de>
12457
12458 * configure.ac (AC_PREREQ): Bump to 2.59d.
12459 * INSTALL: Make it more clear when Autoconf and Ruby are
12460 needed and when to run `./autogen.sh'.
12461
246cd78f 124622009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12463
12464 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12465 OSes.
12466
4f9dfb37 124672009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12468
12469 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12470
b82bd5e1 124712009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12472
12473 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12474 giving it to GNU Mach.
12475
ff1a9bca 124762009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12477
12478 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12479 GNU partition number to get internal GRUB partition number.
12480
61697d9c 124812009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12482
12483 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12484 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12485
a50569e1 124862009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12487
12488 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12489 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12490 case.
12491
5b153867 124922009-11-01 Felix Zielcke <fzielcke@z-51.de>
12493
12494 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12495
d9e2cd70 124962009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12497
12498 Fix build problem.
12499
12500 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12501 `-isystem=$(srcdir)/include'.
12502
805111a4 125032009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12504
12505 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12506 checked (grub-install doesn't currently rely on it).
12507
fa6e945f 125082009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12509
12510 Revert SVN r2660.
12511
12512 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12513 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12514 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12515 * conf/i386-ieee1275.rmk: Likewise.
12516 * conf/i386-pc.rmk: Likewise.
12517 * conf/powerpc-ieee1275.rmk: Likewise.
12518 * conf/sparc64-ieee1275.rmk: Likewise.
12519 * conf/x86_64-efi.rmk: Likewise.
12520
cee15086 125212009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12522
12523 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12524
95b9239e 125252009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12526
12527 * include/grub/misc.h: Stop checking for APPLE_CC.
12528
2ed19dfd 125292009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12530
12531 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12532 doesn't cause an infinite call loop.
12533
fdcdde19 125342009-10-28 Felix Zielcke <fzielcke@z-51.de>
12535
12536 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12537 strings.
12538
cefabfe1 125392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12540
12541 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
12542 variable.
12543 * Makefile.in: Likewise.
12544
ed96ab6d 125452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12546
12547 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
12548
0579b753 125492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12550
12551 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
12552
478df409 125532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12554
12555 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
12556
083d1679 125572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12558
12559 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
12560 from here ...
12561 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
12562
5947ae32 125632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12564
12565 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
12566 in $(MAKEINFO) invocation. This makes it clear in output that
12567 errors are being ignored.
12568
94180ff6 125692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12570
12571 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
12572 from here ...
12573 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12574 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
12575 * conf/i386-ieee1275.rmk: Likewise.
12576 * conf/i386-pc.rmk: Likewise.
12577 * conf/powerpc-ieee1275.rmk: Likewise.
12578 * conf/sparc64-ieee1275.rmk: Likewise.
12579 * conf/x86_64-efi.rmk: Likewise.
12580
9031b03a 125812009-10-26 Colin Watson <cjwatson@ubuntu.com>
12582
12583 * util/grub-editenv.c (main): If only a command is given, use
12584 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
12585 (usage): FILENAME is now optional and has a default.
12586
e4f6809b 125872009-10-26 Colin Watson <cjwatson@ubuntu.com>
12588
12589 Improve grub-mkconfig performance when there are several menu
12590 entries on a single filesystem.
12591
12592 * util/grub.d/10_linux.in (linux_entry): Cache the output of
12593 prepare_grub_to_access_device.
12594 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12595 * util/grub.d/30_os-prober.in: Likewise.
12596
67937d4d 125972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12598
12599 * util/grub.d/10_freebsd.in: Remove.
12600 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
12601 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
12602
ee3756cc 126032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12604
5c35048e 12605 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 12606
4dea1c6f 126072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12608
12609 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
12610 grub_util_error() call.
12611
042484d7 126122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12613
12614 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
12615 `reserved_first_sector' member.
12616 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
12617 `reserved_first_sector' to 1.
12618 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
12619 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
12620 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
12621 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
12622 filesystems which begin at first sector.
12623 (options): New option --skip-fs-probe.
12624 (main): Handle --skip-fs-probe and pass it to setup().
12625
d64448a7 126262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12627
12628 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
12629 (memset): Fix function prototype.
12630
508d42ec 126312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
126322009-10-25 Vasily Averin <vvs@parallels.com>
12633
12634 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
12635 `dirent.direntlen == 0'.
12636
b240e30c 126372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12638
12639 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
12640 `cpio'.
12641 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
12642
346e7fbe 126432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12644
12645 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
12646 `__trampoline_setup' and `__ucmpdi2'.
12647 * include/grub/powerpc/libgcc.h: Only export symbols for functions
12648 that libgcc provides.
12649
cdb308b0 126502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12651
12652 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
12653 * include/grub/sparc64/libgcc.h (memset): Likewise.
12654 * include/grub/misc.h (memset, memcmp): New function prototypes.
12655
fb26abc2 126562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12657
12658 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
12659 `cpio'.
12660 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
12661
f6693890 126622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12663
12664 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
12665 * docs/grub.cfg: Compensate for recent change in multiboot
12666 loader (since 2009-08-14 it won't pass filename to payload).
12667 * util/grub.d/10_hurd.in: Likewise.
12668
0933cdc0 126692009-10-21 Felix Zielcke <fzielcke@z-51.de>
12670
12671 * config.guess: Update to latest version from config git
12672 repository.
12673 * config.sub: Likewise.
12674
3b2fe8c2 126752009-10-20 Robert Millan <rmh.grub@aybabtu.com>
12676
12677 Fix build on sparc64.
12678
12679 * configure.ac: Perform checks for libgcc symbols before
12680 adding `-nostdlib' to LDFLAGS.
12681
46695a62 126822009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 Let user specify OpenBSD root device.
12685
12686 * loader/i386/bsd.c (openbsd_root): New variable.
12687 (openbsd_opts): New option 'root'.
12688 (OPENBSD_ROOT_ARG): New macro.
12689 (grub_openbsd_boot): Use 'openbsd_root'.
12690 (grub_cmd_openbsd): Fill 'openbsd_root'.
12691
d2b6b7fc 126922009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12693
12694 * NEWS: Misc adjustments.
12695
421bd7ac 126962009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
12699
f1d29d87 127002009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12701
12702 * configure.ac: Bump version to 1.97.
12703
6f3cd880 127042009-10-16 Colin Watson <cjwatson@ubuntu.com>
12705
12706 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
12707 -mno-3dnow on x86 architectures. Some toolchains enable these
12708 features by default, but they rely on registers that aren't enabled
12709 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
12710
035f7122 127112009-10-15 Robert Millan <rmh.grub@aybabtu.com>
12712
12713 Make entry text a bit more readable.
12714
12715 * util/grub.d/10_linux.in: Add `with' before `Linux'.
12716
44998e58 127172009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
12720
cd2851b3 127212009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
12724 operations.
12725
c6f3b249 127262009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 * configure.ac: Add missing dollar.
12729
6b5886ba 127302009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
12733
12734 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
12735 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
12736 exports.
12737 * include/grub/sparc64/libgcc.h: Likewise. Use
12738 preprocessor conditionals.
12739
e9d66f6d 127402009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12741
12742 * conf/common.rmk (grub-dumpbios): Remove rule.
12743 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
12744 * util/grub-dumpbios.in: Remove file.
12745
9155bc17 127462009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12747
12748 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
12749 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
12750
12751 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
12752 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
12753 users.
12754
12755 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
12756 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
12757 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
12758 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
12759 users.
12760
bf7f7a18 127612009-10-12 Robert Millan <rmh.grub@aybabtu.com>
12762
12763 * term/tparm.c: Switch to GPLv3.
12764
86564c26 127652009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12766
12767 * include/grub/i386/cpuid.h: Add header protection.
12768
5c936493 127692009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12770
12771 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
12772
12773 * include/grub/i386/cpuid.h: New file.
12774 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
12775 (has_longmode): Rename to ...
12776 (grub_cpuid_has_longmode): ... this. Update all users. Remove
12777 `static' attribute.
12778 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
12779 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
12780 on a CPU that doesn't implement AMD64 instruction set.
12781
186e7cf2 127822009-10-06 Colin Watson <cjwatson@ubuntu.com>
12783
12784 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
12785 that version.texi is rebuilt on version number changes.
12786
83b65c4a 127872009-10-06 Colin Watson <cjwatson@ubuntu.com>
12788
12789 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
12790 Fixes bug #27602.
12791
d244281c 127922009-10-06 Colin Watson <cjwatson@ubuntu.com>
12793
12794 * util/i386/pc/grub-install.in: Source
12795 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
12796 that the --grub-probe option will work.
12797 * util/sparc64/ieee1275/grub-install.in: Likewise.
12798
da25306d 127992009-10-05 Robert Millan <rmh.grub@aybabtu.com>
12800
12801 * configure.ac: Bump version to 1.97~beta4.
12802
e8ee83c0 128032009-10-03 Robert Millan <rmh.grub@aybabtu.com>
12804
12805 Resync grub-mkdevicemap in x86_64-efi.
12806
12807 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
12808 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
12809 `util/devicemap.c'.
12810
50dcabcf 128112009-10-01 Colin Watson <cjwatson@ubuntu.com>
12812
12813 * util/grub-editenv.c (create_envblk_file): Write new block with a
12814 .new suffix and then rename it into place, to ensure atomic
12815 creation.
12816
0e51c3a7 128172009-09-28 Robert Millan <rmh.grub@aybabtu.com>
12818
12819 Do not automatically install headers.
12820
12821 * Makefile.in (include_DATA): Remove. Update all users.
12822
31299a95 128232009-09-26 Robert Millan <rmh.grub@aybabtu.com>
12824
12825 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
12826 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
12827
12828 * util/osdetect.lua: Remove.
12829 * script/lua/lauxlib.c: Likewise.
12830 * script/lua/ldebug.c: Likewise.
12831 * script/lua/grub_main.c: Likewise.
12832 * script/lua/lauxlib.h: Likewise.
12833 * script/lua/ldebug.h: Likewise.
12834 * script/lua/ltablib.c: Likewise.
12835 * script/lua/liolib.c: Likewise.
12836 * script/lua/lstrlib.c: Likewise.
12837 * script/lua/lualib.h: Likewise.
12838 * script/lua/ldo.c: Likewise.
12839 * script/lua/ldump.c: Likewise.
12840 * script/lua/ldo.h: Likewise.
12841 * script/lua/loslib.c: Likewise.
12842 * script/lua/lundump.c: Likewise.
12843 * script/lua/grub_lib.c: Likewise.
12844 * script/lua/ldblib.c: Likewise.
12845 * script/lua/lundump.h: Likewise.
12846 * script/lua/lmem.c: Likewise.
12847 * script/lua/grub_lib.h: Likewise.
12848 * script/lua/lmathlib.c: Likewise.
12849 * script/lua/lstate.c: Likewise.
12850 * script/lua/ltm.c: Likewise.
12851 * script/lua/lvm.c: Likewise.
12852 * script/lua/lmem.h: Likewise.
12853 * script/lua/lstate.h: Likewise.
12854 * script/lua/ltm.h: Likewise.
12855 * script/lua/ltable.c: Likewise.
12856 * script/lua/lvm.h: Likewise.
12857 * script/lua/llex.c: Likewise.
12858 * script/lua/lgc.c: Likewise.
12859 * script/lua/grub_lua.h: Likewise.
12860 * script/lua/loadlib.c: Likewise.
12861 * script/lua/lfunc.c: Likewise.
12862 * script/lua/lopcodes.c: Likewise.
12863 * script/lua/lparser.c: Likewise.
12864 * script/lua/ltable.h: Likewise.
12865 * script/lua/llex.h: Likewise.
12866 * script/lua/lgc.h: Likewise.
12867 * script/lua/lfunc.h: Likewise.
12868 * script/lua/lbaselib.c: Likewise.
12869 * script/lua/lopcodes.h: Likewise.
12870 * script/lua/lparser.h: Likewise.
12871 * script/lua/lzio.c: Likewise.
12872 * script/lua/linit.c: Likewise.
12873 * script/lua/lobject.c: Likewise.
12874 * script/lua/llimits.h: Likewise.
12875 * script/lua/lstring.c: Likewise.
12876 * script/lua/lzio.h: Likewise.
12877 * script/lua/lapi.c: Likewise.
12878 * script/lua/lcode.c: Likewise.
12879 * script/lua/lua.h: Likewise.
12880 * script/lua/lobject.h: Likewise.
12881 * script/lua/lstring.h: Likewise.
12882 * script/lua/lapi.h: Likewise.
12883 * script/lua/lcode.h: Likewise.
12884 * script/lua/luaconf.h: Likewise.
12885
cb8a2c38 128862009-09-26 Colin Watson <cjwatson@ubuntu.com>
12887
12888 * docs/grub.texi (Command-line and menu entry commands): Document
12889 date and echo commands.
12890
6b9b6276 128912009-09-24 Pavel Roskin <proski@gnu.org>
12892
12893 * include/grub/kernel.h (struct grub_module_header): Remove
12894 `grub_module_header_types'. Make `type' unsigned. Make `size'
12895 32-bit on all platforms.
12896 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
12897 8-bit field. Use grub_host_to_target32() for `size'.
12898 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
12899 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
12900 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
12901
4e5a02a7 129022009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12903
12904 Fix "lost keypress" bug in at_keyboard.
12905
12906 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
12907 Checks for readyness of input buffer (without flushing it).
12908 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
12909 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
12910
c6dcedf6 129112009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12912
12913 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
12914 size check within GRUB_MACHINE_PCBIOS section.
12915
74c958b1 129162009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12917
12918 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
12919 return value.
12920 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
12921 KEYBOARD_ISREADY check.
12922 (grub_at_keyboard_checkkey): Rename to ...
12923 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
12924 Remove gratuitous cast.
12925
ff420223 129262009-09-23 Colin Watson <cjwatson@ubuntu.com>
12927
12928 * configure.ac: Call AC_PROG_MKDIR_P.
12929 * Makefile.in (docs/stamp-vti): Create docs directory. Create
12930 version.texi in $(builddir) rather than $(srcdir).
12931 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
12932 to makeinfo's @include search path.
12933
d96875df 129342009-09-23 Felix Zielcke <fzielcke@z-51.de>
12935
12936 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
12937
9b3f8365 129382009-09-23 Felix Zielcke <fzielcke@z-51.de>
12939
12940 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
12941 for `*.dpkg-new'.
12942
c44c90db 129432009-09-21 Colin Watson <cjwatson@ubuntu.com>
12944
12945 Build info documentation. Some code borrowed from Automake.
12946
12947 * configure.ac: Check for makeinfo.
12948 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
12949 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
12950 docs/version.texi.
12951 (MOSTLYCLEANFILES): Add vti.tmp.
12952 (docs/version.texi, docs/stamp-vti): Update automatically.
12953 (docs/grub.info): Build info documentation. Use --force and ignore
12954 errors for now.
12955 (all-local): Add $(INFOS).
12956 (install-local): Install info files.
12957 (uninstall): Uninstall info files.
12958 * docs/version.texi: Remove from revision control. This file is
12959 automatically generated on build now.
12960 * gendistlist.sh: Add `*.info'.
12961
e0b37bb5 129622009-09-21 Felix Zielcke <fzielcke@z-51.de>
12963
12964 * kern/term.c: Fix indentation.
12965
5a78865b 129662009-09-21 Felix Zielcke <fzielcke@z-51.de>
12967
12968 * util/hostdisk.c: Fix a comment.
12969
dace7e8a 129702009-09-20 Robert Millan <rmh.grub@aybabtu.com>
12971
12972 Fix regression introduced in r2539.
12973
12974 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
12975 to 0xA1.
12976
a83d079b 129772009-09-19 Colin Watson <cjwatson@ubuntu.com>
12978
12979 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 12980 os-prober. Under normal operation, it does not print anything to
12981 stderr; if it does, we need to debug it, and throwing away stderr
12982 makes that excessively difficult.
a83d079b 12983
be94a509 129842009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
12987
63f745e8 129882009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12989
12990 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
12991 AC_LANG_PROGRAM from autoconf.
12992 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
12993 prototypes (fixes warning).
12994
12995 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
12996 `--disable-werror' was used.
12997
bbb2a70f 129982009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12999
13000 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13001 uninitialized `lastaddr'.
13002
77c24f1d 130032009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13004
0f0b8c87 13005 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13006
07197f23 130072009-09-14 Colin Watson <cjwatson@ubuntu.com>
13008
13009 * commands/test.c (get_fileinfo): Return immediately if
13010 grub_fs_probe fails.
13011
dabf1798 130122009-09-14 José Martínez <xosemp@gmail.com>
13013
13014 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
13015
d52109a7 130162009-09-14 Colin Watson <cjwatson@ubuntu.com>
13017
13018 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
13019 output.
13020
56532179 130212009-09-13 Robert Millan <rmh.grub@aybabtu.com>
13022
13023 * configure.ac: Remove --enable-grub-pe2elf. Only build
13024 grub-pe2elf when needed by the build system itself.
13025 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
13026
8ef070f5 130272009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13028
13029 * configure.ac: Bump version to 1.97~beta3.
13030 * docs/version.texi: Likewise.
13031
61229557 130322009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13033
13034 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
13035 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
13036 from here ...
13037 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
13038 (grub_linux_setup_video): ... to here (with some adjustments).
13039
5c9f8d84 130402009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13041
13042 Fix memory corruption issue (spotted by Colin Watson).
13043
13044 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13045 causing returned size to be stored in an incorrect memory location.
13046 Fix use of uninitialized value when storing the returned size.
13047
e8f5d6e9 130482009-09-12 Yves Blusseau <blusseau@zetam.org>
13049
13050 Change clean rules to properly remove files
13051
13052 * genmk.rb: add new clean rules
13053 * Makefile.in (clean): add the new targets
13054 (mostlyclean): likewise
13055
cda2a409 130562009-09-11 Colin Watson <cjwatson@ubuntu.com>
13057
13058 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13059 to grub_uint64_t.
13060 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13061 non-resident files.
13062
86695375 130632009-09-11 Colin Watson <cjwatson@ubuntu.com>
13064
13065 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13066 part of bug #27349.
13067
8aa1541a 130682009-09-10 Felix Zielcke <fzielcke@z-51.de>
13069
13070 * util/grub-mkconfig.in: Make the created config mode 400 and
13071 print a warning if it fails.
13072
48d9bb0a 130732009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13074
13075 * util/grub.d/40_custom.in: Ask user to type custom entries below
13076 comment, rather than below 'exec tail' line.
13077
3b0521be 130782009-09-10 Colin Watson <cjwatson@ubuntu.com>
13079
13080 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13081 visible in grub.cfg.
13082
50051d55 130832009-09-10 Colin Watson <cjwatson@ubuntu.com>
13084
13085 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13086 file.
13087
c0d34387 130882009-09-10 Felix Zielcke <fzielcke@z-51.de>
13089
13090 * docs/grub.cfg: Add an example menu entry for memtest86+.
13091
80a608f3 130922009-09-09 Felix Zielcke <fzielcke@z-51.de>
13093
a2094832 13094 * config.guess: Update to latest version from config git.
80a608f3 13095 * config.sub: Likewise.
13096
99423078 130972009-09-08 Colin Watson <cjwatson@ubuntu.com>
13098
13099 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13100 unknown-command case. Fixes bug #27320.
13101
44454e4c 131022009-09-08 Felix Zielcke <fzielcke@z-51.de>
13103
13104 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13105 `help' if the command exists.
13106
e30d87ad 131072009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13108
13109 * INSTALL: Require GCC 4.1.3 or later.
13110
9a86f1ec 131112009-09-06 Yves Blusseau <blusseau@zetam.org>
13112
13113 * Makefile.in (RMKFILES): add i386-qemu.rmk
13114 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13115 $(srcdir)/stamp-h.in
13116
7f26d466 131172009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13118
13119 * util/grub-probe.c (probe): Comment out buggy codepath, which
13120 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13121 should be re-enabled after 1.97.
13122
3a613259 131232009-09-05 Felix Zielcke <fzielcke@z-51.de>
13124
13125 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13126 find searches for.
13127
197f76c7 131282009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13131 unnecessary calls to grub_error.
13132
70ba68ce 131332009-09-04 Colin Watson <cjwatson@ubuntu.com>
13134
13135 * NEWS: Mention `keystatus' and Unicode fonts.
13136
4ff0d7a4 131372009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13138
13139 * configure.ac: Bump version to 1.97~beta2.
13140 * docs/version.texi: Likewise.
13141
77c55a87 131422009-09-03 Colin Watson <cjwatson@ubuntu.com>
13143
13144 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13145 containing unwind information in some cases where it previously did
13146 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13147 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13148 discussion.
13149
f79572cd 131502009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13151
13152 Embedding loadenv module into grub-emu
13153
13154 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13155 commands/loadenv.c
13156 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13157 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13158 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13160 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13161 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13162
93a81088 131632009-09-03 Magnus Granberg <zorry@ume.nu>
13164
13165 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13166 include -fPIE in the default specs.
13167 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13168 to TARGET_CFLAGS.
13169
160034b2 131702009-09-03 Felix Zielcke <fzielcke@z-51.de>
13171
13172 * INSTALL: Note that GNU Bison 2.3 or later is required.
13173
087c07c4 131742009-09-03 Colin Watson <cjwatson@ubuntu.com>
13175
13176 * kern/i386/pc/startup.S: Fix typo.
13177
cbf978c0 131782009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13181 according to GCS.
13182
131832009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 13184
13185 * docs/grub.texi (Naming convention): Describe one-based partition
13186 numbering.
13187 (Device syntax): Likewise.
13188 (File name syntax): Likewise.
13189 (Block list syntax): Likewise.
13190 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13191 menu.lst.
13192 (File name syntax): Likewise.
13193 (Command-line and menu entry commands): Document acpi, blocklist,
13194 crc, export, insmod, keystatus, ls, set, and unset commands.
13195
f3e8cdfd 131962009-09-02 Colin Watson <cjwatson@ubuntu.com>
13197
13198 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13199 to avoid implying that only one of --shift, --ctrl, or --alt may be
13200 used.
13201
c0bc232b 132022009-09-02 Colin Watson <cjwatson@ubuntu.com>
13203
13204 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13205 rather than comparing against S_IFREG, which will almost never work.
13206
aa0f752d 132072009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13208
13209 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13210 (write_blocklists): Likewise.
13211
ecb3166a 132122009-09-01 Colin Watson <cjwatson@ubuntu.com>
13213
13214 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13215 argument to grub_printf.
13216
c403a125 132172009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 13218
13219 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 13220 non GNU test.
31aba781 13221
b5e7312c 132222009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * kern/file.c (grub_file_read): Spelling fix
13225
fe00f472 132262009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13229 loading of headers in some cases.
13230
cc55302e 132312009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13232
13233 * configure.ac: Bump version to 1.97~beta1.
13234 * docs/version.texi: Likewise.
13235
5c90cdd2 132362009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 13237
13238 * include/grub/i386/xnu.h: Add license header.
13239 include grub/err.h explicitly.
13240
c90edae4 132412009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13242
13243 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13244 to `ufs' in the vfs.root.mountfrom kernel parameter.
13245
d8888b5c 132462009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13247
13248 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13249
13250 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13251 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13252
13253 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13254 `ARRAY_SIZE' macro.
13255
6f07b921 132562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * kern/file.c (grub_file_read): Check offset.
13259 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13260 * fs/jfs.c (grub_jfs_read_file): Likewise.
13261 * fs/ntfs.c (grub_ntfs_read): Likewise.
13262 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13263 * fs/minix.c (grub_minix_read_file): Correct offset check.
13264 * fs/ufs.c (grub_ufs_read_file): Likewise.
13265
b4f34077 132662009-08-28 Colin Watson <cjwatson@ubuntu.com>
13267
13268 * term/i386/pc/console.c (bios_data_area): Cast
13269 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13270
e7c69859 132712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 1-bit optimised blitters.
13274
13275 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13276 prototype.
13277 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13278 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13279 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13280 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13281 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13282 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13283 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13284 function.
13285 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13286 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13287 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13288 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13289 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13290 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13291 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13292 when possible.
13293 * video/video.c (grub_video_get_blit_format): Return
13294 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13295
a57da43f 132962009-08-28 Colin Watson <cjwatson@ubuntu.com>
13297
13298 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13299 the first argument to grub_printf.
13300
4cbe67e5 133012009-08-28 Colin Watson <cjwatson@ubuntu.com>
133022009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13303
13304 Add `getkeystatus' terminal method. Add a new `keystatus' command
13305 to query it.
13306
13307 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13308 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13309 modifier key bitmasks.
13310 (struct grub_term_input): Add `getkeystatus' member.
13311 (grub_getkeystatus): Add prototype.
13312 * kern/term.c (grub_getkeystatus): New function.
13313
13314 * include/grub/i386/pc/memory.h
13315 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13316 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13317 Data Area layout.
13318 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13319 (grub_console_term_input): Set `getkeystatus' member.
13320 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13321 constants.
13322 (grub_usb_keyboard_getreport): Likewise.
13323 (grub_usb_keyboard_checkkey): Likewise.
13324 (grub_usb_keyboard_getkeystatus): New function.
13325 (grub_usb_keyboard_term): Set `getkeystatus' member.
13326
13327 * commands/keystatus.c: New file.
13328 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13329 (keystatus_mod_SOURCES): New variable.
13330 (keystatus_mod_CFLAGS): Likewise.
13331 (keystatus_mod_LDFLAGS): Likewise.
13332 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13333 commands/keystatus.c.
13334 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13335 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13336 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13338 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13339 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13340
6e2a9085 133412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 Split befs.mod and afs.mod into *_be.mod and *.mod
13344
13345 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13346 (grub_fstest_SOURCES): Likewise.
13347 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13348 (afs_be_mod_SOURCES): New variable.
13349 (afs_be_mod_CFLAGS): Likewise.
13350 (afs_be_mod_LDFLAGS): Likewise.
13351 (befs_be_mod_SOURCES): Likewise.
13352 (befs_be_mod_CFLAGS): Likewise.
13353 (befs_be_mod_LDFLAGS): Likewise.
13354 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13355 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13356 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13357 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13358 (grub_emu_SOURCES): Likewise.
13359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13360 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13361 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13362 * fs/afs_be.c: New file.
13363 * fs/befs_be.c: New file.
13364 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13365 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13366 (U16): Replaced with ...
13367 (grub_afs_to_cpu16): ...this. All users updated.
13368 (U32): Replaced with ...
13369 (grub_afs_to_cpu32): ...this. All users updated.
13370 (U64): Replaced with ...
13371 (grub_afs_to_cpu64): ...this. All users updated.
13372 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13373 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13374 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13375 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13376 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13377 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13378 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13379 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13380 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13381 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13382 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13383
32a71655 133842009-08-26 Bean <bean123ch@gmail.com>
13385
13386 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13387 64-bit number.
13388 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13389 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13390 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13391
552bf6c5 133922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 NetBSD memory map support.
13395
13396 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13397 (grub_netbsd_btinfo_mmap_header): New structure.
13398 (grub_netbsd_btinfo_mmap_entry): Likewise.
13399 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13400
1ae2078c 134012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 Enable bsd.mod on coreboot.
13404
13405 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13406 (bsd_mod_SOURCES): New variable.
13407 (bsd_mod_CFLAGS): Likewise.
13408 (bsd_mod_LDFLAGS): Likewise.
13409 (bsd_mod_ASFLAGS): Likewise.
13410 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13411 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13412
beefc598 134132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 Cleanup NetBSD root support.
13416
13417 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13418 grub_bsd_get_device.
13419 Fix typo.
13420
3b76e68b 134212009-08-25 Felix Zielcke <fzielcke@z-51.de>
13422
13423 * util/grub.d/00_header.in: Move check for the video backend of
13424 gfxterm from here ...
13425 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13426 a suitable video backend.
13427
aea664ea 134282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 Fix breakage in grub-setup.
13431
13432 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13433 "msdos_partition_map".
13434
ff747d50 134352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 Fix breakage in normal/auth.c.
13438
13439 * normal/auth.c (grub_iswordseparator): New function.
13440
e7e1f93f 134412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 Authentication support.
13444
13445 * commands/password.c: New file.
13446 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13447 (password_mod_SOURCES): New variable.
13448 (password_mod_CFLAGS): Likewise.
13449 (password_mod_LDFLAGS): Likewise.
13450 (normal_mod_SOURCES): Add normal/auth.c.
13451 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13452 normal/auth.c.
13453 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13455 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13457 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13458 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13459 * include/grub/auth.h: New file.
13460 * include/grub/err.h (grub_err_t): New enum value
13461 GRUB_ERR_ACCESS_DENIED.
13462 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13463 'users'.
13464 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13465 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13466 users updated.
13467 * normal/auth.c: New file.
13468 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13469 (grub_cmdline_run): Don't allow to go to command line without
13470 authentication.
13471 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13472 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13473 menuentry without superuser rights.
13474 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13475 user isn't a superuser.
13476
70f1161d 134772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 Save space by inlining misc.c functions.
13480
13481 * kern/misc.c (grub_iswordseparator): Made static.
13482 * kern/misc.c (grub_strcat): Moved from here ...
13483 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13484 * kern/misc.c (grub_strncat): Moved from here ...
13485 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13486 * kern/misc.c (grub_strcasecmp): Moved from here ...
13487 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13488 * kern/misc.c (grub_strncasecmp): Moved from here ...
13489 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13490 * kern/misc.c (grub_isalpha): Moved from here ...
13491 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13492 * kern/misc.c (grub_isdigit): Moved from here ...
13493 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13494 * kern/misc.c (grub_isgraph): Moved from here ...
13495 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13496 * kern/misc.c (grub_tolower): Moved from here ...
13497 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13498
48e40bff 134992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * script/sh/function.c (grub_script_function_find): Cut error message
13502 not to flood terminal.
13503 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13504 limit.
13505 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13506
c385bfc3 135072009-08-24 Colin Watson <cjwatson@ubuntu.com>
13508
13509 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13510 `report' grub_uint8_t *.
13511 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13512 Use a 50-millisecond timeout rather than just repeating
13513 grub_usb_keyboard_getreport 50 times.
13514 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13515
2d21e3e8 135162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 Rename *_partition_map to part_*
13519
13520 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13521 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13522 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13523 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13524 All users updated.
13525 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13526 All users updated.
13527 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13528 * util/grub-probe.c (probe_partmap): Don't transform partition name
13529 to get module name.
13530
dd103c4e 135312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 Fix OpenBSD and NetBSD support.
13534
13535 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13536 memory address conflict.
13537 (OPENBSD_MMAP_ACPI): New definition.
13538 (OPENBSD_MMAP_NVS): Likewise.
13539 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
13540 and OPENBSD_MMAP_NVS.
13541 Add memory map terminator
13542 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 13543 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 13544
16c84d74 135452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 Let user specify NetBSD root device.
13548
13549 * loader/i386/bsd.c (netbsd_root): New variable.
13550 (netbsd_opts): New option 'root'.
13551 (NETBSD_ROOT_ARG): New macro.
13552 (grub_netbsd_boot): Use 'netbsd_root'.
13553 (grub_bsd_unload): Free 'netbsd_root'.
13554 (grub_cmd_netbsd): Fill 'netbsd_root'.
13555
adb29902 135562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 Support for 64-bit NetBSD.
13559
13560 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
13561 point when booting non-FreeBSD.
13562
f5ae9f74 135632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 Support --no-smp and --no-acpi for NetBSD.
13566
13567 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
13568 (NETBSD_AB_NOACPI): Likewise.
13569 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
13570 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
13571
de74f136 135722009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
13575 errors.
13576 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
13577 errors. Call grub_error when needed.
13578
e9a925da 135792009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 * commands/search.c (search_fs): Try searching without autoload first.
13582 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13583 filesystem module explicitly for faster booting.
13584
5174302b 135852009-08-23 Colin Watson <cjwatson@ubuntu.com>
13586
13587 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
13588
c8c80635 135892009-08-23 Colin Watson <cjwatson@ubuntu.com>
13590
13591 * util/grub.d/30_os-prober.in: Disable os-prober if
13592 `GRUB_DISABLE_OS_PROBER' was set to true.
13593
71acf5e5 135942009-08-23 Robert Millan <rmh.grub@aybabtu.com>
13595
13596 * partmap/pc.c: Rename to ...
13597 * partmap/msdos.c: ... this. Update all users.
13598 (grub_pc_partition_map): Rename to ...
13599 (grub_msdos_partition_map): ... this. Update all users.
13600
13601 * parttool/pcpart.c: Rename to ...
13602 * parttool/msdospart.c: ... this. Update all users.
13603
13604 * include/grub/pc_partition.h: Rename to ...
13605 * include/grub/msdos_partition.h: ... this. Update all users.
13606 (grub_pc_partition_bsd_entry): Rename to ...
13607 (grub_msdos_partition_bsd_entry): ... this. Update all users.
13608 (grub_pc_partition_disk_label): Rename to ...
13609 (grub_msdos_partition_disk_label): ... this. Update all users.
13610 (grub_pc_partition_entry): Rename to ...
13611 (grub_msdos_partition_entry): ... this. Update all users.
13612 (grub_pc_partition_mbr): Rename to ...
13613 (grub_msdos_partition_mbr): ... this. Update all users.
13614 (grub_pc_partition): Rename to ...
13615 (grub_msdos_partition): ... this. Update all users.
13616 (grub_pc_partition_is_empty): Rename to ...
13617 (grub_msdos_partition_is_empty): ... this. Update all users.
13618 (grub_pc_partition_is_extended): Rename to ...
13619 (grub_msdos_partition_is_extended): ... this. Update all users.
13620 (grub_pc_partition_is_bsd): Rename to ...
13621 (grub_msdos_partition_is_bsd): ... this. Update all users.
13622
13623 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
13624 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
13625 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
13626 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
13627 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
13628 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
13629 (gpt_mod_LDFLAGS): Rename to ...
13630 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
13631 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
13632 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
13633 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
13634 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
13635 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
13636 (part_gpt_mod_LDFLAGS): ... this.
13637 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
13638 `pcpart.mod' to `msdospart.mod'.
13639 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
13640 to ...
13641 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
13642 (msdospart_mod_LDFLAGS): ... this.
13643
c11fded5 136442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
13647 (openbsd_opts): Likewise.
13648 (netbsd_opts): Likewise.
13649 (freebsd_flags): Added 0 terminator.
13650 (openbsd_flags): Likewise.
13651 (netbsd_flags): Likewise.
13652 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
13653 (grub_cmd_freebsd): Transformed into extended command.
13654 (grub_cmd_openbsd): Likewise.
13655 (grub_cmd_netbsd): Likewise.
13656 (cmd_freebsd): Changed type to grub_extcmd_t.
13657 (cmd_openbsd): Likewise.
13658 (cmd_netbsd): Likewise.
13659 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
13660 grub_cmd_openbsd as extended commands.
13661 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
13662 cmd_netbsd and cmd_openbsd
13663
11d1c769 136642009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
13667
7a9094e5 136682009-08-21 Pavel Roskin <proski@gnu.org>
13669
5496c37e 13670 * Makefile.in (install-local): When checking if a file is in the
13671 build directory, use "test -e" to detect symlinks.
13672
7a9094e5 13673 * Makefile.in (install-local): Remove all files in
13674 $(DESTDIR)$(pkglibdir) before installing new files there.
13675
e53cea11 136762009-08-18 Felix Zielcke <fzielcke@z-51.de>
13677
13678 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
13679 grub-mkelfimage.
13680
9aced544 136812009-08-18 Felix Zielcke <fzielcke@z-51.de>
13682
13683 * util/grub-mkconfig.in: Don't use gfxterm by default if not
13684 explicitly specified by the user.
13685
b7da6bab 136862009-08-18 Pavel Roskin <proski@gnu.org>
13687
13688 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
13689 grub_uint8_t pointer for data.
13690 * include/grub/fbutil.h (struct grub_video_fbblit_info):
13691 Likewise.
13692 * video/fb/fbutil.c: Remove unnecessary casts.
13693
19f1b335 136942009-08-17 Michal Suchanek <hramrach@centrum.cz>
13695
13696 VBE cleanup.
13697
13698 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
13699 (grub_vbe_set_video_mode): Save active mode info
13700 only after setting the mode.
13701 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
13702 second argument.
13703
2f467aa9 137042009-08-17 Michal Suchanek <hramrach@centrum.cz>
13705
13706 Rename variables for clarity.
13707
13708 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
13709 (active_vbe_mode_info): ... this. All users updated.
13710 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
13711 All users updated.
13712 (initial_mode): Rename to ...
13713 (initial_vbe_mode): ... this. All users updated.
13714 (mode_in_use): Rename to ..
13715 (vbe_mode_in_use): ... this. All users updated.
13716 (mode_list): Rename to ..
13717 (vbe_mode_list): ... this. All users updated.
13718 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
13719 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
13720 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
13721 'mode_list_size' to 'vbe_mode_list_size'.
13722 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
13723 'best_mode_info' to 'best_vbe_mode_info' and
13724 'best_mode' to 'best_vbe_mode'
13725
6025fcd7 137262009-08-17 Michal Suchanek <hramrach@centrum.cz>
13727
13728 Remove duplicate grub_video_fb_get_video_ptr.
13729
13730 * include/grub/fbutil.h (get_data_ptr): Rename to ...
13731 (grub_video_fb_get_video_ptr): ... this.
13732 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
13733 * video/fb/fbutil.c: Add comment about addressing.
13734 (get_data_ptr): Rename to ...
13735 (grub_video_fb_get_video_ptr): ... this. All users updated.
13736 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
13737
cc8c6faf 137382009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13739
13740 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
13741 grub_dprintf() that was just added.
13742
08aa61f0 137432009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13744
13745 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
13746 (DEFAULT_VIDEO_MODE): Remove macros.
13747 (grub_linux_boot): Remove assumption that Linux has FB support,
13748 and use "text" as default video mode.
13749
7cef4f75 137502009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
13753 grub_dprintf.
13754 * fs/fat.c (grub_fat_read_data): Likewise.
13755
e1f39873 137562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
13759 payload.
13760 (grub_module): Likewise.
13761
c166d79e 137622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
13765 mbi->cmdline but free playground.
13766
c60cee8e 137672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Handle group offset on UFS1.
13770
13771 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
13772 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
13773
c0d8b5d4 137742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 Split ufs.mod into ufs1.mod and ufs2.mod.
13777
13778 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
13779 (grub_fstest_SOURCES): Likewise.
13780 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
13781 (ufs_mod_SOURCES): Remove.
13782 (ufs_mod_CFLAGS): Likewise.
13783 (ufs_mod_LDFLAGS): Likewise.
13784 (ufs1_mod_SOURCES): New variable.
13785 (ufs1_mod_CFLAGS): Likewise.
13786 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 13787 (ufs2_mod_SOURCES): New variable.
13788 (ufs2_mod_CFLAGS): Likewise.
13789 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 13790 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
13791 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13792 Likewise.
13793 (grub_emu_SOURCES): Likewise.
13794 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13795 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13796 (grub_setup_SOURCES): Likewise.
13797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13798 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
13799 (grub_setup_SOURCES): Likewise.
13800 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13801 Likewise.
13802 * fs/ufs2.c: New file.
13803 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
13804
d3539132 138052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 Framebuffer split.
13808
13809 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
13810 subsystem at the end.
13811 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
13812 (video_fb_mod_SOURCES): New variable.
13813 (video_fb_mod_CFLAGS): Likewise.
13814 (video_fb_mod_LDFLAGS): Likewise.
13815 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
13816 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
13817 * video/i386/pc/vbeblit.c: Moved from here ...
13818 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
13819 * video/i386/pc/vbefill.c: Moved from here ...
13820 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
13821 * video/i386/pc/vbeutil.c: Moved from here ...
13822 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
13823 * include/grub/i386/pc/vbeblit.h: Moved from here ...
13824 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
13825 * include/grub/i386/pc/vbefill.h: Moved from here ...
13826 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
13827 * include/grub/i386/pc/vbeutil.h: Moved from here ...
13828 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
13829 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
13830 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
13831 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
13832 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
13833 (grub_video_adapter): Added 'get_info_and_fini'.
13834 (grub_video_get_info_and_fini): New prototype.
13835 (grub_video_set_mode): make modestring const char *.
13836 * loader/i386/linux.c (grub_linux_setup_video): Use
13837 grub_video_get_info_and_fini.
13838 (grub_linux_boot): Move modesetting just before booting.
13839 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
13840 grub_video_get_info_and_fini.
13841 * video/i386/pc/vbe.c: Moved framebuffer part ...
13842 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
13843 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
13844 grub_video_fbstd_colors and grub_video_fb_set_palette.
13845 (grub_video_vbe_init): Clear 'framebuffer' variable and use
13846 grub_video_fb_init.
13847 (grub_video_vbe_fini): Use grub_video_fb_fini.
13848 (grub_video_vbe_setup): Use framebuffer.render_target instead of
13849 render_target and use grub_video_fb_set_active_render_target and
13850 grub_video_fb_set_palette.
13851 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
13852 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
13853 (grub_video_vbe_adapter): Use framebuffer.
13854 * video/video.c (grub_video_get_info_and_fini): New function.
13855 (grub_video_set_mode): Make modestring const char *.
13856 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
13857 values are already initialised.
13858
d404ee56 138592009-08-14 Pavel Roskin <proski@gnu.org>
13860
13861 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
13862 ABS and APPLE_CC.
13863 * boot/i386/pc/diskboot.S: Likewise.
13864 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
13865 sectors allow compilation on MacOSX.
13866 * conf/i386-pc.rmk: Enable unconditional compilation of
13867 lnxboot.img.
13868
9a10df16 138692009-08-13 Colin Watson <cjwatson@ubuntu.com>
13870
13871 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
13872 * util/grub.d/00_header.in: Enter interruptible sleep if
13873 GRUB_HIDDEN_TIMEOUT is set.
13874
be3c9ca7 138752009-08-13 Yves Blusseau <blusseau@zetam.org>
13876
13877 * include/grub/symbol.h: Add the LOCAL macro.
13878 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
13879 starting with "L_".
13880
1f9e557e 138812009-08-13 Pavel Roskin <proski@gnu.org>
13882
9ca62843 13883 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
13884 any modern compilers we support.
13885
1f9e557e 13886 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
13887 Use local labels starting with "L_" so that Apple assembler
13888 knows they are local.
13889
81623db6 138902009-08-10 Robert Millan <rmh.grub@aybabtu.com>
13891
13892 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
13893 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
13894 (bsd_kernel_types): ... this enum.
13895
13896 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
13897 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
13898 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
13899
13900 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
13901 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
13902 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
13903 messages.
13904
f5d35e7a 139052009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13906
13907 * util/grub-dumpdevtree: Moved from here ...
13908 * util/i386/efi/grub-dumpdevtree: ... to here.
13909 (hexify): New function. Converts a string to its hex version.
13910 Generate hex versions of "efi" and "device-properties" by calling
13911 hexify() on the ASCII strings rather than by hardcoding numbers.
13912
d1e1d527 139132009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13914
13915 * fs/jfs.c: Update copyright year.
13916
1ebbe064 139172009-08-08 Felix Zielcke <fzielcke@z-51.de>
13918
13919 * util/grub.d/00_header.in: Fix a comment.
13920 * util/grub.d/10_linux.in: Likewise.
13921 * util/grub.d/10_windows.in: Likewise.
13922 * util/grub.d/10_hurd.in: Likewise.
13923
a78c8d24 139242009-08-08 Felix Zielcke <fzielcke@z-51.de>
13925
13926 * util/grub-mkconfig.in: Allow the user to specify the used font
13927 with GRUB_FONT.
13928
29a6b9e8 139292009-08-08 Pavel Roskin <proski@gnu.org>
13930
b5f16cc4 13931 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
13932 available, xfs.mod needs it now.
13933
2f5cb827 13934 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
13935 the "g" modifier in sed when the intention is to strip something
13936 once. This fixes comparison of kernels with multiple dashes.
13937
29a6b9e8 13938 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
13939 on it. Add missing space before closing bracket. Fix
13940 misleading formatting.
13941
892a3d98 139422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13943
13944 * docs/grub.texi: Major overhaul. Remove all sections that are
13945 specific to GRUB Legacy, or mostly composed of Legacy-specific
13946 information.
13947
ed94253f 139482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13949
13950 * docs/version.texi: New file. Provides version information for
13951 grub.texi.
13952
126d6628 139532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13954
13955 * docs/grub.texi: Update CVS information to SVN.
13956 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
13957
998b5aa9 139582009-08-07 Felix Zielcke <fzielcke@z-51.de>
13959
13960 * util/grub-mkconfig.in: Remove a wrong `fi'.
13961
818e094a 139622009-08-07 Felix Zielcke <fzielcke@z-51.de>
13963
13964 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
13965 (grub_jfs_uuid): New function.
13966 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
13967
b969c52f 139682009-08-07 Felix Zielcke <fzielcke@z-51.de>
13969
13970 * util/grub-mkconfig_lib.in (font_path): Move the functionality
13971 of it to ...
13972 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
13973 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
13974
7a4894cc 139752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13976
13977 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
13978 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
13979 Update all users.
13980
13981 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
13982 not just "vmlinu[zx]".
13983 Moved from here ...
13984 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
13985 all users.
13986
13987 * util/grub.d/10_linux.in (find_latest): Moved from here ...
13988 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
13989 all users.
13990
4e2171f8 139912009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13992
13993 * util/grub.d/10_freebsd.in: Use an absolute device path for
13994 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
13995
6dcfcb32 139962009-08-06 Felix Zielcke <fzielcke@z-51.de>
13997
13998 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
13999 handling of multiple abstraction modules.
14000
f56a8756 140012009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14002
14003 Fix a bug resulting in black screen when loading Linux using a
14004 packed video mode.
14005
14006 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14007 function.
14008
14009 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14010 (grub_vbe_bios_getset_dac_palette_width): New function.
14011 (grub_vbe_bios_get_dac_palette_width)
14012 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
14013 grub_vbe_bios_getset_dac_palette_width()).
14014
14015 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
14016 check for return status.
14017 (grub_vbe_get_video_mode_info): When getting information for a packed
14018 mode (<= 8 bpp), obtain DAC palette width using
14019 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
14020 {red,green,blue}_mark_size.
14021
222671b2 140222009-08-04 Felix Zielcke <fzielcke@z-51.de>
14023
ecb1a6d9 14024 * commands/search.c (options): Fix help output to match actual code.
222671b2 14025
f84114f5 140262009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
14029 of homegrown code.
14030
bd288a20 140312009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 14032
14033 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
14034 on XFS or ReiserFS.
14035
8aab5e25 140362009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 Support Apple partition map with sector size different from 512 bytes.
14039
14040 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
14041 (apple_partition_map_iterate): Respect 'aheader.blocksize'
14042 and 'apart.partmap_size'.
14043
6ad6258a 140442009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
140452009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14046
14047 Fix cpuid command.
14048
14049 * commands/i386/cpuid.c (options): New variable.
14050 (grub_cmd_cpuid): Return real error.
14051 (GRUB_MOD_INIT(cpuid)): Declare options.
14052
67459bc6 140532009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14056 valid.
14057
fbc6ab54 140582009-07-31 Bean <bean123ch@gmail.com>
14059
14060 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14061 log2_inode.
14062 (grub_fshelp_node): Move inode field to the end.
14063 (grub_xfs_data): Remove inode field.
14064 (grub_xfs_inode_block): Calculate inode size using sblock.
14065 (grub_xfs_inode_offset): Likewise.
14066 (grub_xfs_read_inode): Calculate inode size using sblock.
14067 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14068 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14069 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14070 to match inode size.
14071 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14072 not accessible when data is null.
14073 (grub_xfs_open): Likewise.
14074
f45d6cfc 140752009-07-31 Bean <bean123ch@gmail.com>
14076
14077 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14078 Don't change pv->disk if it's already set.
14079
14080 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14081 (grub_raid_register): ... here.
14082 (grub_raid_rescan): Removed.
14083
14084 * include/grub/raid.h (grub_raid_rescan): Removed.
14085
14086 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14087 (fstest): Replace grub_raid_rescan with module fini function followed
14088 by init function.
14089
14090 * util/grub-probe.c: Add include file <grub/raid.h>.
14091 (probe_raid_level): New function.
14092 (probe): Detect abstraction by walking the disk device, support two
14093 level of abstraction (LVM on RAID) when detecting partition map.
14094
24443b5a 140952009-07-31 Pavel Roskin <proski@gnu.org>
14096
14097 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14098 to grub_zalloc(), it was erroneous.
14099 Reported by Bean <bean123ch@gmail.com>
14100
a275d9e7 141012009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 14104 embedding zone, not only the first one.
a275d9e7 14105
56c5a47f 141062009-07-29 Joe Auricchio <jauricchio@gmail.com>
14107
14108 * term/gfxterm.c (clear_char): New function.
14109 (grub_virtual_screen_setup): Use clear_char.
14110 (scroll_up): Likewise.
14111 (grub_virtual_screen_cls): Likewise.
14112
67bb323a 141132009-07-29 Felix Zielcke <fzielcke@z-51.de>
14114
14115 * util/deviceiter.c (get_acceleraid_disk_name): New static
14116 function.
14117 (grub_util_iterate_devices): Handle Accelraid devices.
14118 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14119
388a7c75 141202009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14121
14122 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14123 separator for the suggested gfxpayload string (';' collides with the
14124 parser and needs escaping).
14125
3bb7abcf 141262009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14129 Clear direction flag before jumping to OS.
14130 (grub_multiboot2_real_boot): Likewise.
14131
2ddd36d7 141322009-07-28 Felix Zielcke <fzielcke@z-51.de>
14133
14134 * util/i386/pc/grub-install: Fix parsing of --disk-module
14135 option.
14136
c521b62b 141372009-07-28 Felix Zielcke <fzielcke@z-51.de>
14138
14139 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14140 when embedding.
14141
880e0a0c 141422009-07-26 Felix Zielcke <fzielcke@z-51.de>
14143
14144 * util/grub-mkconfig.in (package_version): New variable.
14145 Use it do display the version.
14146
2366e356 141472009-07-25 Felix Zielcke <fzielcke@z-51.de>
14148
14149 * kern/file.c (grub_file_open): Revert to previous check with
14150 grub_errno.
14151
7ad8c80e 141522009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14155 from help line. It's out of sync with code.
14156
72b9658b 141572009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14160 entries on failed boot.
14161
77435277 141622009-07-25 Felix Zielcke <fzielcke@z-51.de>
14163
14164 * kern/file.c (grub_file_open): Fix an error check.
14165
fcaa8b21 141662009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14167
35d16c74 14168 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14169 partition map couldn't be identified.
fcaa8b21 14170
48904cd1 141712009-07-23 Pavel Roskin <proski@gnu.org>
14172
ef3c317f 14173 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14174 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14175 case of little endian words becomes just an optimization.
14176 Respect const modifier.
ad8ea1f4 14177 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 14178
48904cd1 14179 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14180 to avoid loss of upper bits if align is unsigned and shorter
14181 than addr.
14182
260c9a89 141832009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 UUID support for UFS
14186
14187 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14188 (grub_ufs_uuid): New function.
14189 (grub_ufs_fs): add .uuid
14190
f76ce889 141912009-07-21 Pavel Roskin <proski@gnu.org>
14192
14193 * kern/dl.c (grub_dl_check_header): Make static.
14194
6a6cbcaf 141952009-07-21 Felix Zielcke <fzielcke@z-51.de>
14196
14197 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14198 add drivemap for Vista. It breaks Windows 7.
14199
cffcddb2 142002009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14203 128 bytes
14204
1ef44b80 142052009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 Add BFS support
14208
14209 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14210 (grub_fstest_SOURCES): Likewise.
14211 (pkglib_MODULES): Add befs.mod.
14212 (befs_mod_SOURCES): New variable.
14213 (befs_mod_CFLAGS): Likewise.
14214 (befs_mod_LDFLAGS): Likewise.
14215 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14216 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14217 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14218 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14219 (grub_setup_SOURCES): Likewise.
14220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14222 (grub_setup_SOURCES): Likewise.
14223 * fs/befs.c: New file.
14224 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14225 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14226 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14227 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14228 (B_KEY_INDEX_ALIGN): New declaration.
14229 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14230 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14231 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14232 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14233 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14234 (grub_afs_mount) [MODE_BFS]: Likewise.
14235 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14236 (grub_afs_fs): Use GRUB_AFS_FSNAME
14237 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14238 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14239 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14240 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14241
4f253044 142422009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14243
14244 * util/getroot.c (find_root_device): Add support for MacOSX.
14245 * util/hostdisk.c: Likewise.
14246
57a55913 142472009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * font/font.c (find_glyph): Check whether a font is present to avoid
14250 segmentation fault.
75421ca9 14251
142522009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 14253
14254 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14255
e98cd0c2 142562009-07-20 Pavel Roskin <proski@gnu.org>
14257
14258 * configure.ac: Trim excessively wordy excuses.
14259
1d2d169a 142602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14261
14262 Add symlink, mtime and label support to AtheFS.
14263
14264 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14265 (grub_afs_iterate_dir): Handle symlinks.
14266 (grub_afs_open): Use grub_afs_read_symlink.
14267 (grub_afs_dir): Likewise.
14268 Pass mtime.
14269 (grub_afs_label): New function.
14270 (grub_afs_fs): Add grub_afs_label.
14271 (grub_afs_read_symlink): New function.
14272
186f3189 142732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 Fix AtheFS support.
14276
14277 * fs/afs.c: Fix comments style.
14278 (grub_afs_blockrun): Declare as packed.
14279 (grub_afs_datastream): Likewise.
14280 (grub_afs_bnode): Likewise.
14281 (grub_afs_btree): Likewise.
14282 (grub_afs_sblock): Likewise.
14283 Declare `name' as char.
14284 (grub_afs_inode): Declare as packed.
14285 Change void *vnode to grub_uint32_t unused.
14286 (grub_afs_iterate_dir): Check that key_size is positive.
14287 (grub_afs_mount): Don't read superblock twice.
75421ca9 14288 (grub_afs_dir): Don't free node in case of error,
186f3189 14289 grub_fshelp_find_file already handles this.
14290 (grub_afs_open): Likewise.
14291
5680109e 142922009-07-19 Pavel Roskin <proski@gnu.org>
14293
14294 * Makefile.in: Remove LIBLZO and enable_lzo.
14295 * conf/i386-pc.rmk: Remove lzo support.
14296 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14297 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14298 support.
14299 * kern/i386/pc/lzo1x.S: Remove.
14300 * kern/i386/pc/startup.S: Remove lzo support.
14301 * util/i386/pc/grub-mkimage.c: Likewise.
14302
ac70fa32 143032009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14306 * fs/xfs.c (grub_xfs_dir): Likewise.
14307 * fs/afs.c (grub_afs_dir): Likewise.
14308 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14309 (grub_iso9660_open): Likewise.
14310 * fs/jfs.c (grub_jfs_open): Likewise.
14311 * fs/ext2.c (grub_ext2_dir): Likewise.
14312 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14313 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 14314
eab58da2 143152009-07-16 Pavel Roskin <proski@gnu.org>
14316
d2838156 14317 * configure.ac: Never add "-c" to CFLAGS.
14318
55c70904 14319 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14320
43e6200c 14321 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14322 grub_cv_cc_efiemu should be used.
14323
ce7a733d 14324 * configure.ac: Typo fixes.
14325
eab58da2 14326 * kern/mm.c (grub_zalloc): New function.
14327 (grub_debug_zalloc): Likewise.
14328 * include/grub/mm.h: Declare grub_zalloc() and
14329 grub_debug_zalloc().
14330 * util/misc.c (grub_zalloc): New function.
14331 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14332 instead of grub_malloc(), remove unneeded initializations.
14333 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14334 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14335 * commands/parttool.c (grub_cmd_parttool): Likewise.
14336 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14337 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14338 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14339 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14340 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14341 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14342 (grub_cmd_efiemu_pnvram): Likewise.
14343 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14344 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14345 (grub_iso9660_iterate_dir): Likewise.
14346 * fs/jfs.c (grub_jfs_opendir): Likewise.
14347 * fs/ntfs.c (list_file): Likewise.
14348 (grub_ntfs_mount): Likewise.
14349 * kern/disk.c (grub_disk_open): Likewise.
14350 * kern/dl.c (grub_dl_load_core): Likewise.
14351 * kern/elf.c (grub_elf_file): Likewise.
14352 * kern/env.c (grub_env_context_open): Likewise.
14353 (grub_env_set): Likewise.
14354 (grub_env_set_data_slot): Likewise.
14355 * kern/file.c (grub_file_open): Likewise.
14356 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14357 * loader/i386/multiboot.c (grub_module): Likewise.
14358 * loader/xnu.c (grub_xnu_create_key): Likewise.
14359 (grub_xnu_create_value): Likewise.
14360 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14361 (read_config_file): Likewise.
14362 * normal/menu_entry.c (make_screen): Likewise.
14363 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14364 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14365 * script/sh/script.c (grub_script_parse): Likewise.
14366 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14367 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14368 * video/readers/png.c (grub_png_output_byte): Likewise.
14369 (grub_video_reader_png): Likewise.
14370
830afef7 143712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14372
14373 Enable all targets that can be built by default
14374
830afef7 14375 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14376 grub-mkfont and grub-fstest if they can be built
14377
ee293aee 143782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 Fix hang and segmentation fault in grub-emu-usb
14381
14382 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14383 * util/usb.c (grub_libusb_devices): likewise
14384 (grub_libusb_init): rename to ...
14385 (GRUB_MOD_INIT (libusb)):...this
14386 (grub_libusb_fini): rename to ..
14387 (GRUB_MOD_FINI (libusb)):...this
14388 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14389 * include/grub/disk.h (grub_raid_init): removed, it's useless
14390 (grub_raid_fini): likewise
14391 (grub_lvm_init): likewise
14392 (grub_lvm_fini): likewise
14393 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14394 by grub_init_all
14395
94414221 143962009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 Fix libusb
14399
14400 * Makefile.in (LIBUSB): new macro
14401 * genmk.rb (Utility/print_tail): new method
14402 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14403 (top level): call util.print_tail at the end.
14404
59ade63d 144052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 Make FreeBSD accept zpool.cache
14408
14409 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14410 type is /boot/zfs/zpool.cache
14411
a58da8c7 144122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 Fix 64-bit efiemu
14415
14416 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14417 correct wrong typedef
14418 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14419
20591577 144202009-07-15 Pavel Roskin <proski@gnu.org>
14421
560ca572 14422 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14423 * kern/disk.c (struct grub_disk_cache): Likewise.
14424
e8e8e4fd 14425 * commands/probe.c (options): Typo fix.
14426
fde24e10 14427 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14428 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14429 accordingly.
14430 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14431
379c54c1 14432 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14433 the end of "Error" to make the message more readable.
14434
7bd8f5bf 14435 * boot/i386/pc/boot.S (kernel_segment): Remove.
14436 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14437 for destination.
14438
40b132c5 14439 * boot/i386/pc/boot.S (boot_version): Remove.
14440 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14441 Remove.
14442
20591577 14443 * include/grub/i386/pc/boot.h: Sort all offsets.
14444 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14445 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14446 * boot/i386/pc/boot.S: Assert location of every offset listed in
14447 include/grub/i386/pc/boot.h.
14448
2df32b2c 144492009-07-13 Pavel Roskin <proski@gnu.org>
14450
44b5d879 14451 * include/grub/i386/coreboot/machine.h: Rename
14452 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14453 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14454 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14455
17dc3751 14456 * kern/dl.c: Force native word size to suppress warnings when
14457 compiling grub-emu.
14458
2df32b2c 14459 * kern/device.c (grub_device_iterate): Change struct part_ent to
14460 hold the name, not a pointer to it. Use one grub_malloc() per
14461 partition, not two. Free partition_name if grub_malloc() fails.
14462 Set ents to NULL only before grub_partition_iterate() is called.
14463
75c59f59 144642009-07-11 Bean <bean123ch@gmail.com>
14465
14466 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14467 childname.
14468
0ae1bf88 144692009-07-10 Bean <bean123ch@gmail.com>
144702009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14471
14472 * kern/ieee1275/openfw.c (grub_children_iterate)
14473 (grub_devalias_iterate): Fix size evaluation for property or path
14474 strings, which was broken since r2132.
14475
8279cade 144762009-07-07 Pavel Roskin <proski@gnu.org>
14477
7d8a52d3 14478 * commands/search.c (search_file): Merge into ...
14479 (search_fs): ... this. Accept search type as argument.
14480 (grub_cmd_search): Pass search type to search_fs().
14481
25f9a05a 14482 * include/grub/util/console.h: New file.
14483 * util/console.c: Use it instead of grub/machine/console.h.
14484 * util/grub-emu.c: Likewise.
14485
8279cade 14486 * lib/arg.c (find_long_option): Remove.
14487 (find_long): Add `len' argument, make `s' const char *.
14488 (grub_arg_parse): Parse long options in place, not in a
14489 temporary buffer.
14490
4a11b60f 144912009-07-06 Pavel Roskin <proski@gnu.org>
14492
99f68041 14493 * commands/search.c (search_fs): Fix potential NULL pointer
14494 dereference.
14495
4a11b60f 14496 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14497 function pointer.
14498
e110f4de 144992009-07-06 Daniel Mierswa <impulze@impulze.org>
14500
14501 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14502 comparison.
14503
46eeb6a2 145042009-07-05 Pavel Roskin <proski@gnu.org>
14505
bab74958 14506 * include/grub/i386/linux.h (struct linux_kernel_params):
14507 Restore padding3, it's still needed.
14508
46eeb6a2 14509 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14510 FreeBSD.
14511 * util/osdetect.lua: Likewise.
14512
b4a1dc79 145132009-07-05 Bean <bean123ch@gmail.com>
14514
14515 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14516
14517 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14518 (grub_lua_getenv): Likewise.
14519 (grub_lua_setenv): Likewise.
14520 (save_errno): New function.
14521 (push_result): Likewise.
14522 (grub_lua_enum_device): Likewise.
14523 (grub_lua_enum_file): Likewise.
14524 (grub_lua_file_open): Likewise.
14525 (grub_lua_file_close): Likewise.
14526 (grub_lua_file_seek): Likewise.
14527 (grub_lua_file_read): Likewise.
14528 (grub_lua_file_getline): Likewise.
14529 (grub_lua_file_getsize): Likewise.
14530 (grub_lua_file_getpos): Likewise.
14531 (grub_lua_file_eof): Likewise.
14532 (grub_lua_file_exist): Likewise.
14533 (grub_lua_add_menu): Likewise.
14534
14535 * script/lua/grub_lua.h (isupper): New inline function.
14536 (islower): Likewise.
14537 (ispunct): Likewise.
14538 (isxdigit): Likewise.
14539 (strcspn): Change to normal function.
14540 (strpbkr): New function declaration.
14541 (memchr): Likewise.
14542
14543 * script/lua/grub_main.c (scan_str): New function.
14544 (strcspn): Likewise.
14545 (strpbrk): Likewise.
14546 (memchr): Likewise.
14547
14548 * script/lua/linit.c (lualibs): Enable the string library.
14549
14550 * util/osdetect.lua: New file.
14551
2da92295 145522009-07-04 Robert Millan <rmh.grub@aybabtu.com>
14553
14554 * include/grub/i386/linux.h (struct linux_kernel_params): Add
14555 `capabilities' member.
14556
b2582ec9 145572009-07-02 Pavel Roskin <proski@gnu.org>
14558
14559 * genparttoollist.sh: Add missing newline at the end.
14560
32622956 145612009-07-01 Pavel Roskin <proski@gnu.org>
14562
87a7339e 14563 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
14564
d23af54e 14565 * util/hostdisk.c (open_device): Remove `const' from
14566 `sysctl_size', as sysctlbyname() can change it (in this case it
14567 doesn't actually happen).
14568
c94b18a9 14569 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
14570 using signed long int constants.
14571
c6cd3ef0 14572 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
14573 constant to avoid a warning on FreeBSD.
14574
0df63420 14575 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
14576 where it's needed.
14577
999577f1 14578 * Makefile.in: Install include/grub/machine symlink.
14579
6f41557f 14580 * Makefile.in: When installing symlinks, use "cp -fR", which
14581 works on FreeBSD and MacOSX.
14582 From Yves Blusseau <cl7m42e02@sneakemail.com>
14583
c8d22988 14584 * kern/dl.c (grub_dl_resolve_symbol): Make static.
14585 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
14586
1b96e952 14587 * util/misc.c: Move grub_reboot() and grub_halt() ...
14588 * util/grub-emu.c: ... here. Make main_env static.
14589 * include/grub/util/misc.h: Remove main_env.
14590
2ef0084d 14591 * kern/mm.c: Use correct format to print size_t.
14592
32622956 14593 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
14594 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
14595 * kern/powerpc/dl.c: Likewise.
14596 * kern/sparc64/dl.c: Likewise.
14597 * kern/x86_64/dl.c: Likewise.
14598
3f7f0cd0 145992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14600
14601 Fix grub-emu build on sparc64-ieee1275.
14602
75421ca9 14603 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 14604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
14605
211d06b5 146062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14607
14608 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
14609 (grub_reboot, grub_halt): New functions.
14610
14611 * util/i386/pc/misc.c: Delete. Update all users.
14612 * util/sparc64/ieee1275/misc.c: Likewise.
14613 * util/powerpc/ieee1275/misc.c: Likewise.
14614
aaf53e3c 146152009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14616
14617 * conf/i386.rmk (setjmp_mod_SOURCES)
14618 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
14619 * conf/common.rmk (setjmp_mod_SOURCES)
14620 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
14621 to use $(target_cpu).
14622 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
14623 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
14624 * conf/powerpc-ieee1275.rmk: Likewise.
14625 * conf/sparc64-ieee1275.rmk: Likewise.
14626
14627 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
14628 $(target_cpu) for kern/$(target_cpu)/dl.c.
14629 * conf/i386-efi.rmk: Likewise.
14630 * conf/i386-ieee1275.rmk: Likewise.
14631 * conf/x86_64-efi.rmk: Likewise.
14632 * conf/i386-coreboot.rmk: Likewise.
14633 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
14634 $(target_cpu) for kern/$(target_cpu)/dl.c and for
14635 kern/$(target_cpu)/cache.S.
14636 * conf/sparc64-ieee1275.rmk: Likewise.
14637
a337130b 146382009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14639
14640 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
14641 type to `grub_uint8_t', and adjust `padding9' accordingly.
14642
c6fe4d53 146432009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14644
b09db61d 14645 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
14646
c6fe4d53 14647 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
14648 assembly in final jump, using register constraints.
14649
b09db61d 14650 (grub_linux_boot): For text mode, initialize `have_vga' using
14651 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
14652
14653 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
14654 right before the final jump.
14655
14656 Set `video_mode' to 0x3.
14657
14658 Document initialization of `video_page', `video_mode' and
14659 `video_ega_bx'.
14660
28333ad0 146612009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14662
14663 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
14664 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 14665 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 14666
02164e1b 146672009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14668
14669 Fix build on Debian / sparc.
14670
14671 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
14672
18b6c557 146732009-06-28 Pavel Roskin <proski@gnu.org>
14674
85f2aab6 14675 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
14676 fix a warning.
14677
18b6c557 14678 * util/grub.d/10_linux.in: Match SUSE style initrd names.
14679
ad760f81 146802009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14681
14682 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
14683 `err'.
14684
87a4623b 146852009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14686
14687 Revert r2338.
14688
14689 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
14690 file can't be opened. grub_file_open() is already supposed to set
75421ca9 14691 grub_errno / grub_errmsg appropriately.
87a4623b 14692 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14693
8231fb77 146942009-06-27 Pavel Roskin <proski@gnu.org>
146952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14696
14697 * include/grub/dl.h: Include grub/elf.h.
14698 (struct grub_dl): Add symtab field.
14699 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
14700 GRUB_MODULES_MACHINE_READONLY.
14701 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
14702 of the header for read-only modules.
14703 (grub_dl_unload): Free mod->symtab for read-only modules.
14704 * kern/i386/dl.c: Use mod->symtab.
14705 * kern/powerpc/dl.c: Likewise.
14706 * kern/sparc64/dl.c: Likewise.
14707 * kern/x86_64/dl.c: Likewise.
14708
14709 * conf/i386-qemu.rmk: New file.
14710 * kern/i386/qemu/startup.S: Likewise.
14711 * kern/i386/qemu/mmap.c: Likewise.
14712 * boot/i386/qemu/boot.S: Likewise.
14713 * include/grub/i386/qemu/time.h: Likewise.
14714 * include/grub/i386/qemu/serial.h: Likewise.
14715 * include/grub/i386/qemu/kernel.h: Likewise.
14716 * include/grub/i386/qemu/console.h: Likewise.
14717 * include/grub/i386/qemu/boot.h: Likewise.
14718 * include/grub/i386/qemu/init.h: Likewise.
14719 * include/grub/i386/qemu/machine.h: Likewise.
14720 * include/grub/i386/qemu/loader.h: Likewise.
14721 * include/grub/i386/qemu/memory.h: Likewise.
14722
14723 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
14724 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
14725 [qemu] (pkglib_IMAGES): Add `boot.img'.
14726 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
14727 [qemu] (boot_img_FORMAT): New variables.
14728 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
14729 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
14730 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
14731 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14732 [qemu] (kernel_img_FORMAT): New variables.
14733
14734 * configure.ac: Recognise `i386-qemu'.
14735
14736 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
14737 (for no compression).
14738 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
14739 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
14740 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
14741 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
14742 ifdefs).
14743
97fe384e 147442009-06-27 Pavel Roskin <proski@gnu.org>
14745
14746 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
14747 read.
14748 * efiemu/prepare32.c: Likewise.
14749 * efiemu/prepare64.c: Likewise.
14750
c402ab17 147512009-06-26 Pavel Roskin <proski@gnu.org>
14752
14753 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
14754 * include/grub/elf.h: Define symbols without "32" or "64" based
14755 on GRUB_TARGET_WORDSIZE.
14756 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
14757 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
14758 ELF definitions.
14759 * efiemu/loadcore64.c: Likewise.
14760 * loader/i386/bsd32.c: Likewise.
14761 * loader/i386/bsd64.c: Likewise.
14762 * kern/dl.c: Remove own ELF definitions.
14763 * util/i386/efi/grub-mkimage.c: Likewise.
14764
9bbdfd4d 147652009-06-23 Robert Millan <rmh.grub@aybabtu.com>
14766
14767 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
14768 segment 0x0 unconditionally, because the reference generated by
14769 GAS is an absolute address.
14770
a42ce6e9 147712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14772
14773 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
14774 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
14775
c952cf92 147762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14777
14778 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
14779 indexes. Check for -f explicitly.
cc3752ad 14780 (search_file): Improve error message.
14781 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 14782
132a0a59 147832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14784
14785 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
14786 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
14787
387a140c 147882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14789
14790 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
14791 * conf/i386-ieee1275.rmk: Likewise.
14792 * conf/i386-coreboot.rmk: Likewise.
14793
14794 * kern/i386/pc/startup.S (grub_stop): Remove function.
14795 * kern/i386/ieee1275/startup.S: Likewise.
14796 * kern/i386/coreboot/startup.S: Likewise.
14797 * kern/i386/misc.S (grub_stop): New function.
14798
41da9665 147992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14800
14801 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
14802 * kern/i386/realmode.S (real_to_prot): ... to here.
14803
bf337234 148042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14805
14806 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
14807 with `kernel.img'.
14808 (kernel_elf_SOURCES): Rename to ...
14809 (kernel_img_SOURCES): ... this.
14810 (kernel_elf_HEADERS): Rename to ...
14811 (kernel_img_HEADERS): ... this. Update all users.
14812 (kernel_elf_ASFLAGS): Rename to ...
14813 (kernel_img_ASFLAGS): ... this.
14814 (kernel_elf_CFLAGS): Rename to ...
14815 (kernel_img_CFLAGS): ... this.
14816 (kernel_elf_LDFLAGS): Rename to ...
14817 (kernel_img_LDFLAGS): ... this.
14818 * conf/i386-coreboot.rmk: Likewise.
14819 * conf/powerpc-ieee1275.rmk: Likewise.
14820
14821 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
14822 with "kernel.img".
14823
f52196ff 148242009-06-21 Pavel Roskin <proski@gnu.org>
14825
c3cee413 14826 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
14827 to match nested functions.
14828 * loader/sparc64/ieee1275/linux.c: Likewise.
14829
f52196ff 14830 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
14831
58750afc 148322009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14833
14834 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
14835 all i386 platforms.
14836
15355c7d 148372009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14838
14839 Fix asm file handling on ELF, and remove workarounds.
14840
14841 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 14842 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 14843 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
14844 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
14845
3f3ec72b 148462009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 Load BSD ELF modules
14849
14850 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
14851 and loader/i386/bsd64.c
14852 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
14853 (FREEBSD_MODTYPE_ELF_MODULE): New definition
14854 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
14855 (grub_freebsd_load_elfmodule32): New declaration
14856 (grub_freebsd_load_elfmoduleobj64): Likewise
14857 (grub_freebsd_load_elf_meta32): Likewise
14858 (grub_freebsd_load_elf_meta64): Likewise
14859 (grub_freebsd_add_meta): Likewise
14860 (grub_freebsd_add_meta_module): Likewise
14861 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
14862 (grub_freebsd_add_meta_module): Likewise and move module-specific
14863 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
14864 (grub_cmd_freebsd): Add elf-kernel specific parts
14865 based on grub_freebsd_add_meta_module
14866 (grub_cmd_freebsd_module): Add type parsing moved from
14867 grub_freebsd_add_meta_module
14868 (grub_cmd_freebsd_module_elf): New function
14869 (cmd_freebsd_module_elf): New variable
14870 (GRUB_MOD_INIT): Register freebsd_module_elf
14871 * loader/i386/bsd32.c: New file
14872 * loader/i386/bsd64.c: Likewise
14873 * loader/i386/bsdXX.c: Likewise
14874 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
14875 (grub_elf64_load): Likewise
14876 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
14877 All users updated
14878 (grub_elf64_load_hook_t): Likewise
14879
0db15301 148802009-06-21 Colin Watson <cjwatson@ubuntu.com>
14881
14882 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
14883 variable.
14884 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
14885 don't write a menu entry for recovery mode.
14886
546796c1 148872009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14888
14889 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
14890 after it's no longer needed.
14891
cd7310d5 148922009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14893
14894 * include/grub/i386/loader.h (grub_linux_prot_size)
14895 (grub_linux_tmp_addr, grub_linux_real_addr)
14896 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
14897 GRUB_MACHINE_PCBIOS.
14898 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
14899 common grub_util_info() call to ...
14900 (generate_image): ... here.
14901 Fix use of uninitialized memory, comparison of signed with
14902 unsigned integers and memory leak.
14903 Remove bogus module address message.
14904
ab32d3b5 149052009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
14908 grub_raid_register
14909 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
14910
024ef597 149112009-06-19 Pavel Roskin <proski@gnu.org>
14912
14913 * configure.ac: Remove stray AC_MSG_CHECKING.
14914
3ac72b51 149152009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 14918
e14cd814 149192009-06-18 Pavel Roskin <proski@gnu.org>
14920
14921 * conf/common.rmk: Add fs_file.mod.
14922 * disk/fs_file.c: New file.
14923 * include/grub/disk.h (enum grub_disk_dev_id): Add
14924 GRUB_DISK_DEVICE_FILE_ID.
14925
26586d98 149262009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 Fix build with Apple's toolchain. Part 2
14929
14930 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
14931 a fake start
14932
26de2bcd 149332009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 Fix build with Apple's toolchain. Part 1
14936
14937 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
14938 for long calls
14939 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 14940 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 14941 Apple's toolchain
14942
09b3490b 149432009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 Fix warnings
14946
14947 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
14948 (decomp_block): initialize ch
14949 use grub_memcpy instead of memcpy
14950
c22a006a 149512009-06-17 Pavel Roskin <proski@gnu.org>
14952
d3638678 14953 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
14954 version, use declarations needed to use vga_text as the startup
14955 console.
14956
c22a006a 14957 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
14958 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
14959 the kernel.
14960 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
14961 and grub_at_keyboard_fini(), it's done on module load and
14962 unload.
14963
05b129e0 149642009-06-17 Felix Zielcke <fzielcke@z-51.de>
14965
14966 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
14967 file can't be found.
14968 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14969
cf24ed9e 149702009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 Fix newline handling
14973
14974 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 14975 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 14976 (grub_script_yylex): don't segfault on unterminated script
14977 newline terminates command and variable
14978
74aa8e4b 149792009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14980
14981 avoid double grub_adjust_range call. Bug reported by David Simner
14982
14983 * kern/disk.c (grub_disk_write): change to raw disk access before
14984 calling disk_read
14985
1bd265f3 149862009-06-17 Colin Watson <cjwatson@ubuntu.com>
14987
14988 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
14989 spaces, for the benefit of help2man.
14990 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14991
a2d08c06 149922009-06-16 Pavel Roskin <proski@gnu.org>
14993
14994 * kern/i386/halt.c: Include grub/machine/init.h.
14995 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
14996
b97bcb19 149972009-06-16 Felix Zielcke <fzielcke@z-51.de>
14998
14999 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15000 drivemap menuentry.
15001
0644f96c 150022009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15003
15004 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15005 `echo' command.
15006
3ef17a2e 150072009-06-16 Pavel Roskin <proski@gnu.org>
15008
15009 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15010 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15011 save %dx, we only need %dl and we never change it.
15012 * boot/i386/pc/cdboot.S: Don't set the root drive.
15013 * boot/i386/pc/pxeboot.S: Likewise.
15014 * include/grub/i386/pc/boot.h: Remove
15015 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
15016 GRUB_BOOT_MACHINE_DRIVE_CHECK.
15017 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
15018 * kern/i386/pc/init.c (make_install_device): Remove references
15019 to grub_root_drive.
15020 * kern/i386/pc/startup.S: Likewise.
15021 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
15022
693fe637 150232009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 xnu_uuid command
15026
15027 * commands/xnu_uuid.c: new file
15028 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
15029 (xnu_uuid_mod_SOURCES): new variable
15030 (xnu_uuid_mod_CFLAGS): likewise
15031 (xnu_uuid_mod_LDFLAGS): likewise
15032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15033 * conf/i386-ieee1275.rmk: likewise
15034 * conf/i386-pc.rmk: likewise
15035 * conf/powerpc-ieee1275.rmk: likewise
15036 * conf/sparc64-ieee1275.rmk: likewise
15037 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
15038
c9da87d0 150392009-06-16 Pavel Roskin <proski@gnu.org>
15040
15041 * configure.ac: Avoid '==' in test command, it's not portable.
15042
9c6f4596 150432009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15044
15045 Probe command
15046
15047 * commands/probe.c: new file
15048 * conf/common.rmk (pkglib_MODULES): add probe.mod
15049 (probe_mod_SOURCES): new variable
15050 (probe_mod_CFLAGS): likewise
15051 (probe_mod_LDFLAGS): likewise
15052 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15053 * conf/i386-ieee1275.rmk: likewise
15054 * conf/i386-pc.rmk: likewise
15055 * conf/powerpc-ieee1275.rmk: likewise
15056 * conf/sparc64-ieee1275.rmk: likewise
15057
70b7f9fd 150582009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 Fix handling of string like \"hello\" and "a
15061 b"
15062
15063 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15064 (grub_script_yylex): fix parsing of quoting, escaping and newline
15065
71c79a6b 150662009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15067
dd74360c 15068 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 15069 handling
dd74360c 15070
0644f96c 150712009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 15072
15073 * util/grub-mkconfig.in: Fix parsing of --output option.
15074
e40893c3 150752009-06-12 Pavel Roskin <proski@gnu.org>
15076
15077 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15078 genmk.rb don't need to be generated or installed.
15079
3a1acfe2 150802009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * commands/i386/pc/drivemap_int13h.S: add more comments
15083
3a4575d4 150842009-06-11 Pavel Roskin <proski@gnu.org>
15085
0658e928 15086 * Makefile.in (uninstall): Uninstall manuals.
15087
ca0388f0 15088 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15089 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15090 and update-grub_lib in two places.
15091 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15092
e3b27c39 15093 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15094 a compiler warning.
15095
3a4575d4 15096 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15097 `entry_lo' to fix variable shadowing.
15098
af1f4f55 150992009-06-11 Christian Franke <franke@computer.org>
15100
15101 * kern/misc.c (__enable_execute_stack): Add missing return type
15102 to prevent gcc warning.
15103
5225e649 151042009-06-11 Felix Zielcke <fzielcke@z-51.de>
15105
15106 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15107
7d83bd47 151082009-06-11 Pavel Roskin <proski@gnu.org>
15109
c1cb63ba 15110 * Makefile.in: Don't rely on any scripts being executable.
15111 Always use $(SHELL) to run shell scripts.
15112
7d83bd47 15113 * configure.ac: Always define ___main if using -nostdlib. This
15114 fixes tests on Cygwin.
15115
948f48e7 151162009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15117
15118 UDF fix
15119
7d83bd47 15120 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15121 is in bytes and not in blocks
7d83bd47 15122
8ada9bc1 151232009-06-11 Pavel Roskin <proski@gnu.org>
15124
15125 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15126 warning.
15127
25ad2323 151282009-06-11 Felix Zielcke <fzielcke@z-51.de>
15129
15130 * util/grub.d/30_os-prober.in: Fix a comment. Source
15131 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15132 to set the root device. Place drivemap command in the generated
15133 chain entry.
15134
e65acb0c 151352009-06-11 Pavel Roskin <proski@gnu.org>
15136
15137 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15138 have long been resolved.
15139
f285fe2d 151402009-06-11 Colin Watson <cjwatson@ubuntu.com>
15141
bd47b0b5 15142 * util/grub.d/10_linux.in: Capitalise "Linux".
15143
f285fe2d 15144 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15145
a0c62e4e 151462009-06-11 Pavel Roskin <proski@gnu.org>
15147
b6783cb2 15148 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15149 fix a gcc warning and ensure that the function won't ever exit.
15150
dde032e8 15151 * kern/i386/ieee1275/init.c: Add missing prototype for
15152 grub_stop_floppy().
15153
22cd079d 15154 * loader/ieee1275/multiboot2.c [__i386__]: Include
15155 grub/cpu/multiboot.h.
15156
a0c62e4e 15157 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15158 casts to short - they are not portable and cause warnings. Fix
15159 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15160
63963d17 151612009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 Drivemap fixes
15164
15165 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15166 new function
15167 (grub_get_root_biosnumber_saved): new variable
15168 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15169 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 15170 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 15171 %dx after the call if necessary
15172 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15173 (boot_mod_SOURCES): remove
15174 (boot_mod_CFLAGS): remove
15175 (boot_mod_LDFLAGS): remove
15176 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15177 (boot_mod_SOURCES): new variable
15178 (boot_mod_CFLAGS): likewise
15179 (boot_mod_LDFLAGS): likewise
15180 * conf/i386-efi.rmk: likewise
15181 * conf/i386-ieee1275.rmk: likewise
15182 * conf/i386-pc.rmk: likewise
15183 * conf/powerpc-ieee1275.rmk: likewise
15184 * conf/sparc64-ieee1275.rmk: likewise
15185 * conf/x86_64-efi.rmk: likewise
15186 * include/grub/i386/pc/biosnum.h: new file
15187 * lib/i386/pc/biosnum.c: likewise
15188 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15189 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15190 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 15191
33abf7ae 151922009-06-10 Pavel Roskin <proski@gnu.org>
15193
5ac35b35 15194 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15195 Use separate variables. Read only the file size at the end, but
15196 not the checksum that we don't use.
15197
5c5215d5 15198 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15199 Adjust all callers.
15200
27d5fef7 15201 * kern/ieee1275/openfw.c: Remove libc includes.
15202 * kern/ieee1275/cmain.c: Likewise.
15203 * include/grub/ieee1275/ieee1275.h: Likewise.
15204
33abf7ae 15205 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15206 compiler warnings.
15207
19d50c2b 152082009-06-10 Felix Zielcke <fzielcke@z-51.de>
15209
15210 * Makefile.in: Remove all trailing whitespace.
15211 * conf/i386-pc.rmk: Likewise.
15212 * conf/powerpc-ieee1275.rmk: Likewise.
15213 * conf/sparc64-ieee1275.rmk: Likewise.
15214 * docs/grub.texi: Likewise.
15215 * docs/texinfo.tex: Likewise.
15216 * disk/fs_uuid.c: Likewise.
15217 * disk/lvm.c: Likewise.
15218 * disk/scsi.c: Likewise.
15219 * disk/ata.c: Likewise.
15220 * disk/ieee1275/ofdisk.c: Likewise.
15221 * disk/i386/pc/biosdisk.c: Likewise.
15222 * disk/host.c: Likewise.
15223 * disk/raid.c: Likewise.
15224 * disk/efi/efidisk.c: Likewise.
15225 * disk/usbms.c: Likewise.
15226 * disk/memdisk.c: Likewise.
15227 * disk/loopback.c: Likewise.
15228 * kern/powerpc/dl.c: Likewise.
15229 * kern/device.c: Likewise.
15230 * kern/dl.c: Likewise.
15231 * kern/sparc64/dl.c: Likewise.
15232 * kern/ieee1275/ieee1275.c: Likewise.
15233 * kern/term.c: Likewise.
15234 * kern/fs.c: Likewise.
15235 * kern/i386/dl.c: Likewise.
15236 * kern/i386/pc/startup.S: Likewise.
15237 * kern/i386/pc/init.c: Likewise.
15238 * kern/i386/pc/mmap.c: Likewise.
15239 * kern/i386/pc/lzo1x.S: Likewise.
15240 * kern/i386/ieee1275/init.c: Likewise.
15241 * kern/i386/realmode.S: Likewise.
15242 * kern/i386/tsc.c: Likewise.
15243 * kern/partition.c: Likewise.
15244 * kern/corecmd.c: Likewise.
15245 * kern/file.c: Likewise.
15246 * kern/efi/efi.c: Likewise.
15247 * kern/efi/init.c: Likewise.
15248 * kern/efi/mm.c: Likewise.
15249 * kern/main.c: Likewise.
15250 * kern/err.c: Likewise.
15251 * kern/env.c: Likewise.
15252 * kern/disk.c: Likewise.
15253 * kern/generic/millisleep.c: Likewise.
15254 * kern/generic/rtc_get_time_ms.c: Likewise.
15255 * kern/misc.c: Likewise.
15256 * kern/parser.c: Likewise.
15257 * genmk.rb: Likewise.
15258 * configure.ac: Likewise.
15259 * boot/i386/pc/diskboot.S: Likewise.
15260 * boot/i386/pc/pxeboot.S: Likewise.
15261 * boot/i386/pc/boot.S: Likewise.
15262 * boot/i386/pc/lnxboot.S: Likewise.
15263 * boot/i386/pc/cdboot.S: Likewise.
15264 * parttool/pcpart.c: Likewise.
15265 * video/readers/tga.c: Likewise.
15266 * video/video.c: Likewise.
15267 * video/bitmap.c: Likewise.
15268 * lib/envblk.c: Likewise.
15269 * lib/i386/setjmp.S: Likewise.
15270 * fs/xfs.c: Likewise.
15271 * fs/afs.c: Likewise.
15272 * fs/fat.c: Likewise.
15273 * fs/ntfs.c: Likewise.
15274 * fs/udf.c: Likewise.
15275 * fs/affs.c: Likewise.
15276 * fs/iso9660.c: Likewise.
15277 * fs/hfs.c: Likewise.
15278 * fs/fshelp.c: Likewise.
15279 * fs/ext2.c: Likewise.
15280 * fs/jfs.c: Likewise.
15281 * fs/reiserfs.c: Likewise.
15282 * fs/hfsplus.c: Likewise.
15283 * fs/minix.c: Likewise.
15284 * fs/cpio.c: Likewise.
15285 * fs/sfs.c: Likewise.
15286 * fs/ufs.c: Likewise.
15287 * efiemu/prepare.c: Likewise.
15288 * efiemu/loadcore_common.c: Likewise.
15289 * efiemu/runtime/efiemu.sh: Likewise.
15290 * efiemu/runtime/efiemu.S: Likewise.
15291 * efiemu/runtime/efiemu.c: Likewise.
15292 * efiemu/pnvram.c: Likewise.
15293 * efiemu/main.c: Likewise.
15294 * efiemu/i386/pc/cfgtables.c: Likewise.
15295 * efiemu/i386/loadcore64.c: Likewise.
15296 * efiemu/i386/loadcore32.c: Likewise.
15297 * efiemu/loadcore.c: Likewise.
15298 * efiemu/symbols.c: Likewise.
15299 * efiemu/mm.c: Likewise.
15300 * include/grub/autoefi.h: Likewise.
15301 * include/grub/datetime.h: Likewise.
15302 * include/grub/term.h: Likewise.
15303 * include/grub/hfs.h: Likewise.
15304 * include/grub/lvm.h: Likewise.
15305 * include/grub/i386/tsc.h: Likewise.
15306 * include/grub/i386/linux.h: Likewise.
15307 * include/grub/i386/xnu.h: Likewise.
15308 * include/grub/i386/efiemu.h: Likewise.
15309 * include/grub/i386/pc/biosdisk.h: Likewise.
15310 * include/grub/i386/pc/memory.h: Likewise.
15311 * include/grub/i386/pc/vbe.h: Likewise.
15312 * include/grub/parttool.h: Likewise.
15313 * include/grub/video.h: Likewise.
15314 * include/grub/memory.h: Likewise.
15315 * include/grub/fs.h: Likewise.
15316 * include/grub/partition.h: Likewise.
15317 * include/grub/xnu.h: Likewise.
15318 * include/grub/efi/api.h: Likewise.
15319 * include/grub/efi/pe32.h: Likewise.
15320 * include/grub/efi/memory.h: Likewise.
15321 * include/grub/multiboot.h: Likewise.
15322 * include/grub/usbdesc.h: Likewise.
15323 * include/grub/multiboot2.h: Likewise.
15324 * include/grub/acpi.h: Likewise.
15325 * include/grub/efiemu/efiemu.h: Likewise.
15326 * include/grub/disk.h: Likewise.
15327 * include/grub/ieee1275/ieee1275.h: Likewise.
15328 * include/grub/net.h: Likewise.
15329 * include/grub/machoload.h: Likewise.
15330 * include/grub/macho.h: Likewise.
15331 * include/multiboot.h: Likewise.
15332 * genmoddep.awk: Likewise.
15333 * normal/main.c: Likewise.
15334 * normal/menu_entry.c: Likewise.
15335 * normal/menu_viewer.c: Likewise.
15336 * normal/completion.c: Likewise.
15337 * normal/cmdline.c: Likewise.
15338 * normal/misc.c: Likewise.
15339 * normal/datetime.c: Likewise.
15340 * bus/usb/usbtrans.c: Likewise.
15341 * bus/usb/ohci.c: Likewise.
15342 * bus/usb/uhci.c: Likewise.
15343 * bus/usb/usb.c: Likewise.
15344 * mmap/efi/mmap.c: Likewise.
15345 * mmap/i386/pc/mmap_helper.S: Likewise.
15346 * mmap/i386/pc/mmap.c: Likewise.
15347 * mmap/i386/mmap.c: Likewise.
15348 * mmap/i386/uppermem.c: Likewise.
15349 * mmap/mmap.c: Likewise.
15350 * commands/acpi.c: Likewise.
15351 * commands/echo.c: Likewise.
15352 * commands/blocklist.c: Likewise.
15353 * commands/loadenv.c: Likewise.
15354 * commands/usbtest.c: Likewise.
15355 * commands/boot.c: Likewise.
15356 * commands/parttool.c: Likewise.
15357 * commands/search.c: Likewise.
15358 * commands/cat.c: Likewise.
15359 * commands/i386/pc/play.c: Likewise.
15360 * commands/i386/pc/drivemap.c: Likewise.
15361 * commands/i386/pc/vbeinfo.c: Likewise.
15362 * commands/i386/pc/acpi.c: Likewise.
15363 * commands/i386/pc/vbetest.c: Likewise.
15364 * commands/ls.c: Likewise.
15365 * commands/cmp.c: Likewise.
15366 * commands/test.c: Likewise.
15367 * commands/efi/acpi.c: Likewise.
15368 * commands/gptsync.c: Likewise.
15369 * commands/help.c: Likewise.
15370 * partmap/amiga.c: Likewise.
15371 * partmap/apple.c: Likewise.
15372 * partmap/acorn.c: Likewise.
15373 * partmap/pc.c: Likewise.
15374 * partmap/sun.c: Likewise.
15375 * partmap/gpt.c: Likewise.
15376 * script/sh/lexer.c: Likewise.
15377 * script/sh/function.c: Likewise.
15378 * font/font.c: Likewise.
15379 * font/font_cmd.c: Likewise.
15380 * loader/powerpc/ieee1275/linux.c: Likewise.
15381 * loader/efi/chainloader.c: Likewise.
15382 * loader/multiboot_loader.c: Likewise.
15383 * loader/macho.c: Likewise.
15384 * loader/i386/multiboot.c: Likewise.
15385 * loader/i386/linux.c: Likewise.
15386 * loader/i386/pc/linux.c: Likewise.
15387 * loader/i386/pc/multiboot2.c: Likewise.
15388 * loader/i386/pc/chainloader.c: Likewise.
15389 * loader/i386/pc/xnu.c: Likewise.
15390 * loader/i386/bsd_trampoline.S: Likewise.
15391 * loader/i386/efi/linux.c: Likewise.
15392 * loader/i386/multiboot_elfxx.c: Likewise.
15393 * loader/i386/bsd_helper.S: Likewise.
15394 * loader/i386/bsd.c: Likewise.
15395 * loader/i386/linux_trampoline.S: Likewise.
15396 * loader/i386/xnu_helper.S: Likewise.
15397 * loader/i386/xnu.c: Likewise.
15398 * loader/i386/bsd_pagetable.c: Likewise.
15399 * loader/i386/multiboot_helper.S: Likewise.
15400 * loader/xnu.c: Likewise.
15401 * loader/xnu_resume.c: Likewise.
15402 * io/gzio.c: Likewise.
15403 * term/efi/console.c: Likewise.
15404 * term/terminfo.c: Likewise.
15405 * term/ieee1275/ofconsole.c: Likewise.
15406 * term/i386/pc/serial.c: Likewise.
15407 * term/i386/pc/vesafb.c: Likewise.
15408 * term/i386/pc/vga.c: Likewise.
15409 * term/usb_keyboard.c: Likewise.
15410 * term/gfxterm.c: Likewise.
15411 * aclocal.m4: Likewise.
15412 * util/lvm.c: Likewise.
15413 * util/grub.d/30_os-prober.in: Likewise.
15414 * util/grub.d/10_hurd.in: Likewise.
15415 * util/console.c: Likewise.
15416 * util/grub-macho2img.c: Likewise.
15417 * util/grub-probe.c: Likewise.
15418 * util/hostfs.c: Likewise.
15419 * util/i386/pc/grub-mkimage.c: Likewise.
15420 * util/i386/pc/grub-setup.c: Likewise.
15421 * util/i386/efi/grub-mkimage.c: Likewise.
15422 * util/grub-mkconfig.in: Likewise.
15423 * util/raid.c: Likewise.
15424 * util/resolve.c: Likewise.
15425 * util/grub-mkdevicemap.c: Likewise.
15426 * util/grub-emu.c: Likewise.
15427 * util/getroot.c: Likewise.
15428 * util/hostdisk.c: Likewise.
15429 * util/usb.c: Likewise.
15430 * util/grub-editenv.c: Likewise.
15431 * util/misc.c: Likewise.
15432
d2d49665 154332009-06-10 Felix Zielcke <fzielcke@z-51.de>
15434
15435 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15436 `genparttoollist.sh'.
15437 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15438 Add `*.sh' to the list find searches for and change `mdate.sh'
15439 to `mdate-sh'.
15440
fe052e37 154412009-06-10 Pavel Roskin <proski@gnu.org>
15442
2763ac18 15443 * include/grub/multiboot2.h: Provide compatibility defines for
15444 multiboot2.h.
15445 * include/multiboot2.h: Include stdint.h only if needed, using
15446 angle brackets.
15447 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15448 grub/multiboot2.h.
15449 * loader/ieee1275/multiboot2.c: Likewise.
15450 * loader/multiboot2.c: Likewise.
15451 * loader/multiboot_loader.c: Likewise.
15452
437e6adc 15453 * configure.ac: Use -nostdlib when probing for the target. It
15454 should not be required to have libc for the target.
15455
06a6836c 15456 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15457 they fail without libc headers for the target.
15458 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15459 exports.
15460 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15461 preprocessor conditionals.
15462
fe052e37 15463 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15464 build system doesn't need to be aware of the tar.c internals.
15465
afd22553 154662009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 15467
afd22553 15468 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 15469
6b787c4f 154702009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15471
15472 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15473 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15474
154752009-06-09 Felix Zielcke <fzielcke@z-51.de>
15476
15477 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 15478 aren't available if ata.mod gets used.
6b787c4f 15479
473d1e45 154802009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 15481
473d1e45 15482 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 15483 initialising controller.
473d1e45 15484 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 15485
255a27d4 154862009-06-08 Felix Zielcke <fzielcke@z-51.de>
15487
15488 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15489 to choose between ata and biosdisk module on i386-pc.
15490
473d1e45 154912009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 15492
d55842d8 15493 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15494 Subclass and Programming Interface fields in terms of the 3 byte
15495 Class Code register.
15496 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15497
fa5db0b1 15498 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15499 interface is OHCI. Add grub_dprintf for symmetry with
15500 bus/usb/uhci.c.
15501 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15502 interface is UHCI. Add interf variable for programming
15503 interface. Print interface with class/subclass.
15504
c0947beb 15505 * bus/usb/ohci.c: Set interf with correct field.
15506
69da8877 15507 * bus/usb/uhci.c: Remove unneeded doubled lines.
15508 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15509 Remove whitespace inside comment.
15510
9e172e30 155112009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15512
15513 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15514 as fallback an equivalent option without depth.
15515
de65ee2b 155162009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 Not fail if unable to retrieve C/H/S on LBA disks
15519
473d1e45 15520 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 15521 if unable to retrieve C/H/S on LBA disks
15522
b57ea2c9 155232009-06-08 Pavel Roskin <proski@gnu.org>
15524
15525 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15526 about aliasing.
15527
af361263 155282009-06-08 Felix Zielcke <fzielcke@z-51.de>
15529
15530 * Makefile.in (uninstall): Remove all $lib_DATA files.
15531
4c9ec6b3 155322009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 Bugfix: install on partitionless device
15535
15536 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15537 is a whole disk
15538
e76fc924 155392009-06-08 Felix Zielcke <fzielcke@z-51.de>
15540
15541 * Makefile.in (uninstall): Remove all $include_DATA files.
15542
ba5a0d05 155432009-06-08 Felix Zielcke <fzielcke@z-51.de>
15544
15545 * commands/true.c: New file. Implement the true and false commands.
15546 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
15547 (true_mod_SOURCES): New variable.
15548 (true_mod_CFLAGS): Likewise.
15549 (true_mod_LDFLAGS): Likewise.
15550
c8048e32 155512009-06-05 Colin D Bennett <colin@gibibit.com>
15552
15553 Optimized font character lookup using binary search instead of linear
15554 search. Fonts now are required to have the character index ordered by
15555 code point.
15556
15557 * font/font.c (load_font_index): Verify that fonts have ordered
15558 character indices.
15559 (find_glyph): Use binary search instead of linear search to find a
15560 character in a font.
15561
408305be 155622009-06-05 Michael Scherer <misc@mandriva.org>
15563
15564 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
15565 uses case sensitive btree.
15566 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
15567 only for case insensitive filesystems.
15568
8ee1e0d9 155692009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
15572 * conf/common.rmk (search_mod_CFLAGS): likewise
15573
a9966eb1 155742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15575
473d1e45 15576 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 15577 compensate a compiler bug
15578
9e7100fb 155792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15580
473d1e45 15581 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 15582 instead of '\b'
473d1e45 15583
ede21d71 155842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 Definitions for creating asm symbols with Apple's CC
15587
15588 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
15589 [APPLE_CC] (VARIABLE): likewise
15590
9dbf7653 155912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 Disable lnxboot.img when compiled
15594 with Apple's CC
15595
15596 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
15597 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
15598 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
15599 [! APPLE_CC] (CODE_LENG): skip
15600 [! APPLE_CC] (setup_sects): likewise
15601 [! APPLE_CC]: skip filling
473d1e45 15602
e93cdc3d 156032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 Address in trampolines based on 32-bit registers when compiled
15606 with Apple's CC
15607
473d1e45 15608 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 15609 for addresses
15610 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
15611
6c688477 156122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 Avoid aliases when compiling with Apple's CC for PCBIOS machine
15615
15616 * kern/misc.c [APPLE_CC] (memcpy): new function
15617 [APPLE_CC] (memmove): likewise
15618 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 15619 (memcpy): define alias conditionally on !APPLE_CC
6c688477 15620 (memset): likewise
15621 (abort): likewise
15622 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
15623 APPLE_CC are defined
15624 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
15625 (grub_assert_fail): make prototype conditional
15626
e37ffc5c 156272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
15630
473d1e45 15631 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
15632 grub-macho2img
e37ffc5c 15633 (CLEANFILES): add grub-macho2img
15634 (grub_macho2img_SOURCES): new variable
15635 * kern/i386/pc/startup.S (bss_start): new variable
15636 (bss_end): likewise
15637 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
15638 * util/grub-macho2img.c: new file
15639
cf00df31 156402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Use objconv when compiling with Apple's CC
15643
15644 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
15645 (efiemu64.o): likewise
15646 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
15647 when compiling with Apple's CC
15648 (efiemu64_s.o): likewise
15649 * configure.ac: check for objconv when compiling with Apple's CC
15650 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 15651
d119a20c 156522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 Define segment as well as section when compiling with
15655 Apple's CC
15656
15657 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
15658 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
15659 (efiemu_convert_pointer): likewise
15660 (efiemu_set_virtual_address_map): likewise
15661 (efiemu_convert_pointer): likewise
15662 (efiemu_getcrc32): likewise
15663 (init_crc32_table): likewise
15664 (reflect): likewise
15665 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
15666 (GRUB_MOD_DEP): likewise
473d1e45 15667
c8600122 156682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 Allow a compilation without -mcmodel=large
15671
15672 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
15673 when compiled without -mcmodel=large
473d1e45 15674 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 15675 without -mcmodel=large
473d1e45 15676 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 15677 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 15678
e8df1d4e 156792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 Remove nested functions in efiemu core
15682
15683 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 15684
cc6c3ac1 156852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
15688
15689 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
15690 temporary storage
473d1e45 15691 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
15692 using Apple's CC
cc6c3ac1 15693 (grub_cpu_is_tsc_supported): likewise
15694 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 15695
3e325901 156962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 Absolute addressing through constant with Apple's cc
15699
15700 * kern/i386/pc/startup.S: Define necessary constants
15701 and address through it when using ABS with Apple's CC
15702 * boot/i386/pc/diskboot.S: likewise
15703 * boot/i386/pc/boot.S: likewise
15704 * boot/i386/pc/lnxboot.S: likewise
15705 * boot/i386/pc/cdboot.S: likewise
15706 * mmap/i386/pc/mmap_helper.S: likewise
15707 * commands/i386/pc/drivemap_int13h.S: likewise
15708
2b167a72 157092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 Check if compiler is apple cc
15712
15713 * Makefile.in (ASFLAGS): new variable
15714 (TARGET_ASFLAGS): likewise
15715 (TARGET_MODULE_FORMAT): likewise
15716 (TARGET_APPLE_CC): likewise
15717 (OBJCONV): likewise
15718 (TARGET_IMG_CFLAGS): likewise
15719 (TARGET_CPPFLAGS): add includedir
15720 * configure.ac: call grub_apple_cc and grub_apple_target_cc
15721 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
15722 Check for linker script only if compiler isn't Apple's CC
15723 (TARGET_MODULE_FORMAT): set
15724 (TARGET_APPLE_CC): likewise
15725 (TARGET_ASFLAGS): likewise
15726 (ASFLAGS): likewise
15727 Check for objcopy only if compiler isn't Apple's CC
15728 Check for BSS symbol only if compiler isn't Apple's CC
15729 * genmk.rb: adapt nm options if we use Apple's utils
15730 * aclocal.m4 (grub_apple_cc): new test
15731 (grub_apple_target_cc): likewise
473d1e45 15732
fb14123e 157332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15734
15735 Simplify sed expressions and improve awk
15736
15737 * Makefile.in (install-local): simplify sed expression
15738 * gencmdlist.sh: likewise
15739 * genmoddep.awk: avoid adding module as a dependency of itself
15740
5b889789 157412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 Add missing start symbols
15744
15745 * boot/i386/pc/boot.S: add start
fb14123e 15746 * boot/i386/pc/pxeboot.S: likewise
473d1e45 15747
fd2bf2e3 157482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 15751
15752 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 15753 (relocate_addresses): consider both r_addend and value at offset
15754 (make_mods_section): zerofill modinfo and header
15755 (convert_elf): write prefix here
473d1e45 15756
5389763d 157572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 Use .asciz instead of .string
15760
15761 * i386/pc/diskboot.S: use .asciz instead of .string
15762 * i386/pc/boot.S: likewise
15763 * include/grub/dl.h (GRUB_MOD_DEP): likewise
15764 (GRUB_MOD_NAME): likewise
473d1e45 15765
3eb5ed4e 157662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 gfxpayload support
15769
15770 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
15771 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
15772 (grub_video_setup): remove
15773 (grub_video_set_mode): new prototype
15774 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
15775 (vid_mode): remove
15776 (linux_vesafb_res): compile only on PCBIOS
15777 (grub_linux_boot): support gfxpayload
15778 * loader/i386/pc/xnu.c (video_hook): new function
15779 (grub_xnu_set_video): support gfxpayload
15780 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
15781 (DEFAULT_VIDEO_HEIGHT): likewise
15782 (DEFAULT_VIDEO_FLAGS): likewise
15783 (DEFAULT_VIDEO_MODE): new definition
15784 (video_hook): new function
15785 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 15786 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 15787 loading xnu
15788 * video/video.c (grub_video_setup): removed
473d1e45 15789 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 15790 grub_video_setup
15791
4b0e1143 157922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 Avoid calling biosdisk in drivemap
15795
15796 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
15797 (revparse_biosdisk): likewise
15798 (list_mappings): derive name from id directly
15799 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 15800
fda6cb98 158012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 Script fixes
15804
15805 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
15806 (grub_lexer_param): add tokenonhold
15807 (grub_script_create_cmdline): remove cmdline. All callers updated
15808 (grub_script_function_create): make functionname
15809 grub_script_arg. All callers updated
15810 (grub_script_execute_argument_to_string): new prototype
15811 * kern/parser.c (state_transitions): reorder
15812 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 15813 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 15814 make global
15815 (grub_script_execute_cmdline): use new format
15816 * script/sh/function.c (grub_script_function_create): make functionname
15817 grub_script_arg. All callers updated
473d1e45 15818 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 15819 (grub_script_yylex): remove
15820 (grub_script_yylex2): renamed to ...
15821 (grub_script_yylex): ...renamed
15822 parse the expressions like a${b}c
15823 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
15824 (GRUB_PARSER_TOKEN_VAR): remove
15825 (GRUB_PARSER_TOKEN_NAME): likewise
15826 ("if"): declare as typeless
15827 ("while"): likewise
15828 ("function"): likewise
15829 ("else"): likewise
15830 ("then"): likewise
15831 ("fi"): likewise
15832 (text): remove
15833 (argument): likewise
15834 (script): accept empty scripts and make exit on error
15835 (arguments): use GRUB_PARSER_TOKEN_ARG
15836 (function): likewise
15837 (command): move error handling to script
15838 (menuentry): move grub_script_lexer_ref before
473d1e45 15839 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 15840 argument. All callers updated
15841
f4448a07 158422009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15843
15844 Prevent GRUB from probing floppies during boot.
15845
15846 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
15847 * commands/search.c (options): Add --no-floppy.
15848 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
15849 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
15850 --no-floppy when searching for UUIDs.
15851
2bf5885a 158522009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15853
15854 Simplify the code duplication in commands/search.c.
15855
15856 * commands/search.c (search_label, search_fs_uuid): Merge into ...
15857 (search_fs): ... this. Update all users.
15858
f6fd460a 158592009-06-03 Felix Zielcke <fzielcke@z-51.de>
15860
15861 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
15862
cbb3c83e 158632009-05-28 Pavel Roskin <proski@gnu.org>
15864
57788cfd 15865 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
15866 Remove the original symlink explicitly.
15867
cbb3c83e 15868 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
15869 just one slash. That's how grub_fshelp_find_file() does it.
15870
cd0d5e30 158712009-05-26 Pavel Roskin <proski@gnu.org>
15872
f0f8bbe2 15873 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
15874 to `str'.
15875
cd0d5e30 15876 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
15877 possibly unused.
15878
8c2cab51 158792009-05-25 Christian Franke <franke@computer.org>
15880
15881 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
15882 register.
15883 (grub_atapi_identify): Add wait after drive select.
15884 (grub_ata_identify): Do more strict status register check before
15885 calling grub_atapi_identify (). Suppress error message if status
15886 register is 0x00 after command failure. Add status register
15887 check after PIO read to avoid bogus identify due to stuck DRQ.
15888 Thanks to Pavel Roskin for testing.
15889 (grub_device_initialize): Remove unsafe status register check.
15890 Thanks to 'phcoder' for problem report and patch.
15891 Prevent sign extension in debug message.
15892
230c0ad6 158932009-05-23 Colin D Bennett <colin@gibibit.com>
15894
15895 Cleaned up `include/grub/normal.h'. Grouped prototypes by
15896 definition file, and functions defined in `normal/menu.c' have had
15897 their prototypes moved to `include/grub/menu.h' for consistency.
15898
15899 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
15900 from normal.h.
15901 (grub_menu_get_entry): Likewise.
15902 (grub_menu_get_timeout): Likewise.
15903 (grub_menu_set_timeout): Likewise.
15904 (grub_menu_execute_entry): Likewise.
15905 (grub_menu_execute_with_fallback): Likewise.
15906 (grub_menu_entry_run): Likewise.
15907
15908 * include/grub/normal.h: Re-ordered and grouped function
15909 prototypes by file that the function is defined in.
15910 (grub_menu_execute_callback): Removed; moved to menu.h.
15911 (grub_menu_get_entry): Likewise.
15912 (grub_menu_get_timeout): Likewise.
15913 (grub_menu_set_timeout): Likewise.
15914 (grub_menu_execute_entry): Likewise.
15915 (grub_menu_execute_with_fallback): Likewise.
15916 (grub_menu_entry_run): Likewise.
15917 (grub_menu_addentry): Renamed from this ...
15918 (grub_normal_add_menu_entry): ... to this.
15919
15920 * normal/main.c (grub_menu_addentry): Renamed from this ...
15921 (grub_normal_add_menu_entry): ... to this.
15922
15923 * script/sh/execute.c (grub_script_execute_menuentry): Update
15924 reference to renamed grub_menu_addentry function.
15925
861f03a5 159262009-05-23 Felix Zielcke <fzielcke@z-51.de>
15927
15928 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
15929
96b1619a 159302009-05-22 Pavel Roskin <proski@gnu.org>
15931
bf6a5fb2 15932 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
15933 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
15934 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
15935 compiling for the i386 targets, but not for the utilities.
15936
96b1619a 15937 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
15938 to grub_uint8_t.
15939 (grub_root_drive): Likewise.
15940 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
15941 remove alignment.
15942 (grub_root_drive): Change size to byte.
15943 (grub_start_addr): Remove.
15944 (grub_end_addr): Likewise.
15945 (grub_apm_bios_info): Likewise.
15946
b729776b 159472009-05-21 Felix Zielcke <fzielcke@z-51.de>
15948
15949 * normal/i386: Remove.
15950 * normal/powerpc: Likewise.
15951 * normal/sparc64: Likewise.
15952 * normal/x86_64: Likewise.
15953
0a15ce80 159542009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 15957 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 15958 * loader/i386/xnu_helper.S: Likewise
d6da58e6 15959
33db9015 159602009-05-18 Colin D Bennett <colin@gibibit.com>
15961
d6da58e6 15962 Display error messages when parsing a Lua statement fails.
15963 Previously, executing a syntactically invalid statement like
15964 ")foo" or "bar;" would silently fail.
33db9015 15965
15966 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 15967 (grub_lua_parse_line): Improved reporting of Lua parser and
15968 execution errors.
33db9015 15969
46422c89 159702009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 Remove -Werror which causes build to fail on some systems
15973
15974 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
15975 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
15976 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 15977
22f53a96 159782009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 trampoline for linux on 64-bit platform
15981
18f547ad 15982 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
15983 loader/i386/efi/linux_trampoline.S
15984 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 15985 declaration
d6da58e6 15986 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
15987 here
22f53a96 15988 * loader/i386/linux_trampoline.S: moved here
d6da58e6 15989 * loader/i386/efi/linux.c (allocate_pages): reserve space for
15990 trampoline
22f53a96 15991 (jumpvector): removed
15992 (grub_linux_trampoline_start): new declaration
15993 (grub_linux_trampoline_end): likewise
15994 (grub_linux_boot): use trampoline when on 64-bit platform
15995 * loader/i386/linux.c: likewise
15996
cb5a0f40 159972009-05-16 Pavel Roskin <proski@gnu.org>
15998
15999 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16000 const to avoid a warning.
16001 (grub_lua_setenv): Likewise.
16002 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16003 lmsg to fix a warning.
16004
334f2c28 160052009-05-16 Felix Zielcke <fzielcke@z-51.de>
16006
16007 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16008 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16009 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16010 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16011 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16012 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16013 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16014 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 16015
59e5d3ec 160162009-05-16 Felix Zielcke <fzielcke@z-51.de>
16017
16018 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
16019
9d87a1ba 160202009-05-16 Bean <bean123ch@gmail.com>
16021
16022 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
16023 (lua_mod_SOURCES): New variable.
16024 (lua_mod_CFLAGS): Likewise.
16025 (lua_mod_LDFLAGS): Likewise.
16026
16027 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
16028 (setjmp_mod_SOURCES): New variable.
16029 (setjmp_mod_CFLAGS): Likewise.
16030 (setjmp_LDFLAGS): Likewise.
16031
16032 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
16033 (setjmp_mod_SOURCES): New variable.
16034 (setjmp_mod_CFLAGS): Likewise.
16035 (setjmp_LDFLAGS): Likewise.
16036
16037 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16038 (setjmp_mod_SOURCES): New variable.
16039 (setjmp_mod_CFLAGS): Likewise.
16040 (setjmp_LDFLAGS): Likewise.
16041
16042 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16043 (setjmp_mod_SOURCES): New variable.
16044 (setjmp_mod_CFLAGS): Likewise.
16045 (setjmp_LDFLAGS): Likewise.
16046
16047 * normal/i386/setjmp.S: Moved from here ...
16048 * lib/i386/setjmp.S: ... Moved here
16049 * normal/x86_64/setjmp.S: Moved from here ...
16050 * lib/x86_64/setjmp.S: ... Moved here
16051 * normal/powerpc/setjmp.S: Moved from here ...
16052 * lib/powerpc/setjmp.S: ... Moved here
16053 * normal/sparc64/setjmp.S: Moved from here ...
16054 * lib/sparc64/setjmp.S: ... Moved here
16055
16056 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16057 returns_twice in mingw.
16058
16059 * script/lua/grub_lib.c: New file.
16060 * script/lua/grub_lib.h: Likewise.
16061 * script/lua/grub_lua.h: Likewise.
16062 * script/lua/grub_main.c: Likewise.
16063 * script/lua/lapi.c: Likewise.
16064 * script/lua/lapi.h: Likewise.
16065 * script/lua/lauxlib.c: Likewise.
16066 * script/lua/lauxlib.h: Likewise.
16067 * script/lua/lbaselib.c: Likewise.
16068 * script/lua/lcode.c: Likewise.
16069 * script/lua/lcode.h: Likewise.
16070 * script/lua/ldblib.c: Likewise.
16071 * script/lua/ldebug.c: Likewise.
16072 * script/lua/ldebug.h: Likewise.
16073 * script/lua/ldo.c: Likewise.
16074 * script/lua/ldo.h: Likewise.
16075 * script/lua/ldump.c: Likewise.
16076 * script/lua/lfunc.c: Likewise.
16077 * script/lua/lfunc.h: Likewise.
16078 * script/lua/lgc.c: Likewise.
16079 * script/lua/lgc.h: Likewise.
16080 * script/lua/linit.c: Likewise.
16081 * script/lua/liolib.c: Likewise.
16082 * script/lua/llex.c: Likewise.
16083 * script/lua/llex.h: Likewise.
16084 * script/lua/llimits.h: Likewise.
16085 * script/lua/lmathlib.c: Likewise.
16086 * script/lua/lmem.c: Likewise.
16087 * script/lua/lmem.h: Likewise.
16088 * script/lua/loadlib.c: Likewise.
16089 * script/lua/lobject.c: Likewise.
16090 * script/lua/lobject.h: Likewise.
16091 * script/lua/lopcodes.c: Likewise.
16092 * script/lua/lopcodes.h: Likewise.
16093 * script/lua/loslib.c: Likewise.
16094 * script/lua/lparser.c: Likewise.
16095 * script/lua/lparser.h: Likewise.
16096 * script/lua/lstate.c: Likewise.
16097 * script/lua/lstate.h: Likewise.
16098 * script/lua/lstring.c: Likewise.
16099 * script/lua/lstring.h: Likewise.
16100 * script/lua/lstrlib.c: Likewise.
16101 * script/lua/ltable.c: Likewise.
16102 * script/lua/ltable.h: Likewise.
16103 * script/lua/ltablib.c: Likewise.
16104 * script/lua/ltm.c: Likewise.
16105 * script/lua/ltm.h: Likewise.
16106 * script/lua/lua.h: Likewise.
16107 * script/lua/luaconf.h: Likewise.
16108 * script/lua/lualib.h: Likewise.
16109 * script/lua/lundump.c: Likewise.
16110 * script/lua/lundump.h: Likewise.
16111 * script/lua/lvm.c: Likewise.
16112 * script/lua/lvm.h: Likewise.
16113 * script/lua/lzio.c: Likewise.
16114 * script/lua/lzio.h: Likewise.
16115
5e898c9d 161162009-05-16 Bean <bean123ch@gmail.com>
16117
16118 * include/grub/kernel.h (grub_module_header_types): Add type
16119 OBJ_TYPE_CONFIG.
16120
16121 * kern/main.c (grub_load_config): New function.
16122 (grub_main): Call grub_load_config to read boot config.
16123
16124 * grub-mkimage (generate_image): New parameter config_path.
16125 (options): New option --config.
16126 (main): Parse --config option, and pass it to generate_image.
16127
cf353a47 161282009-05-14 Christian Franke <franke@computer.org>
16129
16130 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16131 This fixes build on Cygwin.
16132
3834887f 161332009-05-14 Pavel Roskin <proski@gnu.org>
16134
16135 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16136 jump. This saves two bytes, so the typical case of 2 swapped
16137 drives would fit 32 bytes.
16138
8090fc01 161392009-05-13 Pavel Roskin <proski@gnu.org>
16140
ac963883 16141 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16142 grub_uint32_t to avoid a warning.
16143
8090fc01 16144 * loader/i386/linux.c (allocate_pages): When assigning
16145 real_mode_mem, cast through grub_size_t to fix a warning. The
16146 code already makes sure that the value would fit a pointer.
16147 (grub_linux_setup_video): Cast render_target->data to
16148 grub_size_t to fix a warning.
16149
18f547ad 161502009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16151
16152 * commands/i386/pc/drivemap.c: New file - implement drivemap
16153 command.
16154 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16155 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16156
6f6a8b28 161572009-05-13 Pavel Roskin <proski@gnu.org>
16158
16159 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16160 embedding_area_exists.
16161
15fbf4c4 161622009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16163
16164 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16165 it easier to understand / work with.
59978c8a 16166 Improve warning messages for cases where there's no embedding area,
16167 or when it is too small (or core.img too large).
15fbf4c4 16168
238e871f 161692009-05-13 Pavel Roskin <proski@gnu.org>
16170
0ab3a9a4 16171 * loader/i386/pc/multiboot2.c: Add necessary includes for
16172 grub_multiboot2_real_boot().
16173
a2c8c5f8 16174 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16175 PX record is always little-endian. We only need the lower 2
16176 bytes of the mode.
16177
faec96af 16178 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16179 facilitate code reuse.
16180 (grub_cpio_mount): Use "struct head", not a char buffer. This
16181 fixes a warning reported by gcc 4.4.
16182
238e871f 16183 * kernel/disk.c (grub_disk_read): Use void pointer for the
16184 buffer.
16185 (grub_disk_write): Use const void pointer for the buffer.
16186 Adjust all callers. Remove unnecessary casts.
16187
901d2f0c 161882009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16189
16190 * util/i386/pc/grub-install.in: Update copyright year.
16191
18f547ad 161922009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 16193
16194 gptsync
16195
16196 * commands/gptsync.c: new file
16197 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16198 (gptsync_mod_SOURCES): new variable
16199 (gptsync_mod_CFLAGS): likewise
16200 (gptsync_mod_LDFLAGS): likewise
18f547ad 16201 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 16202 new definition
16203 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16205 * conf/i386-ieee1275.rmk: likewise
16206 * conf/i386-pc.rmk: likewise
16207 * conf/powerpc-ieee1275.rmk: likewise
16208
b4ba690a 162092009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 Fixed grub-emu
16212
16213 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16214 (grub_dl_ref): likewise
16215
317e1a44 162162009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16217
16218 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16219 split in two functions (one for msdos and one for gpt).
16220
041b8094 162212009-05-08 Pavel Roskin <proski@gnu.org>
16222
752473c2 16223 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16224 not modified.
16225
041b8094 16226 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16227 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16228 Initialize them with -1. Add sanity check for bad1. Eliminate
16229 nerr variable.
16230
172800ce 162312009-05-08 David S. Miller <davem@davemloft.net>
16232
16233 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16234
29aa5e81 162352009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16236
16237 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 16238 existence.
29aa5e81 16239
96613b62 162402009-05-05 Felix Zielcke <fzielcke@z-51.de>
16241
16242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 16243 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 16244
eef73c8a 162452009-05-05 David S. Miller <davem@davemloft.net>
16246
16247 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16248
119494b5 162492009-05-05 Pavel Roskin <proski@gnu.org>
16250
16251 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16252 of grub_dl_ref() and grub_dl_unref().
16253 * commands/parttool.c: Remove preprocessor conditionals around
16254 grub_dl_ref() and grub_dl_unref().
16255 * fs/affs.c: Likewise.
16256 * fs/afs.c: Likewise.
16257 * fs/cpio.c: Likewise.
16258 * fs/ext2.c: Likewise.
16259 * fs/fat.c: Likewise.
16260 * fs/hfs.c: Likewise.
16261 * fs/hfsplus.c: Likewise.
16262 * fs/iso9660.c: Likewise.
16263 * fs/jfs.c: Likewise.
16264 * fs/minix.c: Likewise.
16265 * fs/ntfs.c: Likewise.
16266 * fs/reiserfs.c: Likewise.
16267 * fs/sfs.c: Likewise.
16268 * fs/udf.c: Likewise.
16269 * fs/ufs.c: Likewise.
16270 * fs/xfs.c: Likewise.
16271 * include/grub/dl.h: Likewise.
16272 * loader/xnu.c: Likewise.
16273
de5fd76e 162742009-05-04 Pavel Roskin <proski@gnu.org>
16275
16276 * commands/acpi.c: Remove unused variable my_mod.
16277 * partmap/amiga.c: Likewise.
16278 * partmap/apple.c: Likewise.
16279 * partmap/gpt.c: Likewise.
16280 * partmap/pc.c: Likewise.
16281 * partmap/sun.c: Likewise.
16282 * term/gfxterm.c: Likewise.
16283 * term/i386/pc/vesafb.c: Likewise.
16284 * term/i386/pc/vga.c: Likewise.
16285
983598ad 162862009-05-04 David S. Miller <davem@davemloft.net>
16287
16288 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16289 pointer args to grub_ieee1275_get_property().
16290
8aadec43 16291 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16292
9554b15e 16293 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16294 devices, and do not traverse down under controller nodes.
16295
67e23c90 16296 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16297 (grub_ofdisk_open): Use it to un-escape "," characters.
16298 * kern/disk.c (find_part_sep): New.
16299 (grub_disk_open): Use it to find the first non-escaped ','
16300 character in the disk name.
16301 * util/ieee1275/devicemap.c (escape_of_path): New.
16302 (grub_util_emit_devicemap_entry): Use it.
16303 * util/sparc64/ieee1275/grub-install.in: Update script to
16304 strip partition specifiers properly by not triggering on
16305 '\' escaped ',' characters.
16306
74bfdd2f 163072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16308
16309 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16310 to 0x300.
16311 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16312 resolutions.
16313 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16314 on documentation from Wikipedia).
16315
4241d2b1 163162009-05-04 Pavel Roskin <proski@gnu.org>
16317
16318 * disk/ata.c: Spelling fixes.
16319 * disk/raid.c: Likewise.
16320 * disk/usbms.c: Likewise.
16321 * disk/dmraid_nvidia.c: Likewise.
16322 * kern/ieee1275/openfw.c: Likewise.
16323 * kern/ieee1275/init.c: Likewise.
16324 * kern/ieee1275/cmain.c: Likewise.
16325 * boot/i386/pc/cdboot.S: Likewise.
16326 * video/readers/png.c: Likewise.
16327 * video/i386/pc/vbe.c: Likewise.
16328 * fs/udf.c: Likewise.
16329 * fs/hfs.c: Likewise.
16330 * fs/reiserfs.c: Likewise.
16331 * efiemu/runtime/efiemu.c: Likewise.
16332 * efiemu/main.c: Likewise.
16333 * efiemu/mm.c: Likewise.
16334 * include/grub/elf.h: Likewise.
16335 * include/grub/xnu.h: Likewise.
16336 * include/grub/usbdesc.h: Likewise.
16337 * include/grub/usb.h: Likewise.
16338 * include/grub/script_sh.h: Likewise.
16339 * include/grub/lib/LzmaEnc.h: Likewise.
16340 * include/grub/efiemu/efiemu.h: Likewise.
16341 * include/grub/command.h: Likewise.
16342 * normal/menu.c: Likewise.
16343 * normal/main.c: Likewise.
16344 * normal/datetime.c: Likewise.
16345 * bus/usb/uhci.c: Likewise.
16346 * mmap/i386/uppermem.c: Likewise.
16347 * mmap/mmap.c: Likewise.
16348 * commands/acpi.c: Likewise.
16349 * commands/test.c: Likewise.
16350 * partmap/apple.c: Likewise.
16351 * font/font.c: Likewise.
16352 * loader/sparc64/ieee1275/linux.c: Likewise.
16353 * loader/macho.c: Likewise.
16354 * loader/i386/bsd_trampoline.S: Likewise.
16355 * loader/i386/bsd.c: Likewise.
16356 * loader/xnu.c: Likewise.
16357 * term/i386/pc/vesafb.c: Likewise.
16358 * term/usb_keyboard.c: Likewise.
16359 * util/resolve.c: Likewise.
16360 * util/getroot.c: Likewise.
16361
0cfc0083 163622009-05-04 Felix Zielcke <fzielcke@z-51.de>
16363
16364 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16365
7c1d00cd 163662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16367
16368 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16369 build error.
16370
b01f0548 163712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16372
16373 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16374 parameter only available on BIOS.
16375
ecc3eb22 163762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16377
16378 Removed wrong semicolon in declaration
16379
16380 * grub/misc.h (grub_dprintf): remove semicolon
16381
112972a9 163822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16383
16384 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16385 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16386 is done by grub_cmd_linux() now).
16387 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16388 restore video to text mode.
16389 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16390 indicates lack of "vga=" parameter. "vga=0" is mapped to
16391 `GRUB_LINUX_VID_MODE_NORMAL'.
16392
afd5c115 163932009-05-04 Felix Zielcke <fzielcke@z-51.de>
16394
16395 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16396 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16397 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 16398 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 16399 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16400 `grub_script.tab.c'.
16401
16402 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16403 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16405 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16406 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16407
faa517ce 16408 * Makefile.in: Remove duplicated 2008 in Copyright line.
16409
ae0c0bdc 164102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16411
473d1e45 16412 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 16413 unconditionally.
16414 * include/grub/util/misc.h (grub_util_warn): New declaration.
16415
16416 * util/i386/pc/grub-install.in: Understand --force and pass it down
16417 to grub-setup.
16418
16419 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16420 down to setup().
16421 (setup): Improve error messages and add warnings when requested to
16422 install in odd layouts. Refuse to install using blocklists unless
16423 --force was set.
16424
18f547ad 164252009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 16426
16427 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16428
6d260daa 164292009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 Updated copyright year
16432
16433 * fs/hfsplus.c: updated copyright year
18f547ad 16434
69f853f8 164352009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16436
16437 HFS+ UUID
16438
18f547ad 16439 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16440 in the space previously used by unused3
16441 (grub_hfsplus_uuid): new function
16442 (grub_hfsplus_fs): added uuid field
16443
4c402e73 164442009-05-03 Pavel Roskin <proski@gnu.org>
16445
16446 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16447 suppress warnings. It's no longer needed.
16448 * disk/host.c: Likewise.
16449 * disk/ata_pthru.c: Likewise.
16450 * disk/loopback.c: Likewise.
16451 * hook/datehook.c: Likewise.
16452 * parttool/pcpart.c: Likewise.
16453 * fs/i386/pc/pxe.c: Likewise.
16454 * fs/ntfscomp.c: Likewise.
16455 * efiemu/main.c: Likewise.
16456 * mmap/mmap.c: Likewise.
16457 * commands/crc.c: Likewise.
16458 * commands/hexdump.c: Likewise.
16459 * commands/hdparm.c: Likewise.
16460 * commands/acpi.c: Likewise.
16461 * commands/echo.c: Likewise.
16462 * commands/minicmd.c: Likewise.
16463 * commands/blocklist.c: Likewise.
16464 * commands/memrw.c: Likewise.
16465 * commands/loadenv.c: Likewise.
16466 * commands/usbtest.c: Likewise.
16467 * commands/lsmmap.c: Likewise.
16468 * commands/boot.c: Likewise.
16469 * commands/parttool.c: Likewise.
16470 * commands/configfile.c: Likewise.
16471 * commands/search.c: Likewise.
16472 * commands/ieee1275/suspend.c: Likewise.
16473 * commands/cat.c: Likewise.
16474 * commands/i386/pc/pxecmd.c: Likewise.
16475 * commands/i386/pc/play.c: Likewise.
16476 * commands/i386/pc/halt.c: Likewise.
16477 * commands/i386/pc/vbeinfo.c: Likewise.
16478 * commands/i386/pc/vbetest.c: Likewise.
16479 * commands/lspci.c: Likewise.
16480 * commands/date.c: Likewise.
16481 * commands/handler.c: Likewise.
16482 * commands/ls.c: Likewise.
16483 * commands/test.c: Likewise.
16484 * commands/cmp.c: Likewise.
16485 * commands/efi/loadbios.c: Likewise.
16486 * commands/efi/fixvideo.c: Likewise.
16487 * commands/halt.c: Likewise.
16488 * commands/help.c: Likewise.
16489 * commands/reboot.c: Likewise.
16490 * hello/hello.c: Likewise.
16491 * script/sh/main.c: Likewise.
16492 * loader/xnu.c: Likewise.
16493 * term/terminfo.c: Likewise.
16494 * term/i386/pc/serial.c: Likewise.
16495 * term/usb_keyboard.c: Likewise.
16496
515b5079 164972009-05-03 David S. Miller <davem@davemloft.net>
16498
16499 * normal/menu.c: Include grub/parser.h
16500
dfc31a22 165012009-05-03 Pavel Roskin <proski@gnu.org>
16502
2fee74f1 16503 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16504 not char*.
16505 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16506 Suggested by Javier Martín <lordhabbit@gmail.com>
16507
dfc31a22 16508 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16509 efiemu??.o doesn't exist.
16510 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16511 copying.
16512
18f547ad 165132009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 16514
16515 FreeBSD 64-bit support
16516
18f547ad 16517 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 16518 and loader/i386/bsd_trampoline.S
16519 (bsd_mod_ASFLAGS): new variable
16520 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16521 (FREEBSD_MODTYPE_KERNEL64): likewise
16522 (grub_bsd64_trampoline_start): likewise
16523 (grub_bsd64_trampoline_end): likewise
16524 (grub_bsd64_trampoline_selfjump): likewise
16525 (grub_bsd64_trampoline_gdt): likewise
16526 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16527 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16528 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16529 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 16530 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 16531 of "attrib" member
16532 * loader/i386/bsd_pagetable.c: new file
16533 * loader/i386/bsd_trampoline.S: likewise
16534 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16535 (ALIGN_VAR): likewise
16536 (entry_hi): new variable
16537 (kern_end_mdofs): likewise
16538 (is_64bit): likewise
16539 (grub_freebsd_add_meta): use ALIGN_VAR
16540 (grub_e820_mmap): new declaration
16541 (grub_freebsd_add_mmap): new function
16542 (grub_freebsd_add_meta_module): support 64 bit kernels
16543 (grub_freebsd_list_modules): use ALIGN_VAR
16544 (gdt_descriptor): new declaration
16545 (grub_freebsd_boot): support 64 bit kernels
16546 (grub_bsd_elf64_hook): new function
16547 (grub_bsd_load_elf): support elf64
16548
038c5720 165492009-05-03 Bean <bean123ch@gmail.com>
16550
16551 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
16552 after we get the result of if statement.
16553
fc45fb58 165542009-05-03 Bean <bean123ch@gmail.com>
16555
16556 * Makefile.in (enable_efiemu): New variable.
16557
16558 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
16559 set.
16560 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
16561 path.
16562 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
16563 path, add -mno-red-zone option.
16564 (efiemu64_s.o): Likewise.
16565 (efiemu64.o): Use macro $^ for source file.
16566
16567 * configure.ac (--enable-efiemu): New option.
16568
bbee0f2b 165692009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 xnu support
16572
16573 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
16574 (pkglib_MODULES): add xnu.mod
16575 (xnu_mod_SOURCES): new variable
16576 (xnu_mod_CFLAGS): likewise
16577 (xnu_mod_LDFLAGS): likewise
16578 (xnu_mod_ASFLAGS): likewise
16579 * conf/i386-pc.rmk: likewise
16580 * conf/x86_64-efi.rmk: likewise
7dd4a573 16581 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 16582 new declaration
16583 * include/grub/i386/macho.h: new file
16584 * include/grub/i386/xnu.h: likewise
16585 * include/grub/macho.h: likewise
16586 * include/grub/machoload.h: likewise
16587 * include/grub/x86_64/macho.h: likewise
16588 * include/grub/x86_64/xnu.h: likewise
16589 * include/grub/xnu.h: likewise
16590 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
16591 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
16592 * loader/i386/efi/xnu.c: new file
16593 * loader/i386/pc/xnu.c: likewise
16594 * loader/i386/xnu.c: likewise
16595 * loader/i386/xnu_helper.S: likewise
16596 * loader/macho.c: likewise
16597 * loader/xnu.c: likewise
16598 * loader/xnu_resume.c: likewise
16599 * util/grub-dumpdevtree: likewise
16600 * include/grub/i386/pit.h: include grub/err.h
16601 (grub_pit_wait): export
16602 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 16603
5caf964d 166042009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 Efiemu
7dd4a573 16607
5caf964d 16608 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 16609 _linux_efi, linux_efi.
16610 new files in grub-emu
5caf964d 16611 new targets efiemu32.o and efiemu64.o
16612 * loader/linux_normal_efiemu.c: likewise
16613 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 16614 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 16615 files to copy
16616 * include/grub/autoefi.h: new file
7dd4a573 16617 * include/grub/i386/efiemu.h: likewise
5caf964d 16618 * include/grub/i386/pc/efiemu.h: likewise
16619 * include/grub/efi/api.h: add LL suffix when necessary
16620 new definitions relating to tables
16621 * include/grub/efiemu/efiemu.h: new file
16622 * include/grub/efiemu/runtime.h: likewise
16623 * efiemu/prepare.c: likewise
16624 * efiemu/loadcore_common.c: likewise
16625 * efiemu/loadcore64.c: likewise
16626 * efiemu/runtime/efiemu.sh: likewise
16627 * efiemu/runtime/efiemu.S: likewise
16628 * efiemu/runtime/efiemu.c: likewise
16629 * efiemu/runtime/config.h: likewise
16630 * efiemu/prepare32.c: likewise
16631 * efiemu/main.c: likewise
16632 * efiemu/modules/pnvram.c: likewise
16633 * efiemu/modules/i386: likewise
16634 * efiemu/modules/i386/pc: likewise
16635 * efiemu/modules/acpi.c: likewise
16636 * efiemu/i386/pc/cfgtables.c: likewise
16637 * efiemu/i386/loadcore64.c: likewise
16638 * efiemu/i386/loadcore32.c: likewise
16639 * efiemu/prepare64.c: likewise
16640 * efiemu/loadcore.c: likewise
16641 * efiemu/symbols.c: likewise
16642 * efiemu/mm.c: likewise
16643 * efiemu/loadcore32.c: likewise
7dd4a573 16644
166452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 16646
16647 ACPI spoofing
16648
16649 * commands/acpi.c: new file
16650 * commands/i386/pc/acpi.c: likewise
16651 * commands/efi/acpi.c: likewise
16652 * include/grub/acpi.h: likewise
16653 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
16654 (acpi_mod_SOURCES): new variable
16655 (acpi_mod_CFLAGS): likewise
16656 (acpi_mod_LDFLAGS): likewise
16657 * conf/i386-efi.rmk: likewise
16658 * conf/x86_64-efi.rmk: likewise
16659
7dd4a573 166602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 16661
16662 Missing part from mmap patch
16663
16664 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
16665 (grub_mmap_unregister)
16666 (grub_mmap_free_and_unregister): use grub_mmap_register
16667
7dd4a573 166682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 16669
16670 Mmap services
16671
16672 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
16673 * loader/i386/linux.c (find_mmap_size): likewise
16674 (allocate_pages): likewise
16675 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
16676 (grub_fill_multiboot_mmap): likewise
16677 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
16678 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
16679 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
16680 (OPENBSD_MMAP_RESERVED): likewise
16681 * include/grub/i386/pc/memory.h: include grub/memory.h
16682 (grub_lower_mem): removed
16683 (grub_upper_mem): likewise
16684 (GRUB_MACHINE_MEMORY_ACPI): new definition
16685 (GRUB_MACHINE_MEMORY_NVS): likewise
16686 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
16687 (GRUB_MACHINE_MEMORY_HOLE): likewise
16688 (grub_machine_mmap_register): likewise
16689 (grub_machine_mmap_unregister): likewise
16690 (grub_machine_get_upper): likewise
16691 (grub_machine_get_lower): likewise
16692 (grub_machine_get_post64): likewise
16693 * include/grub/i386/efi/memory.h: new file
16694 * include/grub/x86_64/efi/memory.h: likewise
16695 * include/grub/efi/memory.h: likewise
16696 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
16697 (mmap_mod_SOURCES): new variable
16698 (mmap_mod_LDFLAGS): likewise
16699 (mmap_mod_ASFLAGS): likewise
16700 * conf/i386-coreboot.rmk: likewise
16701 * conf/i386-ieee1275.rmk: likewise
16702 * conf/i386-efi.rmk: likewise
16703 * conf/x86_64-efi.rmk: likewise
16704 * include/grub/types.h (UINT_TO_PTR): new macro
16705 (PTR_TO_UINT32): likewise
16706 (PTR_TO_UINT64): likewise
16707 * include/grub/memory.h: new file
16708 * mmap/i386/pc/mmap.c: likewise
16709 * mmap/i386/pc/mmap_helper.S: likewise
16710 * mmap/i386/uppermem.c: likewise
16711 * mmap/mmap.c: likewise
16712 * mmap/efi/mmap.c: likewise
7dd4a573 16713 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 16714 grub_upper_mem
16715 * kern/i386/pc/init.c (grub_lower_mem): removed variable
16716 (grub_upper_mem): likewise
16717 (grub_machine_init): don't use grub_upper_mem,
16718 make grub_lower_mem local
16719 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
16720 grub_mmap_iterate and grub_mmap_get_upper
16721 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
16722
d558e6b5 167232009-05-02 Bean <bean123ch@gmail.com>
16724
16725 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
16726 script/sh/parser.y.
16727 (pkglib_MODULES): Add normal.mod and sh.mod.
16728 (normal_SOURCES): New variable.
16729 (normal_mod_CFLAGS): Likewise.
16730 (normal_mod_LDFLAGS): Likewise.
16731 (sh_mod_SOURCES): Likewise.
16732 (sh_mod_CFLAGS): Likewise.
16733 (sh_mod_LDFLAGS): Likewise.
16734
16735 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
16736 script/sh/lexer.c_DEPENDENCIES.
16737 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
16738 kern/rescue_reader.c and kern/rescue_parser.c.
16739 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
16740 (grub_emu_SOURCES): Change source files.
16741 (pkglib_MODULES): Remove normal.mod.
16742 (normal_SOURCES): Removed.
16743 (normal_mod_CFLAGS): Likewise.
16744 (normal_mod_LDFLAGS): Likewise.
16745 * conf/i386-coreboot.rmk: Likewise.
16746 * conf/i386-efi.rmk: Likewise.
16747 * conf/i386-ieee1276.rmk: Likewise.
16748 * conf/powerpc-ieee1275.rmk: Likewise.
16749 * conf/sparc64-ieee1275.rmk: Likewise.
16750 * conf/x86_64-efi.rmk: Likewise.
16751
16752 * include/grub/command.h (grub_command_execute): New inline function.
16753
16754 * include/grub/menu.h (grub_menu_entry): Removed commands field.
16755
16756 * include/grub/normal.h: Remove <grub/setjmp.h>.
16757 (grub_fs_module_list): Moved to normal/autofs.c.
16758 (grub_exit_env): Removed.
16759 (grub_command_execute): Likewise.
16760 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
16761 parameter script.
16762 (read_command_list): New function declaration.
16763 (read_fs_list): Likewise.
16764
16765 * include/parser.h: Include <grub/reader.h>.
16766 (grub_parser_split_cmdline): Change type of getline parameter.
16767 (grub_parser): New structure.
16768 (grub_parser_class): New variable.
16769 (grub_parser_execute): New function declaration.
16770 (grub_register_rescue_parser): Likewise.
16771 (grub_parser_register): New inline function.
16772 (grub_parser_unregister): Likewise.
16773 (grub_parser_get_current): Likewise.
16774 (grub_parser_set_current): Likewise.
16775
16776 * include/grub/reader.h: New file.
16777 * kern/reader.c: Likewise.
16778 * kern/rescue_parser.c: Likewise.
16779 * kern/rescue_reader.c: Likewise.
16780 * normal/autofs.c: Likewise.
16781 * normal/dyncmd.c: Likewise.
16782
16783 * include/grub/rescue.h: Removed.
16784 * normal/command.h: Likewise.
16785
16786 * include/grub/script.h: Moved to ...
16787 * include/grub/script_sh.h: ... Moved here.
16788 * normal/execute.c: Moved to ...
16789 * script/sh/execute.c: ... Moved here.
16790 * normal/function.c: Moved to ...
16791 * script/sh/function.c: ... Moved here.
16792 * normal/lexer.c: Moved to ...
16793 * script/sh/lexer.c: ... Moved here.
16794 * normal/parser.y: Moved to ...
16795 * script/sh/parser.y: ... Moved here.
16796 * normal/script.c: Moved to ...
16797 * script/sh/script.c: ... Moved here.
16798
16799 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
16800 <grub/reader.h>.
16801 (grub_exit_env): Removed.
16802 (fs_module_list): Moved to normal/autofs.c.
16803 (grub_file_getline): Don't handle comment here.
16804 (free_menu): Skip removed field entry->commands.
16805 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
16806 script parameter.
16807 (read_config_file): Removed nested parameter, change getline function.
16808 (grub_enter_normal_mode): Removed.
16809 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
16810 (read_command_list): Likewise.
16811 (autoload_fs_module): Moved to normal/autofs.c.
16812 (read_fs_list): Likewise.
16813 (reader_nested): New variable.
16814 (grub_normal_execute): Run parser.sh to switch to sh parser.
16815 (grub_cmd_rescue): Removed.
16816 (cmd_normal): Removed.
16817 (grub_cmd_normal): Unregister itself at the beginning. Don't register
16818 rescue command.
16819 (grub_cmdline_run): New function.
16820 (grub_normal_reader_init): Likewise.
16821 (grub_normal_read_line): Likewise.
16822 (grub_env_write_pager): Likewise.
16823 (cmdline): New variable.
16824 (grub_normal_reader): Likewise.
16825 (GRUB_MOD_INIT): Register normal reader and set as current, register
16826 pager hook, register normal command with grub_register_command_prio,
16827 so that it won't show up in command.lst.
16828 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
16829 grub_fs_autoload_hook.
16830
16831 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
16832 (grub_menu_execute_entry): Replace grub_script_execute with
16833 grub_parser_execute, change parameter to grub_command_execute.
16834
16835 * normal/menu_text.c: Remove <grub/script.h>.
16836
16837 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
16838 and <grub/parser.h>.
16839 (run): Change editor_getline to use new parser interface. Change
16840 parameter to grub_command_execute.
16841
16842 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
16843 <grub/reader.h> and <grub/parser.h>.
16844 (grub_load_normal_mode): Execute normal command.
16845 (grub_main): Call grub_register_core_commands,
16846 grub_register_rescue_parser and grub_register_rescue_reader, use
16847 grub_reader_loop to enter input loop.
16848
7dd4a573 16849 * kern/parser.c (grub_parser_split_cmdline): Change type of
16850 getline parameter.
d558e6b5 16851 (grub_parser_class): New variable.
16852 (grub_parser_execute): New function.
16853
16854 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
16855 * loader/multiboot2.c: Likewise.
16856 * loader/sparc64/ieee1275/linux.c: Likewise.
16857
16858 * util/grub-emu.c (read_command_list): New dummy function.
16859
18db813d 168602009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16861
16862 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
16863 count to 16 for CCISS and IDA.
16864
6c67de15 168652009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16866
16867 * normal/menu_text.c (grub_wait_after_message): Print a newline
16868 after waiting for user input.
16869
16870 * loader/i386/linux.c: Include `<grub/normal.h>'.
16871 (grub_cmd_linux): Improve the error message about `ask' mode, by
16872 waiting for user input so it's not missed (we can do this, since
16873 user requested interaction).
16874
d9dc87b0 168752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16876
16877 Added missing lst to grub-mkrescue
16878
16879 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
16880 and ${input_dir}/parttool.lst
16881
ac8a2baa 168822009-04-30 David S. Miller <davem@davemloft.net>
16883
ad22a610 16884 * util/hostdisk.c (device_is_wholedisk): New function.
16885 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
16886 zero only if device_is_wholedisk() returns true.
16887
6966215d 16888 * util/hostdisk.c (convert_system_partition_to_system_disk):
16889 Handle virtual disk devices named /dev/vdiskX as found on sparc
16890 and powerpc.
16891
ac8a2baa 16892 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
16893 lettered partition specifier is found, convert to numbered.
16894
979b4fb4 168952009-04-29 David S. Miller <davem@davemloft.net>
16896
e2bf39b2 16897 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
16898 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16899
3c64e104 16900 * normal/command.c: Add missing newline at end of file.
16901
979b4fb4 16902 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
16903 warnings.
16904 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
16905 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
16906 grub_ofdisk_read): Likewise, and deal similarly with the fact that
16907 ihandles have a 32-bit type but need to be stored in a "void *".
16908
136d9f82 169092009-04-28 Pavel Roskin <proski@gnu.org>
16910
9459c306 16911 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
16912 not disk. Adjust all dependencies.
2e08a26a 16913 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 16914 grub_disk_close().
16915
136d9f82 16916 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
16917 parent's partition, don't copy it by reference, as it gets freed
16918 on close.
16919
7dd4a573 169202009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 16921
16922 Preboot hooks support
16923
16924 * commands/boot.c (struct grub_preboot_t): new declaration
16925 (preboots_head): new variable
16926 (preboots_tail): likewise
16927 (grub_loader_register_preboot_hook): new function
16928 (grub_loader_unregister_preboot_hook): likewise
16929 (grub_loader_set): launch preboot hooks
16930 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
16931 (grub_loader_register_preboot_hook): new declaration
16932 (grub_loader_unregister_preboot_hook): likewise
16933
5af922b5 169342009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 Warning fix
16937
7dd4a573 16938 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 16939 calling grub_dprintf
16940
a5562c30 169412009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 Bug and warning fixes
16944
7dd4a573 16945 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 16946 declaration
16947 * commands/test.c (test_parse): fixed bug with file tests and corrected
16948 declaration of find_file
16949
4006f85c 169502009-04-26 Pavel Roskin <proski@gnu.org>
16951
16952 * Makefile.in: Don't install empty manual pages if help2man is
16953 missing. Use help2man option for output, not shell redirection.
16954
5c77c3de 169552009-04-26 David S. Miller <davem@davemloft.net>
16956
16957 * util/grub-mkdevicemap.c (make_device_map): Add missing
16958 NESTED_FUNC_ATTR to process_device().
16959
033b10a8 169602009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16961
16962 Test command
16963
16964 * commands/test.c: rewritten to use bash-like test
16965
e4343593 169662009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 Parttool autoloading and improvements
16969
7dd4a573 16970 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 16971 (parttool.lst): new target
16972 * genmk.rb: generate parttool-*
16973 (CLEANFILES): add #{parttool}
16974 (PARTTOOLFILES): new variable
16975 * genparttoollist.sh: new file
7dd4a573 16976 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 16977 (grub_pcpart_type): likewise
16978 * commands/parttool.c (helpmsg): new variable
16979 (grub_cmd_parttool): output help if not enough arguments are supplied
16980 autoload modules
16981 (GRUB_MOD_INIT(parttool)): use helpmsg
16982
0d312500 169832009-04-24 David S. Miller <davem@davemloft.net>
16984
7dd4a573 16985 Avoiding opening same device multiple times in device iterator.
0d312500 16986
16987 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 16988 and use it to build a list of partitions in iterate_disk() and
0d312500 16989 iterate_partition().
16990
ac20caff 16991 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
16992 on disk->data.
16993
0dcf7495 16994 * disk/ieee1275/nand.c (grub_nand_iterate): Return
16995 grub_devalias_iterate() result instead of unconditional 0.
16996 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
16997 Also, capture hook return value, either directly or via
16998 grub_children_iterate(), and propagate to caller.
16999 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17000 grub_children_iterate): Return value is now 'int' instead of
17001 'grub_err_t'.
17002 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17003 like a proper iterator, stopping when hooks return non-zero.
17004 (grub_devalias_iterate): Likewise.
17005
c8c08833 170062009-04-23 David S. Miller <davem@davemloft.net>
17007
17008 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17009
f01005a8 170102009-04-22 David S. Miller <davem@davemloft.net>
17011
17012 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
17013 is larger than address_cells, use that value for address_cells too.
17014
4e8269da 17015 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
17016 IEEE1275_MAX_PATH_LEN): Define.
17017 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
17018 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
17019 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
17020 'devtype'. Explicitly NULL terminate devalias expansion.
17021
a1447506 17022 * util/sparc64/ieee1275/misc.c: New file.
17023 * util/sparc64/ieee1275/grub-setup.c: New file.
17024 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
17025 * util/sparc64/ieee1275/grub-mkimage.c: New file.
17026 * util/sparc64/ieee1275/grub-install.in: New file.
17027 * util/ieee1275/ofpath.c: New file.
17028 * util/ieee1275/devicemap.c: New file.
17029 * util/devicemap.c: New file.
17030 * util/deviceiter.c: New file.
17031 * kern/sparc64/ieee1275/init.c: New file.
17032 * include/grub/util/ofpath.h: New file.
17033 * include/grub/util/deviceiter.h: New file.
17034 * util/grub-mkdevicemap.c: Include deviceiter.h.
17035 Implement using grub_util_emit_devicemap_entry and
17036 grub_util_iterate_devices.
17037 * conf/i386-corebook.rmk: Build util/deviceiter.c and
17038 util/devicemap.c into grub-mkdevicemap
17039 * conf/i386-efi.rmk: Likewise.
17040 * conf/i386-ieee1275.rmk: Likewise.
17041 * conf/i386-pc.rmk: Likewise.
17042 * conf/powerpc-ieee1275.rmk: Likewise.
17043 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17044 images and installation utilities. Build kernel as image
17045 instead of as elf binary. Use common rules as much as possible.
17046
7dd4a573 170472009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 17048
17049 Correct GPT definition
17050
7dd4a573 17051 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 17052 of "attrib" member
17053
c6c5219f 170542009-04-19 Felix Zielcke <fzielcke@z-51.de>
17055
17056 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17057
0552ff9f 170582009-04-19 David S. Miller <davem@davemloft.net>
17059
17060 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17061 (grub_rescue_cmd_linux): Rename to...
17062 (grub_cmd_linux): and fix prototype.
17063 (grub_rescue_cmd_initrd): Rename to...
17064 (grub_cmd_initrd): and fix prototype.
17065 (cmd_linux, cmd_initrd): New.
17066 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17067 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17068
d1a282fc 170692009-04-17 Pavel Roskin <proski@gnu.org>
17070
07c5039f 17071 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17072 format.
17073 (grub_ohci_transfer): Likewise.
17074
b012002d 17075 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17076
1bc09c35 17077 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17078 return without a value. Fix inconsistent indentation.
17079
e0ff9126 17080 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17081 match struct grub_fs.
17082
d1a282fc 17083 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17084 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17085 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17086 * commands/lspci.c (grub_lspci_iter): Likewise.
17087
a96df3f2 170882009-04-16 Bean <bean123ch@gmail.com>
17089
17090 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17091 value.
17092
41bb0fe9 170932009-04-15 Pavel Roskin <proski@gnu.org>
17094
17095 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17096 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17097 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17098 definitions.
17099
596c6970 171002009-04-15 Felix Zielcke <fzielcke@z-51.de>
17101
17102 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 17103 that no multiple data or metadata areas are supported and `Unknown
596c6970 17104 metadata header'.
17105
7dd4a573 171062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 17107
17108 Move loader out of the kernel
17109
17110 * kern/loader.c: moved to ...
17111 * commands/boot.c: ... moved here
17112 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17113 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17114 * include/grub/kernel.h (grub_machine_fini): export
17115 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17116 (grub_loader_set): likewise
17117 (grub_loader_unset): likewise
17118 (grub_loader_boot): likewise
17119 * conf/common.rmk: new module boot.mod
17120 (pkglib_MODULES): add boot.mod
17121 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17122 (grub_emu_SOURCES): likewise
17123 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17124 (grub_emu_SOURCES): likewise
17125 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17126 (grub_emu_SOURCES): likewise
17127 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17128 (grub_emu_SOURCES): likewise
17129 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17130 (grub_emu_SOURCES): likewise
7dd4a573 17131 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17132 (grub_emu_SOURCES): likewise
0d5d5653 17133 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17134 (grub_emu_SOURCES): likewise
0d5d5653 17135
7dd4a573 171362009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17137
17138 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17139
5999d619 17140 * kern/misc.c (grub_itoa): Removed function
17141 (grub_ltoa): likewise
17142 (grub_vsprintf): use grub_lltoa
17143
7dd4a573 171442009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17145
17146 Restore grub-emu
17147
17148 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17149 * conf/i386-coreboot.rmk: likewise
17150 * conf/i386-ieee1275.rmk: likewise
17151 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17152
20318222 171532009-04-15 Felix Zielcke <fzielcke@z-51.de>
17154
17155 * INSTALL: Add that `./autogen.sh' needs to be run before
17156 `./configure.'.
17157
d05f0df3 171582009-04-14 Bean <bean123ch@gmail.com>
17159
17160 * Makefile.in (pkglib_DATA): Add handler.lst.
17161 (handler.lst): New rule.
17162
17163 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17164 * conf/i386-coreboot.rmk: Likewise.
17165 * conf/i386-ieee1275.rmk: Likewise.
17166 * conf/i386-efi.rmk: Likewise.
17167 * conf/x86_64-efi.rmk: Likewise.
17168 * conf/powerpc-ieee1275.rmk: Likewise.
17169 * conf/sparc64-ieee1275.rmk: Likewise.
17170
17171 * genhandlerlist.sh: New file.
17172
17173 * genmk.rb: Add rules to generate handler.lst.
17174
17175 * include/grub/normal.h (grub_file_getline): New function definition.
17176 (read_handler_list): Likewise.
17177 (free_handler_list): Likewise.
17178
17179 * include/grub/term.h (grub_term_register_input): Add name parameter
17180 for auto generation of handler.lst.
17181 (grub_term_register_output): Likewise.
17182
17183 * normal/handler.c: New file.
17184
17185 * normal/main.c (get_line): Renamed to grub_file_getline.
17186 (read_config_file): Use the newly renamed grub_file_getline.
17187 (read_command_list): Likewise.
17188 (read_fs_list): Likewise.
17189 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17190 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17191
17192 * term/efi/console.c (grub_console_init): Add name parameter for auto
17193 generation of handler.lst.
17194 * term/gfxterm.c: Likewise.
17195 * term/i386/pc/at_keyboard.c: Likewise.
17196 * term/i386/pc/console.c: Likewise.
17197 * term/i386/pc/serial.c: Likewise.
17198 * term/i386/pc/vesafb.c: Likewise.
17199 * term/i386/pc/vga.c: Likewise.
17200 * term/i386/pc/vga_text.c: Likewise.
17201 * term/ieee1275/ofconsole.c: Likewise.
17202 * term/usb_keyboard.c: Likewise.
17203
33c846be 172042009-04-14 Bean <bean123ch@gmail.com>
17205
17206 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17207 properly with null character.
17208
4484e01e 172092009-04-14 Felix Zielcke <fzielcke@z-51.de>
17210
17211 * configure: Remove.
17212 * config.h.in: Likewise.
f93d668e 17213 * stamp-h.in: Likewise.
4484e01e 17214 * DISTLIST: Likewise.
17215 * conf/common.mk: Likewise.
17216 * conf/i386-coreboot.mk: Likewise.
17217 * conf/i386-efi.mk: Likewise.
17218 * conf/i386-ieee1275.mk: Likewise.
17219 * conf/i386.mk: Likewise.
17220 * conf/i386-pc.mk: Likewise.
17221 * conf/powerpc-ieee1275.mk: Likewise.
17222 * conf/sparc64-ieee1275.mk: Likewise.
17223 * conf/x86_64-efi.mk: Likewise.
17224
17225 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17226 develop on GRUB.
17227
7dd4a573 172282009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 17229 David S. Miller <davem@davemloft.net>
17230
17231 * util/hostdisk.c (make_device_name): Fix buffer length
17232 calculations.
17233
e25b5a8c 172342009-04-14 Felix Zielcke <fzielcke@z-51.de>
17235
17236 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17237 <sys/param.h> and <sys/sysctl.h>.
17238 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17239 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17240 opening the device and reset them afterwards.
17241
1f1f580c 172422009-04-13 Pavel Roskin <proski@gnu.org>
17243
17244 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17245 Reported by John Stanley <jpsinthemix@verizon.net>
17246
7ebc2d6b 172472009-04-13 Robert Millan <rmh@aybabtu.com>
17248
17249 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 17250 that name for menuentries when appropriate.
7ebc2d6b 17251
d8ba3667 172522009-04-13 Felix Zielcke <fzielcke@z-51.de>
17253
17254 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17255
cba416eb 172562009-04-13 Robert Millan <rmh@aybabtu.com>
17257
17258 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17259 to Linux, simply abort telling the user it's no longer supported.
17260
a547a745 172612009-04-13 Felix Zielcke <fzielcke@z-51.de>
17262
17263 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 17264 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 17265 `freebsd_loadenv' only when devices.hints exist.
17266
232a769c 172672009-04-13 Pavel Roskin <proski@gnu.org>
17268
17269 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17270
c3012039 172712009-04-13 Felix Zielcke <fzielcke@z-51.de>
17272
17273 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17274 partition number.
17275 (grub_drive): Likewise.
17276
234022fe 172772009-04-13 David S. Miller <davem@davemloft.net>
17278
17279 * kern/sparc64/ieee1275/ieee1275.c: New file.
17280 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17281 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17282 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17283 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17284 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17285 grub_ieee1275_alloc_physmem): Declare new exported functions.
17286
d8e1836c 17287 * include/grub/sparc64/ieee1275/loader.h: New file.
17288 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17289 * include/grub/sparc64/kernel.h: Likewise.
17290 * loader/sparc64/ieee1275/linux.c: Likewise.
17291
96bd81ec 17292 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17293 (grub_fstest_SOURCES): Likewise.
17294
6a4737e5 17295 * util/hostdisk.c (make_device_name): Do not make any assumptions
17296 about the length of drive names.
17297
1d7a72fd 17298 * kern/dl.c (grub_dl_load_file): Close file immediately when
17299 we are done using it.
17300
56bc2471 173012009-04-12 David S. Miller <davem@davemloft.net>
17302
17303 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17304 values. Noticed by Pavel Roskin.
17305
df38d0bb 17306 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17307 target compiler.
7dd4a573 17308
e382e93a 17309 * genmk.rb: Add more flexible image type specification, also
17310 pass --strip-unneeded to objcopy.
17311 * conf/i386-pc.rmk: Use *_FORMAT.
17312 * conf/i386-pc.mk: Rebuilt.
17313
f5dbbca9 17314 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17315 (OFDISK_HASH_SZ): Define.
17316 (ofdisk_hash): New hash table.
17317 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17318 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17319 instead of device phandle which is not unique.
17320
91c88b12 17321 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17322 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17323 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17324 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17325 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17326 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17327 GRUB_KERNEL_MACHINE_DATA_END): Define.
17328 (grub_kernel_image_size, grub_total_module_size): Declare.
17329
5b5d4aa5 173302009-04-12 Pavel Roskin <proski@gnu.org>
17331
7dd4a573 17332 * configure.ac: Change the logic when we check for target tools.
17333 Do it when the target is specified and it's different from the
17334 specified value of the host.
5b5d4aa5 17335
c91e1793 173362009-04-11 Felix Zielcke <fzielcke@z-51.de>
17337
17338 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17339 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17340 GNU/kFreeBSD. Check if a device is a character device. Use
17341 DIOCGMEDIASIZE to get the size.
17342 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17343 support for GNU/kFreeBSD.
17344 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17345 is a character device instead of a block device. Add support for
17346 FreeBSD device names.
17347
17348 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17349 is a character device instead of a block device.
17350
17351 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17352 is a character device instead of a block device.
17353
b1ac8644 173542009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17355
17356 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17357 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17358 FreeBSD. Check if a device is a character device. Use
17359 DIOCGMEDIASIZE to get the size.
17360 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17361 support for FreeBSD.
17362 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17363 is a character device instead of a block device. Add support for
17364 FreeBSD device names.
17365
17366 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17367 a character device instead of a block device.
17368 (grub_util_check_char_device): New function.
17369
17370 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17371 a character device instead of a block device.
17372
17373 * include/grub/util/getroot.h (grub_util_check_char_device): New
17374 prototype.
17375
a3f7515a 173762009-04-11 David S. Miller <davem@davemloft.net>
17377
17378 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17379 static libgcc.
17380 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17381 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17382 function, if present.
17383 (__bswapdi2): Likewise.
17384
0d44993d 17385 * include/grub/sparc64/ieee1275/boot.h: New file.
17386 * boot/sparc64/ieee1275/boot.S: Likewise.
17387 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17388
ed3d2bc2 17389 * kern/misc.c (grub_ltoa): New function.
17390 (grub_vsprintf): Use it to format 'long' integers.
17391
d3bfb59c 173922009-04-10 David S. Miller <davem@davemloft.net>
17393
17394 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17395 slots are of type grub_ieee1275_cell_t.
17396 (grub_nand_read): Likewise.
17397 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17398 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17399 macros are used to compare values in arg/ret block of the call.
17400 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17401 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17402 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17403 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17404 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17405 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17406 grub_ieee1275_close, grub_ieee1275_set_property,
17407 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17408 grub_ieee1275_cell_t.
17409 * kern/ieee1275/openfw.c (grub_map): Likewise.
17410 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17411 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17412
450e2238 17413 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17414 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17415 (grub_devalias_iterate): Likewise.
17416
7dd4a573 174172009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 17418
17419 UFS improvements
17420
17421 * fs/ufs.c (INODE_NBLOCKS): new definition
17422 (struct grub_ufs_dirent): added fields for non-BSD dirents
17423 (grub_ufs_get_file_block): fixed double indirect handling
17424 (grub_ufs_lookup_symlink): use more robust way to determine whether
17425 symlink is inline
17426 (grub_ufs_find_file): support for non-BSD dirents
17427 (grub_ufs_dir): support for non-BSD dirents
17428
e7e6862a 174292009-04-10 Bean <bean123ch@gnail.com>
17430
17431 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17432 attribute, otherwise the size would be wrong for i386 platform.
17433
17434 * include/grub/pci.h (grub_pci_read_word): New inline function.
17435 (grub_pci_read_byte): Likewise.
17436 (grub_pci_write): Likewise.
17437 (grub_pci_write_word): Likewise.
17438 (grub_pci_write_byte): Likewise.
17439
17440 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17441
17442 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17443 (find_framebuf): Scan pci to locate the frame buffer address.
17444
17445 * commands/efi/fixvideo.c: New file.
17446
17447 * commands/efi/loadbios.c: Likewise.
17448
17449 * commands/memrw.c: Likewise.
17450
17451 * util/grub-dumpbios.in: Likewise.
17452
17453 * conf/common.rmk (grub-dumpbios): New utility.
17454 (pkglib_MODULES): New module memrw.mod.
17455 (memrw_mod_SOURCE): New macro.
17456 (memrw_mod_CFLAGS): Likewise.
17457 (memrw_mod_LDFLAGS): Likewise.
17458
7dd4a573 17459 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17460 fixvideo.mod.
17461 (loadbios_mod_SOURCE): New macro.
17462 (loadbios_mod_CFLAGS): Likewise.
17463 (loadbios_mod_LDFLAGS): Likewise.
17464 (fixvideo_mod_SOURCE): Likewise.
17465 (fixvideo_mod_CFLAGS): Likewise.
17466 (fixvideo_mod_LDFLAGS): Likewise.
17467
7dd4a573 17468 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17469 fixvideo.mod.
17470 (loadbios_mod_SOURCE): New macro.
17471 (loadbios_mod_CFLAGS): Likewise.
17472 (loadbios_mod_LDFLAGS): Likewise.
17473 (fixvideo_mod_SOURCE): Likewise.
17474 (fixvideo_mod_CFLAGS): Likewise.
17475 (fixvideo_mod_LDFLAGS): Likewise.
17476
af63ada2 174772009-04-08 Felix Zielcke <fzielcke@z-51.de>
17478
17479 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17480
c2cdde70 174812009-04-07 David S. Miller <davem@davemloft.net>
17482
17483 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17484 support for R_SPARC_OLO10 relocations. Fix compile warning for
17485 R_SPARC_WDISP30 case.
ea3f72cf 17486 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 17487
761319cf 174882009-04-06 Pavel Roskin <proski@gnu.org>
17489
1007d1f5 17490 * include/grub/misc.h (ARRAY_SIZE): New macro.
17491 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17492 New macro.
17493 * loader/i386/linux.c (allocate_pages): Use free_pages().
17494 (grub_linux_unload): Don't use free_pages().
17495 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17496 wrong index. Treat all other modes as text modes.
17497 (grub_cmd_linux): Initialize vid_mode unconditionally to
17498 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17499
761319cf 17500 * commands/help.c (print_command_help): Use cmd->prio, not
17501 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17502
ea761d40 175032009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 17504
ea761d40 17505 Parttool
17506
17507 * parttool/pcpart.c: new file
17508 * commands/parttool.c: likewise
17509 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17510 (parttool_mod_SOURCES): new variable
17511 (parttool_mod_CFLAGS): likewise
17512 (parttool_mod_LDFLAGS): likewise
17513 (pcpart_mod_SOURCES): likewise
17514 (pcpart_mod_CFLAGS): likewise
17515 (pcpart_mod_LDFLAGS): likewise
7dd4a573 17516 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 17517 and parttool/pcpart.c
17518 * conf/i386-efi.rmk: likewise
17519 * conf/i386-ieee1275.rmk: likewise
17520 * conf/i386-pc.rmk: likewise
17521 * conf/powerpc-ieee1275.rmk: likewise
17522 * conf/sparc64-ieee1275.rmk: likewise
17523 * conf/x86_64-ieee1275.rmk: likewise
17524
05aaebfb 175252009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 Support for mtime and further expandability of dir command
17528
17529 * include/grub/lib/datetime.h: moved to ...
7dd4a573 17530 * include/grub/datetime.h: ... moved here and added
05aaebfb 17531 declaration of grub_unixtime2datetime. All users updated
7dd4a573 17532 * include/grub/fs.h: new syntax for dir and mtime functions in
17533 struct grub_fs
05aaebfb 17534 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17535 and GRUB_FSHELP_FLAGS_MASK
17536 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17537 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17538 (grub_ext2_mtime): new function
17539 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
17540 (grub_hfsplus_mtime): new function
17541 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
17542 (GRUB_UFS_ATTR_FILE): likewise
17543 (GRUB_UFS_ATTR_LNK): likewise
17544 (struct grub_ufs_sblock): new fields mtime
17545 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
17546 all users updated
17547 (grub_ufs_dir): mtime support
17548 (grub_ufs_mtime): new function
17549 * fs/affs.c (grub_affs_dir): use new dir syntax
17550 * fs/afs.c (grub_afs_dir): likewise
17551 * fs/cpio.c (grub_cpio_dir): likewise
17552 * fs/fat.c (grub_fat_find_dir): likewise
17553 * fs/hfs.c (grub_hfs_dir): likewise
17554 * fs/iso9660.c (grub_iso9660_dir): likewise
17555 * fs/jfs.c (grub_jfs_dir): likewise
17556 * fs/minix.c (grub_minix_dir): likewise
17557 * fs/ntfs.c (grub_ntfs_dir): likewise
17558 * fs/reiserfs.c (grub_reiserfs_dir): likewise
17559 * fs/sfs.c (grub_sfs_dir): likewise
17560 * fs/xfs.c (grub_xfs_dir): likewise
17561 * util/hostfs.c (grub_hostfs_dir): likewise
17562 * lib/datetime.c: moved to ...
17563 * normal/datetime.c: ... moved here
17564 (grub_unixtime2datetime): new function
17565 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 17566 * normal/completion.c (iterate_dir): use new dir syntax
17567 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 17568 last modification time of a volume
7dd4a573 17569 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 17570 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 17571 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 17572 (normal_mod_SOURCES): likewise
17573 (datetime_mod_SOURCES): Removed lib/datetime.c
17574 * conf/i386-efi.rmk: likewise
7dd4a573 17575 * conf/i386-ieee1275.rmk: likewise
05aaebfb 17576 * conf/i386-pc.rmk: likewise
17577 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17578 * conf/sparc64-ieee1275.rmk: likewise
17579 * conf/x86_64-efi.rmk: likewise
05aaebfb 17580
8a7e1a14 175812009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17582
17583 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 17584
17585 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 17586 on grub_fat_find_dir
17587 (grub_fat_find_dir): use grub_fat_iterate_dir
17588 (grub_fat_label): likewise
17589
04186a9c 175902009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17591
7dd4a573 17592 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 17593 and command.h
17594 remove extraneous kernel_elf_HEADERS
17595
da4c0bb6 175962009-04-04 Bean <bean123ch@gnail.com>
17597
17598 * include/grub/util/misc.h: Add dummy function fsync for mingw.
17599
17600 * util/misc.c: Likewise.
17601
54ad9555 176022009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
17603
17604 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
17605 instead of grub_printf.
17606
7a6bf9f2 176072009-04-03 Robert Millan <rmh@aybabtu.com>
17608
17609 * loader/i386/linux.c (grub_linux_setup_video): Fill
17610 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
17611 values from `mode info' structure instead of hardcoded
17612 values.
17613
3fcc2083 176142009-04-01 Pavel Roskin <proski@gnu.org>
17615
17616 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
17617 unused now.
17618 * genmk.rb: Likewise.
17619 * configure.ac: Likewise.
17620
5ec9740b 176212009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
17622
17623 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
17624 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
17625
5270cec8 176262009-04-01 David S. Miller <davem@davemloft.net>
17627
17628 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 17629 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 17630 (grub_setjmp): Mark with 'returns_twice' attribute.
17631 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
17632 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
17633 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
17634
9c3dd854 176352009-04-01 Robert Millan <rmh@aybabtu.com>
17636
17637 Reapply fix from 2008-07-28 which was accidentally reverted; also
17638 perform the same fix to a similar check in same function.
17639
17640 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17641 with the same number are found, just use issue a warning with
17642 grub_dprintf(), as this error has been reported to be non-fatal.
17643
0d818b7e 176442009-03-31 Pavel Roskin <proski@gnu.org>
17645
17646 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
17647 for cross-compilation.
17648
95646d92 176492009-03-30 Robert Millan <rmh@aybabtu.com>
17650
17651 Fix i386-ieee1275 build.
17652
17653 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
17654 Remove declaration.
17655
6a003ed1 176562009-03-30 Pavel Roskin <proski@gnu.org>
17657
17658 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
17659 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
17660 zero-terminated, rely only on the strlen value. Fix comparison
17661 of strings differing in length.
17662
92f33540 176632009-03-30 Robert Millan <rmh@aybabtu.com>
17664
17665 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
17666 checking for abi version. Improve error messages on BIOS to notify
17667 user about `linux16' command.
17668
a8c48fd5 176692009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17670
f968172e 17671 Leak fixes
a8c48fd5 17672
f968172e 17673 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
17674 in case of collision
17675 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 17676
9c323f09 176772009-03-29 Robert Millan <rmh@aybabtu.com>
17678
17679 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
17680 set `vid_mode' accordingly.
17681 (grub_linux_boot): Process `vid_mode' and set video mode.
17682
ae68f423 176832009-03-29 Robert Millan <rmh@aybabtu.com>
17684
17685 * util/grub.d/10_linux.in (linux_entry): New function.
17686 Factorize generation of Linux boot entries.
17687
5709cfc4 176882009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
17689
17690 Make the format of Environment Block plain text. The boot loader
17691 part is not tested well yet.
7dd4a573 17692
5709cfc4 17693 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
17694 (buffer): Removed.
17695 (envblk): Likewise.
17696 (usage): Remove "info" and "clear". Add "unset". Update the
17697 description of "set", as this does not delete variables any
17698 longer.
17699 (create_envblk_file): Complete rewrite.
17700 (open_envblk_file): Likewise.
17701 (cmd_info): Removed.
17702 (cmd_list): Likewise.
17703 (cmd_set): Likewise.
17704 (cmd_clear): Likewise.
17705 (list_variables): New function.
17706 (write_envblk): Likewise.
17707 (set_variables): Likewise.
17708 (unset_variables): Likewise.
17709 (main): Complete rewrite.
17710
17711 * commands/loadenv.c (buffer): Removed.
17712 (envblk): Likewise.
17713 (open_envblk_file): New function.
17714 (read_envblk_file): Complete rewrite.
17715 (grub_cmd_load_env): Likewise.
17716 (grub_cmd_list_env): Likewise.
17717 (struct blocklist): New struct.
17718 (free_blocklists): New function.
17719 (check_blocklists): Likewise.
17720 (write_blocklists): Likewise.
17721 (grub_cmd_save_env): Complete rewrite.
17722
17723 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
17724 a plain text signature.
17725 (GRUB_ENVBLK_MAXLEN): Removed.
17726 (struct grub_envblk): Complete rewrite.
17727 (grub_envblk_find): Removed.
17728 (grub_envblk_insert): Likewise.
17729 (grub_envblk_open): New prototype.
17730 (grub_envblk_set): Likewise.
17731 (grub_envblk_delete): Put const to VALUE.
17732 (grub_envblk_iterate): Put const to NAME and VALUE.
17733 (grub_envblk_close): New prototype.
17734 (grub_envblk_buffer): New inline function.
17735 (grub_envblk_size): Likewise.
17736
17737 * lib/envblk.c: Include grub/mm.h.
17738 (grub_env_find): Removed.
17739 (grub_envblk_open): New function.
17740 (grub_envblk_close): Likewise.
17741 (escaped_value_len): Likewise.
17742 (find_next_line): Likewise.
17743 (grub_envblk_insert): Removed.
17744 (grub_envblk_set): New function.
17745 (grub_envblk_delete): Complete rewrite.
17746 (grub_envblk_iterate): Likewise.
17747
a9368fd3 177482009-03-28 Robert Millan <rmh@aybabtu.com>
17749
17750 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
17751 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
17752 variables. Use 16-bit loader.
17753 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
17754 loader.
17755 * kern/i386/loader.S (grub_linux_boot): Rename to ...
17756 (grub_linux16_boot): ... this. Update all users.
17757 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
17758 (grub_linux_boot): ... this. Update all users.
17759
17760 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
17761 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
17762 commands to `linux16' and `initrd16'.
17763 (GRUB_MOD_FINI(linux)): Rename to ...
17764 (GRUB_MOD_FINI(linux16)): ... this.
17765
e4dd5a7e 177662009-03-24 Pavel Roskin <proski@gnu.org>
17767
17768 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
17769 not just for compilation.
17770
c04d6e05 177712009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 Move multiboot helper out of kernel
17774
17775 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
17776 `loader/i386/multiboot_helper.S'.
17777 * conf/i386-coreboot.rmk: Likewise
17778 * conf/i386-ieee1275.rmk: Likewise
17779
17780 * kern/i386/loader.S: Move multiboot helpers from here...
17781 * loader/i386/multiboot_helper.S: ...moved here
17782 * include/grub/i386/loader.h: Move declarations of multiboot
17783 helpers from here...
17784 * include/grub/i386/multiboot.h: ...moved here
17785 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
17786
42a5b3fc 177872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17788
17789 * kern/env.c (grub_env_context_open): Added an argument to specify
17790 whether a new context inherits exported variables from current
17791 one. This is useful when making a sandbox to interpret a config
17792 file.
17793 All callers updated.
17794
17795 * include/grub/env.h (grub_env_context_open): Updated the prototype.
17796
b28bbc4e 177972009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17798
17799 * kern/env.c (grub_env_context_close): Fix memory leaks.
17800
f04f02e4 178012009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17802
17803 * normal/main.c (grub_normal_execute): Added an argument
17804 BATCH to specify if an interactive interface should be provided
17805 after reading a config file.
17806 All callers updated.
17807 (read_command_list): Prevent being executed twice.
17808 (read_fs_list): Likewise.
17809
42a5b3fc 17810 * include/grub/normal.h (grub_normal_execute): Updated the
17811 prototype.
f04f02e4 17812
41473ac2 178132009-03-22 Pavel Roskin <proski@gno.org>
17814
fbc00b0c 17815 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
17816 _start.
17817 * kern/i386/pc/startup.S: Likewise.
17818 * kern/i386/efi/startup.S: Likewise.
17819 * kern/i386/ieee1275/startup.S: Likewise.
17820 * kern/i386/coreboot/startup.S: Likewise.
17821 * kern/x86_64/efi/startup.S: Likewise.
17822
41473ac2 17823 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
17824 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
17825 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
17826
2274cc8f 178272009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 Bugfixes in multiboot for bugs uncovered by solaris kernel.
17830
17831 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
17832 limit detection.
17833 Use vaddr of correct segment for entry_point.
17834
b1b797cb 178352009-03-21 Bean <bean123ch@gmail.com>
17836
17837 * commands/blocklist.c: Add include file <grub/command.h>, remove
17838 <grub/normal.h> and <grub/arg.h>.
17839 (grub_cmd_blocklist): Use the new command interface.
17840 (GRUB_MOD_INIT): Likewise.
17841 (GRUB_MOD_FINI): Likewise.
17842 * commands/boot.c: Likewise.
17843 * commands/cat.c: Likewise.
17844 * commands/cmp.c: Likewise.
17845 * commands/configfile.c: Likewise.
17846 * commands/crc.c: Likewise.
17847 * commands/echo.c: Likewise.
17848 * commands/halt.c: Likewise.
17849 * commands/handler.c: Likewise.
17850 * commands/hdparm.c: Likewise.
17851 * commands/help.c: Likewise.
17852 * commands/hexdump.c: Likewise.
17853 * commands/loadenv.c: Likewise.
17854 * commands/ls.c: Likewise.
17855 * commands/lsmmap.c: Likewise.
17856 * commands/lspci.c: Likewise.
17857 * commands/loadenv.c: Likewise.
17858 * commands/read.c: Likewise.
17859 * commands/reboot.c: Likewise.
17860 * commands/search.c: Likewise.
17861 * commands/sleep.c: Likewise.
17862 * commands/test.c: Likewise.
17863 * commands/usbtest.c: Likewise.
17864 * commands/videotest.c: Likewise.
17865 * commands/i386/cpuid.c: Likewise.
17866 * commands/i386/pc/halt.c: Likewise.
17867 * commands/i386/pc/play.c: Likewise.
17868 * commands/i386/pc/pxecmd.c: Likewise.
17869 * commands/i386/pc/vbeinfo.c: Likewise.
17870 * commands/i386/pc/vbetest.c: Likewise.
17871 * commands/ieee1275/suspend.c: Likewise.
17872 * disk/loopback.c: Likewise.
17873 * font/font_cmd.c: Likewise.
17874 * hello/hello.c: Likewise.
17875 * loader/efi/appleloader.c: Likewise.
17876 * loader/efi/chainloader.c: Likewise.
17877 * loader/i386/bsd.c: Likewise.
17878 * loader/i386/efi/linux.c: Likewise.
17879 * loader/i386/ieee1275/linux.c: Likewise.
17880 * loader/i386/linux.c: Likewise.
17881 * loader/i386/pc/chainloader.c: Likewise.
17882 * loader/i386/pc/linux.c: Likewise.
17883 * loader/powerpc/ieee1275/linux.c: Likewise.
17884 * loader/multiboot_loader.c: Likewise.
17885 * term/gfxterm.c: Likewise.
17886 * term/i386/pc/serial.c: Likewise.
17887 * term/terminfo.c: Likewise.
17888
17889 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
17890 * term/i386/pc/vga.c: Likewise.
17891 * video/readers/jpeg.c: Likewise.
17892 * video/readers/png.c: Likewise.
17893 * video/readers/tga.c: Likewise.
17894
17895 * util/grub-fstest (cmd_loopback): Removed.
17896 (cmd_blocklist): Likewise.
17897 (cmd_ls): Likewise.
17898 (grub_register_command): Likewise.
17899 (grub_unregister_command): Likewise.
17900 (execute_command): Use grub_command_find to locate command and execute
17901 it.
17902
17903 * include/grub/efi/chainloader.h: Removed.
17904 * loader/efi/chainloader_normal.c: Likewise.
17905 * loader/i386/bsd_normal.c: Likewise.
17906 * loader/i386/pc/chainloader_normal.c: Likewise.
17907 * loader/i386/pc/multiboot_normal.c: Likewise.
17908 * loader/linux_normal.c: Likewise.
17909 * loader/multiboot_loader_normal.c: Likewise.
17910 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17911
17912 * gencmdlist.sh: Scan new registration command grub_register_extcmd
17913 and grub_register_command_p1.
17914
17915 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
17916 kern/command.c, lib/arg.c and commands/extcmd.c.
17917 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
17918 (minicmd_mod_SOURCES): New variable.
17919 (minicmd_mod_CFLAGS): Likewise.
17920 (minicmd_mod_LDFLAGS): Likewise.
17921 (extcmd_mod_SOURCES): Likewise.
17922 (extcmd_mod_CFLAGS): Likewise.
17923 (extcmd_mod_LDFLAGS): Likewise.
17924 (boot_mod_SOURCES): Removed.
17925 (boot_mod_CFLAGS): Likewise.
17926 (boot_mod_LDFLAGS): Likewise.
17927
17928 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
17929 kern/corecmd.c.
17930 (kernel_img_HEADERS): Add command.h.
17931 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
17932 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
17933 and lib/arg.c.
17934 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
17935 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
17936 remove the corresponding normal mode command.
17937 (normal_mod_SOURCES): Remove normal/arg.c.
17938 * conf/i386-coreboot.rmk: Likewise.
17939 * conf/i386-efi.rmk: Likewise.
17940 * conf/i386-ieee1275.rmk: Likewise.
17941 * conf/powerpc-ieee1275.rmk: Likewise.
17942 * conf/x86_64-efi.rmk: Likewise.
17943
17944 * include/grub/arg.h: Move from here ...
17945 * include/grub/lib/arg.h: ... to here.
17946
17947 * normal/arg.c: Move from here ...
17948 * lib/arg.c: ... to here.
17949
17950 * commands/extcmd.c: New file.
17951 * commands/minicmd.c: Likewise.
17952 * include/grub/command.h: Likewise.
17953 * include/grub/extcmd.h: Likewise.
17954 * kern/command.c: Likewise.
17955 * kern/corecmd.c: Likewise.
17956
17957 * kern/list.c (grub_list_iterate): Return int instead of void.
17958 (grub_list_insert): New function.
17959 (grub_prio_list_insert): Likewise.
17960
17961 * kern/rescue.c (grub_rescue_command): Removed.
17962 (grub_rescue_command_list): Likewise.
17963 (grub_rescue_register_command): Likewise.
17964 (grub_rescue_unregister_command): Likewise.
17965 (grub_rescue_cmd_boot): Move to minicmd.c
17966 (grub_rescue_cmd_help): Likewise.
17967 (grub_rescue_cmd_info): Likewise.
17968 (grub_rescue_cmd_boot): Likewise.
17969 (grub_rescue_cmd_testload): Likewise.
17970 (grub_rescue_cmd_dump): Likewise.
17971 (grub_rescue_cmd_rmmod): Likewise.
17972 (grub_rescue_cmd_lsmod): Likewise.
17973 (grub_rescue_cmd_exit): Likewise.
17974 (grub_rescue_print_devices): Moved to corecmd.c.
17975 (grub_rescue_print_files): Likewise.
17976 (grub_rescue_cmd_ls): Likewise.
17977 (grub_rescue_cmd_insmod): Likewise.
17978 (grub_rescue_cmd_set): Likewise.
17979 (grub_rescue_cmd_unset): Likewise.
7d074e3c 17980 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 17981 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 17982 commands, remove grub_rescue_register_command calls.
b1b797cb 17983
7d074e3c 17984 * normal/command.c (grub_register_command): Removed.
b1b797cb 17985 (grub_unregister_command): Likewise.
17986 (grub_command_find): Likewise.
17987 (grub_iterate_commands): Likewise.
17988 (rescue_command): Likewise.
17989 (export_command): Moved to corecmd.c.
17990 (set_command): Removed.
17991 (unset_command): Likewise.
17992 (insmod_command): Likewise.
17993 (rmmod_command): Likewise.
17994 (lsmod_command): Likewise.
17995 (grub_command_init): Likewise.
17996
17997 * normal/completion.c (iterate_command): Use cmd->prio to check for
17998 active command.
17999 (complete_arguments): Use grub_extcmd_t structure to find options.
18000 (grub_normal_do_completion): Change function grub_iterate_commands to
18001 grub_command_iterate.
18002
18003 * normal/execute.c (grub_script_execute_cmd): No need to parse
18004 argument here.
18005
18006 * normal/main.c (grub_dyncmd_dispatcher): New function.
18007 (read_command_list): Register unload commands as dyncmd.
18008 (grub_cmd_normal): Use new command interface, register rescue,
18009 unregister normal at entry, register normal, unregister rescue at exit.
18010
18011 * include/grub/list.h (grub_list_test_t): New type.
18012 (grub_list_iterate): Return int instead of void.
18013 (grub_list_insert): New function.
18014 (GRUB_AS_NAMED_LIST_P): New macro.
18015 (GRUB_AS_PRIO_LIST): Likewise.
18016 (GRUB_AS_PRIO_LIST_P): Likewise.
18017 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
18018 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
18019 (grub_prio_list): New structure.
18020 (grub_prio_list_insert): New function.
18021 (grub_prio_list_remove): New inline function.
18022
18023 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
18024 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
18025 (GRUB_COMMAND_FLAG_MENU): Likewise.
18026 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18027 (GRUB_COMMAND_FLAG_TITLE): Likewise.
18028 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18029 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
18030 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
18031 (grub_command): Likewise.
18032 (grub_register_command): Likewise.
18033 (grub_command_find): Likewise.
18034 (grub_iterate_commands): Likewise.
18035 (grub_command_init): Likewise.
18036 (grub_arg_parse): Likewise.
18037 (grub_arg_show_help): Likewise.
18038
18039 * include/grub/rescue.h (grub_rescue_register_command): Removed.
18040 (grub_rescue_unregister_command): Likewise.
18041
18042 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18043 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18044 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18045
18046 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18047 grub_rescue_cmd_initrd.
18048 * include/grub/i386/loader.h: Likewise.
18049 * include/grub/x86_64/loader.h: Likewise.
18050
18051 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18052
1f4147aa 180532009-03-21 Bean <bean123ch@gmail.com>
18054
18055 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18056 instead of stat in mingw environment.
18057
18058 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18059
18060 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18061
18062 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18063 AC_CONFIG_LINKS.
18064
2156d5ba 180652009-03-21 Bean <bean123ch@gmail.com>
18066
18067 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18068 out of range error.
18069
177b82ca 180702009-03-18 Michel Dänzer <michel@daenzer.net>
18071
18072 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18073 checking inode flags for EXT4_EXTENTS_FLAG.
18074
14aad807 180752009-03-18 Robert Millan <rmh@aybabtu.com>
18076
18077 * loader/i386/linux.c: Include `<grub/video.h>' and
18078 `<grub/i386/pc/vbe.h>'..
18079 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18080 (grub_linux32_boot): Attempt to configure video settings with
18081 grub_linux_setup_video().
18082 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18083 to avoid grub_console_fini() which would step out of graphical mode
18084 unconditionally.
18085
8cf83a27 180862009-03-14 Robert Millan <rmh@aybabtu.com>
18087
18088 Fix build on powerpc.
18089 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18090
40164e75 180912009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18094 background image command.
18095
c58bc32a 180962009-03-12 Colin D Bennett <colin@gibibit.com>
18097
18098 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18099 (grub_gfxterm_putchar): Extract pairs of identical calls to
18100 draw_cursor out of conditional blocks.
18101
5415144a 181022009-03-11 Pavel Roskin <proski@gnu.org>
18103
18104 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18105 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18106
6394042e 181072009-03-11 Robert Millan <rmh@aybabtu.com>
18108
18109 * loader/i386/multiboot_elfxx.c
18110 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18111
b7b50e5f 181122009-03-11 Felix Zielcke <fzielcke@z-51.de>
18113
18114 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18115 `kern/handler.c'.
18116
1ca7fc96 181172009-03-11 Robert Millan <rmh@aybabtu.com>
18118
18119 * loader/i386/multiboot.c (code_size): New variable.
18120 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18121 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18122 4-byte alignment to MBI and others by increasing
7d074e3c 18123 `boot_loader_name_length' appropriately.
1ca7fc96 18124
18125 * loader/i386/multiboot_elfxx.c
18126 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18127
a83ea1d2 181282009-03-09 Felix Zielcke <fzielcke@z-51.de>
18129
18130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18131 `fs/ext2.c'.
18132
aa9f3bff 181332009-03-08 Robert Millan <rmh@aybabtu.com>
18134
18135 Make loader/i386/linux.c usable on i386-pc again.
18136
18137 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18138 memory to heap.
18139 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18140 `#error' stanza.
18141
d8b3b60e 181422009-03-07 Bean <bean123ch@gmail.com>
18143
18144 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18145 allocation.
18146
b362c9e9 181472009-03-06 Robert Millan <rmh@aybabtu.com>
18148
18149 Fix display issue on terminals with screen size other than 80x25
18150 (e.g. gfxterm with resolution higher than 640x480).
18151
18152 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18153 position relative to the center of the terminal instead of relying
b362c9e9 18154 on a hardcoded offset.
18155
9304eef1 181562009-03-04 Robert Millan <rmh@aybabtu.com>
18157
18158 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18159 installed.
18160
18161 * Makefile.in (host_kernel): New variable.
18162 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18163 scripts instead of just the windows one.
18164 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18165
eabc95fb 181662009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18167
18168 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18169 `kern/handler.c'.
18170 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18171 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18174 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18175 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18176
ceb1223c 181772009-03-04 Felix Zielcke <fzielcke@z-51.de>
18178
18179 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18180 or if there's no space for the disk label and print the partition number on a
18181 invalid magic.
18182
4910684a 181832009-03-04 Felix Zielcke <fzielcke@z-51.de>
18184
18185 * util/misc.c: Include <time.h>.
18186 (grub_millisleep): New function.
18187
7e9ca17a 181882009-03-04 Bean <bean123ch@gmail.com>
18189
18190 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18191 another option -mno-red-zone.
18192
18193 * commands/handler.c: Change module description.
18194
18195 * kern/handler.c: Add missing space at the end of description line.
18196
18197 * kern/list.c: Likewise.
18198
f501677c 181992009-03-03 Robert Millan <rmh@aybabtu.com>
18200
18201 Move more components to the relocation area, and fix mbi pointer
18202 handling to use the destination rather than the origin (thanks to
18203 Vladimir Serbinenko for spotting).
18204
18205 * loader/i386/multiboot.c (mbi_dest): New variable.
18206 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18207 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18208 relocation area.
18209
9902d047 182102009-03-01 Bean <bean123ch@gmail.com>
18211
50fb7002 18212 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 18213 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18214 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18215 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18216
18217 * loader/i386/efi/linux.c (acpi_guid): New variable.
18218 (acpi_guid): Likewise.
18219 (EBDA_SEG_ADDR): New constant.
18220 (LOW_MEM_ADDR): Likewise.
18221 (FAKE_EBDA_SEG): Likewise.
18222 (fake_bios_data): New function.
18223 (grub_linux_boot): Call fake_bios_data.
18224
71b9f361 182252009-03-01 Bean <bean123ch@gmail.com>
18226
18227 * commands/terminal.c: Removed.
18228
18229 * commands/handler.c: New file.
18230
18231 * include/grub/list.h: Likewise.
18232
18233 * include/grub/handler.h: Likewise.
18234
18235 * kern/list.c: Likewise.
18236
18237 * kern/handler.c: Likewise.
18238
18239 * kern/term.h: Include header file <grub/handler.h>.
18240 (grub_term_input): Move next field to the beginning.
18241 (grub_term_output): Likewise.
18242 (grub_term_input_class): New variable.
18243 (grub_term_output_class): Likewise.
18244 (grub_term_register_input): Changed to inline function.
18245 (grub_term_register_output): Likewise.
18246 (grub_term_unregister_input): Likewise.
18247 (grub_term_unregister_output): Likewise.
18248 (grub_term_set_current_input): Likewise.
18249 (grub_term_set_current_output): Likewise.
18250 (grub_term_get_current_input): Likewise.
18251 (grub_term_get_current_output): Likewise.
18252 (grub_term_iterate_input): Removed.
18253 (grub_term_iterate_output): Likewise.
18254
18255 * kern/term.c (grub_term_list_input): Removed.
18256 (grub_term_list_output): Likewise.
18257 (grub_term_input_class): New variable.
18258 (grub_term_output_class): Likewise.
50fb7002 18259 (grub_cur_term_input): Change variable as macro.
71b9f361 18260 (grub_cur_term_output): Likewise.
18261 (grub_term_register_input): Removed.
18262 (grub_term_register_output): Likewise.
18263 (grub_term_unregister_input): Likewise.
18264 (grub_term_unregister_output): Likewise.
18265 (grub_term_set_current_input): Likewise.
18266 (grub_term_set_current_output): Likewise.
18267 (grub_term_iterate_input): Likewise.
18268 (grub_term_iterate_output): Likewise.
18269 (grub_term_get_current_input): Likewise.
18270 (grub_term_get_current_output): Likewise.
18271
18272 * util/grub-editenv.c: Include header file <grub/handler.h>.
18273 (grub_term_get_current_input): Removed.
18274 (grub_term_get_current_output): Likewise.
18275 (grub_term_input_class): New variable.
50fb7002 18276 (grub_term_output_class): Likewise.
71b9f361 18277
18278 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18279 (grub_term_get_current_output): Likewise.
18280 (grub_term_input_class): New variable.
50fb7002 18281 (grub_term_output_class): Likewise.
71b9f361 18282
18283 * util/grub-probe.c (grub_term_get_current_input): Removed.
18284 (grub_term_get_current_output): Likewise.
18285 (grub_term_input_class): New variable.
50fb7002 18286 (grub_term_output_class): Likewise.
71b9f361 18287
18288 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18289 (grub_term_get_current_output): Likewise.
18290 (grub_term_input_class): New variable.
50fb7002 18291 (grub_term_output_class): Likewise.
71b9f361 18292
18293 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18294 (terminal_mod_SOURCES): Likewise.
18295 (terminal_mod_CFLAGS): Likewise.
18296 (terminal_mod_LDFLAGS): Likewise.
18297
18298 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18299 handler.c.
18300 (kernel_img_SOURCES): Add list.c and handler.c.
18301 (kernel_img_HEADERS): Add list.h and handler.h.
18302
18303 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18304 handler.c.
18305 (kernel_mod_SOURCES): Add list.c and handler.c.
18306 (kernel_mod_HEADERS): Add list.h and handler.h.
18307
18308 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18309 handler.c.
18310 (kernel_elf_SOURCES): Add list.c and handler.c.
18311 (kernel_elf_HEADERS): Add list.h and handler.h.
18312
18313 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18314 handler.c.
18315 (kernel_elf_SOURCES): Add list.c and handler.c.
18316 (kernel_elf_HEADERS): Add list.h and handler.h.
18317
18318 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18319 handler.c.
18320 (kernel_mod_SOURCES): Add list.c and handler.c.
18321 (kernel_mod_HEADERS): Add list.h and handler.h.
18322
18323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18324 handler.c.
18325 (kernel_elf_SOURCES): Add list.c and handler.c.
18326 (kernel_elf_HEADERS): Add list.h and handler.h.
18327
8a31787f 183282009-02-27 Robert Millan <rmh@aybabtu.com>
18329
18330 Factorize elf32 / elf64 code in Multiboot loader. This will
18331 prevent it from getting out of sync again.
18332
18333 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18334 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18335 grub_multiboot_load_elf64): Move from here ...
18336 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18337 grub_multiboot_load_elf): ... to here (new file).
18338
51cd3dfc 183392009-02-27 Robert Millan <rmh@aybabtu.com>
18340
18341 * util/grub.d/10_linux.in: Rename "single-user mode" to
18342 "recovery mode".
18343
6e8c9c3a 183442009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18345
18346 Don't leak in SCSI code.
18347 * disk/scsi.c (grub_scsi_close): free `scsi'.
18348
4b6bf4f9 183492009-02-27 Robert Millan <rmh@aybabtu.com>
18350
18351 * loader/i386/pc/multiboot.c: Move from here ...
18352 * loader/i386/multiboot.c: ... to here. Update all users.
18353
b9413424 183542009-02-27 Robert Millan <rmh@aybabtu.com>
18355
18356 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18357 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18358
50fb7002 183592009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18360
18361 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18362 b-tree.
18363
8cc50345 183642009-02-27 Robert Millan <rmh@aybabtu.com>
18365
18366 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18367 `0x' qualifier as 0 when base is specified as parameter).
18368
6e09b8b7 183692009-02-24 Bean <bean123ch@gmail.com>
18370
18371 * configure.ac: Check for -mcmodel=large in x86_64 target.
18372
18373 * include/grub/efi/api.h (efi_call_10): New macro.
18374 (efi_wrap_10): New function.
18375
18376 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18377 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18378 (GRUB_PE32_REL_BASED_LOW): Likewise.
18379 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18380 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18381 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18382 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18383 (GRUB_PE32_REL_BASED_REL): Likewise.
18384 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18385 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18386 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18387
18388 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18389 issue.
18390
18391 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18392 (efi_wrap_10): New function.
18393
18394 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18395
18396 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18397 MB/MBP model (NV chipset).
18398 (devdata_devs): Add devpath_5 to the list.
18399
18400 * load/i386/efi/linux.c (video_base): Remove variable.
18401 (RGB_MASK): New macro.
18402 (RGB_MAGIC): Likewise.
18403 (LINE_MIN): Likewise.
18404 (LINE_MAX): Likewise.
18405 (FBTEST_STEP): Likewise.
18406 (FBTEST_COUNT): Likewise.
18407 (fb_list): New variable.
18408 (grub_find_video_card): Remove function.
18409 (find_framebuf): New function.
18410 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18411 line length.
18412
18413 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18414 problem for x86_64.
18415
74b21bee 184162009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18417
18418 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18419
18420 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18421 coding tool name.
18422
a455f472 184232009-02-22 Robert Millan <rmh@aybabtu.com>
18424
18425 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18426 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18427 in our relocation, instead of using it directly from heap. Also
18428 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18429
6374daf3 184302009-02-21 Robert Millan <rmh@aybabtu.com>
18431
18432 Implement USB keyboard support (based on patch by Marco Gerards)
18433
18434 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18435 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18436 (usb_keyboard_mod_LDFLAGS): New variables.
18437
18438 * term/usb_keyboard.c: New file.
18439
8fa4ea70 184402009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 Corrected wrong declaration
18443
18444 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18445
353976ac 184462009-02-14 Christian Franke <franke@computer.org>
18447
18448 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18449 (grub_lspci_iter): Print class code and programming interface byte.
18450
6aa1169b 184512009-02-14 Christian Franke <franke@computer.org>
18452
18453 * gendistlist.sh: Ignore `.svn' directories.
18454
265372ca 184552009-02-14 Felix Zielcke <fzielcke@z-51.de>
18456
18457 * fs/fat.c: Add 2009 to Copyright line.
18458
9ff516f3 184592009-02-14 Christian Franke <franke@computer.org>
18460
18461 * commands/hdparm.c: New file. Provides `hdparm' command
18462 which sends ATA commands via grub_disk_ata_pass_through ().
18463
18464 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18465
18466 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18467 and <grub/cpu/io.h> to include/grub/ata.h.
18468 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18469 (GRUB_CDROM_SECTOR_SIZE): Remove.
18470 (GRUB_ATA_*): Move to include/grub/ata.h.
18471 (GRUB_ATAPI_*): Likewise.
18472 (enum grub_ata_commands): Likewise.
18473 (enum grub_ata_timeout_milliseconds): Likewise.
18474 (struct grub_ata_device): Likewise.
18475 (grub_ata_regset): Likewise.
18476 (grub_ata_regget): Likewise.
18477 (grub_ata_regset2): Likewise.
18478 (grub_ata_regget2): Likewise.
18479 (grub_ata_check_ready): Likewise.
18480 (grub_ata_wait_not_busy): Remove static, exported in
18481 include/grub/ata.h.
18482 (grub_ata_wait_drq): Likewise.
18483 (grub_ata_pio_read): Likewise.
18484
18485 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18486 function for hdparm.mod.
18487
18488 * include/grub/ata.h: New file, contains declarations from
18489 disk/ata.c.
18490 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18491
18492 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18493 (grub_disk_ata_pass_through): New exported variable.
18494
18495 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18496
772e23da 184972009-02-13 Colin D Bennett <colin@gibibit.com>
18498
18499 Support multiple fallback entries, and provide an API to support
18500 executing default+fallback menu entries. Renamed the `terminal' menu
18501 viewer to `text'.
18502
18503 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18504 variable declaration.
18505 (grub_menu_execute_callback): New structure declaration.
18506 (grub_menu_execute_callback_t): New typedef.
18507 (grub_menu_execute_with_fallback): New function declaration.
18508 (grub_menu_get_entry): Likewise.
18509 (grub_menu_get_timeout): Likewise.
18510 (grub_menu_set_timeout): Likewise.
18511
18512 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18513
18514 * normal/menu.c (grub_wait_after_message): Moved to
18515 `normal/menu_text.c'.
18516 (draw_border): Likewise.
18517 (print_message): Likewise.
18518 (print_entry): Likewise.
18519 (print_entries): Likewise.
18520 (grub_menu_init_page): Likewise.
18521 (get_entry_number): Likewise.
18522 (print_timeout): Likewise.
18523 (run_menu): Likewise.
18524 (grub_menu_execute_entry): Likewise.
18525 (show_text_menu): Likewise.
18526 (get_and_remove_first_entry_number): New function.
18527 (grub_menu_execute_with_fallback): Likewise.
18528 (get_entry): Renamed to ...
18529 (grub_menu_get_entry): .. this and made it global.
18530 (get_timeout): Renamed to ...
18531 (grub_menu_get_timeout): ... this and made it global.
18532 (set_timeout): Renamed to ...
18533 (grub_menu_set_timeout): ... this and made it global.
18534 (grub_normal_terminal_menu_viewer): Renamed to ...
18535 (grub_normal_text_menu_viewer): ... this.
18536
18537 * normal/menu_text.c: New file. Extracted text-menu-specific code
18538 from normal/menu.c.
18539
18540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
18541 (normal_mod_SOURCES): Likewise.
18542
18543 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18544 (normal_mod_SOURCES): Likewise.
18545
18546 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18547 (normal_mod_SOURCES): Likewise.
18548
18549 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
18550 (normal_mod_SOURCES): Likewise.
18551
18552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18553 (normal_mod_SOURCES): Likewise.
18554
18555 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18556 (normal_mod_SOURCES): Likewise.
18557
18558 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18559 (normal_mod_SOURCES): Likewise.
18560
16ac430e 185612009-02-11 Robert Millan <rmh@aybabtu.com>
18562
18563 * util/grub.d/00_header.in: Update old reference to `font' command.
18564
06ff20fc 185652009-02-10 Felix Zielcke <fzielcke@z-51.de>
18566
18567 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
18568
18569 Based on patch from Javier Martín.
18570
96da9407 185712009-02-09 Felix Zielcke <fzielcke@z-51.de>
18572
18573 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 18574 to avoid false positives with FAT.
96da9407 18575 (grub_fstest_SOURCES): Likewise.
18576 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18577 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18579 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18580 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18581 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18582
6dca6fe4 185832009-02-09 Felix Zielcke <fzielcke@z-51.de>
18584
06ff20fc 18585 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 18586 bpb.version_specific.fat12_or_fat16.fstype and
18587 bpb.version_specific.fat32.fstype.
18588
2550c62f 185892009-02-08 Robert Millan <rmh@aybabtu.com>
18590
be110b30 18591 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 18592
56978920 185932009-02-08 Robert Millan <rmh@aybabtu.com>
18594
18595 * Makefile.in (host_os, host_cpu): New variables.
18596 (target_os): Remove. Update all users.
18597
d64399b5 185982009-02-08 Marco Gerards <marco@gnu.org>
18599
18600 * Makefile.in (enable_grub_emu_usb): New variable.
18601 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
18602 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
18603 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
18604 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
18605 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
18606 `usbtest.mod' and `usbms.mod'.
18607 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
18608 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
18609 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
18610 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
18611 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
18612 variables.
18613
18614 * disk/usbms.c: New file.
18615
18616 * include/grub/usb.h: Likewise.
18617
18618 * include/grub/usbtrans.h: Likewise.
18619
18620 * include/grub/usbdesc.h: Likewise.
18621
18622 * bus/usb/usbtrans.c: Likewise.
18623
18624 * bus/usb/ohci.c: Likewise.
18625
18626 * bus/usb/uhci.c: Likewise.
18627
18628 * bus/usb/usbhub.c: Likewise.
18629
18630 * bus/usb/usb.c: Likewise.
18631
18632 * commands/usbtest.c: Likewise.
18633
18634 * util/usb.c: Likewise.
50fb7002 18635
d64399b5 18636 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
18637
18638 * configure.ac: Test for libusb presence.
50fb7002 18639
d64399b5 18640 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
18641
2b40d6bb 186422009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
18643
18644 * kern/mm.c: Add more comments.
18645
73a4ce81 186462009-02-08 Robert Millan <rmh@aybabtu.com>
18647
18648 Patch from Javier Martín.
18649 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
18650 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
18651
f821ce59 186522009-02-08 Robert Millan <rmh@aybabtu.com>
18653
18654 * fs/cpio.c: Split tar functionality to ...
18655 * fs/tar.c: ... here (new file). Update all users.
18656
aebfc4b0 186572009-02-07 Robert Millan <rmh@aybabtu.com>
18658
18659 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
18660 backward-incompatible features.
18661
18662 Based on patch from Javier Martín, with some adjustments.
18663
50fb7002 186642009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 18665
18666 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
18667
0bb5115e 186682009-02-07 Robert Millan <rmh@aybabtu.com>
18669
18670 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
18671 position of `disk/lvm.c' to ensure grub_init_all() always picks it
18672 after the RAID stuff.
18673
38a0f8e7 186742009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
18675
50fb7002 18676 Fixes problem when running vbetest command as reported by
38a0f8e7 18677 Vladimir Serbinenko <phcoder@gmail.com>.
18678
18679 * (grub_vbe_set_video_mode): Fixed problem with text modes.
18680
3143cc1c 186812009-02-04 Felix Zielcke <fzielcke@z-51.de>
18682
18683 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
18684 /dev/md/NpN style mdraid devices.
18685
9cba6fce 186862009-02-03 Felix Zielcke <fzielcke@z-51.de>
18687
18688 * util/unifont2pff.rb: Remove.
18689
e507a2c1 186902009-02-03 Felix Zielcke <fzielcke@z-51.de>
18691
18692 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
18693 `#'.
18694
d2c2b4cd 186952009-02-03 Felix Zielcke <fzielcke@z-51.de>
18696
18697 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
18698 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18699 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18700 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18704
b4315fb0 187052009-02-02 Christian Franke <franke@computer.org>
18706
18707 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
18708
de3aa260 187092009-02-01 Felix Zielcke <fzielcke@z-51.de>
18710
7c3ff286 18711 * INSTALL: Note that we now require at least autoconf 2.59 and
18712 that LZO is optional.
de3aa260 18713
825a182b 187142009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18715
18716 Base on patch on bug #24154 created by Tomas Tintera
18717 <trosos@seznam.cz>.
18718
18719 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
18720
a69ef770 187212009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18722
7c3ff286 18723 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 18724 <bero@arklinux.org>.
18725
18726 * normal/parser.y (script_init): Add missing semicolon.
18727
6fa42fa6 187282009-01-31 Colin D Bennett <colin@gibibit.com>
18729
7c3ff286 18730 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 18731 (free_menu_entry_classes): Added.
18732 (grub_normal_menu_addentry): Added class property handling.
18733 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
18734 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
18735
18736 * normal/menu_viewer.c: New file.
18737
18738 * normal/menu.c (run_menu_entry): Renamed to ...
18739 (grub_menu_execute_entry): ... this and made it as global.
18740 (grub_menu_run): Renamed to ...
18741 (show_text_menu): ... this and made it local.
18742 (show_text_menu): Adapt to new function names.
18743 (grub_normal_terminal_menu_viewer): New global variable.
18744
18745 * include/grub/menu.h: New file.
18746
18747 * include/grub/menu_viewer.h: New file.
18748
18749 * include/grub/normal.h: Added include to grub/menu.h.
18750 (grub_menu_entry): Moved to include/grub/menu.h.
18751 (grub_menu_entry_t): Likewise.
18752 (grub_menu): Likewise.
18753 (grub_menu_t): Likewise.
18754 (grub_normal_terminal_menu_viewer): Added.
18755 (grub_menu_execute_entry): Likewise.
18756 (grub_menu_run): Removed.
18757
18758 * DISTLIST: Added include/grub/menu.h.
18759 Added include/grub/menu_viewer.h.
18760 Added normal/menu_viewer.c.
18761
187622009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
18763
18764 * normal/execute.c (grub_script_execute_menuentry): Changed to use
18765 arglist for menutitle arguments.
18766
18767 * normal/main.c (grub_normal_menu_addentry): Likewise.
18768
18769 * normal/parser.y (menuentry): Likewise.
18770
18771 * normal/script.c (grub_script_create_cmdmenu): Likewise.
18772
18773 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
18774 (grub_script_create_cmdmenu): Likewise.
18775
18776 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
18777
18778 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
18779 changes.
18780
18781 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
18782
18783 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
18784
18785 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
18786
18787 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18788
18789 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18790
18791 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18792
56192c23 187932009-01-30 Christian Franke <franke@computer.org>
18794
18795 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
18796 in option help text.
18797
d72521b3 187982009-01-27 Pavel Roskin <proski@gnu.org>
18799
18800 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
18801
994b5e84 188022009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18803
18804 * commands/lsmmap.c: Add include to grub/machine/memory.h.
18805
18806 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
18807
18808 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
18809 unregister function.
18810
6a7eab2c 188112009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18812
18813 * disk/scsi.c (grub_scsi_read): Fix sign problem.
18814
18815 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
18816
18817 * util/grub-mkfont.c (usage): Fix typo.
18818
18819 * util/elf/grub-mkimage.c (load_modules): Fix warning.
18820
1806b56e 188212009-01-26 Daniel Mierswa <impulze@impulze.org>
18822
3fb18f09 18823 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
18824
336e1fb9 18825 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
18826
1806b56e 18827 * kern/misc.c (grub_strcasecmp): New function.
18828 (grub_strcasecmp): Use grub_size_t instead of int for length.
18829 Fix return value.
18830 * include/grub/misc.h: Update function prototypes.
18831
580b2a0f 188322009-01-26 Robert Millan <rmh@aybabtu.com>
18833
18834 * configure.ac: Fix cross-compilation check.
ef257b36 18835
d31c24f1 188362009-01-22 Christian Franke <franke@computer.org>
18837
18838 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
18839 (precision) digit string. Allow `.format2' without `format1' (width).
18840 Limit input chars for `%s' output to `format2' if specified. This is
18841 compatible with standard printf ().
18842
3138b44c 188432009-01-22 Christian Franke <franke@computer.org>
18844
18845 * disk/ata.c (grub_ata_wait_status): Replace by ...
18846 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
18847 other status bits may be invalid while BSY is asserted.
18848 (grub_ata_check_ready): New function.
18849 (grub_ata_cmd): Removed.
18850 (grub_ata_wait_drq): New function.
18851 (grub_ata_strncpy): Remove inline.
18852 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
18853 and error check now done by grub_ata_wait_drq ().
18854 (grub_ata_pio_write): Likewise.
18855 (grub_atapi_identify): Set DEV before check for !BSY. Use
18856 grub_ata_wait_drq () to wait for data.
18857 (grub_ata_device_initialize): Add status register check to
18858 detect missing SATA slave devices. Add debug messages.
18859 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
18860 (grub_atapi_packet): Set DEV before check for !BSY. Replace
18861 transfer loop by grub_ata_pio_write ().
18862 (grub_ata_identify): Set DEV before check for !BSY. Use
18863 grub_ata_wait_drq () to wait for data.
ef257b36 18864 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 18865 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
18866 read/write in one loop. Fix invalid command on write. Fix incomplete
18867 command on (size % batch) == 0. Add missing error check after write of
18868 last block. Add debug messages.
18869 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
18870
59a64ef6 188712009-01-19 Christian Franke <franke@computer.org>
18872
18873 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
18874 (GRUB_ATAPI_IREASON_*): Likewise.
18875 (grub_ata_pio_write): Fix timeout error return.
18876 (grub_atapi_identify): Add grub_ata_wait () after cmd.
18877 (grub_atapi_wait_drq): New function.
18878 (grub_atapi_packet): New parameter `size'.
18879 Use grub_atapi_wait_drq () and direct write instead of
18880 grub_ata_pio_write ().
18881 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
18882 reads the number of bytes requested by the device for each DRQ
18883 assertion.
18884 (grub_atapi_write): Remove old implementation, return not
18885 implemented instead.
18886
1cfe20b3 188872009-01-19 Christian Franke <franke@computer.org>
18888
18889 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
18890 of 512 to calculate data size.
18891 (grub_scsi_read12): Likewise.
18892 (grub_scsi_write10): Likewise.
18893 (grub_scsi_write12): Likewise.
18894 (grub_scsi_read): Adjust size according to blocksize.
18895 Add checks for invalid blocksize and unaligned transfer.
18896
bee5fe5d 188972009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
18898
18899 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
18900
ef257b36 18901 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 18902 width glyphs.
18903
3e643f8c 189042009-01-19 Robert Millan <rmh@aybabtu.com>
18905
18906 * config.guess: Update to latest version from config git.
18907 * config.sub: Likewise.
18908
4fa80998 189092009-01-17 Felix Zielcke <fzielcke@z-51.de>
18910
18911 * Makefile.in: Change font compilation to use new grub-mkfont instead
18912 of java version.
18913
18914 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
18915 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
18916 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18917 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18918 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
18919 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
18920 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
18921 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
18922 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
18923
7086085b 189242009-01-16 Christian Franke <franke@computer.org>
18925
18926 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
18927 (enum grub_ata_timeout_milliseconds): New enum.
18928 (grub_ata_wait_status): Add parameter milliseconds.
18929 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
18930 recovery from timed-out commands.
18931 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
18932 return grub_errno instead of REG_ERROR.
18933 (grub_ata_pio_write): Add parameter milliseconds.
18934 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
18935 Pass milliseconds to grub_ata_wait_status () and
18936 grub_ata_pio_read ().
18937 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
18938 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
18939 grub_ata_wait_status (). Fix IDENTIFY timeout check.
18940 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
18941 It is not suitable for device detection, because DEV bit is ignored,
18942 the command may run too long, and not all devices set the signature
18943 properly.
18944 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
18945 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
18946 Fix device selection, DEV bit must be set first to address the registers
18947 of the correct device.
18948 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
18949 grub_ata_pio_read/write ().
18950 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
18951 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
18952
4a412913 189532009-01-13 Carles Pina i Estany <carles@pina.cat>
18954
18955 * util/grub-editenv.c (main): Use fseeko(), not fseek().
18956
7795c55e 189572009-01-13 Bean <bean123ch@gmail.com>
d913988c 18958
18959 * util/grub-mkfont.c (write_font): forget to remove some debug code.
18960
7795c55e 189612009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 18962
18963 * Makefile.in: (enable_grub_mkfont): New variable.
18964 (freetype_cflags): Likewise.
18965 (freetype_libs): Likewise.
18966
18967 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
18968 (grub_mkfont_SOURCES): New variable.
18969 (grub_mkfont_CFLAGS): Likewise.
18970 (grub_mkfont_LDFLAGS): Likewise.
18971
18972 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
18973 library if `--enable-grub-mkfont' is requested.
18974 (enable_grub_mkfont): New variable.
18975 (freetype_cflags): Likewise.
18976 (freetype_libs): Likewise.
18977
18978 * util/grub-mkfont.c: New file.
18979
093af1fe 189802009-01-12 Christian Franke <franke@computer.org>
18981
18982 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
18983 mode check. Fix setting of compat_use[].
18984
f36cc108 189852009-01-10 Robert Millan <rmh@aybabtu.com>
18986
18987 Update a few copyright years which we forgot to do in 2008 (only for
18988 files whose changes made in 2008 were copyright-significant)
18989
18990 * Makefile.in: Add 2008 to Copyright line.
18991 * disk/ieee1275/ofdisk.c: Likewise.
18992 * disk/efi/efidisk.c: Likewise.
18993 * kern/dl.c: Likewise.
18994 * kern/sparc64/ieee1275/init.c: Likewise.
18995 * kern/mm.c: Likewise.
18996 * kern/efi/mm.c: Likewise.
18997 * boot/i386/pc/boot.S: Likewise.
18998 * genfslist.sh: Likewise.
18999 * fs/iso9660.c: Likewise.
19000 * fs/hfs.c: Likewise.
19001 * fs/jfs.c: Likewise.
19002 * fs/minix.c: Likewise.
19003 * fs/ufs.c: Likewise.
19004 * gensymlist.sh.in: Likewise.
19005 * genkernsyms.sh.in: Likewise.
19006 * include/grub/misc.h: Likewise.
19007 * include/grub/types.h: Likewise.
19008 * include/grub/symbol.h: Likewise.
19009 * include/grub/elf.h: Likewise.
19010 * include/grub/kernel.h: Likewise.
19011 * include/grub/disk.h: Likewise.
19012 * include/grub/dl.h: Likewise.
19013 * include/grub/i386/linux.h: Likewise.
19014 * include/grub/i386/pc/biosdisk.h: Likewise.
19015 * include/grub/efi/api.h: Likewise.
19016 * include/grub/efi/pe32.h: Likewise.
19017 * include/grub/util/misc.h: Likewise.
19018 * normal/execute.c: Likewise.
19019 * normal/arg.c: Likewise.
19020 * normal/completion.c: Likewise.
19021 * normal/lexer.c: Likewise.
19022 * normal/parser.y: Likewise.
19023 * normal/misc.c: Likewise.
19024 * commands/i386/pc/vbeinfo.c: Likewise.
19025 * commands/hexdump.c: Likewise.
19026 * commands/terminal.c: Likewise.
19027 * commands/ls.c: Likewise.
19028 * commands/help.c: Likewise.
19029 * partmap/pc.c: Likewise.
19030 * loader/efi/chainloader.c: Likewise.
19031 * loader/multiboot_loader.c: Likewise.
19032 * loader/i386/pc/multiboot2.c: Likewise.
19033 * term/efi/console.c: Likewise.
19034 * term/i386/pc/serial.c: Likewise.
19035 * util/lvm.c: Likewise.
19036 * util/console.c: Likewise.
19037 * util/i386/efi/grub-mkimage.c: Likewise.
19038 * util/raid.c: Likewise.
19039
7f02114b 190402009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
19041
19042 * commands/videotest.c: Removed include to grub/machine/memory.h.
19043
19044 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19045 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19046 (video_mod_SOURCES): Removed.
19047 (video_mod_CFLAGS): Likewise.
19048 (video_mod_LDFLAGS): Likewise.
19049 (gfxterm_mod_SOURCES): Likewise.
19050 (gfxterm_mod_CFLAGS): Likewise.
19051 (gfxterm_mod_LDFLAGS): Likewise.
19052 (videotest_mod_SOURCES): Likewise.
19053 (videotest_mod_CFLAGS): Likewise.
19054 (videotest_mod_LDFLAGS): Likewise.
19055 (bitmap_mod_SOURCES): Likewise.
19056 (bitmap_mod_CFLAGS): Likewise.
19057 (bitmap_mod_LDFLAGS): Likewise.
19058 (tga_mod_SOURCES): Likewise.
19059 (tga_mod_CFLAGS): Likewise.
19060 (tga_mod_LDFLAGS): Likewise.
19061 (jpeg_mod_SOURCES): Likewise.
19062 (jpeg_mod_CFLAGS): Likewise.
19063 (jpeg_mod_LDFLAGS): Likewise.
19064 (png_mod_SOURCES): Likewise.
19065 (png_mod_CFLAGS): Likewise.
19066 (png_mod_LDFLAGS): Likewise.
19067
19068 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19069 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19070 (video_mod_SOURCES): Added.
19071 (video_mod_CFLAGS): Likewise.
19072 (video_mod_LDFLAGS): Likewise.
19073 (videotest_mod_SOURCES): Likewise.
19074 (videotest_mod_CFLAGS): Likewise.
19075 (videotest_mod_LDFLAGS): Likewise.
19076 (bitmap_mod_SOURCES): Likewise.
19077 (bitmap_mod_CFLAGS): Likewise.
19078 (bitmap_mod_LDFLAGS): Likewise.
19079 (tga_mod_SOURCES): Likewise.
19080 (tga_mod_CFLAGS): Likewise.
19081 (tga_mod_LDFLAGS): Likewise.
19082 (jpeg_mod_SOURCES): Likewise.
19083 (jpeg_mod_CFLAGS): Likewise.
19084 (jpeg_mod_LDFLAGS): Likewise.
19085 (png_mod_SOURCES): Likewise.
19086 (png_mod_CFLAGS): Likewise.
19087 (png_mod_LDFLAGS): Likewise.
19088 (gfxterm_mod_SOURCES): Likewise.
19089 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 19090 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 19091
19092 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19093 grub/machine/console.h.
19094
644fff97 190952009-01-04 Jerone Young <jerone@gmail.com>
19096
19097 Make on screen instructions clearer
19098
19099 Based on patch created by Jidanni <jidanni@jidanni.org>
19100
19101 * normal/menu.c: print clearer instructions on the screen
19102
1e901a75 191032009-01-02 Colin D Bennett <colin@gibibit.com>
19104
19105 New font engine.
34c44600 19106
1e901a75 19107 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19108 build system and fixed gfxterm.c to work with different sized fonts.
19109
19110 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 19111
1e901a75 19112 * configure: Re-generated.
34c44600 19113
1e901a75 19114 * DISTLIST: Removed font/manager.c.
19115 Added font/font.c.
19116 Added font/font_cmd.c.
34c44600 19117
1e901a75 19118 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19119 compilation.
34c44600 19120
1e901a75 19121 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19122
19123 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19124
19125 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19126
1e901a75 19127 * normal/menu.c: Likewise.
34c44600 19128
1e901a75 19129 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19130 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19131
1e901a75 19132 * include/grub/font.h: Replaced with new file.
34c44600 19133
1e901a75 19134 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19135 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19136 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19137 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19138 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19139 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19140 fg_red, fg_green, fg_blue, fg_alpha.
19141 (grub_video_adapter): Removed blit_glyph.
34c44600 19142 (grub_video_blit_glyph): Removed.
19143
1e901a75 19144 * font/manager.c: Removed file.
34c44600 19145
19146 * font/font.c: New file.
19147
1e901a75 19148 * font/font_cmd.c: Likewise.
34c44600 19149
1e901a75 19150 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19151
1e901a75 19152 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19153 (grub_video_vbe_map_rgba): Likewise.
19154 (grub_video_vbe_unmap_color_int): Likewise.
19155 (grub_video_vbe_blit_glyph): Removed.
19156 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19157
1e901a75 19158 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19159 (get_pixel): Likewise.
34c44600 19160 (set_pixel): Likewise.
19161
1e901a75 19162 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19163
1e901a75 19164 * term/gfxterm.c: Adapted to new font engine.
34c44600 19165
1e901a75 19166 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19167
1e901a75 19168 * term/i386/pc/vga.c: Likewise.
34c44600 19169
1e901a75 19170 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 19171
1e901a75 19172 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 19173
1e901a75 19174 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19175
1e901a75 19176 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19177
1e901a75 19178 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 19179
1e901a75 19180 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 19181
1e901a75 19182 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 19183
1e901a75 19184 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 19185
1e901a75 19186 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19187
19188 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 19189
1e901a75 19190 * util/grub-mkconfig_lib.in: Changed font extension.
19191
278922e8 191922008-12-28 Felix Zielcke <fzielcke@z-51.de>
19193
19194 * util/getroot.c (grub_util_get_grub_dev): Add support for
19195 /dev/md/dNNpNN style partitionable mdraid devices.
19196
3ced05cf 191972008-12-12 Alex Smith <alex@alex-smith.me.uk>
19198
19199 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19200 at a time limit of the PXE TFTP API correctly.
19201 (grub_pxefs_close): Likewise.
19202
7fd0ee30 192032008-11-29 Robert Millan <rmh@aybabtu.com>
19204
34c44600 19205 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 19206 grub_ata_device_initialize() calls.
19207
34c44600 192082008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 19209
19210 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19211 iteration failed.
19212 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19213
89313780 192142008-11-28 Robert Millan <rmh@aybabtu.com>
19215
19216 Fix build on powerpc-ieee1275. Based on patch created by
19217 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19218 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19219 `kern/ieee1275/mmap.c'.
19220 * include/grub/powerpc/ieee1275/memory.h: New file.
19221
15257703 19222 Provide grub-install on coreboot.
19223 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19224 (grub_install_SOURCES): New variable.
19225 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19226 usable on coreboot.
19227
9fc5388a 192282008-11-25 Felix Zielcke <fzielcke@z-51.de>
19229
19230 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19231 to `grub_term_input_t'.
19232 (grub_term_get_current_output): Change return type to
19233 `grub_term_output_t'.
19234
bc3a2f31 192352008-11-22 Robert Millan <rmh@aybabtu.com>
19236
34c44600 19237 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 19238 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19239 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19240 grub_vga_text_cls().
19241
80fc88f2 19242 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 19243 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 19244
cbf36fd3 19245 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19246 to 0x200000 (avoids trouble with some OFW implementations, and matches
19247 with the one in Yaboot).
19248 Reported by Manoel Abranches
19249
73e8e268 192502008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 19251
19252 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19253 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19254
73e8e268 19255 * util/grub-mkconfig_lib.in (grub_warn): New function.
19256 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19257 warnings, to obtain consistent formatting.
19258 * util/grub.d/00_header.in: Likewise.
19259 * util/update-grub_lib.in: Likewise.
19260
e94045a1 19261 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 19262 Move comment text to `#error' stanza.
e94045a1 19263
79d29fd7 19264 Harmonize ieee1275's grub_available_iterate() with the generic
19265 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19266 build problem on i386-ieee1275):
19267 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19268 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19269 parameter `type'. Update all users of this function.
19270 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19271 `kern/ieee1275/mmap.c'.
19272 * kern/ieee1275/init.c
19273 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19274 with ...
19275 (grub_machine_mmap_iterate): ... this.
19276 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19277 return type to `grub_err_t'. Update all implementations of this
19278 function prototype.
19279 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19280 Likewise.
19281
60d6b16e 19282 Add `lsmmap' command (lists firmware-provided memory map):
19283 * commands/lsmmap.c: New file.
19284 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19285 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19286 variables.
19287 * conf/powerpc-ieee1275.rmk: Likewise.
19288 * conf/i386-coreboot.rmk: Likewise.
19289 * conf/i386-ieee1275.rmk: Likewise.
19290
ebaaf49b 192912008-11-19 Robert Millan <rmh@aybabtu.com>
19292
19293 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 19294 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19295 constraints to initrd allocation (based on code from
19296 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19297 for Linux to find it.
ebaaf49b 19298
dfab719f 192992008-11-14 Robert Millan <rmh@aybabtu.com>
19300
19301 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19302 order to cope with duplicate slashes.
19303
10fc3eb9 193042008-11-14 Robert Millan <rmh@aybabtu.com>
19305
19306 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19307 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19308 don't want to mess with lower memory, because it is used in the Linux
19309 loader.
19310
19311 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 19312 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 19313 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19314 is in our heap (probably as a result of it being corrupted during
2f2a3442 19315 decompression). Add #error instance with comment to explain why this
19316 loader isn't currently usable on PC/BIOS.
10fc3eb9 19317
e2e07847 193182008-11-14 Robert Millan <rmh@aybabtu.com>
19319
19320 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 19321 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 19322
fe8e8d69 193232008-11-12 Robert Millan <rmh@aybabtu.com>
19324
19325 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19326
19327 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19328 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19329 from here ...
19330 * include/grub/i386/pc/memory.h: ... to here.
19331
976b07d0 193322008-11-12 Robert Millan <rmh@aybabtu.com>
19333
19334 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19335 split).
19336
19337 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19338 (grub_console_cur_color, grub_console_real_putchar)
19339 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19340 (grub_console_setcolorstate, grub_console_setcolor)
19341 (grub_console_getcolor): Move from here ...
19342 * include/grub/i386/vga_common.h: ... to here (new file).
19343
19344 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19345 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19346 `<grub/i386/io.h>'.
19347 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19348 `<grub/i386/vga_common.h>'.
19349
76679cd3 193502008-11-12 Robert Millan <rmh@aybabtu.com>
19351
19352 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19353 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19354 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19355 variables.
19356 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19357 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19358
19359 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19360 grub_console_init() with call to grub_vga_text_init().
19361 (grub_machine_fini): Replace call to
19362 grub_console_fini() with call to grub_vga_text_fini() and
19363 grub_at_keyboard_fini().
19364
19365 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19366 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19367 (grub_console_setcolorstate, grub_console_setcolor)
19368 (grub_console_getcolor): New function prototypes.
19369
19370 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19371 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19372 (grub_vga_text_setcursor): Static-ize.
19373 (grub_vga_text_term): New structure.
19374 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19375
19376 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19377 (grub_console_cur_color, grub_console_standard_color)
19378 (grub_console_normal_color, grub_console_highlight_color)
19379 (map_char, grub_console_putchar, grub_console_getcharwidth)
19380 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19381 (grub_console_getcolor): Move from here ...
19382 * term/i386/vga_common.c: ... to here (same function names).
19383
95b841d3 193842008-11-12 Robert Millan <rmh@aybabtu.com>
19385
19386 Use newly-added Multiboot support in coreboot.
19387
19388 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19389 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19390
19391 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19392 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19393 (codestart): Store the MBI in `startup_multiboot_info' when we're
19394 being loaded using Multiboot.
19395
19396 * kern/i386/coreboot/init.c (grub_machine_init): Move
19397 grub_at_keyboard_init() call to beginning of function (useful for
19398 debugging). Call grub_machine_mmap_init() before attempting to use
19399 grub_machine_mmap_iterate().
19400 (grub_lower_mem, grub_upper_mem): Move from here ...
19401 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19402 here (new file).
19403
19404 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19405 function prototype.
19406
761ca975 194072008-11-12 Robert Millan <rmh@aybabtu.com>
19408
19409 Fix a regression introduced by the at_keyboard.mod split. Because
19410 some terminals are default on some platforms and non-default on
19411 others, the first terminal being registered determines which is
19412 going to be default.
19413
19414 * kern/term.c (grub_term_register_input): If this is the first
19415 terminal being registered, set it as the current one.
19416 (grub_term_register_output): Likewise.
19417
19418 * term/efi/console.c (grub_console_init): Do not call
19419 grub_term_set_current_output() or grub_term_set_current_input().
19420 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19421 * term/i386/pc/console.c (grub_console_init): Likewise.
19422 (grub_console_fini): Do not call grub_term_set_current_input()
19423 (but leave grub_term_set_current_output() to restore text mode).
19424
6c529df7 194252008-11-10 Robert Millan <rmh@aybabtu.com>
19426
19427 * util/grub.d/00_header.in: Add backward compatibility check for
19428 versions of terminal.mod that don't understand `terminal_input' or
19429 `terminal_output'.
19430
132e4113 194312008-11-09 Robert Millan <rmh@aybabtu.com>
19432
19433 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19434 `terminal_input' / `terminal_output', not `terminal'.
19435
ac293d50 194362008-11-08 Robert Millan <rmh@aybabtu.com>
19437
19438 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19439 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19440
0025933a 194412008-11-08 Robert Millan <rmh@aybabtu.com>
19442
19443 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19444 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19445 members. Update all users.
19446 * util/console.c (grub_ncurses_term): Split in ...
19447 (grub_ncurses_term_input): ... this, and ...
19448 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19449 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19450
37c86336 194512008-11-08 Robert Millan <rmh@aybabtu.com>
19452
19453 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19454 (PKGDATA): Add $(pkgdata_SRCDIR).
19455 (pkglib_BUILDDIR): New variable.
19456 (pkgdata_SRCDIR): New variable.
19457 (build_env.mk): New target.
19458 (include_DATA): New variable.
19459 (install-local): Install $(include_DATA) files in $(includedir).
19460
b6c15a2d 194612008-11-07 Pavel Roskin <proski@gnu.org>
19462
d99d46f1 19463 * gendistlist.sh: Use C locale for sorting to ensure consistent
19464 output on all systems.
19465
b6c15a2d 19466 * util/grub.d/00_header.in: Remove incorrect space before
19467 "serial".
19468
c32ee8c9 194692008-11-07 Robert Millan <rmh@aybabtu.com>
19470
19471 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19472 per specification.
19473 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19474 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19475 (based on find_multi_boot1_header).
19476 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19477 using find_multi_boot2_header(), and abort if neither Multiboot or
19478 Multiboot headers were found.
19479
651c29b7 194802008-11-07 Robert Millan <rmh@aybabtu.com>
19481
19482 Modularize at_keyboard.mod:
19483
19484 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19485 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19486 (at_keyboard_mod_LDFLAGS): New variables.
19487
19488 Actual terminal split:
19489
19490 * include/grub/term.h (struct grub_term): Split in ...
19491 (struct grub_term_input): ... this, and ...
19492 (struct grub_term_output): ... this. Update all users.
19493 (grub_term_set_current): Split in ...
19494 (grub_term_set_current_input): ... this, and ...
19495 (grub_term_set_current_output): ... this.
19496 (grub_term_get_current): Split in ...
19497 (grub_term_get_current_input): ... this, and ...
19498 (grub_term_get_current_output): ... this.
19499 (grub_term_register): Split in ...
19500 (grub_term_register_input): ... this, and ...
19501 (grub_term_register_output): ... this.
19502 (grub_term_unregister): Split in ...
19503 (grub_term_unregister_input): ... this, and ...
19504 (grub_term_unregister_output): ... this.
19505 (grub_term_iterate): Split in ...
19506 (grub_term_iterate_input): ... this, and ...
19507 (grub_term_iterate_output): ... this.
19508
19509 * kern/term.c (grub_term_list): Split in ...
19510 (grub_term_list_input): ... this, and ...
19511 (grub_term_list_output): ... this. Update all users.
19512 (grub_cur_term): Split in ...
19513 (grub_cur_term_input): ... this, and ...
19514 (grub_cur_term_output): ... this. Update all users.
19515 (grub_term_set_current): Split in ...
19516 (grub_term_set_current_input): ... this, and ...
19517 (grub_term_set_current_output): ... this.
19518 (grub_term_get_current): Split in ...
19519 (grub_term_get_current_input): ... this, and ...
19520 (grub_term_get_current_output): ... this.
19521 (grub_term_register): Split in ...
19522 (grub_term_register_input): ... this, and ...
19523 (grub_term_register_output): ... this.
19524 (grub_term_unregister): Split in ...
19525 (grub_term_unregister_input): ... this, and ...
19526 (grub_term_unregister_output): ... this.
19527 (grub_term_iterate): Split in ...
19528 (grub_term_iterate_input): ... this, and ...
19529 (grub_term_iterate_output): ... this.
19530
19531 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19532 a check for input and one for output (and only attempt to get keys
19533 from user when input works).
19534
19535 * util/grub-probe.c (grub_term_get_current): Split in ...
19536 (grub_term_get_current_input): ... this, and ...
19537 (grub_term_get_current_output): ... this.
19538 * util/grub-fstest.c: Likewise.
19539 * util/i386/pc/grub-setup.c: Likewise.
19540 * util/grub-editenv.c: Likewise.
19541
19542 Portability adjustments:
19543
19544 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
19545 `term/i386/pc/at_keyboard.c'.
19546 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
19547 grub_keyboard_controller_init() (now handled by terminal .init).
19548 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
19549 grub_at_keyboard_init().
19550 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
19551 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
19552 at_keyboard.mod via input terminal interface).
19553 * include/grub/i386/coreboot/console.h: Convert into a stub for
19554 `<grub/i386/pc/console.h>'.
19555
19556 Migrate full terminals to new API:
19557
19558 * term/efi/console.c (grub_console_term): Split into ...
19559 (grub_console_term_input): ... this, and ...
19560 (grub_console_term_output): ... this. Update all users.
19561 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
19562 (grub_ofconsole_init): Split into ...
19563 (grub_ofconsole_init_input): ... this, and ...
19564 (grub_ofconsole_init_output): ... this.
19565 (grub_ofconsole_term): Split into ...
19566 (grub_ofconsole_term_input): ... this, and ...
19567 (grub_ofconsole_term_output): ... this. Update all users.
19568 * term/i386/pc/serial.c (grub_serial_term): Split into ...
19569 (grub_serial_term_input): ... this, and ...
19570 (grub_serial_term_output): ... this. Update all users.
19571 * term/i386/pc/console.c (grub_console_term): Split into ...
19572 (grub_console_term_input): ... this, and ...
19573 (grub_console_term_output): ... this. Update all users.
19574 (grub_console_term_input): Only enable it on PC/BIOS platform.
19575 (grub_console_init): Remove grub_keyboard_controller_init() call.
19576
19577 Migrate input terminals to new API:
19578
19579 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
19580 `i386' and `i386/pc' to enable build on x86_64 (this driver is
19581 i386-specific anyway).
19582 (grub_console_checkkey): Rename to ...
19583 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
19584 users.
19585 (grub_keyboard_controller_orig): New variable.
19586 (grub_console_getkey): Rename to ...
19587 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
19588 users.
19589 (grub_keyboard_controller_init): Static-ize. Save original
19590 controller value so that it can be restored ...
19591 (grub_keyboard_controller_fini): ... here (new function).
19592 (grub_at_keyboard_term): New structure.
19593 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
19594 functions.
19595
19596 Migrate output terminals to new API:
19597
19598 * term/i386/pc/vga.c (grub_vga_term): Change type to
19599 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19600 members. Update all users.
19601 * term/gfxterm.c (grub_video_term): Change type to
19602 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19603 members. Update all users.
19604 * include/grub/i386/pc/console.h (grub_console_checkkey)
19605 (grub_console_getkey): Do not export (no longer needed by gfxterm,
19606 etc).
19607
19608 Migrate `terminal' command and userland tools to new API:
19609
19610 * commands/terminal.c (grub_cmd_terminal): Split into ...
19611 (grub_cmd_terminal_input): ... this, and ...
19612 (grub_cmd_terminal_output): ... this.
19613 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
19614 `terminal_input' and `terminal_output'.
19615 * util/grub.d/00_header.in: Adjust `terminal' calls to new
19616 `terminal_input' / `terminal_output' API.
19617 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
19618 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
19619 provided ${GRUB_TERMINAL}, convert it).
19620
96e5d876 196212008-11-04 Robert Millan <rmh@aybabtu.com>
19622
19623 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
19624 for FreeBSD.
19625 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
19626
556f3775 196272008-11-03 Bean <bean123ch@gmail.com>
19628
19629 * kern/elf.c (grub_elf32_load): Revert to previous code.
19630 (grub_elf64_load): Likewise.
19631
19632 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
19633
926b9823 196342008-11-01 Robert Millan <rmh@aybabtu.com>
19635
19636 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
19637 (TARGET_CPPFLAGS): Likewise.
19638 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
19639
1432e958 196402008-11-01 Carles Pina i Estany <carles@pina.cat>
19641
19642 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
19643
dba3f844 196442008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 19645
19646 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
19647 addition of objects until the code is not going to be able to fail.
19648
dba3f844 196492008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 19650
19651 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
19652 (add a missing NULL check, and correct them by moving the pointer
19653 operations after the actual check).
19654
7ab28c21 196552008-10-29 Robert Millan <rmh@aybabtu.com>
19656
19657 * util/i386/pc/grub-install.in: Handle empty string as output from
19658 make_system_path_relative_to_its_root().
19659
1b7748eb 196602008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
19661
19662 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
19663 circular metadata worst case scenario. If the metadata is circular
19664 then copy the wrap in place.
19665 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
19666 project lib/format_text/layout.h
19667 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
19668
c9618ab2 196692008-10-03 Felix Zielcke <fzielcke@z-51.de>
19670
7a36edca 19671 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 19672
bf981c62 196732008-10-03 Felix Zielcke <fzielcke@z-51.de>
19674
19675 * util/update-grub_lib.in: Mention filename in warning message.
19676
6d994591 196772008-09-29 Felix Zielcke <fzielcke@z-51.de>
19678
19679 * NEWS: Update for rename of update-grub to grub-mkconfig.
19680
18ade780 196812008-09-29 Felix Zielcke <fzielcke@z-51.de>
19682
19683 * util/update-grub_lib.in: Copy to ...
19684 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 19685 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 19686 * util/update-grub.in: Rename to ...
19687 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
19688 option. Add `--output' option to allow users to specify the generated
19689 configuration file. Default to stdout.
19690 (update_grub_dir): Rename to ...
19691 (grub_mkconfig_dir): ... this.
19692 (grub_cfg): Default to an empty string.
19693 * conf/common.rmk (update-grub): Rename to ...
19694 (grub-mkconfig): ... this.
19695 (update-grub_lib): Copy to ...
19696 (grub-mkconfig_lib): ... this.
19697 (update-grub_SCRIPTS): Copy to ...
19698 (grub-mkconfig_SCRIPTS): ... this. Update all users.
19699 (update-grub_DATA): Rename to ...
19700 (grub-mkconfig_DATA): ... this.
19701
556ce6ac 197022008-09-28 Robert Millan <rmh@aybabtu.com>
19703
19704 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
19705 to `modified'. Add the real `created' field.
19706 (grub_iso9660_uuid): Use `modified' rather than `created' for
19707 constructing the UUID.
19708
197092008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 19710
19711 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
19712 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
19713
92274e85 197142008-09-28 Bean <bean123ch@gmail.com>
19715
19716 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
19717 Thanks to Christian Franke for finding this bug.
19718
add6f17a 197192008-09-25 Robert Millan <rmh@aybabtu.com>
19720
19721 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
19722 instances of grub_util_get_disk_name() (see previous commit).
19723
d2a367b8 197242008-09-25 Robert Millan <rmh@aybabtu.com>
19725
19726 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
19727 `util/i386/get_disk_name.c'.
19728 * conf/i386-efi.rmk: Likewise.
19729 * conf/x86_64-efi.rmk: Likewise.
19730 * conf/i386-coreboot.rmk: Likewise.
19731 * conf/i386-ieee1275.rmk: Likewise.
19732 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
19733 `util/ieee1275/get_disk_name.c'.
19734 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
19735 * util/ieee1275/get_disk_name.c: Remove file.
19736 * util/i386/get_disk_name.c: Remove file.
19737 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
19738 "hd%d" for device.map entries, rather than using
19739 grub_util_get_disk_name().
19740
81a06771 197412008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 19742
19743 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
19744 warning.
19745 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
19746
5a004279 197472008-09-24 Carles Pina i Estany <carles@pina.cat>
19748
19749 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
19750 Changed to 0x5100.
19751 (GRUB_TERM_PPAGE): Changed to 0x4900.
19752
397093d3 197532008-09-24 Robert Millan <rmh@aybabtu.com>
19754
19755 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
19756 macros (they were i386-pc specific).
19757 * include/grub/sparc64/ieee1275/console.h: Likewise.
19758 * include/grub/efi/console.h: Likewise.
19759
a91b6c7c 197602008-09-22 Bean <bean123ch@gmail.com>
19761
19762 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
19763 resident and in attribute list.
19764
19765 * include/grub/ntfs.h (BMP_LEN): Removed.
19766
c40fd116 197672008-09-22 Bean <bean123ch@gmail.com>
19768
81a06771 19769 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 19770 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
19771
19772 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
19773 error occurs, as grub_disk_open will call grub_disk_close, which will
19774 call p->close (scsi).
19775
81a06771 197762008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 19777
19778 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
19779 (AC_PREREQ): Bumped to 2.59.
19780 (AC_TRY_COMPILE): Replace obsolete macro with ...
19781 (AC_COMPILE_IFELSE): ... this.
19782 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
19783 (AC_LINK_IFELSE): ... this.
19784
5dc43410 197852008-09-21 Felix Zielcke <fzielcke@z-51.de>
19786
19787 * autogen.sh: Add a call to `gendistlist.sh'.
19788
9035dce4 197892008-09-19 Christian Franke <franke@computer.org>
19790
19791 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
19792 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
19793 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
19794 Export __enable_execute_stack() to modules.
19795 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
19796 New function.
19797
7fd75377 197982008-09-09 Felix Zielcke <fzielcke@z-51.de>
19799
040030b3 19800 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
19801 Sort the list.
19802
198032008-09-09 Felix Zielcke <fzielcke@z-51.de>
19804
19805 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 19806 #include <grub/util/hostdisk.h>.
19807
89d5ffcf 198082008-09-08 Robert Millan <rmh@aybabtu.com>
19809
19810 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
19811 segments when their filesz is zero (grub_file_read() interprets
81a06771 19812 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 19813 Use `lowest_segment' rather than 0 for calculating the current
19814 segment load address.
19815
40da438f 198162008-09-08 Robert Millan <rmh@aybabtu.com>
19817
19818 * util/hostdisk.c (open_device): Replace a grub_util_info() call
19819 with grub_dprintf("hostdisk", ...), as it was so verbose that it
19820 clobbered useful information.
19821
ddbf5556 198222008-09-08 Robert Millan <rmh@aybabtu.com>
19823
19824 * include/grub/util/biosdisk.h: Move to ...
19825 * include/grub/util/hostdisk.h: ... here. Update all users.
19826 * util/biosdisk.c: Move to ...
19827 * util/hostdisk.c: ... here. Update all users.
19828
783d0f48 198292008-09-07 Robert Millan <rmh@aybabtu.com>
19830
19831 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
19832 variables.
19833 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
19834 and length can be stored directly in the `mbi->mmap_addr' and
19835 `mbi->mmap_length' struct fields.
19836
548e2ea5 198372008-09-07 Robert Millan <rmh@aybabtu.com>
19838
19839 * conf/i386.rmk: New file. Provides declaration for building
19840 `cpuid.mod'.
19841 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
19842 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
19843 variables.
19844 Include `conf/i386.mk'.
19845 * conf/i386-efi.rmk: Likewise.
19846 * conf/x86_64-efi.rmk: Likewise.
19847 * conf/i386-coreboot.rmk: Likewise.
19848 * conf/i386-ieee1275.rmk: Likewise.
19849
0ea85a37 198502008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
19851
19852 Based on patch created by Colin D Bennett <colin@gibibit.com>.
19853 Adds optimization support for BGR based modes.
19854
19855 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
19856 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19857 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19858 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19859 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19860 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19861 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19862 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19863 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19864 (grub_video_i386_vbeblit_index_index): Likewise.
19865 (grub_video_i386_vbeblit_replace_directN): Added.
19866 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19867 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19868 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19869 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19870 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19871 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 19872 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 19873 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19874 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19875 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19876 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19877 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19878 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
19879
19880 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
19881 (grub_video_i386_vbefill_R8G8B8): Likewise.
19882 (grub_video_i386_vbefill_index): Likewise.
19883 (grub_video_i386_vbefill_direct32): Added.
19884 (grub_video_i386_vbefill_direct24): Likewise.
19885 (grub_video_i386_vbefill_direct16): Likewise.
19886 (grub_video_i386_vbefill_direct8): Likewise.
19887
81a06771 19888 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 19889 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
19890 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
19891 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
19892 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
19893 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 19894
0ea85a37 19895 * video/video.c (grub_video_get_blit_format): Updated to use new
19896 blit formats. Added handling for 16 bit color modes.
81a06771 19897
19898 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 19899 fillers.
19900 (common_blitter): Updated to use new blitters.
19901
19902 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
19903 Removed.
19904 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19905 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19906 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19907 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19908 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19909 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19910 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19911 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19912 (grub_video_i386_vbeblit_index_index): Likewise.
19913 (grub_video_i386_vbeblit_replace_directN): Added.
19914 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19915 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19916 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19917 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19918 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19919 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
19920 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
19921 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19922 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19923 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19924 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19925 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19926 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 19927
0ea85a37 19928 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
19929 (grub_video_i386_vbefill_R8G8B8): Likewise.
19930 (grub_video_i386_vbefill_index): Likewise.
19931 (grub_video_i386_vbefill_direct32): Added.
19932 (grub_video_i386_vbefill_direct24): Likewise.
19933 (grub_video_i386_vbefill_direct16): Likewise.
19934 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 19935
0ea85a37 19936 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
19937 types.
81a06771 19938
0ea85a37 19939 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
19940 types.
81a06771 19941
0ea85a37 19942 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
19943 blitter types.
81a06771 19944
0ea85a37 19945 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
19946 types.
19947
e8a83df6 199482008-09-06 Felix Zielcke <fzielcke@z-51.de>
19949
19950 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
19951 RAID level 1.
19952
6bcd8ee5 199532008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 19954
6bcd8ee5 19955 * fs/iso9660.c (grub_iso9660_date): New structure.
19956 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
19957 (grub_iso9660_uuid): New function.
c375ae58 19958
59261157 199592008-09-05 Bean <bean123ch@gmail.com>
19960
19961 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
19962
19963 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
19964 insensitive bit for names in Win32 and Win32 & DOS namespace.
19965
19966 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
19967
19968 * include/grub/types.h (LONG_MAX): Likewise.
19969
58b6645a 199702008-09-04 Felix Zielcke <fzielcke@z-51.de>
19971
4ee55921 19972 * util/getroot.c: Include <config.h>.
19973 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
19974 add support for /dev/md/N devices and handle LVM double dash escaping.
19975
199762008-09-04 Felix Zielcke <fzielcke@z-51.de>
19977
19978 * config.guess: Update to latest version from config git.
19979 * config.sub: Likewise.
58b6645a 19980
9124f65d 199812008-09-03 Robert Millan <rmh@aybabtu.com>
19982
19983 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
19984 `disk->total_sectors'.
19985
81a06771 199862008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 19987
19988 * include/grub/normal.h: Fixed incorrect comment for
19989 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
19990
81a06771 199912008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 19992
19993 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
19994 values with defines.
19995
19996 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
19997 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
19998 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
19999 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20000 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20001 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20002 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20003 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20004 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20005 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20006 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20007 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20008 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20009 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20010 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20011 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
20012 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
20013 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
20014 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
20015
93d5cbf8 200162008-08-31 Robert Millan <rmh@aybabtu.com>
20017
20018 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
20019 declaration.
20020 (grub_multiboot): Fix a few warnings.
20021
21751d50 200222008-08-31 Robert Millan <rmh@aybabtu.com>
20023
20024 * loader/i386/pc/multiboot.c: Update comment not to say that
20025 boot_device support is unimplemented.
20026
e27a75c5 200272008-08-31 Robert Millan <rmh@aybabtu.com>
20028
20029 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
20030 or memory map support are unimplemented.
20031
81a06771 200322008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 20033
20034 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
20035
81a06771 200362008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 20037
20038 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
20039 total video memory in 'vbeinfo' output; show color format details for
20040 each video mode.
20041
7c5d8d95 200422008-08-30 Pavel Roskin <proski@gnu.org>
20043
20044 * util/genmoddep.c: Remove for real this time.
20045 * DISTLIST: Remove util/genmoddep.c.
20046
4cebd25a 200472008-08-30 Robert Millan <rmh@aybabtu.com>
20048
20049 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20050 as required by Multiboot spec (it was already 4-byte aligned, but
20051 only by chance).
20052
b497a269 200532008-08-29 Pavel Roskin <proski@gnu.org>
20054
e3925185 20055 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20056 * kern/powerpc/ieee1275/startup.S: ... this.
20057 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20058 * DISTLIST: Likewise.
20059
b497a269 20060 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20061 grub/cpu/kernel.h. Add start label for consistency with other
20062 platforms. Add grub_prefix immediately after start. Add jump
20063 to the code after grub_prefix.
20064 * include/grub/powerpc/kernel.h: Provide valid values for
20065 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20066
6e5a42fe 200672008-08-29 Bean <bean123ch@gmail.com>
20068
20069 * configure.ac: Change host_os to cygwin for mingw.
20070 (asprintf): New check for function.
20071
20072 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20073 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20074
20075 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 20076 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 20077 sync, sleep and grub_util_get_disk_size for mingw.
20078
20079 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20080 to get size in mingw.
20081 (open_device): Use flag O_BINARY if it's defined.
20082 (find_root_device): Add dummy code for mingw.
20083
20084 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20085 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20086 (get_scsi_disk_name): Return 0 for mingw.
20087
20088 * util/hostfs.c: #include <grub/util/misc.h>.
20089 (grub_hostfs_open): Use "rb" flag to open file, use
20090 grub_util_get_disk_size to get disk size for mingw.
20091
20092 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20093 (asprintf): New function if HAVE_ASPRINTF is not set.
20094 (sync): New function for mingw.
20095 (sleep): Likewise.
20096 (grub_util_get_disk_size): Likewise.
20097
ab3f2673 200982008-08-28 Pavel Roskin <proski@gnu.org>
20099
20100 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20101 kern/time.c.
20102
1c282483 201032008-08-28 Robert Millan <rmh@aybabtu.com>
20104
20105 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20106
678e849c 201072008-08-28 Robert Millan <rmh@aybabtu.com>
20108
20109 Change find_grub_drive() syntax so it doesn't prevent it from
20110 detecting NULL names as errors.
20111
20112 * util/biosdisk.c (find_grub_drive): Move free slot search code
20113 from here ...
20114 (find_free_slot): ... to here.
20115 (read_device_map): Use find_free_slot() to search for free slots.
20116
965c75ca 201172008-08-27 Marco Gerards <marco@gnu.org>
20118
20119 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20120 (scsi_mod_SOURCES): New variable.
20121 (scsi_mod_CFLAGS): Likewise
20122 (scsi_mod_LDFLAGS): Likewise.
20123
20124 * disk/scsi.c: New file.
20125
20126 * include/grub/scsi.h: Likewise.
20127
20128 * include/grub/scsicmd.h: Likewise.
20129
20130 * disk/ata.c: Include <grub/scsi.h>.
20131 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20132 instead.
20133 (grub_ata_iterate): Skip ATAPI devices.
20134 (grub_ata_open): Only handle ATAPI devices.
20135 (struct grub_atapi_read): Removed.
20136 (grub_atapi_readsector): Likewise.
20137 (grub_ata_read): No longer handle ATAPI devices.
20138 (grub_ata_write): Likewise.
20139 (grub_atapi_iterate): New function.
20140 (grub_atapi_read): Likewise.
20141 (grub_atapi_write): Likewise.
20142 (grub_atapi_open): Likewise.
20143 (grub_atapi_close): Likewise.
20144 (grub_atapi_dev): New variable.
20145 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20146 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20147
20148 * include/grub/disk.h (enum grub_disk_dev_id): Add
20149 `GRUB_DISK_DEVICE_SCSI_ID'.
20150
c07ae501 201512008-08-26 Robert Millan <rmh@aybabtu.com>
20152
20153 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20154 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20155 descriptive.
20156
5ed20adc 201572008-08-23 Bean <bean123ch@gmail.com>
20158
20159 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20160 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20161 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20162 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20163 dm_nv.mod.
20164 (raid5rec_mod_SOURCES): New macro.
20165 (raid5rec_mod_CFLAGS): Likewise.
20166 (raid5rec_mod_LDFLAGS): Likewise.
20167 (raid6rec_mod_SOURCES): Likewise.
20168 (raid6rec_mod_CFLAGS): Likewise.
20169 (raid6rec_mod_LDFLAGS): Likewise.
20170 (mdraid_mod_SOURCES): Likewise.
20171 (mdraid_mod_CFLAGS): Likewise.
20172 (mdraid_mod_LDFLAGS): Likewise.
20173 (dm_nv_mod_SOURCES): Likewise.
20174 (dm_nv_mod_CFLAGS): Likewise.
20175 (dm_nv_mod_LDFLAGS): Likewise.
20176
20177 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20178 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20179 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20180
20181 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20182 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20183
20184 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20185
20186 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20187
20188 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20189
20190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20191
20192 * disk/raid5_recover.c: New file.
20193
20194 * disk/raid6_recover.c: Likewise.
20195
20196 * disk/mdraid_linux.c: Likewise.
20197
20198 * disk/dmraid_nvidia.c: Likewise.
20199
20200 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20201 ULONG_MAX.
20202
20203 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20204 calculate the size of raid device.
20205 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20206 different layout of raid5.
20207 (grub_raid_scan_device): Remove code specific to mdraid.
20208 (grub_raid_list): New variable.
20209 (free_array): New function.
20210 (grub_raid_register): Likewise.
20211 (grub_raid_unregister): Likewise.
20212 (grub_raid_rescan): Likewise.
20213 (GRUB_MOD_INIT): Don't iterate device here.
20214 (GRUB_MOD_FINI): Use free_array to release resource.
20215
20216 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20217 (grub_raid5_recover_func_t): New function variable type.
20218 (grub_raid6_recover_func_t): Likewise.
20219 (grub_raid5_recover_func): New variable.
20220 (grub_raid6_recover_func): Likewise.
20221 (grub_raid_register): New function.
20222 (grub_raid_unregister): Likewise.
20223 (grub_raid_rescan): Likewise.
20224 (grub_raid_block_xor): Likewise.
20225
20226 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20227 (CMD_CRC): New macro.
20228 (part): Removed.
20229 (read_file): Handle device as well as file.
20230 (cmd_crc): New function.
20231 (fstest): Handle multiple disks.
20232 (options): Remove part, raw and long, add root and diskcount.
20233 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 20234 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 20235 add handling for the new options, support multiple disks.
20236
20237 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20238
29c18915 202392008-08-23 Bean <bean123ch@gmail.com>
20240
20241 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20242
20243 * genfslist.sh: Ignore kernel.mod.
20244
20245 * genpartmaplist.sh: Likewise.
20246
8415f261 202472008-08-23 Robert Millan <rmh@aybabtu.com>
20248
20249 * util/getroot.c (find_root_device): Skip anything that starts with
20250 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20251
d5a7dc5b 202522008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 20253
d5a7dc5b 20254 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20255 * util/grub.d/00_header.in: Allow the administrator to change default
20256 gfxmode via ${GRUB_GFXMODE}.
20257
380cfbb4 202582008-08-21 Felix Zielcke <fzielcke@z-51.de>
20259
20260 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20261
c9baafe7 202622008-08-21 Robert Millan <rmh@aybabtu.com>
20263
20264 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20265 loader.
20266 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20267 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20268
e290bef2 202692008-08-20 Carles Pina i Estany <carles@pina.cat>
20270
20271 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20272 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20273
f9dbfc96 202742008-08-19 Robert Millan <rmh@aybabtu.com>
20275
20276 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20277 (struct grub_virtual_screen): Remove `cursor_color'.
20278 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20279 initialization.
20280 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20281
dd6bd6ab 202822008-08-18 Robert Millan <rmh@aybabtu.com>
20283
20284 Unify (identical) linux_normal.c files.
20285 * loader/i386/efi/linux_normal.c: Move from here ...
20286 * loader/linux_normal.c: ... to here. Update all users.
20287 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20288 * loader/i386/ieee1275/linux_normal.c: Likewise.
20289
7f42f83e 202902008-08-18 Robert Millan <rmh@aybabtu.com>
20291
20292 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20293 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20294 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20295 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20296 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20297 New macros.
20298 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20299 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20300 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20301 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20302 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20303 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20304 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20305 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20306 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20307 portably using grub_getxy().
20308 Replace `-EFI' with `-bzImage' in boot message.
20309
38487ddb 203102008-08-17 Robert Millan <rmh@aybabtu.com>
20311
20312 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20313
deceb3ec 203142008-08-17 Robert Millan <rmh@aybabtu.com>
20315
20316 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20317
20318 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20319 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20320 (grub_machine_mmap_iterate): New function declaration.
20321 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20322 structure.
20323 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20324 macros.
20325
20326 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20327 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20328 Move e820 parsing from here ...
20329 * kern/i386/pc/mmap.c: New file.
20330 (grub_machine_mmap_iterate): ... to here.
20331
20332 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20333 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20334 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20335 (grub_available_iterate): Redeclare to return `void', and redeclare
20336 its hook to use grub_uint64_t as addr and size parameters, and rename
20337 to ...
20338 (grub_machine_mmap_iterate): ... this. Update all users.
20339
20340 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20341 to make it more readable. Rename to ...
20342 (grub_machine_mmap_iterate): ... this.
20343
20344 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20345 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20346 (grub_multiboot): Allocate an extra region after the payload, and fill
20347 it with a Multiboot memory map. Adjust a.out loader to calculate size
20348 with the extra space.
20349 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20350 with the extra space.
20351
f8aa0f43 203522008-08-17 Carles Pina i Estany <carles@pina.cat>
20353
9807deb9 20354 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20355
605f5bb6 203562008-08-17 Felix Zielcke <fzielcke@z-51.de>
20357
20358 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20359 mdate-sh to the list `find' searches for.
20360 * DISTLIST: Regenerated.
20361
210db6c6 203622008-08-16 Felix Zielcke <fzielcke@z-51.de>
20363
20364 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20365 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20366 genmoddep.awk, gensymlist.sh.in.
20367 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20368 * DISTLIST: Regenerated.
48cdbfd4 20369 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20370
1082b929 203712008-08-16 Robert Millan <rmh@aybabtu.com>
20372
20373 * disk/raid.c (grub_raid_init): Handle/report errors set by
20374 grub_device_iterate().
20375 * disk/lvm.c (grub_lvm_init): Likewise.
20376
42ce5170 203772008-08-15 Bean <bean123ch@gmail.com>
20378
20379 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20380 and datehook.mod.
20381 (datetime_mod_SOURCES): New macro.
20382 (datetime_mod_CFLAGS): Likewise.
20383 (datetime_mod_LDFLAGS): Likewise.
20384 (date_mod_SOURCES): Likewise.
20385 (date_mod_CFLAGS): Likewise.
20386 (date_mod_LDFLAGS): Likewise.
20387 (datehook_mod_SOURCES): Likewise.
20388 (datehook_mod_CFLAGS): Likewise.
20389 (datehook_mod_LDFLAGS): Likewise.
20390
20391 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20392 and datehook.mod.
20393 (datetime_mod_SOURCES): New macro.
20394 (datetime_mod_CFLAGS): Likewise.
20395 (datetime_mod_LDFLAGS): Likewise.
20396 (date_mod_SOURCES): Likewise.
20397 (date_mod_CFLAGS): Likewise.
20398 (date_mod_LDFLAGS): Likewise.
20399 (datehook_mod_SOURCES): Likewise.
20400 (datehook_mod_CFLAGS): Likewise.
20401 (datehook_mod_LDFLAGS): Likewise.
20402
20403 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20404 and datehook.mod.
20405 (datetime_mod_SOURCES): New macro.
20406 (datetime_mod_CFLAGS): Likewise.
20407 (datetime_mod_LDFLAGS): Likewise.
20408 (date_mod_SOURCES): Likewise.
20409 (date_mod_CFLAGS): Likewise.
20410 (date_mod_LDFLAGS): Likewise.
20411 (datehook_mod_SOURCES): Likewise.
20412 (datehook_mod_CFLAGS): Likewise.
20413 (datehook_mod_LDFLAGS): Likewise.
20414
20415 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20416 and datehook.mod.
20417 (datetime_mod_SOURCES): New macro.
20418 (datetime_mod_CFLAGS): Likewise.
20419 (datetime_mod_LDFLAGS): Likewise.
20420 (date_mod_SOURCES): Likewise.
20421 (date_mod_CFLAGS): Likewise.
20422 (date_mod_LDFLAGS): Likewise.
20423 (datehook_mod_SOURCES): Likewise.
20424 (datehook_mod_CFLAGS): Likewise.
20425 (datehook_mod_LDFLAGS): Likewise.
20426
20427 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20428 and datehook.mod.
20429 (datetime_mod_SOURCES): New macro.
20430 (datetime_mod_CFLAGS): Likewise.
20431 (datetime_mod_LDFLAGS): Likewise.
20432 (date_mod_SOURCES): Likewise.
20433 (date_mod_CFLAGS): Likewise.
20434 (date_mod_LDFLAGS): Likewise.
20435 (datehook_mod_SOURCES): Likewise.
20436 (datehook_mod_CFLAGS): Likewise.
20437 (datehook_mod_LDFLAGS): Likewise.
20438
20439 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20440
20441 * commands/date.c: New file.
20442
20443 * hook/datehook.c: Likewise.
20444
20445 * include/grub/lib/datetime.h: Likewise.
20446
20447 * include/grub/i386/cmos.h: Likewise.
20448
20449 * lib/datetime.c: Likewise.
20450
20451 * lib/i386/datetime.c: Likewise.
20452
20453 * lib/efi/datetime.c: Likewise.
20454
0e9242da 204552008-08-14 Robert Millan <rmh@aybabtu.com>
20456
20457 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20458 (grub_mkelfimage_SOURCES): New variable.
20459 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20460
20461 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20462 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20463 * conf/powerpc-ieee1275.rmk: Likewise.
20464 * conf/i386-ieee1275.rmk: Likewise.
20465
20466 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20467 * kern/i386/coreboot/init.c: Likewise.
20468
20469 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20470 with `<grub/cpu/kernel.h>'.
20471 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20472 to ...
20473 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20474 * kern/i386/coreboot/startup.S: Likewise.
20475
20476 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20477 (GRUB_MOD_GAP): Remove.
20478 * include/grub/powerpc/kernel.h: New file.
20479 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20480 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20481 * include/grub/i386/kernel.h: New file.
20482 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20483 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20484 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20485
20486 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20487 `grub-mkelfimage'.
20488 Use --directory when invoking grub_mkimage.
20489
20490 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20491 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20492 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20493 and GRUB_KERNEL_CPU_PREFIX.
20494
b86408f8 204952008-08-14 Felix Zielcke <fzielcke@z-51.de>
20496
d5e619ca 20497 * include/grub/err.h (grub_err_printf): New function prototype.
20498 * util/misc.c (grub_err_printf): New function.
20499 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20500 grub_printf.
20501 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 20502
7161f0e0 205032008-08-13 Robert Millan <rmh@aybabtu.com>
20504
20505 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20506
a1967522 205072008-08-13 Robert Millan <rmh@aybabtu.com>
20508
20509 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20510 boot entry.
20511
371458b5 205122008-08-12 Robert Millan <rmh@aybabtu.com>
20513
20514 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20515 of the relocation code from here ...
20516 (grub_multiboot): ... to here.
20517 (forward_relocator, backward_relocator): Move from here ...
20518 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20519 (grub_multiboot_backward_relocator): ... to here.
20520 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20521 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20522 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20523 (grub_multiboot_forward_relocator_end)
20524 (grub_multiboot_backward_relocator)
20525 (grub_multiboot_backward_relocator_end): New variables.
20526
05f9452b 205272008-08-12 Bean <bean123ch@gmail.com>
20528
20529 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20530
20024ab0 205312008-08-11 Robert Millan <rmh@aybabtu.com>
20532
20533 * kern/i386/linuxbios/startup.S: Move from here ...
20534 * kern/i386/coreboot/startup.S: ... to here.
20535
20536 * kern/i386/linuxbios/init.c: Move from here ...
20537 * kern/i386/coreboot/init.c: ... to here.
20538
20539 * kern/i386/linuxbios/table.c: Move from here ...
20540 * kern/i386/coreboot/mmap.c: ... to here.
20541
20542 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
20543
e352e9cd 205442008-08-11 Robert Millan <rmh@aybabtu.com>
20545
20546 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
20547 errors. Leave it to the upper layer to handle them.
20548
2d05bc6a 205492008-08-09 Christian Franke <franke@computer.org>
20550
20551 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
20552 * conf/common.rmk: Install `grub-pe2elf' only if requested.
20553 Install `grub.d/10_windows' only on Cygwin.
20554 * configure.ac: Add subst of `target_os'.
20555 Check `target_os' also before setting TARGET_OBJ2ELF.
20556 Add `--enable-grub-pe2elf'.
20557
042bd419 205582008-08-08 Robert Millan <rmh@aybabtu.com>
20559
20560 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20561 (grub_last_time): Change type to grub_uint64_t.
20562 (grub_disk_open): Migrate code from to using grub_get_time_ms().
20563 (grub_disk_close): Likewise.
20564
20565 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20566 (run_menu): Migrate code from to using grub_get_time_ms().
20567
20568 * util/misc.c (grub_get_time_ms): New function.
20569
7f280db5 205702008-08-08 Marco Gerards <marco@gnu.org>
20571
20572 * disk/ata.c (grub_ata_regget): Change return type to
20573 `grub_uint8_t'.
20574 (grub_ata_regget2): Likewise.
20575 (grub_ata_wait_status): New function.
20576 (grub_ata_wait_busy): Removed function, updated all users to use
20577 `grub_ata_wait_status'.
20578 (grub_ata_wait_drq): Likewise.
20579 (grub_ata_cmd): New function.
20580 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
20581 error handling.
20582 (grub_ata_pio_write): Add error handling.
20583 (grub_atapi_identify): Likewise.
20584 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
20585 handling.
20586 (grub_ata_identify): Use `grub_ata_cmd' and improve error
20587 handling. Actually use the detected registers. Reorder the
20588 detection logic such that it is easier to read.
20589 (grub_ata_pciinit): Do not assign the same ID to each controller.
20590 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
20591 handling.
20592 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
20593
20594 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
20595
1fbc5e66 205962008-08-08 Marco Gerards <marco@gnu.org>
20597
20598 * NEWS: Update.
20599
819ce6c0 206002008-08-07 Bean <bean123ch@gmail.com>
20601
20602 * include/grub/x86_64/pci.h: New file.
20603
5c41d44d 206042008-08-07 Christian Franke <franke@computer.org>
20605
20606 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
20607 (TIMER2_GATE): Likewise.
20608 (grub_pit_wait): Add enable/disable of the timer2 gate
20609 bit of port 0x61. This fixes a possible infinite loop.
20610
5ebc275d 206112008-08-07 Bean <bean123ch@gmail.com>
20612
20613 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
20614 kern/i386/tsc.c and kern/i386/pit.c.
20615
20616 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
20617 x86_64 platform.
20618
20619 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
20620 <grub/i386/tsc.h>.
20621
20622 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
20623
e383b3d0 206242008-08-07 Bean <bean123ch@gmail.com>
20625
20626 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
20627
20628 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
20629
20630 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
20631 multiple inclusion. Add #include <grub/types.h>.
20632
1cbb58ac 206332008-08-06 Christian Franke <franke@computer.org>
20634
20635 * conf/common.rmk: Build and install `10_windows'.
20636 * util/grub.d/10_windows.in: New script.
20637
337f5a1e 206382008-08-06 Pavel Roskin <proski@gnu.org>
20639
20640 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
20641
057bc4ac 206422008-08-06 Robert Millan <rmh@aybabtu.com>
20643
20644 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
20645 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
20646
2b99f123 206472008-08-06 Bean <bean123ch@gmail.com>
20648
20649 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
20650 (grub_pxefs_fs_int): Remove dummy definition.
20651 (grub_pxefs_open): Use data->block_size to store the current block
20652 size setting.
20653 (grub_pxefs_read): Use block size stored in data->block_size. As the
20654 value of grub_pxe_blksize can be changed after the file is opened.
20655
9f0234cb 206562008-08-06 Bean <bean123ch@gmail.com>
20657
20658 * fs/i386/pc/pxe.c (curr_file): new variable.
20659 (grub_pxefs_open): Simply the handling of pxe file system. Don't
20660 require the dummy internal file system anymore.
20661 (grub_pxefs_read): Removed.
20662 (grub_pxefs_close): Likewise.
20663 (grub_pxefs_fs_int): Likewise.
20664 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
20665 connection when we switch file.
20666 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
20667
a55d42e0 206682008-08-06 Robert Millan <rmh@aybabtu.com>
20669
20670 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
20671 `halt.mod'.
20672 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
20673 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
20674
20675 * kern/i386/halt.c: New file.
20676 * kern/i386/reboot.c: Likewise.
20677 * include/grub/i386/reboot.h: Likewise.
20678 * include/grub/i386/halt.h: Likewise.
20679
20680 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
20681 Include `<grub/cpu/halt.h>'.
20682 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
20683 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
20684
20685 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
20686 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
20687 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
20688 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
20689 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
20690 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
20691 from here ...
20692 * include/grub/i386/at_keyboard.h: ... to here.
20693
24371d26 206942008-08-05 Robert Millan <rmh@aybabtu.com>
20695
20696 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
20697 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
20698 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
20699 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20700 `kern/generic/millisleep.c'.
20701
20702 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
20703 instead of grub_get_rtc().
20704 (grub_tsc_init): Initialize `tsc_boot_time'.
20705
20706 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
20707 (grub_machine_init): Use grub_tsc_init() rather than
20708 installing an RTC-based handler via grub_install_get_time_ms().
20709
20710 * kern/i386/pit.c: New file.
20711 * include/grub/i386/pit.h: Likewise.
20712
9e7007b3 207132008-08-05 Bean <bean123ch@gmail.com>
20714
20715 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
20716
20717 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
20718 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
20719 (pxe_mod_SOURCES): New macro.
20720 (pxe_mod_CFLAGS): Likewise.
20721 (pxe_mod_LDFLAGS): Likewise.
20722 (pxecmd_mod_SOURCES): Likewise.
20723 (pxecmd_mod_CFLAGS): Likewise.
20724 (pxecmd_mod_LDFLAGS): Likewise.
20725
20726 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
20727 (grub_pxe_call): Likewise.
20728
20729 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
20730
20731 * commands/i386/pc/pxecmd.c: New file.
20732
9f0234cb 20733 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 20734
20735 * include/grub/i386/pc/pxe.h: Likewise.
20736
6977d49f 207372008-08-05 Bean <bean123ch@gmail.com>
20738
20739 * util/console.c (grub_console_cur_color): New variable.
20740 (grub_console_standard_color): Likewise.
20741 (grub_console_normal_color): Likewise.
20742 (grub_console_highlight_color): Likewise.
20743 (color_map): Likewise.
20744 (use_color): Likewise.
20745 (NUM_COLORS): New macro.
20746 (grub_ncurses_setcolorstate): Handle color properly.
20747 (grub_ncurses_setcolor): Don't change color here, just remember the
20748 settings, color will be set in grub_ncurses_setcolorstate.
20749 (grub_ncurses_getcolor): New function.
20750 (grub_ncurses_init): Initialize color pairs.
20751 (grub_ncurses_term): New member grub_ncurses_getcolor.
20752
9c2ff3ee 207532008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 20754
9c2ff3ee 20755 High resolution timer support. Implemented for x86 CPUs using TSC.
20756 Extracted generic grub_millisleep() so it's linked in only as needed.
20757 This requires a Pentium compatible CPU; if the RDTSC instruction is
20758 not supported, then it falls back on the generic grub_get_time_ms()
20759 implementation that uses the machine's RTC.
20760
20761 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
20762 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20763 `kern/generic/millisleep.c'.
20764
20765 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
20766 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
20767
20768 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
20769 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
20770
20771 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20772
20773 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20774 `kern/generic/millisleep.c'.
20775
20776 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20777
20778 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
20779
20780 * kern/generic/rtc_get_time_ms.c: New file.
20781
20782 * kern/generic/millisleep.c: New file.
337f5a1e 20783
9c2ff3ee 20784 * kern/misc.c: Don't include
20785 <kern/time.h> anymore.
20786 (grub_millisleep_generic): Removed.
20787
20788 * commands/sleep.c (grub_interruptible_millisleep): Uses
20789 grub_get_time_ms() instead of grub_get_rtc().
20790
20791 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
20792 function.
20793 (grub_cpu_is_cpuid_supported): New inline function.
20794 (grub_cpu_is_tsc_supported): New inline function.
20795 (grub_tsc_init): New function prototype.
20796 (grub_tsc_get_time_ms): New function prototype.
20797
20798 * kern/i386/tsc.c (grub_get_time_ms): New file.
20799
20800 * include/grub/time.h: Include <grub/types.h.
20801 (grub_millisleep_generic): Removed.
20802 (grub_get_time_ms): New prototype.
20803 (grub_install_get_time_ms): New prototype.
20804 (grub_rtc_get_time_ms): New prototype.
20805
20806 * kern/time.c (grub_get_time_ms): New function.
20807 (grub_install_get_time_ms): New function.
20808
20809 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
20810 <grub/time.h> anymore.
20811 (grub_millisleep): Removed.
20812 (grub_machine_init): Call grub_tsc_init.
20813
20814 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
20815 get_time_ms() implementation.
20816
20817 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
20818 (ieee1275_get_time_ms): New function.
20819 (grub_machine_init): Install get_time_ms() implementation.
20820
20821 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
20822 (grub_machine_init): Call grub_tsc_init().
20823 (grub_millisleep): Removed.
bf06a93f 20824
9c2ff3ee 20825 * kern/ieee1275/init.c (grub_millisleep): Removed.
20826 (grub_machine_init): Install ieee1275_get_time_ms()
20827 implementation.
20828 (ieee1275_get_time_ms): New function.
20829 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
20830 real work.
20831
9ec92aaf 208322008-08-05 Marco Gerards <marco@gnu.org>
20833
20834 * disk/ata.c: Include <grub/pci.h>.
20835 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
20836 (grub_ata_initialize): Rewritten.
20837 (grub_ata_device_initialize): New function.
20838
8d23f507 208392008-08-04 Pavel Roskin <proski@gnu.org>
20840
20841 * kern/main.c: Include grub/mm.h.
20842
5e15ee3d 208432008-08-04 Robert Millan <rmh@aybabtu.com>
20844
20845 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
20846 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
20847 corruption problem).
20848
a9053f8f 208492008-08-04 Robert Millan <rmh@aybabtu.com>
20850
20851 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
20852 warnings introduced in my last commit.
20853
dd19c7d7 208542008-08-03 Robert Millan <rmh@aybabtu.com>
20855
20856 Make PCI available on all i386 architectures.
20857
20858 * include/grub/i386/pc/pci.h: Move from here ...
20859 * include/grub/i386/pci.h: ... to here.
20860
20861 * include/grub/i386/pc/pci.h: Remove.
20862 * include/grub/i386/efi/pci.h: Remove.
20863 * include/grub/x86_64/efi/pci.h: Remove.
20864
20865 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
20866 `<grub/cpu/pci.h>'.
20867
20868 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
20869 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
20870 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
20871
20872 * conf/i386-ieee1275.rmk: Likewise.
20873
e14a6184 208742008-08-03 Robert Millan <rmh@aybabtu.com>
20875
20876 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
20877 (grub_console_setcursor): Make it possible to set cursor off.
20878
52768e37 208792008-08-03 Robert Millan <rmh@aybabtu.com>
20880
20881 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
20882 of modules instead of assuming which platform provides what.
20883 * util/update-grub.in: Likewise.
20884
2d52f57f 208852008-08-03 Robert Millan <rmh@aybabtu.com>
20886
20887 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
20888 instead of `grub_install_dos_part' to determine whether a drive needs
20889 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 20890 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 20891
2a5cd121 208922008-08-02 Robert Millan <rmh@aybabtu.com>
20893
20894 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
20895
93808428 208962008-08-02 Robert Millan <rmh@aybabtu.com>
20897
20898 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
20899 of informational grub_dprintf() calls.
20900
3bd0a12a 209012008-08-02 Robert Millan <rmh@aybabtu.com>
20902
20903 * disk/memdisk.c (memdisk_size): Don't initialize.
20904 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
20905
20906 * include/grub/i386/pc/kernel.h
20907 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
20908 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
20909 (grub_memdisk_image_size, grub_arch_memdisk_addr)
20910 (grub_arch_memdisk_size): Remove.
20911
20912 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
20913 field (was only used to transfer a constant). Add `type' field to
20914 support multiple module types.
20915 (grub_module_iterate): New function.
20916
20917 * kern/device.c (grub_device_open): Do not hide error messages
20918 when grub_disk_open() fails. Use grub_print_error() instead.
20919
20920 * kern/i386/pc/init.c (grub_arch_modules_addr)
20921 (grub_arch_memdisk_size): Remove functions.
20922 (grub_arch_modules_addr): Return the module address in high memory
20923 (now that it isn't copied anymore).
20924
20925 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
20926 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
20927 decompression routine (grub_total_module_size already includes that
20928 now). Don't copy modules back to low memory.
20929
20930 * kern/main.c: Include `<grub/mm.h>'.
20931 (grub_load_modules): Split out (and use) ...
20932 (grub_module_iterate): ... this function, which iterates through
20933 module objects and runs a hook.
20934 Comment out grub_mm_init_region() call, as it would cause non-ELF
20935 modules to be overwritten.
20936
20937 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
20938 the memdisk image in its own region, make it part of the module list.
20939 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
20940 (main): Parse --memdisk|-m option, and pass user-provided path as
20941 parameter to generate_image().
20942 (add_segments): Pass `memdisk_path' down to load_modules().
20943 (load_modules): Embed memdisk image in module section when requested.
20944 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
20945 `header.type' instead of `header.offset'.
20946
20947 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
20948 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
20949 (memdisk_mod_LDFLAGS): New variables.
20950 * conf/i386-coreboot.rmk: Likewise.
20951 * conf/i386-ieee1275.rmk: Likewise.
20952
a927cc73 209532008-08-02 Robert Millan <rmh@aybabtu.com>
20954
20955 * loader/i386/pc/multiboot.c (playground, forward_relocator)
20956 (backward_relocator): New variables. Used to allocate and relocate
20957 the payload, respectively.
20958 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 20959 address, install the appropriate relocator code in each bound of
a927cc73 20960 the payload, and set the entry point such that
20961 grub_multiboot_real_boot() will jump to one of them.
20962
20963 * kern/i386/loader.S (grub_multiboot_payload_size)
20964 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20965 (grub_multiboot_payload_entry_offset): New variables.
20966 (grub_multiboot_real_boot): Set cpu context to what the relocator
20967 expects, and jump to the relocator instead of the payload.
20968
20969 * include/grub/i386/loader.h (grub_multiboot_payload_size)
20970 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20971 (grub_multiboot_payload_entry_offset): Export.
20972
b15d8a0c 209732008-08-01 Bean <bean123ch@gmail.com>
20974
20975 * normal/menu_entry.c (editor_getline): Don't return the original
20976 string as result, as it will be released by lexer once it has done
20977 using it.
20978
cdfb3d22 209792008-08-01 Robert Millan <rmh@aybabtu.com>
20980
20981 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
20982 within menuentries, not before them.
20983 util/grub.d/10_hurd.in: Likewise.
20984
9175e93d 209852008-08-01 Bean <bean123ch@gmail.com>
20986
20987 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
20988 (bufio_mod_SOURCES): New macro.
20989 (bufio_mod_CFLAGS): Likewise.
20990 (bufio_mod_LDFLAGS): Likewise.
20991
20992 * include/grub/bufio.h: New file.
20993
20994 * io/bufio.c: Likewise.
20995
20996 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
20997 (grub_video_reader_png): Use grub_buffile_open to open file.
20998
20999 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21000 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21001
21002 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21003 (grub_video_reader_tga): Use grub_buffile_open to open file.
21004
21005 * font/manager.c: Include <grub/bufio.h>.
21006 (add_font): Use grub_buffile_open to open file.
21007
3d8383e7 210082008-07-31 Robert Millan <rmh@aybabtu.com>
21009
21010 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21011 ELF segments, use a macro for arbitrarily accessing any of them instead
21012 of preparing a pointer that allows access to one at a time.
21013 (grub_multiboot_load_elf64): Likewise.
21014
16e641b6 210152008-07-31 Bean <bean123ch@gmail.com>
21016
21017 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
21018 GRUB_KERNEL_MACHINE_DATA_END.
21019
59198b72 210202008-07-30 Robert Millan <rmh@aybabtu.com>
21021
21022 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
21023 Increase from 0x50 to 0x60.
21024 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
21025 use UUIDs to identify the root drive for them. If that's not
21026 possible, abort.
21027 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
21028 check, for cross-disk installs.
21029
ae88bca3 210302008-07-30 Robert Millan <rmh@aybabtu.com>
21031
21032 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
21033 is non-empty, use it to set the `prefix' environment variable instead
21034 of the usual approach.
21035 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
21036 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
21037 environment variable instead of dummy make_install_device().
21038
21039 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
21040 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 21041 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 21042
21043 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21044 New variable reference.
21045 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21046 New macro. Defines offset of `grub_prefix' within startup.S (relative
21047 to `start').
21048 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21049 section within startup.S (relative to `start').
21050 * include/grub/i386/coreboot/kernel.h: Likewise.
21051
21052 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21053 Overwrite grub_prefix with its contents, at the beginning of the
21054 first segment.
21055 (main): Understand -p|--prefix.
21056
14f41dd1 210572008-07-30 Robert Millan <rmh@aybabtu.com>
21058
21059 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21060
4ca049a3 210612008-07-30 Robert Millan <rmh@aybabtu.com>
21062
21063 * term/i386/pc/vga_text.c (grub_console_cls): Use
21064 grub_console_gotoxy() to go back to beginning of the screen.
21065 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21066
2921d337 210672008-07-29 Christian Franke <franke@computer.org>
21068
21069 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21070 Add conversion of emulated mount points on Cygwin.
21071
b609876d 210722008-07-29 Christian Franke <franke@computer.org>
21073
21074 * util/update-grub.in: Add a check for admin
21075 group on Cygwin.
21076 Remove old `grub.cfg.new' before creation.
21077 Add `-f' to `mv' to handle the different filesystem
21078 semantics of Windows.
21079
e93e4679 210802008-07-29 Bean <bean123ch@gmail.com>
21081
21082 * normal/main.c (get_line): Fix buffer overflow bug.
21083
41694fd0 210842008-07-28 Robert Millan <rmh@aybabtu.com>
21085
21086 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21087 (struct grub_apple_header): New struct. Describes the layout of
21088 the partmap header.
21089 (apple_partition_map_iterate): Check the header magic as well as the
21090 partition magic (which was already being checked).
21091
cfd0b4e6 210922008-07-28 Pavel Roskin <proski@gnu.org>
21093
21094 * genmk.rb: Add a warning to the beginning of the output that
21095 it's a generated file and should not be edited.
21096
93cce016 210972008-07-28 Robert Millan <rmh@aybabtu.com>
21098
21099 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21100 with the same number are found, just use issue a warning with
21101 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 21102
cd1df915 211032008-07-27 Robert Millan <rmh@aybabtu.com>
21104
21105 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21106 information.
21107
b70a8427 211082008-07-27 Bean <bean123ch@gmail.com>
21109
21110 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21111 (grub_fat_find_dir): Ignore case when comparing filename.
21112
8f5e379f 211132008-07-27 Bean <bean123ch@gmail.com>
21114
21115 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21116 smallino, as it's more descriptive, and i8count can be confused with
21117 the other field count.
21118 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21119 inode type.
21120
a85cd5a0 211212008-07-27 Bean <bean123ch@gmail.com>
21122
21123 * commands/crc.c: New file.
21124
21125 * lib/crc.c: Likewise.
21126
21127 * include/grub/lib/crc.h: Likewise.
21128
21129 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21130
21131 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21132 (hexdump): Move this function to ...
21133
21134 * lib/hexdump.c: ... here.
21135
21136 * include/grub/hexdump.h: Renamed to ...
21137
21138 * include/grub/lib/hexdump.h: ... this.
21139
21140 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21141
21142 * util/grub-editenv.c: Likewise.
21143
21144 * include/envblk.h: Renamed to ...
21145
21146 * include/lib/envblk.h: ... this.
21147
21148 * util/envblk.c: Renamed to ...
21149
21150 * lib/envblk.c: ... this.
21151
21152 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21153 lib/hexdump.c.
21154 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21155 (pkglib_MODULES): Add crc.mod.
21156 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21157 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21158 (crc_mod_SOURCES): New macro.
21159 (crc_mod_CFLAGS): Likewise.
21160 (crc_mod_LDFLAGS): Likewise.
21161
21162 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21163
21164 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21165
21166 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21167
21168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21169
21170 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21171
c298def0 211722008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 21173
21174 * commands/help.c: Include <grub/term.h>.
21175 (TERM_WIDTH): Removed. Updated all users.
21176
cc349fb3 211772008-07-27 Pavel Roskin <proski@gnu.org>
21178
21179 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21180 spurious warnings about a comment within a comment.
21181
9051607e 211822008-07-25 Robert Millan <rmh@aybabtu.com>
21183
21184 * util/getroot.c (find_root_device): Skip devices that match
21185 /dev/dm-[0-9]. This lets the real device be found for any type of
21186 abstraction (LVM, EVMS, RAID..).
21187 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21188 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21189 device is found first, find_root_device() will now skip it.
21190
01453bfc 211912008-07-24 Pavel Roskin <proski@gnu.org>
21192
21193 * include/grub/types.h: Use __builtin_bswap32() and
21194 __builtin_bswap64() with gcc 4.3 and newer.
21195
6af9849f 211962008-07-24 Christian Franke <franke@computer.org>
21197
3a0fa256 21198 * util/i386/pc/grub-install.in: If `--debug' is specified,
21199 pass `--verbose' to grub-setup.
21200 Abort script if make_system_path_relative_to_its_root() fails.
21201
7810e747 212022008-07-24 Bean <bean123ch@gmail.com>
21203
21204 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21205 variable `target_platform' should be `platform'.
21206
42290e17 212072008-07-24 Bean <bean123ch@gmail.com>
21208
51cc5193 21209 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 21210 (grub_png_init_fixed_block): New function.
21211 (grub_png_decode_image_data): Handle fixed huffman code compression.
21212
2a8a80e4 212132008-07-24 Bean <bean123ch@gmail.com>
21214
21215 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21216 (grub_pe2elf_SOURCES): New macro.
21217 (CLEANFILES): Add grub-pe2elf.
21218
21219 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21220 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21221 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21222 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21223 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21224 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21225 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21226 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21227 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21228 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21229 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21230 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21231 (GRUB_PE32_DT_FUNCTION): Likewise.
21232 (GRUB_PE32_REL_I386_DIR32): Likewise.
21233 (GRUB_PE32_REL_I386_REL32): Likewise.
21234 (grub_pe32_symbol): New structure.
21235 (grub_pe32_reloc): Likewise.
21236
21237 * util/grub-pe2elf.c: New file.
21238
21239 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21240 start symbol in non pc platform.
21241
21242 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21243
21244 The following patches are from Christian Franke.
21245
21246 * include/grub/dl.h: Remove .previous, gas supports this only
21247 for ELF format.
21248
21249 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21250 Remove .type, gas supports this only for ELF format.
21251
21252 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21253 nullbytes in symbol table. This fixes an infinite loop if table is
21254 zero filled.
21255
21256 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21257 TARGET_IMG_LDFLAGS and EXEEXT.
21258
21259 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21260 TARGET_IMG_LDFLAGS_AC.
21261 (grub_CHECK_STACK_ARG_PROBE): New function.
21262
21263 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21264
21265 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21266
21267 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21268 to set TARGET_IMG_LD* accordingly.
21269 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21270 Add call to grub_CHECK_STACK_ARG_PROBE.
21271 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21272
21273 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21274
21275 * genmk.rb: Add EXEEXT to CLEANFILES.
21276
12ccdb75 212772008-07-23 Robert Millan <rmh@aybabtu.com>
21278
21279 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21280 define the codes for arrows and lines used for the menu).
21281 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21282 as well.
21283
21284 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21285 fonts, because the latter are too slow.
21286
18eeaf04 212872008-07-21 Bean <bean123ch@gmail.com>
21288
21289 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21290 a20. Run keyboard test last, as it will cause macbook to halt.
21291
b095e2ad 212922008-07-18 Pavel Roskin <proski@gnu.org>
21293
21294 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21295 load foreign architecture modules correctly anyway. Keep
21296 support for loading host architecture modules, whether we
21297 compile them or not.
21298
737feb35 212992008-07-17 Pavel Roskin <proski@gnu.org>
21300
3f4ce737 21301 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21302 change target_cpu. The compiler default can mismatch target_cpu
21303 in any case.
21304
4ad2d049 21305 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21306 * kern/efi/efi.c: Likewise.
21307
f6130a12 21308 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21309 target compiler is functional.
21310 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21311 are set up.
21312
58393a2d 21313 * configure.ac: Default to efi platform for x86_64-apple. Allow
21314 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21315 adjustments from the rest, only do them if target is not
21316 explicitly given. Merge other adjustments with the final sanity
21317 check. Remove an extraneous check for supported CPU. Be
21318 specific which CPU and which platform is not supported.
21319
737feb35 21320 * configure.ac: Default to pc platform for x86_64.
21321
546f966a 213222008-07-17 Robert Millan <rmh@aybabtu.com>
21323
21324 Partial LinuxBIOS -> Coreboot rename.
21325
21326 * conf/i386-linuxbios.rmk: Renamed to ...
21327 * conf/i386-coreboot.rmk: ... this.
21328 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21329 * configure.ac: Accept "coreboot" as input platform (but maintain
21330 compatibility with "linuxbios").
21331 * include/grub/i386/linuxbios: Renamed to ...
21332 * include/grub/i386/coreboot: ... this.
21333
20011694 213342008-07-17 Bean <bean123ch@gmail.com>
21335
21336 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21337 (appleldr_mod_SOURCE): New variable.
20011694 21338 (appleldr_mod_CFLAGS): Likewise.
21339 (appleldr_mod_LDFLAGS): Likewise.
21340 (pci_mod_SOURCES): Likewise.
21341 (pci_mod_CFLAGS): Likewise.
21342 (pci_mod_LDFLAGS): Likewise.
21343 (lspci_mod_SOURCES): Likewise.
21344 (lspci_mod_CFLAGS): Likewise.
21345 (lspci_mod_LDFLAGS): Likewise.
21346
21347 * conf/x86_64-efi.rmk: New file.
21348
21349 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21350 macro.
21351 (grub_efidisk_write): Likewise.
21352
21353 * include/efi/api.h (efi_call_0): New macro.
21354 (efi_call_1): Likewise.
21355 (efi_call_2): Likewise.
21356 (efi_call_3): Likewise.
21357 (efi_call_4): Likewise.
21358 (efi_call_5): Likewise.
21359 (efi_call_6): Likewise.
21360
21361 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21362 grub_rescue_cmd_chainloader.
21363
21364 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21365 (grub_pe32_optional_header): Change some fields based on i386 or
21366 x86_64 platform.
21367 (GRUB_PE32_PE32_MAGIC): Likewise.
21368
21369 * include/grub/efi/uga_draw.h: New file.
21370
21371 * include/grub/elf.h (STN_ABS): New constant.
21372 (R_X86_64_NONE): Relocation constant for x86_64.
21373 (R_X86_64_64): Likewise.
21374 (R_X86_64_PC32): Likewise.
21375 (R_X86_64_GOT32): Likewise.
21376 (R_X86_64_PLT32): Likewise.
21377 (R_X86_64_COPY): Likewise.
21378 (R_X86_64_GLOB_DAT): Likewise.
21379 (R_X86_64_JUMP_SLOT): Likewise.
21380 (R_X86_64_RELATIVE): Likewise.
21381 (R_X86_64_GOTPCREL): Likewise.
21382 (R_X86_64_32): Likewise.
21383 (R_X86_64_32S): Likewise.
21384 (R_X86_64_16): Likewise.
21385 (R_X86_64_PC16): Likewise.
21386 (R_X86_64_8): Likewise.
21387 (R_X86_64_PC8): Likewise.
21388
21389 * include/grub/i386/efi/pci.h: New file.
21390
21391 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21392 Change it value based on platform.
21393 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21394 (GRUB_E820_RAM): Likewise.
21395 (GRUB_E820_RESERVED): Likewise.
21396 (GRUB_E820_ACPI): Likewise.
21397 (GRUB_E820_NVS): Likewise.
21398 (GRUB_E820_EXEC_CODE): Likewise.
21399 (GRUB_E820_MAX_ENTRY): Likewise.
21400 (grub_e820_mmap): New structure.
21401 (linux_kernel_header): Change the efi field according to different
21402 kernel version, also field from linux_kernel_header.
21403
21404 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21405
21406 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21407 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21408 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21409 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21410 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21411 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21412 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21413 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21414 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21415 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21416
21417 * include/grub/x86_64/efi/kernel.h: New file.
21418
21419 * include/grub/x86_64/efi/loader.h: Likewise.
21420
21421 * include/grub/x86_64/efi/machine.h: Likewise.
21422
21423 * include/grub/x86_64/efi/pci.h: Likewise.
21424
21425 * include/grub/x86_64/efi/time.h: Likewise.
21426
21427 * include/grub/x86_64/linux.h: Likewise.
21428
21429 * include/grub/x86_64/setjmp.h: Likewise.
21430
21431 * include/grub/x86_64/time.h: Likewise.
21432
21433 * include/grub/x86_64/types.h: Likewise.
21434
21435 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21436 GRUB_TARGET_SIZEOF_VOID_P.
21437
21438 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21439 (grub_efi_locate_handle): Likewise.
21440 (grub_efi_open_protocol): Likewise.
21441 (grub_efi_set_text_mode): Likewise.
21442 (grub_efi_stall): Likewise.
21443 (grub_exit): Likewise.
21444 (grub_reboot): Likewise.
21445 (grub_halt): Likewise.
21446 (grub_efi_exit_boot_services): Likewise.
21447 (grub_get_rtc): Likewise.
21448
21449 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21450 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21451 (grub_efi_allocate_pages): Wrap efi calls.
21452 (grub_efi_free_pages): Wrap efi calls.
21453 (grub_efi_get_memory_map): Wrap efi calls.
21454
21455 * kern/x86_64/dl.c: New file.
21456
21457 * kern/x86_64/efi/callwrap.S: Likewise.
21458
21459 * kern/x86_64/efi/startup.S: Likewise.
21460
21461 * loader/efi/appleloader.c: Likewise.
21462
21463 * loader/efi/chainloader.c (cmdline): New variable.
21464 (grub_chainloader_unload): Wrap efi calls.
21465 (grub_chainloader_boot): Likewise.
21466 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21467 command line.
21468
21469 * loader/efi/chainloader_normal.c (chainloader_command):
21470 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21471 command line.
21472
21473 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21474 method.
21475 (grub_e820_add_region): New function.
21476 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21477 booting.
21478 (grub_find_video_card): New function.
21479 (grub_linux_setup_video): New function.
21480 (grub_rescue_cmd_linux): Probe for video information.
21481
21482 * normal/x86_64/setjmp.S: New file.
21483
21484 * term/efi/console.c (map_char): New function.
21485 (grub_console_putchar): Map unicode char.
21486 (grub_console_checkkey): Wrap efi calls.
21487 (grub_console_getkey): Likewise.
21488 (grub_console_getwh): Likewise.
21489 (grub_console_gotoxy): Likewise.
21490 (grub_console_cls): Likewise.
21491 (grub_console_setcolorstate): Likewise.
21492 (grub_console_setcursor): Likewise.
21493
21494 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21495
59652a20 214962008-07-16 Pavel Roskin <proski@gnu.org>
21497
ef294055 21498 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21499 format strings.
21500
59652a20 21501 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21502 pointer, not an integer. This fixes a warning and prevents
21503 precision loss on 64-bit systems.
21504 (relocate_addresses): Remove unneeded cast.
21505
afc3b5d7 215062008-07-15 Pavel Roskin <proski@gnu.org>
21507
506b2b3e 21508 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21509
62ead89c 21510 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21511
c4cd51d7 21512 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21513 Fix comparison between signed and unsigned.
21514
0d3d8f28 21515 * include/grub/i386/ieee1275/console.h: Declare
21516 grub_console_init() and grub_console_fini().
21517
8804b286 21518 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21519 It's empty and unused.
21520
ee01cf35 21521 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21522 beginning to avoid warnings with some compilers.
21523
afc3b5d7 21524 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21525 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21526
e4e8eaa5 215272008-07-14 Pavel Roskin <proski@gnu.org>
21528
407aceb4 21529 * kern/env.c (grub_register_variable_hook): Don't copy empty
21530 string, it leaks memory. Pass "" to grub_env_set(), it should
21531 handle constant strings.
21532
e4e8eaa5 21533 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21534 * commands/cmp.c (grub_cmd_cmp): Likewise.
21535 * kern/dl.c (grub_dl_flush_cache): Likewise.
21536 (grub_dl_load_core): Likewise.
21537 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21538 (grub_elf64_load_phdrs): Likewise.
21539
d4e2dad3 215402008-07-13 Pavel Roskin <proski@gnu.org>
21541
21542 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
21543 between signed and unsigned.
21544 (LzmaEnc_Finish): Fix warning about an unused parameter.
21545
aa24b516 215462008-07-13 Bean <bean123ch@gmail.com>
21547
21548 * Makefile.in (enable_lzo): New rule.
21549
21550 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
21551
21552 * configure.ac (ENABLE_LZO): New option --enable-lzo.
21553
21554 * boot/i386/pc/lnxboot.S: #include <config.h>.
21555
21556 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 21557 its value according to the compression algorithm used, lzo or lzma.
aa24b516 21558
21559 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
21560 compression algorithm according to configure macro.
21561
21562 * kern/i386/pc/startup.S (codestart): Likewise.
21563
21564 * kern/i386/pc/lzma_decode.S: New file.
21565
21566 * include/grub/lib/LzFind.h: Likewise.
21567
21568 * include/grub/lib/LzHash.h: Likewise.
21569
21570 * include/grub/lib/LzmaDec.h: Likewise.
21571
21572 * include/grub/lib/LzmaEnc.h: Likewise.
21573
21574 * include/grub/lib/LzmaTypes.h: Likewise.
21575
21576 * lib/LzFind.c: Likewise.
21577
21578 * lib/LzmaDec.c: Likewise.
21579
21580 * lib/LzmaEnc.c: Likewise.
21581
4ae821ac 215822008-07-13 Bean <bean123ch@gmail.com>
21583
21584 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
21585 (grub_ext4_extent_header): New structure.
21586 (grub_ext4_extent): Likewise.
21587 (grub_ext4_extent_idx): Likewise.
21588 (grub_ext4_find_leaf): New function.
21589 (grub_ext2_read_block): Handle extents.
21590
9a745147 215912008-07-12 Robert Millan <rmh@aybabtu.com>
21592
21593 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
21594
d49a4cf6 215952008-07-11 Robert Millan <rmh@aybabtu.com>
21596
21597 * util/grub.d/40_custom.in: New file. Example on how to add custom
21598 entries to /etc/grub.d.
21599 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
21600 40_custom (implicitly, by merging all the grub.d rules).
21601
947414b4 216022008-07-11 Pavel Roskin <proski@gnu.org>
21603
0059cf6f 21604 * commands/read.c (grub_getline): Fix invalid memory access.
21605 Don't add newline to the variable value.
21606
947414b4 21607 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
21608 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
21609 (serial_hw_get_port): Check validity of the port number.
21610 (grub_cmd_serial): Check return value of serial_hw_get_port().
21611
62a02d00 216122008-07-07 Pavel Roskin <proski@gnu.org>
21613
21614 * boot/i386/pc/diskboot.S (notification_string): Replace
21615 "Loading kernel" with just "loading". This is shorter, less
21616 confusing and saves a few bytes for possible future changes.
21617
3e5581b0 216182008-07-05 Pavel Roskin <proski@gnu.org>
21619
ea387a48 21620 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
21621 size for ATAPI devices, they are undefined. Output sector
21622 number in decimal form.
21623
3e5581b0 21624 * disk/ata.c: Use named constants for status bits.
21625
fdecb8fd 216262008-07-04 Pavel Roskin <proski@gnu.org>
21627
bcd35b90 21628 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
21629 grub_addr_t before casting it to the void pointer to fix a
21630 warning. Non-addressable regions are discarded earlier.
21631 (grub_arch_modules_addr): Cast _end to grub_addr_t.
21632 * kern/i386/linuxbios/table.c: Include grub/misc.h.
21633 (check_signature): Don't shadow table_header.
21634 (grub_linuxbios_table_iterate): Cast numeric constants to
21635 grub_linuxbios_table_header_t.
21636 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
21637 grub_stop().
21638
af58ab3d 21639 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
21640 prevent warnings.
21641
1759aa57 21642 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
21643 pointer, which can cause warnings. Support 64-bit addresses.
21644
fdecb8fd 21645 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
21646 of sizeof(long). This fixes PowerPC image generation on x86_64.
21647
8516d2a8 216482008-07-04 Robert Millan <rmh@aybabtu.com>
21649
21650 This fixes a performance issue when pc & gpt partmap iterators
21651 didn't abort iteration even after our hook found what it was
fe987087 21652 looking for (often causing expensive probes of non-existent drives).
8516d2a8 21653
21654 Some callers relied on previous buggy behaviour, since they would
34c44600 21655 raise an error when their own hooks caused early abortion of its
8516d2a8 21656 iteration.
21657
21658 * kern/device.c (grub_device_open): Improve error message.
21659 * disk/lvm.c (grub_lvm_open): Likewise.
21660 * disk/raid.c (grub_raid_open): Likewise.
21661
21662 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
21663 when hook requests it, independently of grub_errno.
21664 (pc_partition_map_probe): Do not fail when find_func() caused
21665 early abortion of pc_partition_map_iterate().
21666
21667 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
21668 when hook requests it, independently of grub_errno.
21669 (gpt_partition_map_probe): Do not fail when find_func() caused
21670 early abortion of gpt_partition_map_iterate().
21671
21672 * kern/partition.c (grub_partition_iterate): Abort parent iteration
21673 when hook requests it, independently of grub_errno. Do not fail when
21674 part_map_iterate_hook() caused early abortion of p->iterate().
21675
21676 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
21677 when grub_partition_iterate() returned with non-zero.
21678
277d0de9 216792008-07-03 Pavel Roskin <proski@gnu.org>
21680
21681 * disk/ata.c (grub_ata_pio_write): Check status before writing,
21682 like we do in grub_ata_pio_read().
21683 (grub_ata_readwrite): Always write individual sectors. Fix the
21684 sector count for the remainder.
21685 (grub_ata_write): Enable writing to ATA devices. Correctly
21686 report error for ATAPI devices.
21687
d4c9b428 216882008-07-02 Pavel Roskin <proski@gnu.org>
21689
e43fc690 21690 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
21691 warning.
21692
f707af42 21693 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
21694 for every read sector, we already increment it for the whole
21695 batch. This fixes reading more than 256 sectors at once.
21696
11e16b15 21697 * util/grub-editenv.c (cmd_info): Cast argument to long
21698 explicitly. ptrdiff_t reduces to int on i386.
21699
cbabfdd4 21700 * util/grub-editenv.c (main): Be specific which parameter is
21701 missing.
21702
b8fbce0a 21703 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
21704 (memdisk): Make memdisk_orig_addr a pointer.
21705
c9c8e606 21706 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
21707 for file offsets, use grub_off_t instead. Fix printf format
21708 warnings.
21709
ca62e598 21710 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
21711 there. Real unexpected warnings should not drown in the noise
21712 about known problems.
21713
ce8d1766 21714 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
21715 grub_disk_addr_t for memory addresses.
21716
00c7a56a 21717 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
21718 explicitly to fix a warning.
21719
08d3ef09 21720 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
21721
cb71ba20 21722 * Makefile.in (MODULE_LDFLAGS): New variable.
21723 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
21724 the linker accepts --build-id=none.
21725 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
21726 MODULE_LDFLAGS.
21727 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
21728
d4c9b428 21729 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
21730 those in Linux XFS code. Provide a way to access 64-bit parent
21731 inode.
21732 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
21733 the end of struct grub_xfs_dir_header.
21734
d4156eee 217352008-07-02 Bean <bean123ch@gmail.com>
21736
21737 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
21738 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21739 and GRUB_IEEE1275_FLAG_NO_ANSI.
21740
21741 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
21742 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21743 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
21744
21745 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
21746 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
21747
21748 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
21749 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
21750
21751 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
21752 esc sequence on non ANSI terminal.
21753 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
21754
21755 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
21756 beginning of file.
21757
2270f77b 217582008-07-02 Bean <bean123ch@gmail.com>
21759
21760 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
21761 (grub_editenv_SOURCES): New variable.
21762 (pkglib_MODULES): Add loadenv.mod.
21763 (loadenv_mod_SOURCES): New variable.
21764 (loadenv_mod_CFLAGS): Likewise.
21765 (loadenv_mod_LDFLAGS): Likewise.
21766
21767 * include/grub/envblk.h: New file.
21768
21769 * util/envblk.c: New file.
21770
21771 * util/grub-editenv.c: New file.
21772
21773 * commands/loadenv.c: New file.
21774
0e9e51ec 217752008-07-01 Pavel Roskin <proski@gnu.org>
21776
d89b7634 21777 * include/multiboot2.h (struct multiboot_tag_module): Use char,
21778 not unsigned char. This fixes warnings and is consistent with
21779 other tags.
21780
bf1835b1 21781 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
21782
8222a04b 21783 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
21784
6a42d99d 21785 * term/tparm.c (analyze): Always set *popcount.
21786
10b159d1 21787 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
21788 cast to fix a warning.
21789
b8789f6c 21790 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
21791 cast to suppress a warning.
21792
29d7e38a 21793 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
21794 grub_fshelp_read_file() expects.
21795
f341f669 21796 * fs/fat.c: Fix UUID calculation on big-endian systems. We
21797 write uuid as a 32-bit value in CPU byte order, so declare and
21798 use it as such.
21799
0e9e51ec 21800 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
21801 long if the format specifier expects it.
21802 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
21803 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21804 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
21805 long to fix a warning.
21806 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
21807 grub_dprintf() arguments to fix warnings.
21808
3aefa857 218092008-06-30 Pavel Roskin <proski@gnu.org>
21810
56c7668b 21811 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
21812 install_bsd_part immediately before core.img is embedded or
21813 modified on disk. This fixes core.img verification if core.img
21814 cannot be embedded.
21815
3aefa857 21816 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
21817 core_path to calculate the blocklist.
21818 Patch from Javier Martín <lordhabbit@gmail.com>
21819
5444088d 218202008-06-29 Robert Millan <rmh@aybabtu.com>
21821
21822 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
21823 block to disk block.
21824 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
21825 Patch from Niels Böhm <bitbucket@arcor.de>
21826
674835c8 218272008-06-29 Robert Millan <rmh@aybabtu.com>
21828
21829 * util/update-grub_lib.in (font_path): Search for fonts in
21830 /boot/grub first, which is more likely to be readable (we aren't
21831 deciding where fonts live, just looking for them).
21832
f527dbc8 218332008-06-26 Pavel Roskin <proski@gnu.org>
21834
6c2d8df6 21835 * util/biosdisk.c (read_device_map): Don't leave dead map
21836 entries for devices failing stat() check.
21837
f527dbc8 21838 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
21839 core_path_dev for the core.img path on the target device.
21840
aebe3d13 218412008-06-26 Robert Millan <rmh@aybabtu.com>
21842
21843 * disk/fs_uuid.c: New file.
21844 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
21845 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
21846 (fs_uuid_mod_LDFLAGS): New variables.
21847 * include/grub/disk.h (grub_disk_dev_id): Add
21848 `GRUB_DISK_DEVICE_UUID_ID'.
21849 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
21850 implement iterate().
21851
37aaf354 218522008-06-26 Robert Millan <rmh@aybabtu.com>
21853
21854 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
21855 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
21856 Linux image includes no initrd.
21857
25ff262a 218582008-06-21 Javier Martín <lordhabbit@gmail.com>
21859
21860 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
21861 call to resolve the core image location that effectively appended the
21862 name twice.
21863
76a2bd44 218642008-06-21 Robert Millan <rmh@aybabtu.com>
21865
21866 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
21867 call from here ...
21868
21869 * util/grub.d/10_hurd.in: ... to here ...
21870 * util/grub.d/10_linux.in: ... and here.
21871
650e1c79 218722008-06-19 Robert Millan <rmh@aybabtu.com>
21873
fe987087 21874 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 21875 after it has been set by grub_machine_set_prefix().
21876
6ce63911 218772008-06-19 Robert Millan <rmh@aybabtu.com>
21878
21879 * commands/search.c (search_label, search_fs_uuid, search_file): Print
21880 search result when not saving to variable, not the other way around.
21881 When saving to variable, abort iteration as soon as a match is found.
21882
73940cec 218832008-06-19 Robert Millan <rmh@aybabtu.com>
21884
21885 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
21886 check for partition that provides /boot/grub. Its logic is flawed,
21887 as it prevents prepare_grub_to_access_device() from being called
21888 multiple times.
21889
3c62a39d 218902008-06-19 Robert Millan <rmh@aybabtu.com>
21891
21892 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
21893 "insmod" command directly when abstraction modules are needed,
fe987087 21894 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 21895 since it had already been processed).
21896
47395a42 218972008-06-19 Pavel Roskin <proski@gnu.org>
21898
21899 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
21900 changed. This is needed in case GRUB_LIBDIR changes.
21901 * conf/i386-ieee1275.rmk: Likewise.
21902 * conf/i386-linuxbios.rmk: Likewise.
21903 * conf/i386-pc.rmk: Likewise.
21904 * conf/powerpc-ieee1275.rmk: Likewise.
21905
a145ac2d 219062008-06-18 Pavel Roskin <proski@gnu.org>
21907
21908 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
21909 kernel_elf_symlist.c to symlist.c for consistency with other
21910 architectures. Update all users.
21911 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21912
7847c51e 219132008-06-18 Robert Millan <rmh@aybabtu.com>
21914
21915 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
21916 it in prefix.
21917
21918 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
21919 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
21920 a RAID device, run setup() for all members independently on whether
21921 LVM abstraction is being used.
21922 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
21923 If grub-mkimage has set `*install_dos_part == -2', don't override this
21924 value.
21925 Perform *install_dos_part adjustments independently on whether
21926 we're embedding or not.
21927 Clarify error message when image is too big for embedding.
21928 Remove duplicate *install_dos_part stanza.
21929
b23e5644 219302008-06-17 Robert Millan <rmh@aybabtu.com>
21931
21932 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
21933 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
21934 variables.
21935 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
21936 values in grub_ofconsole_normal_color and
21937 grub_ofconsole_highlight_color (they're not directly related to
21938 background and foreground).
21939 (grub_ofconsole_setcolorstate): Extract background and foreground
21940 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
21941
0aac2f79 219422008-06-17 Robert Millan <rmh@aybabtu.com>
21943
21944 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
21945 /boot/grub for the check in last commit, not /boot (they could be
21946 different partitions).
21947
3cca7ef3 219482008-06-16 Robert Millan <rmh@aybabtu.com>
21949
21950 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
21951 asked to setup access for the same partition that provides /boot,
21952 don't bother using UUIDs since our root already has the value we
21953 want.
21954
347396d8 219552008-06-16 Robert Millan <rmh@aybabtu.com>
21956
21957 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
21958 I2O devices.
21959 Patch from Sven Mueller <sven@debian.org>.
21960
991477f8 219612008-06-16 Robert Millan <rmh@aybabtu.com>
21962
21963 * util/update-grub.in: Check for $EUID instead of $UID.
21964 Reported by Vincent Zweije.
21965
d31a32a1 219662008-06-16 Bean <bean123ch@gmail.com>
21967
fe987087 21968 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 21969 (grub_ext2_read_block): Likewise.
21970 (grub_ext2_read_inode): Likewise.
21971 (grub_ext2_mount): Likewise.
21972 (grub_ext2_close): Likewise.
21973 (grub_ext3_get_journal): Removed.
21974
fe987087 21975 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 21976 (grub_reiserfs_read_symlink): Likewise.
21977 (grub_reiserfs_mount): Likewise.
21978 (grub_reiserfs_open): Likewise.
21979 (grub_reiserfs_read): Likewise.
21980 (grub_reiserfs_close): Likewise.
21981 (grub_reiserfs_get_journal): Removed.
21982
21983 * fs/fshelp.c (grub_fshelp_read): Removed.
21984 (grub_fshelp_map_block): Likewise.
21985
21986 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
21987 (grub_fshelp_journal): Likewise.
21988 (grub_fshelp_read): Likewise.
21989 (grub_fshelp_map_block): Likewise.
21990
3540a760 219912008-06-16 Pavel Roskin <proski@gnu.org>
21992
21993 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
21994 floating point anymore.
21995 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
21996
95614c84 219972008-06-15 Pavel Roskin <proski@gnu.org>
21998
21999 * commands/ls.c (grub_ls_list_files): Use integer calculations
22000 for human readable format, avoid floating point use.
22001 * kern/misc.c (grub_ftoa): Remove.
22002 (grub_vsprintf): Remove floating point support.
22003
50465dd6 220042008-06-15 Robert Millan <rmh@aybabtu.com>
22005
fe6b695a 22006 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22007 devices.
22008 Reported by Max Vozeler.
22009
a9207284 220102008-06-15 Robert Millan <rmh@aybabtu.com>
22011
22012 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
22013 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
22014 skipped later.
22015 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
22016 the beginning of the prefix.
22017
22018 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
22019 It is assumed that if we have a memdisk, grub-mkimage has set
22020 grub_prefix to include the "(memdisk)" drive in it.
22021
a7cbd45a 220222008-06-15 Robert Millan <rmh@aybabtu.com>
22023
22024 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
22025 Initialize keyboard controller after registering the terminal, so that
22026 grub_printf() can be called from grub_keyboard_controller_init().
22027
21cf716a 220282008-06-15 Robert Millan <rmh@aybabtu.com>
22029
22030 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
22031 extent-btree which is written as big endian on disk.
22032 Reported by Alain Greppin <al@chilibi.org>.
22033
23a64d8e 220342008-06-14 Robert Millan <rmh@aybabtu.com>
22035
22036 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
22037 * util/i386/pc/grub-install.in (modules): Likewise.
22038
d687651c 220392008-06-13 Pavel Roskin <proski@gnu.org>
22040
22041 * commands/ls.c (grub_ls_list_files): Fix format warnings.
22042
dfe9ddd4 220432008-06-13 Bean <bean123ch@gmail.com>
22044
22045 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22046
22047 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22048
22049 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22050 to indicate sparse block.
22051
16ae7781 220522008-06-12 Pavel Roskin <proski@gnu.org>
22053
e6d1a308 22054 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22055 number, grub_fshelp_read() does it for us.
22056
16ae7781 22057 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22058 linear disk read with journal translation.
22059 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22060 * include/grub/fshelp.h: Declare grub_fshelp_read().
22061
40fd3a2b 220622008-06-09 Pavel Roskin <proski@gnu.org>
22063
22064 * fs/minix.c (grub_minix_mount): Handle error reading
22065 superblock.
22066
f5679726 220672008-06-08 Robert Millan <rmh@aybabtu.com>
22068
22069 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22070 don't append the RAID prefix afterwards.
22071 Reported by Clint Adams.
22072
ce525529 220732008-06-08 Robert Millan <rmh@aybabtu.com>
22074
22075 Based on description from Pavel:
22076 * kern/disk.c (grub_disk_check_range): Rename to ...
22077 (grub_disk_adjust_range): ... this. Add a comment explaining the
22078 tasks performed by this function.
22079
ad4936a0 220802008-06-08 Robert Millan <rmh@aybabtu.com>
22081
22082 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22083 `num_serial' (for consistency with other variables).
22084 (struct grub_ntfs_data): Add `uuid' member.
22085 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22086 (grub_ntfs_uuid): New function.
22087 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22088
dc20b0f9 220892008-06-07 Pavel Roskin <proski@gnu.org>
22090
22091 * util/biosdisk.c (open_device): Revert last change to the
22092 function, it broke installation. The sector needs to be
22093 different dependent on which device is opened.
22094
c5e3cfba 220952008-06-06 Robert Millan <rmh@aybabtu.com>
22096
22097 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22098 rest of GRUB, and breakage doesn't happen if its value were modified.
22099
22100 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22101 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22102 a constant (same value).
22103 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22104 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22105
26a1f8c4 221062008-06-06 Robert Millan <rmh@aybabtu.com>
22107
22108 * util/biosdisk.c (open_device): Do not modify sector offset when
22109 accessing a partition. kern/disk.c already handles this for us.
22110
25d6b327 221112008-06-06 Robert Millan <rmh@aybabtu.com>
22112
22113 * util/grub-emu.c (grub_machine_init): Move code in this function from
22114 here ...
22115 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22116 segfault in case grub_printf() is called).
22117
22118 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22119 grub_probe. Update all users not to explicitly add it again.
22120 (grub_device): New variable; contains corresponding device for grubdir.
22121 (fs_module, partmap_module, devabstraction_module): Pass
22122 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22123 every time.
22124
9ece62fb 221252008-06-05 Robert Millan <rmh@aybabtu.com>
22126
22127 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22128 is found, print it (same layout as with labels).
22129
1ad36d37 221302008-06-04 Robert Millan <rmh@aybabtu.com>
22131
22132 * util/biosdisk.c (get_drive): Rename to ...
22133 (find_grub_drive): ... this. Update all users.
22134
22135 (get_os_disk): Rename to ...
22136 (convert_system_partition_to_system_disk): ... this. Update all users.
22137
22138 (find_drive): Rename to ...
22139 (find_system_device): ... this. Update all users.
22140
e6a30859 221412008-06-04 Robert Millan <rmh@aybabtu.com>
22142
22143 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22144 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22145 (make_device_map): Likewise.
22146
00c108a4 221472008-06-01 Robert Millan <rmh@aybabtu.com>
22148
22149 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22150 before dereferencing it.
22151
22152 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22153 union with fat12/fat16-specific ones. Add some new fields, including
22154 `num_serial' for both versions.
22155 (struct grub_fat_data): Add `uuid' member.
22156 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22157 names. Initialize `data->uuid' using `num_serial'.
22158 (grub_fat_uuid): New function.
22159 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22160
22161 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22162 (grub_reiserfs_uuid): New function.
22163 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22164 member.
22165
22166 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22167 (grub_xfs_uuid): New function.
22168 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22169
1385c5bb 221702008-06-01 Robert Millan <rmh@aybabtu.com>
22171
22172 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22173 code that is backward compatible with pre-uuid search command.
22174
c682dfd7 221752008-05-31 Robert Millan <rmh@aybabtu.com>
22176
22177 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22178 floppies after everything else, to ensure floppy drive isn't accessed
22179 unnecessarily (patch from Bean).
22180
b7db5d47 221812008-05-31 Robert Millan <rmh@aybabtu.com>
22182
22183 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22184 not print device names when we were asked to set a variable.
22185
6e037aa9 221862008-05-31 Robert Millan <rmh@aybabtu.com>
22187
22188 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22189 using "cursor-on" and "cursor-off" commands (understood at least by
22190 the Open Firmware flavour on OLPC).
22191
41305bc8 221922008-05-31 Michael Gorven <michael@gorven.za.net>
22193
22194 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22195 on and off sequences.
22196
69ba137e 221972008-05-31 Robert Millan <rmh@aybabtu.com>
22198
22199 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22200 * util/update-grub.in: Likewise.
22201
520ae21b 222022008-05-30 Pavel Roskin <proski@gnu.org>
22203
22204 * util/biosdisk.c (linux_find_partition): Simplify logic and
22205 make the code more universal. Keep special processing for
22206 devfs, but use a simple rule for all other devices. If the
22207 device ends with a number, append 'p' and the partition number.
22208 Otherwise, append only the partition number.
22209
5786569b 222102008-05-30 Robert Millan <rmh@aybabtu.com>
22211
22212 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22213 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22214 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22215 the `root' parameter to Linux.
22216
51500452 222172008-05-30 Robert Millan <rmh@aybabtu.com>
22218
22219 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22220 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22221 --fs_uuid with --fs-uuid.
22222 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22223 all filesystems support them).
22224
811d3878 222252008-05-30 Robert Millan <rmh@aybabtu.com>
22226
22227 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 22228 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 22229
cab63c95 222302008-05-30 Robert Millan <rmh@aybabtu.com>
22231
22232 * util/grub.d/00_header.in: Remove obsolete comment referencing
22233 convert_system_path_to_grub_path().
22234 * util/update-grub.in: Likewise.
22235 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22236 (convert_system_path_to_grub_path): Add a warning message explaining
22237 that this function is deprecated. Rely on is_path_readable_by_grub()
22238 for the readability checks.
22239 (font_path): Use is_path_readable_by_grub() for the readability
22240 check rather than convert_system_path_to_grub_path().
22241
972e2f7a 222422008-05-30 Robert Millan <rmh@aybabtu.com>
22243
22244 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22245 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22246 converting it first.
22247 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22248 grub.cfg for access to font file, and afterwards call it again to set
22249 the root device.
22250
62191274 222512008-05-30 Robert Millan <rmh@aybabtu.com>
22252
22253 * commands/search.c (options): Add --fs_uuid option.
22254 (search_fs_uuid): New function.
22255 (grub_cmd_search): Fix --set argument passing.
22256 Use search_fs_uuid() when requested via --fs_uuid.
22257 (grub_search_init): Update help message.
22258 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22259 and redeclare it as an array of 16-bit words.
22260 (grub_ext2_uuid): New function.
22261 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22262 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22263 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22264 (GRUB_DEVICE_BOOT_UUID): New variables.
22265 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22266 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22267 whenever possible.
22268 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22269 just assume `root' variable has the right value.
22270 * util/grub.d/10_linux.in: Likewise.
22271 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22272 via PRINT_FS_UUID.
22273 (main): Recognise `-t fs_uuid' argument.
22274
01b73ec8 222752008-05-30 Robert Millan <rmh@aybabtu.com>
22276
22277 * util/biosdisk.c (map): Redefine structure to hold information
22278 about GRUB drive name.
fe6b695a 22279 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 22280 drive names.
22281 (call_hook): Remove.
22282 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22283 member. Assume drive has partitions.
22284 (grub_util_biosdisk_open): Access device names via `.device' struct
22285 member.
22286 (open_device): Likewise.
22287 (find_drive): Likewise.
22288 (read_device_map): Adjust map[] usage to match the new struct
22289 definition. Don't check for duplicates (still possible, but not cheap
22290 anymore).
22291 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22292 (make_device_name): Remove assumption of BIOS-like drive names.
22293
22f16596 222942008-05-30 Pavel Roskin <proski@gnu.org>
22295
22296 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22297 compiling execute.c doesn't need grub_script.tab.h anymore.
22298 (normal/command.c_DEPENDENCIES): Likewise.
22299 (normal/function.c_DEPENDENCIES): Likewise.
22300 * conf/i386-ieee1275.rmk: Likewise.
22301 * conf/i386-linuxbios.rmk: Likewise.
22302 * conf/i386-pc.rmk: Likewise.
22303 * conf/powerpc-ieee1275.rmk: Likewise.
22304 * conf/sparc64-ieee1275.rmk: Likewise.
22305
528ad8f2 223062008-05-29 Pavel Roskin <proski@gnu.org>
22307
d1dff95d 22308 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22309 when scanning metadata for volume group name.
22310
528ad8f2 22311 * include/grub/script.h: Don't include grub_script.tab.h. It's
22312 a generated file, which may only be included from the files with
22313 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22314 use union YYSTYPE, as the later allows forward declaration.
22315 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22316
47248e08 223172008-05-29 Robert Millan <rmh@aybabtu.com>
22318
22319 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22320 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22321 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22322 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22323 scan codes.
22324
ee632529 223252008-05-29 Robert Millan <rmh@aybabtu.com>
22326
22327 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22328 control key combinations.
22329
eee96e08 223302008-05-29 Robert Millan <rmh@aybabtu.com>
22331
22332 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22333 * util/ieee1275/grub-install.in: ... to here.
22334 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22335 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22336 (grub_install_SOURCES): Likewise.
22337
da9a6a94 223382008-05-29 Robert Millan <rmh@aybabtu.com>
22339
22340 * fs/affs.c: Update copyright year.
22341 * fs/ext2.c: Likewise.
22342 * fs/fshelp.c: Likewise.
22343 * fs/hfsplus.c: Likewise.
22344 * fs/ntfs.c: Likewise.
22345 * fs/xfs.c: Likewise.
22346 * include/grub/fshelp.h: Likewise.
22347 * util/grub-mkdevicemap.c: Likewise.
22348
12e65f3a 223492008-05-28 Robert Millan <rmh@aybabtu.com>
22350
22351 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22352 might need to be fatfs to support some firmware implementations
22353 (e.g. OFW or EFI).
22354
23023641 223552008-05-28 Robert Millan <rmh@aybabtu.com>
22356
22357 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22358 devices.
22359 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22360 (make_device_map): Likewise.
22361
887d2619 223622008-05-20 Bean <bean123ch@gmail.com>
22363
22364 * fs/fshelp.c (grub_fshelp_map_block): New function.
22365 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22366 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22367
22368 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22369 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22370 (grub_fshelp_journal): New structure.
22371 (grub_fshelp_map_block): New function prototype.
22372 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22373 (grub_fshelp_map_block): Likewise.
22374
22375 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22376 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22377 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22378 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22379 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22380 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22381 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22382 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22383 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22384 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22385 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22386 (grub_ext2_sblock): New members for journal support.
22387 (grub_ext3_journal_header): New structure.
22388 (grub_ext3_journal_revoke_header): Likewise.
22389 (grub_ext3_journal_block_tag): Likewise.
22390 (grub_ext3_journal_sblock): Likewise.
22391 (grub_fshelp_node): New members logfile and journal.
22392 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22393 grub_fshelp_map_block to get real block number.
22394 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22395 number.
22396 (grub_ext2_read_inode): Likewise.
22397 (grub_ext3_get_journal): New function.
22398 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22399 (grub_ext2_close): Release memory used by journal.
22400
22401 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22402 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22403 (grub_reiserfs_transaction_header): Renamed to
22404 grub_reiserfs_description_block, replace field data with real_blocks.
22405 (grub_reiserfs_commit_block): New structure.
22406 (grub_reiserfs_data): New member journal.
22407 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22408 number.
22409 (grub_reiserfs_read_symlink): Likewise.
22410 (grub_reiserfs_iterate_dir): Likewise.
22411 (grub_reiserfs_open): Likewise.
22412 (grub_reiserfs_read): Likewise.
22413 (grub_reiserfs_get_journal): New function.
22414 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22415 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22416 using grub_reiserfs_get_journal.
22417 (grub_reiserfs_close): Release memory used by journal.
22418
22419 * fs/affs.c (grub_affs_read_block): Change block type to
22420 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22421
22422 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22423
22424 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22425
22426 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22427
22428 * fs/udf.c (grub_udf_read_block): Change block type to
22429 grub_disk_addr_t. Use type cast to avoid warning.
22430
22431 * fs/xfs.c (grub_xfs_read_block): Likewise.
22432
b7c6bed5 224332008-05-16 Christian Franke <franke@computer.org>
22434
22435 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22436 to ensure that break with ESC will always work.
22437 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22438 Remove ESC from keyboard queue.
22439
eedf167f 224402008-05-16 Christian Franke <franke@computer.org>
22441
22442 * util/biosdisk.c: [__CYGWIN__] Add includes.
22443 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22444 (get_os_disk): Move variable declarations to OS specific
22445 parts to avoid warning.
22446 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22447 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22448 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22449 Cygwin.
22450 * util/getroot.c: [__CYGWIN__] Add includes.
22451 (strip_extra_slashes): Fix "/" case.
22452 [__CYGWIN__] (get_win32_path): New function.
22453 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22454 [__CYGWIN__] (find_root_device): Disable.
22455 [__CYGWIN__] (get_bootsec_serial): New function.
22456 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22457 [__linux__] (grub_guess_root_device): Add early returns to simplify
22458 structure.
22459 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22460 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22461 check for Linux only.
22462
a079699e 224632008-05-15 Bean <bean123ch@gmail.com>
22464
22465 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22466 keyboard hang problem in apple's intel mac.
22467
1cf4059a 224682008-05-09 Robert Millan <rmh@aybabtu.com>
22469
22470 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22471 devices.
22472 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22473 (make_device_map): Likewise.
22474 Reported by Aurelien Jarno <aurel32@debian.org>
22475
ed759390 224762008-05-07 Ian Campbell <ijc@hellion.org.uk>
22477
22478 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22479 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22480 (make_device_map): Output entries for xvd type disks.
22481
b56c4eaa 224822008-05-07 Robert Millan <rmh@aybabtu.com>
22483
22484 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22485 devices.
22486 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22487 (make_device_map): Likewise.
22488 Reported by Roland Dreier <rdreier@cisco.com>
22489
7f8866ed 224902008-05-07 Robert Millan <rmh@aybabtu.com>
22491
22492 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22493 grub_strstr() call. Correct a few mistakes in failure path handling.
22494
b0346e0f 224952008-05-06 Robert Millan <rmh@aybabtu.com>
22496
22497 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22498 Do not print a trailing slash (therefore, the root directory is an
22499 empty string).
22500 (convert_system_path_to_grub_path): Do not remove trailing slash
22501 from make_system_path_relative_to_its_root() output.
22502
22503 * util/i386/pc/grub-install.in: Add trailing slash to output from
22504 make_system_path_relative_to_its_root().
22505
6cf12cbd 225062008-05-06 Robert Millan <rmh@aybabtu.com>
22507
22508 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22509 ensures that output lines aren't intermangled with those sent to
22510 stderr (via grub_util_info()).
22511 * util/grub-probe.c (grub_refresh): Likewise.
22512 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22513
0fbb3117 225142008-05-05 Christian Franke <franke@computer.org>
22515
22516 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22517 Add Cygwin device names.
22518 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22519 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22520 (check_device): Return error instead of success on empty name.
22521 (make_device_map): Move label inside linux specific code to
22522 prevent compiler warning.
22523
8124cdb7 225242008-04-30 Robert Millan <rmh@aybabtu.com>
22525
22526 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22527 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22528 first boot option.
22529 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22530
094c01d0 225312008-04-29 Robert Millan <rmh@aybabtu.com>
22532
22533 * docs/grub.cfg: New file (example GRUB configuration).
22534
f4b1fc02 225352008-04-26 Robert Millan <rmh@aybabtu.com>
22536
329ce2a5 22537 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22538 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
22539 and `disk/ieee1275/nand.c'.
f4b1fc02 22540
25f16ec1 225412008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 22542
25f16ec1 22543 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
22544 i386-linuxbios.
22545
22546 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
22547 change the buffer size to 4096 for cdrom device.
22548
22549 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
22550 and nand.mod.
22551 (_linux_mod_SOURCES): New variable.
22552 (_linux_mod_CFLAGS): Likewise.
22553 (_linux_mod_LDFLAGS): Likewise.
22554 (linux_mod_SOURCES): Likewise.
22555 (linux_mod_CFLAGS): Likewise.
22556 (linux_mod_LDFLAGS): Likewise.
22557 (nand_mod_SOURCES): Likewise.
22558 (nand_mod_CFLAGS): Likewise.
22559 (nand_mod_LDFLAGS): Likewise.
22560
22561 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
22562 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
22563 type property. (nand device in olpc don't have this property)
22564
22565 * include/grub/disk.h (grub_disk_dev_id): New macro
22566 GRUB_DISK_DEVICE_NAND_ID.
22567
22568 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
22569 function prototype.
22570 (grub_rescue_cmd_initrd): Likewise.
22571
22572 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
22573 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
22574 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 22575
25f16ec1 22576 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
22577 GRUB_MACHINE_IEEE1275 is defined.
22578
22579 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
22580 Use NESTED_FUNC_ATTR attribute on the hook parameter.
22581
22582 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
22583 on nested function heap_init.
22584 (grub_upper_mem): New variable for i386-ieee1275.
22585 (grub_get_extended_memory): New function for i386-ieee1275.
22586 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
22587
22588 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
22589 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
22590 property.
f19dbdb7 22591
25f16ec1 22592 * loader/i386/ieee1275/linux.c: New file.
22593
22594 * loader/i386/ieee1275/linux_normal.c: New file.
22595
22596 * disk/ieee1275/nand.c: New file.
22597
e89d61e9 225982008-04-18 Thomas Schwinge <tschwinge@gnu.org>
22599
22600 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
22601 value.
22602 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
22603
602566f6 226042008-04-18 Robert Millan <rmh@aybabtu.com>
22605
22606 Restructures early code path on ieee1275 to unify grub_main() as
22607 the first C function that is executed in every platform.
22608
22609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
22610 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
22611 cmain().
22612 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
22613 * kern/ieee1275/cmain.c (cmain): Rename to ...
22614 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
22615 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
22616 at the beginning.
22617
57490c2b 226182008-04-18 Robert Millan <rmh@aybabtu.com>
22619
22620 * util/update-grub.in: Fix syntax error when setting
22621 `GRUB_PRELOAD_MODULES'.
22622 Reported by Stephane Chazelas <stephane@artesyncp.com>
22623
1977517d 226242008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
22625
22626 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
22627 section into account, newer toolchains generate unique build ids
22628 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 22629 we want build ids to be preserved
1977517d 22630 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
22631 far from other sections don't cause the raw binary images grow
22632 size
22633
bfb1f1a2 226342008-04-15 Robert Millan <rmh@aybabtu.com>
22635
22636 * disk/lvm.c: Update copyright year.
22637 * kern/misc.c: Likewise.
22638
01979850 226392008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22640
22641 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 22642 there is no memory left for physical volume name.
01979850 22643
0a1150e2 226442008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22645
22646 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
22647 volume name mapping to support bigger than 9 character names properly.
22648
82ead3fe 226492008-04-13 Robert Millan <rmh@aybabtu.com>
22650
22651 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
22652 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
22653
e54a72f5 226542008-04-13 Christian Franke <franke@computer.org>
22655
22656 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
22657 to create a floppy emulation boot CD when non emulation mode
22658 does not work.
22659 Enable Joliet CD filesystem extension.
22660
9fe86034 226612008-04-13 Robert Millan <rmh@aybabtu.com>
22662
22663 * kern/misc.c (grub_strncat): Fix off-by-one error.
22664 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
22665
22666 * kern/env.c (grub_env_context_close): Clear current context, not
22667 previous one.
22668 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
22669
22670 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
22671
7ceeee39 226722008-04-13 Robert Millan <rmh@aybabtu.com>
22673
22674 Improve robustness when handling LVM.
22675
22676 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 22677 (and leave `*p' unmodified).
7ceeee39 22678 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
22679 through it.
22680 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
22681 iterating through it.
22682 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
22683 through it.
fe6b695a 22684 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 22685 when due) on each grub_lvm_getvalue() or grub_strstr() call.
22686 Don't assume `vg->pvs != NULL' when iterating through it.
22687
58cd3d85 226882008-04-13 Robert Millan <rmh@aybabtu.com>
22689
22690 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
22691 * genmk.rb (partmap): New variable.
22692 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
22693 (#{partmap}): New target rule.
22694 * genpartmaplist.sh: New file.
22695 * Makefile.in (pkglib_DATA): Add partmap.lst.
22696 (partmap.lst): New target rule.
22697 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
22698 modules (including all partition maps), instead of preloading them.
22699
78b51059 227002007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
22701
22702 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
22703 `linux-boot-prober' (if installed) to detect other operating
22704 systems which are installed on the computer and add them to
22705 the boot menu.
22706 * conf/common.rmk: Build and install 30_os-prober.
22707
a91627b4 227082008-04-12 Robert Millan <rmh@aybabtu.com>
22709
22710 * kern/powerpc/ieee1275/init.c: Move from here ...
22711 * kern/ieee1275/init.c: ... to here. Update all users.
22712
22713 * kern/powerpc/ieee1275/cmain.c: Move from here ...
22714 * kern/ieee1275/cmain.c: ... to here. Update all users.
22715
22716 * kern/powerpc/ieee1275/openfw.c: Move from here ...
22717 * kern/ieee1275/openfw.c: ... to here. Update all users.
22718
22719 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
22720 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
22721
322562ea 227222008-04-10 Pavel Roskin <proski@gnu.org>
22723
22724 * configure.ac: Always use "_cv_" in cache variables for
22725 compatibility with Autoconf 2.62.
22726
a02a73c5 227272008-04-07 Robert Millan <rmh@aybabtu.com>
22728
22729 Revert grub/machine/init.h addition by Pavel (since it breaks on
22730 i386-ieee1275 and others):
22731 * util/i386/pc/misc.c: Remove grub/machine/init.h.
22732 * util/powerpc/ieee1275/misc.c: Likewise.
22733
25c024b1 227342008-04-07 Robert Millan <rmh@aybabtu.com>
22735
22736 * util/grub-probe.c (probe): Improve error message.
22737
3cbd2f98 227382008-04-07 Robert Millan <rmh@aybabtu.com>
22739
22740 * util/biosdisk.c (read_device_map): Skip devices that don't exist
22741 (this prevents the presence of a bogus entry from ruining the whole
22742 thing).
22743
87a297bf 227442008-04-06 Pavel Roskin <proski@gnu.org>
22745
36747a62 22746 * util/biosdisk.c: Include grub/util/biosdisk.h.
22747 * util/grub-fstest.c (execute_command): Make static.
22748 * util/grub-mkdevicemap.c (check_device): Likewise.
22749 * util/i386/pc/misc.c: Include grub/machine/init.h.
22750 * util/powerpc/ieee1275/misc.c: Likewise.
22751 * util/lvm.c: Include grub/util/lvm.h.
22752 * util/misc.c: Include grub/kernel.h, grub/misc.h and
22753 grub/cache.h.
22754 * util/raid.c: Include grub/util/raid.h.
22755 (grub_util_getdiskname): Make static.
22756
87a297bf 22757 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
22758 grub_hostfs_fini(), as they are called from grub_init_all() and
22759 grub_fini_all() respectively. This fixes an infinite loop in
22760 grub-fstest due to double registration of hostfs.
22761 Reported by Christian Franke <Christian.Franke@t-online.de>
22762
f6ce7629 227632008-04-05 Pavel Roskin <proski@gnu.org>
22764
22765 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
22766 all 8 functions. Otherwise, probe function 0 only.
22767
070e49e4 227682008-04-04 Pavel Roskin <proski@gnu.org>
22769
8b088a4c 22770 * commands/lspci.c (grub_lspci_iter): Print the bus number
22771 correctly.
22772
4f657021 22773 * commands/lspci.c (grub_pci_classes): Fix typos.
22774 (grub_lspci_iter): Don't print func twice. Print vendor ID
22775 before device ID, as it's normally done.
22776
070e49e4 22777 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22778 Fix signedness warnings.
22779 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
22780 Likewise.
22781 * util/ieee1275/get_disk_name.c: Include config.h so that
22782 _GNU_SOURCE is defined and getline() is declared. Mark an
22783 unused argument as such. Fix a signedness warning.
22784
ba7328dc 227852008-04-02 Pavel Roskin <proski@gnu.org>
22786
26887f22 22787 * genkernsyms.sh.in: Use more robust assignments for CC and
22788 srcdir. Quote srcdir.
22789 * gensymlist.sh.in: Likewise. Assert at the compile time that
22790 the symbol table is not empty.
22791
ba7328dc 22792 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
22793 * fs/cpio.c (grub_cpio_read): Likewise.
22794
0f582c6b 227952008-04-01 Pavel Roskin <proski@gnu.org>
22796
4b6e1995 22797 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
22798 * disk/host.c (grub_host_open): Likewise.
22799 * disk/loopback.c (grub_loopback_open): Likewise.
22800 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
22801 disk->id as in disk/host.c, not a multi-character constant.
22802
828a2768 22803 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
22804 later is obsolete, potentially dangerous and sets a bad example.
22805 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
22806 * util/misc.c (grub_util_get_image_size): Likewise.
22807
2bb4fb47 22808 * disk/loopback.c (options): Improve help for "--partitions".
22809
0f582c6b 22810 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
22811 options to align them with the short options, e.g. "echo -e".
22812
a33224e0 228132008-03-31 Bean <bean123ch@gmail.com>
22814
22815 * video/reader/png.c (grub_png_data): New member is_16bit and
22816 image_data.
22817 (grub_png_decode_image_header): Detect 16 bit png image.
22818 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
22819 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
22820 (grub_video_reader_png): Release memory occupied by image_data.
22821
22822 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
22823 4096 bytes.
22824 (grub_nfs_mount): Skip the test for sector per cluster.
22825
22826 * include/grub/ntfs.h (MAX_SPC): Removed.
22827
86cb4f54 228282008-03-31 Bean <bean123ch@gmail.com>
22829
22830 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
22831 (grub_probe_SOURCES): Add fs/afs.c.
22832 (grub_fstest_SOURCES): Likewise.
22833 (afs_mod_SOURCES): New variable.
22834 (afs_mod_CFLAGS): Likewise.
22835 (afs_mod_LDFLAGS): Likewise.
22836
22837 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
22838 (grub_emu_SOURCES): Likewise.
22839
22840 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22841
22842 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22843
22844 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22845
22846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22847
22848 * fs/afs.c: New file.
22849
17c74c21 228502008-03-30 Pavel Roskin <proski@gnu.org>
22851
4cb68e89 22852 * disk/host.c: Include grub/misc.h to fix a warning.
22853 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
22854 warnings about implicit declarations.
22855
8790bb04 22856 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
22857 variable.
22858 * include/grub/i386/loader.h: Change declaration of
22859 grub_linux_boot() to match what grub_loader_set() expects.
22860 * util/getroot.c (grub_guess_root_device): Return const char* to
22861 fix a warning.
22862 * util/grub-probe.c (probe): Fix a warning about uninitialized
22863 abstraction_name variable.
22864 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
22865 second argument as unused to fix a warning.
22866
9a3f3296 22867 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
22868 missing grub_error() call.
22869
0ecef90d 22870 * util/update-grub_lib.in: Define datarootdir, since Autoconf
22871 2.60 and newer uses it to define datadir.
22872
0bf6d401 22873 * commands/sleep.c: Fix warning about implicit declaration.
22874 * disk/memdisk.c: Likewise.
22875 * loader/aout.c: Likewise.
22876 * loader/i386/bsd_normal.c: Likewise.
22877 * util/grub-probe.c: Likewise.
22878
7cdacf97 22879 * commands/i386/cpuid.c (has_longmode): Make static.
22880 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
22881 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
22882
17c74c21 22883 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
22884 GDT. This is more robust, as %ds can change.
22885 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
22886 calling real_to_prot().
22887 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
22888
80a3e68b 228892008-03-28 Pavel Roskin <proski@gnu.org>
22890
22891 * kern/i386/pc/startup.S: Assert that uncompressed functions
22892 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
22893 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
22894 code, as they push parts of the code (error handlers) beyond
22895 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
22896 code as correctness and size.
22897
77bcd272 228982008-03-28 Pavel Roskin <proski@gnu.org>
22899
22900 * kern/i386/pc/startup.S
22901 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
22902 data block address to the real mode, keep offset minimal. This
22903 works around a bug in AWARD BIOS on old Athlon systems, which
22904 makes CD detection hang.
22905
c5dfd43b 229062008-03-26 Pavel Roskin <proski@gnu.org>
22907
22908 * normal/color.c (grub_parse_color_name_pair): Make `name' a
22909 const.
22910 * include/grub/normal.h: Add grub_parse_color_name_pair()
22911 declaration.
22912
bf962df2 229132008-03-24 Bean <bean123ch@gmail.com>
22914
22915 * disk/i386/pc/biosdisk.c (cd_start): Removed.
22916 (cd_count): Removed.
22917 (cd_drive): New variable.
22918 (grub_biosdisk_get_drive): Don't check for (cdN) device.
22919 (grub_biosdisk_call_hook): Likewise.
22920 (grub_biosdisk_iterate): Change cdrom detection method.
22921 (grub_biosdisk_open): Replace cd_start with cd_drive.
22922 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
22923 detect cdrom device.
22924
22925 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
22926 Removed.
22927 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
22928 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
22929 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
22930 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
22931 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
22932 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
22933 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
22934 (grub_biosdisk_cdrp): New structure.
22935 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
22936
22937 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
22938
22939 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
22940 device.
22941
22942 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
22943 New function.
22944
68e7fc7a 229452008-03-20 Robert Millan <rmh@aybabtu.com>
22946
22947 Remove 2 TiB limit in ata.mod.
22948 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
22949 (grub_ata_dumpinfo): Print sector count with 0x%llx.
22950 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
22951 grub_uint64_t instead of grub_uint32_t.
22952
38ad2cf5 229532008-03-05 Bean <bean123ch@gmail.com>
22954
22955 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
22956 (grub_multiboot): Set boot device.
22957
22958 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
22959
2b89344e 229602008-03-02 Bean <bean123ch@gmail.com>
22961
22962 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
22963 symlink_buffer.
22964
87a95d1f 229652008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
22966
22967 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
22968 texinfo.tex.
22969
22970 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
22971 modified.
22972
22973 * docs/fdl.texi: New file.
f19dbdb7 22974
87a95d1f 22975 * docs/mdate-sh: New file. Copied from gnulib.
22976 * docs/texinfo.tex: Likewise.
22977
22978 * config.guess: Updated from gnulib.
22979 * install-sh: Likewise.
22980
7dc15d8e 229812008-02-28 Robert Millan <rmh@aybabtu.com>
22982
22983 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
22984 (aout_mod_SOURCES): New variable.
22985 (aout_mod_CFLAGS): Likewise.
22986 (aout_mod_LDFLAGS): Likewise.
22987
22988 * conf/i386-ieee1275.rmk: Likewise.
22989
b00ab696 229902008-02-28 Robert Millan <rmh@aybabtu.com>
22991
22992 * util/update-grub.in: Reorganise terminal validity check. Accept
22993 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
22994 Based on suggestion by Franklin PIAT.
22995
79ca2d78 229962008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
22997
22998 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
22999 function.
23000 * util/getroot.c (grub_util_check_block_device): New function that
23001 returns the given argument if it is a block device and returns NULL else.
23002 * util/grub-probe.c (argument_is_device): New variable.
23003 (probe): Promote device_name from a variable to an argument. Receive
23004 device_name from grub_util_check_block_device() if path is NULL and from
23005 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23006 (options): Introduce new parameter '-d, --device'.
79ca2d78 23007 (main): Add description of the new parameter to the help screen.
23008 Rename path variable to argument. Set argument_is_device if the '-d'
23009 option is given. Pass argument to probe() depending on
23010 argument_is_device.
23011
0d16e571 230122008-02-24 Bean <bean123ch@gmail.com>
23013
23014 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
23015 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
23016 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
23017 (GRUB_ISO9660_VOLDESC_PART): Likewise.
23018 (GRUB_ISO9660_VOLDESC_END): Likewise.
23019 (grub_iso9660_primary_voldesc): New member escape.
23020 (grub_iso9660_data): New member joliet.
23021 (grub_iso9660_convert_string): New function.
23022 (grub_iso9660_mount): Detect joliet extension.
23023 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
23024 (grub_iso9660_iso9660_label): Likewise.
23025
23026 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
23027 (grub_setup_SOURCES): Add fs/udf.c.
23028 (grub_fstest_SOURCES): Likewise.
23029 (udf_mod_SOURCES): New variable.
23030 (udf_mod_CFLAGS): Likewise.
23031 (udf_mod_LDFLAGS): Likewise.
23032
23033 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
23034 (grub_emu_SOURCES): Likewise.
23035
23036 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23037
23038 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23039
23040 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23041
23042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23043
23044 * fs/udf.c: New file.
23045
8a594a17 230462008-02-24 Robert Millan <rmh@aybabtu.com>
23047
23048 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23049 (normal/lexer.c_DEPENDENCIES): New variables.
23050 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23051 (normal/lexer.c_DEPENDENCIES): Likewise.
23052 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23053 (normal/lexer.c_DEPENDENCIES): Likewise.
23054 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23055 (normal/lexer.c_DEPENDENCIES): Likewise.
23056 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23057 (normal/lexer.c_DEPENDENCIES): Likewise.
23058 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23059 (normal/lexer.c_DEPENDENCIES): Likewise.
23060
2dc33c03 230612008-02-23 Robert Millan <rmh@aybabtu.com>
23062
23063 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23064 since they were intended to be in hex. This didn't break previously
23065 because of a bug in gpt_partition_map_iterate() (see below).
23066
23067 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23068 when checking the validity of GPT header.
23069 Remove `partno', since it always provides the same information as `i'.
23070
f6f4cfb0 230712008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23072
23073 * include/grub/efi/time.h: Fix a wrong comment.
23074
79ff665f 230752008-02-19 Pavel Roskin <proski@gnu.org>
23076
23077 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23078 message.
23079
d38e24c2 230802008-02-19 Bean <bean123ch@gmail.com>
23081
23082 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23083 (aout_mod_SOURCES): New variable.
23084 (aout_mod_CFLAGS): Likewise.
23085 (aout_mod_LDFLAGS): Likewise.
23086 (_bsd_mod_SOURCES): New variable.
23087 (_bsd_mod_CFLAGS): Likewise.
23088 (_bsd_mod_LDFLAGS): Likewise.
23089 (bsd_mod_SOURCES): New variable.
23090 (bsd_mod_CFLAGS): Likewise.
23091 (bsd_mod_LDFLAGS): Likewise.
23092
23093 * include/grub/aout.h: New file.
23094
23095 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23096
23097 * include/grub/i386/bsd.h: New file.
23098
23099 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23100 to make it public.
23101
23102 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23103 function is called, so that it's possible to change it inside the hook.
23104 (grub_elf64_load): Likewise.
23105 (grub_elf_file): Don't close the file if elf header is not found.
23106 (grub_elf_close): Close the file if grub_elf_file fails (The new
23107 grub_elf_file won't close it).
23108 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23109 (grub_elf64_size): Likewise.
23110
23111 * kern/i386/loader.S (grub_unix_real_boot): New function.
23112
23113 * loader/aout.c: New file.
23114
23115 * loader/i386/bsd.c: New file.
23116
23117 * loader/i386/bsd_normal.c: New file.
23118
23119 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23120
23121 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23122 can test other formats.
d38e24c2 23123
b93bdb0f 231242008-02-19 Robert Millan <rmh@aybabtu.com>
23125
23126 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23127 (grub_gpt_partition_type_empty): Redefine with macro from
23128 `<grub/gpt_partition.h>'.
23129 (gpt_partition_map_iterate): Adjust partition type comparison.
23130
23131 Export `entry' as partmap-specific `part.data' struct.
23132 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23133
23134 * include/grub/gpt_partition.h (grub_gpt_header)
23135 (grub_gpt_partentry): ... to here (new file).
23136
23137 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23138
23139 (grub_gpt_partition_type_bios_boot): New const variable, defined
23140 with macro from `<grub/gpt_partition.h>'.
23141
23142 (setup): Replace `first_start' with `embed_region', which keeps
23143 track of the embed region (and is partmap-agnostic).
23144
23145 Replace find_first_partition_start() with find_usable_region(),
23146 which finds a usable region for embedding using partmap-specific
23147 knowledge (supports PC/MSDOS and GPT).
23148
23149 Fix all assumptions that the embed region start at sector 1, using
23150 `embed_region.start' from now on. Similarly, use `embed_region.end'
23151 rather than `first_start' to calculate available size.
23152
23153 In grub_util_info() message, replace "into after the MBR" with an
23154 indication of the specific sector our embed region starts at.
23155
66cb40f6 231562008-02-19 Robert Millan <rmh@aybabtu.com>
23157
23158 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23159 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23160 `commands/reboot.c'.
23161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23162 (halt_mod_SOURCES): Likewise.
23163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23164 (halt_mod_SOURCES): Likewise.
23165
b7202015 231662008-02-17 Christian Franke <franke@computer.org>
23167
23168 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23169
32b0fc49 231702008-02-17 Robert Millan <rmh@aybabtu.com>
23171
23172 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23173 set `first_start' to 0 for non-PC/MSDOS partition maps.
23174
aca63502 231752008-02-16 Robert Millan <rmh@aybabtu.com>
23176
23177 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23178 do not assume partition map is PC/MSDOS before performing checks that
23179 are specific to that layout.
23180
0de8be86 231812008-02-13 Robert Millan <rmh@aybabtu.com>
23182
23183 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23184 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23185 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23186
c3db8364 231872008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23188
23189 * configure.ac: Only a cosmetic change on the handling of
23190 -fno-stack-protector.
23191
f714229e 231922008-02-12 Alexandre Boeglin <alex@boeglin.org>
23193
c3db8364 23194 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23195 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23196 reboot.c.
f714229e 23197 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23198 (halt_mod_SOURCES): New variable.
23199 (halt_mod_CFLAGS): Likewise.
23200 (halt_mod_LDFLAGS): Likewise.
23201 (reboot_mod_SOURCES): Likewise.
23202 (reboot_mod_CFLAGS): Likewise.
23203 (reboot_mod_LDFLAGS): Likewise.
23204
c3db8364 23205 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23206 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23207 reboot.c.
f714229e 23208 (halt_mod_SOURCES): Likewise.
23209 (reboot_mod_SOURCES): Likewise.
23210
c3db8364 23211 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23212 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 23213 (reboot_mod_SOURCES): Likewise.
23214
23215 * commands/i386/pc/reboot.c: merge this file ...
23216
23217 * commands/ieee1275/reboot.c: ... and this file ...
23218
23219 * commands/reboot.c: ... to this file.
c3db8364 23220 Add some precompiler directive to include the correct header for
23221 each machine.
f714229e 23222
23223 * commands/ieee1275/halt.c: move this file ...
23224
23225 * commands/halt.c: ... to here.
c3db8364 23226 Add some precompiler directive to include the correct header for
23227 each machine.
f714229e 23228
23229 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23230 (grub_halt): Likewise.
23231
23232 * kern/efi/efi.c (grub_reboot): New function.
23233 (grub_halt): Likewise.
23234
c74493e0 232352008-02-12 Robert Millan <rmh@aybabtu.com>
23236
23237 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23238 /dev (like it is done for /dev/mapper). This doesn't provide support
23239 for EVMS, but at least it is now easy to identify the problem when it
23240 arises.
23241
d0db4b04 232422008-02-11 Robert Millan <rmh@aybabtu.com>
23243
23244 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23245 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23246 comparing it with -1, not 0.
23247
bf748642 232482008-02-10 Robert Millan <rmh@aybabtu.com>
23249
23250 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23251 `disk/lvm.c'.
23252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23253 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23254
23255 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23256 `disk/lvm.c' to the end of the list.
23257 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23258 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23259
b5db202a 232602008-02-10 Robert Millan <rmh@aybabtu.com>
23261
23262 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23263 grub_print_error() instead. This will let user know why we're entering
23264 rescue mode.
23265 Based on suggestions from Sam Morris.
23266
83abee31 232672008-02-10 Alexandre Boeglin <alex@boeglin.org>
23268
23269 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23270 on remaining N args, instead of "--" arg N times.
23271
78d5a08b 232722008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23273
23274 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23275 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23276 pattern for unknown glyphs.
23277
68807e5f 232782008-02-09 Robert Millan <rmh@aybabtu.com>
23279
23280 * configure.ac: Probe for `help2man'.
23281 * Makefile.in (builddir): New variable.
23282 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23283 or otherwise add a few flags/options to it.
23284 (install-local): For every executable utility or script that is
23285 installed, invoke $(HELP2MAN) to install a manpage based on --help
23286 output.
23287
23288 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23289 that it doesn't prevent --help from working in build tree.
23290
23291 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23292 with `bug-grub@gnu.org'.
23293 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23294 * util/update-grub.in (usage): New function.
23295 Implement proper argument check, with support for --help and --version
23296 (as well as existing -y).
23297
232982008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 23299
23300 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23301 avoid overwriting previous output.
23302 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23303
c1962162 233042008-02-09 Robert Millan <rmh@aybabtu.com>
23305
23306 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23307 drawing the menu.
23308
3dac2e3f 233092008-02-09 Robert Millan <rmh@aybabtu.com>
23310
23311 * commands/sleep.c: New file.
23312 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23313 (sleep_mod_SOURCES): New variable.
23314 (sleep_mod_CFLAGS): Likewise.
23315 (sleep_mod_LDFLAGS): Likewise.
23316
7a634e08 233172008-02-09 Robert Millan <rmh@aybabtu.com>
23318
23319 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23320 situations in which we can deduce the RAID size and the superblock
23321 doesn't match it.
23322
b92f0c18 233232008-02-09 Robert Millan <rmh@aybabtu.com>
23324
23325 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23326 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23327 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23328
23329 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23330 and return a grub_diskmemberlist_t composed of physical array members.
23331 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23332
23333 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23334 prototype.
23335 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23336 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23337 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23338
23339 * util/grub-probe.c (probe): Move partmap probing code from here ...
23340 (probe_partmap): ... to here.
23341 (probe): Use probe_partmap() once for the disk we're probing, and
23342 additionally, when such disk contains a memberlist() struct member,
23343 once for each disk that is contained in the structure returned by
23344 memberlist().
23345
91a4bf68 233462008-02-09 Robert Millan <rmh@aybabtu.com>
23347
23348 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23349 environment variable to 'all' in order to obtain debug output from
23350 non-util/ code.
23351 * util/i386/pc/grub-setup.c (main): Likewise.
23352
a96f9caa 233532008-02-08 Robert Millan <rmh@aybabtu.com>
23354
23355 * disk/raid.c (grub_raid_scan_device): Check for
23356 `array->device[sb.this_disk.number]' rather than for
23357 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23358 guaranteed to be accessible.
a96f9caa 23359
b37a9222 233602008-02-08 Robert Millan <rmh@aybabtu.com>
23361
23362 * disk/raid.c: Update copyright.
23363 * fs/cpio.c: Likewise.
23364 * include/grub/raid.h: Likewise.
23365 * loader/i386/pc/multiboot.c: Likewise.
23366 * util/hostfs.c: Likewise.
23367
5626aee1 233682008-02-08 Robert Millan <rmh@aybabtu.com>
23369
23370 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23371 to a grub_disk_t array.
23372 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23373 `device[x]'.
23374 (grub_raid_scan_device): Replace `device[x].name' accesses with
23375 `device[x]->name'. Simplify initialization of `array->device[x]'.
23376
554f0187 233772008-02-08 Robert Millan <rmh@aybabtu.com>
23378
23379 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23380 grub_dprintf() calls.
23381 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23382 error message.
23383
1ec8425d 233842008-02-07 Christian Franke <franke@computer.org>
23385
23386 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23387 instead of fseek and ftell to support large files.
23388 (grub_hostfs_read): Likewise.
23389
f2156fda 233902008-02-07 Robert Millan <rmh@aybabtu.com>
23391
23392 Patch from Jeroen Dekkers.
23393 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 23394 failure, since successfully reading all array members might not be
f2156fda 23395 required.
23396
9216e0e7 233972008-02-06 Robert Millan <rmh@aybabtu.com>
23398
23399 * util/grub-probe.c (probe): Simplify partmap probing (with the
23400 assumption that the first word up to the underscore equals to
23401 the module name).
23402
b0dfd29a 234032008-02-06 Christian Franke <franke@computer.org>
23404
23405 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23406 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23407 last block of a cpio or tar stream.
23408 Check for "TRAILER!!!" instead of any empty data
23409 block to detect last block of a cpio stream.
23410 (grub_cpio_dir): Fix constness of variable np.
23411 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23412 cpio or tar trailer is detected. This fixes a crash
23413 on open of a non existing file.
23414
c32865bf 234152008-02-05 Bean <bean123ch@gmail.com>
23416
23417 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23418 address of entry.
23419 (grub_multiboot_load_elf64): Likewise.
23420 (grub_multiboot): Initialize mbi structure.
23421
23422 * util/grub-fstest.c: Don't include unused header file script.h.
23423
fe6b695a 23424 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 23425 of file.
23426 (grub_fstest_SOURCES): Likewise.
23427
409480b7 234282008-02-05 Robert Millan <rmh@aybabtu.com>
23429
23430 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23431 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23432 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23433 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23434
23435 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23436 (translation_table): Replace hardcoded values with macros
23437 provided by `<grub/term.h>'.
23438
23439 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23440 (keyboard_map): Correct/add a few values, with macros provided
23441 by `<grub/term.h>'.
23442 (keyboard_map_shift): Zero values that don't differ from their
23443 `keyboard_map' equivalents.
23444 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23445 Discard the second scan code that is always sent by Caps lock.
23446 Only use `keyboard_map_shift' when it provides a non-zero value,
23447 otherwise fallback to `keyboard_map'.
23448
99fadbaa 234492008-02-04 Bean <bean123ch@gmail.com>
23450
23451 * Makefile.in (enable_grub_fstest): New variable.
23452
23453 * conf/common.rmk (grub_fstest_init.lst): New rule.
23454 (grub_fstest_init.h): Likewise.
23455 (grub_fstest_init.c): Likewise.
23456 (util/grub-fstest.c_DEPENDENCIES): New variable.
23457 (grub_fstest_SOURCES): Likewise.
23458
23459 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23460
23461 * util/grub-fstest.c: New file.
23462
bf567c50 234632008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23464
23465 Make grub-setup handle a separate root device.
f19dbdb7 23466
bf567c50 23467 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23468 so that the root device can be compared with the destination
23469 device.
23470 When embedding the core image, if the root and destination devices
23471 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23472 0xFF.
23473 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 23474
9be6b98b 234752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23476
23477 Add support for having a grub directory in a different drive. This
23478 is still only the data handling part.
f19dbdb7 23479
9be6b98b 23480 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23481 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23482 (grub_root_drive): New variable.
23483
23484 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23485 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23486 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23487 as it was.
23488
23489 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23490
23491 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23492 macro.
23493 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23494
23495 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23496 is bogus, because PXE booting does not specify any drive
23497 correctly.
23498
23499 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23500 am not sure if this is really correct.
23501
23502 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23503 is always identical to the boot drive when booting from a CD.
23504
23505 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23506 longer.
23507 (root_drive): New variable.
23508 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23509 (setup_sectors): Push %dx right after popping it, because %dh will
23510 be modified later.
23511 (copy_buffer): Restore %dx.
23512
e0ca0677 235132008-02-03 Robert Millan <rmh@aybabtu.com>
23514
23515 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23516 use `cdboot.img' for cdrom images.
23517
3b3f6629 235182008-02-03 Robert Millan <rmh@aybabtu.com>
23519
23520 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23521 only setup gfxterm when `font' command has succeeded.
23522
d42b3672 235232008-02-03 Robert Millan <rmh@aybabtu.com>
23524
23525 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23526 (grub_rescue_cmd_multiboot_loader)
23527 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23528
fa370ea6 235292008-02-03 Pavel Roskin <proski@gnu.org>
23530
e0c5dacb 23531 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 23532 %edx and %esi from stack only after grub_gate_a20() is called.
23533 grub_gate_a20() clobbers %edx.
23534
f2a76e1d 235352008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23536
23537 * configure.ac (AC_INIT): Bumped to 1.96.
23538
23539 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
23540 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
23541 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
23542 video/readers/png.c.
23543
90fd32d1 235442008-02-03 Bean <bean123ch@gmail.com>
9be665dd 23545
23546 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
23547 (cdboot_img_SOURCES): New variable.
23548 (cdboot_img_ASFLAGS): New variable.
23549 (cdboot_img_LDFLAGS): New variable.
23550
23551 * boot/i386/pc/cdboot.S: New file.
23552
23553 * disk/i386/pc/biosdisk.c (cd_start): New variable.
23554 (cd_count): Likewise.
23555 (grub_biosdisk_get_drive): Add support for cd device.
23556 (grub_biosdisk_call_hook): Likewise.
23557 (grub_biosdisk_iterate): Likewise.
23558 (grub_biosdisk_open): Likewise.
23559 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
23560 (grub_biosdisk_rw): Support reading from cd device.
23561 (GRUB_MOD_INIT): Iterate cd devices.
23562
23563 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
23564 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
23565 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
23566
23567 * kern/i386/pc/init.c (make_install_device): Check for cd device.
23568
4020aa53 235692008-02-02 Robert Millan <rmh@aybabtu.com>
23570
23571 * commands/read.c: New file.
23572 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
23573 (read_mod_SOURCES): New variable.
23574 (read_mod_CFLAGS): Likewise.
23575 (read_mod_LDFLAGS): Likewise.
23576
e03a1132 235772008-02-02 Robert Millan <rmh@aybabtu.com>
23578
23579 * normal/main.c (grub_normal_execute): Check for `menu->size' when
23580 determining whether menu has to be displayed.
23581
58c69220 235822008-02-02 Marco Gerards <marco@gnu.org>
23583
23584 * bus/pci.c: New file.
23585
23586 * include/grub/pci.h: Likewise.
23587
23588 * include/grub/i386/pc/pci.h: Likewise.
23589
23590 * commands/lspci.c: Likewise.
23591
23592 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
23593 `lspci.mod'.
23594 (pci_mod_SOURCES): New variable.
23595 (pci_mod_CFLAGS): Likewise.
23596 (pci_mod_LDFLAGS): Likewise.
23597 (lspci_mod_SOURCES): Likewise.
23598 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 23599 (lspci_mod_LDFLAGS): Likewise.
58c69220 23600
c004e1b4 236012008-02-02 Bean <bean123ch@gmail.com>
23602
23603 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
23604 (grub_ufs_get_file_block): Fix indirect block calculation problem.
23605
23606 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
23607 (grub_xfs_btree_node): New structure.
23608 (grub_xfs_btree_root): New structure.
23609 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
23610 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
23611 (GRUB_XFS_EXTENT_BLOCK): Likewise.
23612 (GRUB_XFS_EXTENT_SIZE): Likewise.
23613 (grub_xfs_read_block): Support btree format type.
23614 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
23615 Use directory block as basic unit.
23616
23617 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
23618
23619 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
23620 __attribute__ ((__regparm__ (1))).
23621
f95562bf 236222008-02-01 Robert Millan <rmh@aybabtu.com>
23623
23624 Correct a mistake in previous commit.
23625
23626 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
23627 top.
23628 (normal/command.c_DEPENDENCIES): New variable.
23629
7d31f41f 236302008-02-01 Robert Millan <rmh@aybabtu.com>
23631
23632 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
23633 top.
23634 (normal/command.c_DEPENDENCIES): New variable.
23635 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
23636 * conf/i386-ieee1275.rmk: Likewise.
23637 * conf/i386-linuxbios.rmk: Likewise.
23638 * conf/i386-pc.rmk: Likewise.
23639 * conf/sparc64-ieee1275.rmk: Likewise.
23640 * conf/powerpc-ieee1275.rmk: Likewise.
23641 (grub_emu_SOURCES): Add `fs/fshelp.c'.
23642
23643 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
23644
60b6be74 236452008-02-01 Robert Millan <rmh@aybabtu.com>
23646
23647 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
23648 call at beginning of function.
23649
078522ab 236502008-01-31 Pavel Roskin <proski@gnu.org>
23651
23652 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 23653 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
23654 (grub_mkrescue_SOURCES): Likewise.
078522ab 23655 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
23656
ccaa8a5f 236572008-01-30 Robert Millan <rmh@aybabtu.com>
23658
23659 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
23660 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
23661 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
23662 (grub_probe_SOURCES): ... to here.
23663
23664 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
23665 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
23666 * conf/i386-ieee1275.rmk: Likewise.
23667 * conf/i386-linuxbios.rmk: Likewise.
23668 * conf/powerpc-ieee1275.rmk: Likewise.
23669
ae5a9cd7 236702008-01-30 Tristan Gingold <gingold@free.fr>
23671
23672 * kern/rescue.c: Silently accept empty lines.
23673
70bc2ef2 236742008-01-29 Bean <bean123ch@gmail.com>
23675
23676 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
23677 (real_code_2): Code cleanup and change comment style.
23678 (move_memory): Avoid using 32-bit address mode.
23679
6a4d50ea 236802008-01-29 Bean <bean123ch@gmail.com>
23681
23682 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
23683 (png_mod_SOURCES): New variable.
23684 (png_mod_CFLAGS): Likewise.
23685 (png_mod_LDFLAGS): Likewise.
23686
23687 * video/readers/png.c: New file.
23688
11cc30ac 236892008-01-28 Robert Millan <rmh@aybabtu.com>
23690
23691 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
23692 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
23693 `ifndef GRUB_MOD_GAP' hack.
23694 * util/elf/grub-mkimage.c (add_segments): Likewise.
23695
3abc589f 236962008-01-27 Robert Millan <rmh@aybabtu.com>
23697
23698 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
23699 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 23700 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 23701
e1907778 237022008-01-27 Robert Millan <rmh@aybabtu.com>
23703
23704 Get grub-emu to build again (including parallel builds).
23705
23706 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
23707 Split into ...
23708 (util/grub-emu.c_DEPENDENCIES): ... this, ...
23709 (normal/execute.c_DEPENDENCIES): ... this, ...
23710 (grub-emu_DEPENDENCIES): ... and this.
23711
23712 * conf/i386-efi.rmk: Likewise.
23713 * conf/i386-linuxbios.rmk: Likewise.
23714 * conf/i386-ieee1275.rmk: Likewise.
23715 * conf/powerpc-ieee1275.rmk: Likewise.
23716 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
23717
2216b101 237182008-01-27 Robert Millan <rmh@aybabtu.com>
23719
23720 * NEWS: Add a few items.
23721
f75172d9 237222008-01-27 Robert Millan <rmh@aybabtu.com>
23723
23724 Fix parallel builds with grub-emu. Based on earlier commit for
23725 grub-probe and grub-setup.
23726
23727 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23728 (util/grub-emu.c_DEPENDENCIES): ... this.
23729 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23730 (util/grub-emu.c_DEPENDENCIES): ... this.
23731 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23732 (util/grub-emu.c_DEPENDENCIES): ... this.
23733 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23734 (util/grub-emu.c_DEPENDENCIES): ... this.
23735 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23736 (util/grub-emu.c_DEPENDENCIES): ... this.
23737
3f51de77 237382008-01-27 Pavel Roskin <proski@gnu.org>
23739
23740 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
23741 to create a gap between _end and the modules added to the image
23742 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
23743 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
23744 * util/elf/grub-mkimage.c (add_segments): Likewise.
23745
2033f53e 237462008-01-26 Pavel Roskin <proski@gnu.org>
23747
23748 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
23749 just return an error.
23750
22da1f6f 237512008-01-26 Bean <bean123ch@gmail.com>
23752
23753 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
23754 (grub_reiserfs_get_item): Save offset of the next item.
23755 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
23756
2a9525e6 237572008-01-25 Robert Millan <rmh@aybabtu.com>
23758
23759 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
23760 make all filesystem sources appear together (possibly fixing omissions
23761 while at it).
23762 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23763 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23764 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23766
23767 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
23768 add `kern/file.c'.
23769 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
23770 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23771 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
23772 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23773
23774 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
23775 (probe): Add a sanity check to make sure of our ability to read
23776 requested files when probing for filesystem type.
23777
23778 * genmk.rb: Update copyright year (2007).
23779
23780 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
23781 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
23782 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
23783 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
23784 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
23785 : Remove function prototypes.
23786
b95f71b5 237872008-01-25 Robert Millan <rmh@aybabtu.com>
23788
23789 Revert my previous commits (based on wrong assumption of how grub_errno
23790 works).
23791
fe6b695a 23792 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 23793 * kern/file.c (grub_file_open): Likewise.
23794
d08bbb49 237952008-01-24 Pavel Roskin <proski@gnu.org>
23796
23797 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
23798 that hang if GRUB tries to setup colors.
23799 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
23800 colors for firmwares that don't support it.
23801 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
23802 Recognize Open Hack'Ware, set flags to work around its
23803 limitations.
23804
605e36ed 238052008-01-24 Robert Millan <rmh@aybabtu.com>
23806
23807 * kern/file.c (grub_file_open): Do not account previous failures of
23808 unrelated functions when grub_errno is checked for.
23809 Reported by Oleg Strikov.
23810
bac332a1 238112008-01-24 Bean <bean123ch@gmail.com>
23812
23813 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
23814 (grub_ufs_sblock): New member volume name.
23815 (grub_ufs_find_file): Fix string copy bug.
23816 (grub_ufs_label): Implement this function properly.
23817
23818 * fs/hfs.c (grub_hfs_cnid_type): New enum.
23819 (grub_hfs_iterate_records): Use the correct file number for extents
23820 and catalog file. Fix problem in next index calculation.
23821 (grub_hfs_find_node): Replace recursive function call with loop.
23822 (grub_hfs_iterate_dir): Replace recursive function call with loop.
23823
15c80c09 238242008-01-23 Robert Millan <rmh@aybabtu.com>
23825
23826 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
23827 `<grub/symbol.h>' and `<grub/multiboot.h>'.
23828 (grub_multiboot2_real_boot): New function prototype.
23829
23830 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
23831 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
23832
23833 * kern/i386/ieee1275/init.c (grub_os_area_addr)
23834 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
23835
305338fd 238362008-01-23 Robert Millan <rmh@aybabtu.com>
23837
23838 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
23839 #ifdef'ed out grub_printf().
23840
3ea52685 238412008-01-23 Robert Millan <rmh@aybabtu.com>
23842
23843 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
23844 grub_dprintf calls, since they make "debug=all" mode unusable.
23845 (grub_console_checkkey): Likewise.
23846
5882ae4b 238472008-01-23 Robert Millan <rmh@aybabtu.com>
23848
23849 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23850 `term/i386/pc/at_keyboard.c'.
23851 (pkglib_MODULES): Add `serial.mod'.
23852 (serial_mod_SOURCES): New variable.
23853 (serial_mod_CFLAGS): Likewise.
23854 (serial_mod_LDFLAGS): Likewise.
23855
23856 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
23857 `<grub/powerpc/ieee1275/console.h>'.
23858 (grub_keyboard_controller_init): New function prototype.
23859 (grub_console_checkkey): Likewise.
23860 (grub_console_getkey): Likewise.
23861
23862 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
23863 keyboard on i386.
23864
23865 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
23866 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
23867
06ab5303 238682008-01-23 Robert Millan <rmh@aybabtu.com>
23869
23870 * kern/i386/pc/init.c (make_install_device): When memdisk image is
23871 present, "(memdisk)/boot/grub" becomes the default prefix.
23872
23873 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
23874 a memdisk tarball with all the modules. Add --overlay=DIR option that
23875 allows users to overlay additional files into the image.
23876
dbb475a4 238772008-01-23 Robert Millan <rmh@aybabtu.com>
23878
23879 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
23880 and `machine/memory.h'.
23881 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
23882 (_multiboot_mod_SOURCES): New variable.
23883 (_multiboot_mod_CFLAGS): Likewise.
23884 (_multiboot_mod_LDFLAGS): Likewise.
23885 (multiboot_mod_SOURCES): Likewise.
23886 (multiboot_mod_CFLAGS): Likewise.
23887 (multiboot_mod_LDFLAGS): Likewise.
23888
23889 * include/grub/i386/ieee1275/loader.h: New file.
23890
23891 * include/grub/i386/ieee1275/machine.h: Likewise.
23892
23893 * include/grub/i386/ieee1275/memory.h: Likewise.
23894
23895 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
23896 variable declaration.
23897 (grub_os_area_size): Likewise.
23898
23899 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
23900 (grub_lower_mem, grub_upper_mem): New variables.
23901 (grub_stop_floppy): New function (just to make
23902 grub_multiboot2_real_boot() happy).
23903
23904 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
23905 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
23906 (grub_stop): New function.
23907 Include `"../realmode.S"' and `"../loader.S"'.
23908
23909 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
23910 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
23911
23912 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
23913 rely on grub_multiboot2_real_boot() for final boot.
23914
25638629 239152008-01-22 Robert Millan <rmh@aybabtu.com>
23916
23917 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
23918 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
23919 device that doesn't look like an SD card.
23920 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23921 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
23922 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
23923 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
23924 found.
23925
9dad816d 239262008-01-22 Robert Millan <rmh@aybabtu.com>
23927
23928 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
23929 avoid claiming over our own code.
23930
34842f2d 239312008-01-22 Bean <bean123ch@gmail.com>
23932
23933 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
23934 (jpeg_mod_SOURCES): New variable.
23935 (jpeg_mod_CFLAGS): Likewise.
23936 (jpeg_mod_LDFLAGS): Likewise.
23937
23938 * video/readers/jpeg.c : New file.
23939
44023a28 239402008-01-22 Bean <bean123ch@gmail.com>
23941
23942 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
23943 there are no more items.
23944
bc2d8ac6 239452008-01-21 Robert Millan <rmh@aybabtu.com>
23946
23947 * kern/mm.c (grub_mm_init_region): Improve debug message.
23948
261bd4bc 239492008-01-21 Robert Millan <rmh@aybabtu.com>
23950
23951 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
23952 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
23953 address.
23954 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
23955 a C macro.
23956 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
23957 Indicates start of upper memory.
23958 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
23959 (generate_image): Abort when image size is big enough to corrupt
23960 upper memory.
23961
23962 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
23963 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
23964 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23965 instead of hardcoding 0xA0000.
23966 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
23967 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23968 instead of hardcoding 0xA0000.
23969
f970b55e 239702008-01-21 Robert Millan <rmh@aybabtu.com>
23971
23972 * disk/memdisk.c (memdisk_size): New variable.
23973 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
23974 `memdisk_size'.
23975 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
23976 image to dynamic memory.
23977 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
23978 `memdisk_size'. Free memdisk block.
23979
1a8b0526 239802008-01-21 Robert Millan <rmh@aybabtu.com>
23981
23982 Fix detection of very small filesystems (like tar).
23983
23984 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
23985 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
23986 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
23987 a problem with this disk).
23988
6e9b4aab 239892008-01-21 Robert Millan <rmh@aybabtu.com>
23990
23991 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
23992 on grub_biosdisk_rw_standard() error.
23993
0d8837b2 239942008-01-21 Robert Millan <rmh@aybabtu.com>
23995
23996 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
23997 recent changes.
23998 * kern/elf.c: Likewise.
23999 * kern/ieee1275/ieee1275.c: Likewise.
24000 * kern/powerpc/ieee1275/openfw.c: Likewise.
24001 * term/ieee1275/ofconsole.c: Likewise.
24002
ffd36e34 240032008-01-21 Robert Millan <rmh@aybabtu.com>
24004
24005 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24006
3f0093d0 24007 * include/grub/kernel.h (grub_arch_memdisk_addr)
24008 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24009
3f0093d0 24010 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24011 (grub_arch_memdisk_size): ... to here.
ffd36e34 24012
6c391b21 240132008-01-21 Robert Millan <rmh@aybabtu.com>
24014
24015 Mostly based on bugfix from Bean.
24016
24017 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
24018 attribute with hook() parameter.
24019 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
24020 declaration.
24021 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
24022 attribute with hook() parameter.
24023 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
24024 declaration.
24025
55a581dc 240262008-01-21 Robert Millan <rmh@aybabtu.com>
24027
24028 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
24029 (pkglib_MODULES): Add `memdisk.mod'.
24030 (memdisk_mod_SOURCES): New variable.
24031 (memdisk_mod_CFLAGS): Likewise.
24032 (memdisk_mod_LDFLAGS): Likewise.
24033
24034 * disk/memdisk.c: New file.
24035
24036 * include/grub/disk.h (grub_disk_dev_id): Add
24037 `GRUB_DISK_DEVICE_MEMDISK_ID'.
24038
24039 * include/grub/i386/pc/kernel.h
24040 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
24041 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
24042 (grub_kernel_image_size): New variable declaration.
24043 (grub_total_module_size): Likewise.
24044 (grub_memdisk_image_size): Likewise.
24045
24046 * include/grub/i386/pc/memory.h
24047 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24048
24049 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24050 (grub_arch_memdisk_addr): New variable declaration.
24051 (grub_arch_memdisk_size): Likewise.
24052
24053 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24054 (grub_arch_memdisk_size): Likewise.
24055
24056 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24057 (codestart): Replace hardcoded `0x100000' with
24058 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24059
24060 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24061 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24062 not NULL, append the contents of the file it refers to, at the end of
24063 the compressed kernel image. Initialize `grub_memdisk_image_size'
24064 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24065 (options): Add "memdisk"|'m' option.
24066 (main): Parse --memdisk|-m option, and pass user-provided path as
24067 parameter to generate_image().
24068
3d7f54c9 240692008-01-20 Robert Millan <rmh@aybabtu.com>
24070
24071 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24072 grub_dprintf() calls from here ...
24073 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24074
0bf74728 240752008-01-20 Robert Millan <rmh@aybabtu.com>
24076
24077 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24078
24079 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24080 declaration.
24081 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24082 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24083 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 24084 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 24085 property).
24086 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24087 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24088
33bf70a7 240892008-01-19 Robert Millan <rmh@aybabtu.com>
24090
fe6b695a 24091 Get rid of confusing function (superseded by
33bf70a7 24092 `grub_ieee1275_get_integer_property')
24093 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24094 prototype.
24095 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24096 function.
24097 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24098 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 24099 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 24100
e2da7d26 241012008-01-19 Robert Millan <rmh@aybabtu.com>
24102
24103 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24104 command after "shut-down", since implementations differ on which
24105 the command for halt is.
24106
59f1fd8d 241072008-01-19 Robert Millan <rmh@aybabtu.com>
24108
24109 * include/grub/i386/linuxbios/console.h: Add header protection.
24110 (grub_keyboard_controller_init): New function prototype.
24111 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24112 (KEYBOARD_COMMAND_READ): Likewise.
24113 (KEYBOARD_COMMAND_WRITE): Likewise.
24114 (KEYBOARD_SCANCODE_SET1): Likewise.
24115 (grub_keyboard_controller_write): New function.
24116 (grub_keyboard_controller_read): Likewise.
24117 (grub_keyboard_controller_init): Likewise.
24118
24119 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24120 (grub_console_init): On coreboot/LinuxBIOS, call
24121 grub_keyboard_controller_init().
24122
5f5a7c15 241232008-01-19 Robert Millan <rmh@aybabtu.com>
24124
24125 PowerPC changes provided by Pavel Roskin.
24126
24127 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24128 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24129 don't rely on cmain() doing it.
24130 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24131 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24132
1210e168 241332008-01-16 Robert Millan <rmh@aybabtu.com>
24134
24135 * include/grub/i386/linuxbios/memory.h
24136 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24137 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24138 receive `table_header' as argument. Instead, probe for it in the
24139 known memory ranges where it can be present.
24140 (grub_available_iterate): Do not pass a fixed `table_header' address
24141 to grub_linuxbios_table_iterate().
24142
3d04eab8 241432008-01-15 Robert Millan <rmh@aybabtu.com>
24144
24145 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24146 * conf/i386-ieee1275.rmk: New file.
24147 * include/grub/i386/ieee1275/console.h: Likewise.
24148 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24149 * include/grub/i386/ieee1275/kernel.h: Likewise.
24150 * include/grub/i386/ieee1275/time.h: Likewise.
24151 * kern/i386/ieee1275/init.c: Likewise.
24152 * kern/i386/ieee1275/startup.S: Likewise.
24153
d1bc1b73 241542008-01-15 Robert Millan <rmh@aybabtu.com>
24155
24156 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24157 when pointers are 32-bit (but still do set it to one when they are
24158 64-bit).
24159
66a65807 241602008-01-15 Robert Millan <rmh@aybabtu.com>
24161
24162 * include/grub/ieee1275/ieee1275.h
24163 (grub_ieee1275_get_integer_property): New function prototype.
24164
24165 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24166 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24167 grub_ieee1275_get_property() to handle endianness.
66a65807 24168
24169 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24170 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 24171 where appropriate.
66a65807 24172 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24173 (grub_map): Likewise.
24174 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24175
a83ccafd 241762008-01-15 Bean <bean123ch@gmail.com>
24177
24178 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24179 (grub_script_execute_cmdline): Reset grub_errno.
24180
24181 * normal/main.c (read_config_file): Reset grub_errno.
24182
24183 * normal/parse.y (script_init): New.
24184 (script): Move function and menuentry here.
24185 (delimiter): New.
24186 (command): Add delimiter at the end of command.
24187 (commands): Adjust to match the new command.
24188 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 24189 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 24190 (if): Use the new commands.
24191
24192 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24193
df6ecfc6 241942008-01-15 Robert Millan <rmh@aybabtu.com>
24195
24196 * normal/menu.c (run_menu): Move timeout message from here ...
24197 (print_timeout): ... to here.
24198 (run_menu): Use print_timeout() once during initial draw to print
24199 the whole message, and again in every clock tick to update only
24200 the number of seconds.
24201
87ae25eb 242022008-01-15 Robert Millan <rmh@aybabtu.com>
24203
24204 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24205 actual size of `available' from grub_ieee1275_get_property(), and
24206 restrict parsing to that bound.
24207
47bf09a4 242082008-01-15 Christian Franke <franke@computer.org>
24209
24210 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24211 (argp_program_version): Remove variable.
24212 (argp_program_bug_address): Likewise.
24213 (options): Convert from struct argp_option to struct option.
24214 (struct arguments): Remove.
24215 (parse_opt): Remove.
24216 (usage): New function.
24217 (main): Replace struct args members by simple variables.
24218 Replace argp_parse() by getopt_long().
24219 Add switch to evaluate options.
24220 Add missing "(...)" around root_dev in prefix string.
24221
c86f1469 242222008-01-14 Robert Millan <rmh@aybabtu.com>
24223
24224 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24225 for grub_ieee1275_exit(), in order to improve portability.
24226
e622c559 242272008-01-14 Robert Millan <rmh@aybabtu.com>
24228
24229 * util/grub.d/10_linux.in (prefix): Define.
24230 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24231
44cb1ec8 242322008-01-13 Pavel Roskin <proski@gnu.org>
24233
24234 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24235 grub_errno if no errors have been detected.
24236
1eb8c802 242372008-01-12 Robert Millan <rmh@aybabtu.com>
24238
24239 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24240 (grub_util_get_dev_abstraction): New function prototype.
24241
24242 * util/getroot.c: Include `<grub/util/getroot.h>'
24243 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24244 (grub_util_get_dev_abstraction): ... here (new function).
24245
24246 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24247 `PRINT_ABSTRACTION'.
24248 (probe): Probe for abstraction type when requested.
24249 (main): Understand `--target=abstraction'.
24250
24251 * util/i386/efi/grub-install.in: Add abstraction module to core
24252 image when it is found to be necessary.
24253 * util/i386/pc/grub-install.in: Likewise.
24254 * util/powerpc/ieee1275/grub-install.in: Likewise.
24255
24256 * util/update-grub_lib.in (font_path): Return system path without
24257 converting to GRUB path.
24258 * util/update-grub.in: Convert system path returned by font_path()
24259 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24260 abstraction module is needed for loading fonts (if any). Export
24261 that as `GRUB_PRELOAD_MODULES'.
24262 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24263 insmod commands).
24264
52bd3de9 242652008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24266
24267 Remove some unused code from reiserfs.
f19dbdb7 24268
52bd3de9 24269 * fs/reiserfs.c (struct grub_reiserfs_key)
24270 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24271 (struct grub_reiserfs_node_body): Removed.
24272 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24273 Likewise.
24274 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24275 Likewise.
24276 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24277 Likewise.
24278 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24279 Likewise.
24280 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24281 Likewise.
24282 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24283 Likewise.
24284 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24285 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24286 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24287
2f80039d 242882008-01-10 Robert Millan <rmh@aybabtu.com>
24289
24290 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24291 Determines if a file is garbage left by packaging systems, etc.
24292 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24293 for processing /etc/grub.d scripts.
24294 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24295 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24296 as a condition for processing Linux images.
24297
87888032 242982008-01-10 Pavel Roskin <proski@gnu.org>
24299
24300 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24301 to compile reiserfs.c on PowerPC.
24302
7e54fced 243032008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 24304
24305 * kern/device.c (grub_device_iterate): Do not abort device iteration
24306 when one of the devices cannot be opened.
24307 * kern/disk.c (grub_disk_open): Do not account previous failures of
24308 unrelated functions when grub_errno is checked for.
24309
5aa541e6 243102008-01-08 Robert Millan <rmh@aybabtu.com>
24311
24312 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24313 `! grub_linux_is_bzimage', change order of address comparison to make
24314 it more intuitive, and improve "too big zImage" error message.
24315
7076340d 243162008-01-08 Robert Millan <rmh@aybabtu.com>
24317
24318 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24319 `$(update-grub_DATA)'.
24320 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24321 targets.
24322
9ca70333 243232008-01-07 Robert Millan <rmh@aybabtu.com>
24324
24325 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24326 which instruction is modified by grub-setup during installation
24327 (since it wasn't obvious by only looking at this file).
24328
38ccf575 243292008-01-07 Robert Millan <rmh@aybabtu.com>
24330
24331 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24332 listing actual TODO items.
24333
f5db4291 243342008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24335
868967cf 24336 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24337 correctly.
24338 (grub_reiserfs_get_key_offset): Likewise.
24339 (grub_reiserfs_set_key_offset): Likewise.
24340 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24341 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24342
24343 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24344 better to remove the bitfield version completely.
f19dbdb7 24345
868967cf 243462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24347
f5db4291 24348 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24349 allocated from the heap, due to the fshelp implementation.
24350 (grub_reiserfs_dir): Free NODE, due to the same reason.
24351
492e6d9d 243522008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24353
24354 Mostly from Vincent Pelletier:
f19dbdb7 24355
492e6d9d 24356 * fs/reiserfs.c: New file.
f19dbdb7 24357
492e6d9d 24358 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24359 (reiserfs_mod_SOURCES): New variable.
24360 (reiserfs_mod_CFLAGS): Likewise.
24361 (reiserfs_mod_LDFLAGS): Likewise.
24362
24363 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24364 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24365 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24366 normal/color.c.
24367
9ce3e7c1 243682008-01-06 Robert Millan <rmh@aybabtu.com>
24369
24370 * normal/color.c: Remove `<grub/env.h>'.
24371
f3b58148 243722008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24373
24374 * include/grub/normal.h: Include <grub/env.h>.
24375
7ac3bcfa 243762008-01-05 Robert Millan <rmh@aybabtu.com>
24377
24378 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24379 usage example with `(hd0,1)'.
fb358190 24380 Reported by Samuel Thibault.
7ac3bcfa 24381
c8ee99d7 243822008-01-05 Robert Millan <rmh@aybabtu.com>
24383
24384 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24385 (grub_linux_boot_zimage): Rename to ...
24386 (grub_linux_boot): ... this.
24387 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24388 (grub_linux_boot_zimage): Conditionalize zImage copy.
24389
24390 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24391 (grub_linux_boot_bzimage): Remove prototype.
24392 (grub_linux_boot_zimage): Rename to ...
24393 (grub_linux_boot): ... this.
24394
24395 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24396 (grub_linux_boot): Remove function.
24397
0ece25b1 243982008-01-05 Robert Millan <rmh@aybabtu.com>
24399
24400 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24401 (grub_env_write_color_highlight): Likewise.
24402 (grub_wait_after_message): Likewise.
24403
24404 * normal/color.c: New file.
24405
24406 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24407 (normal_mod_DEPENDENCIES): Likewise.
24408
24409 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24410 (normal_mod_DEPENDENCIES): Likewise.
24411
24412 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24413 (normal_mod_DEPENDENCIES): Likewise.
24414
24415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24416 (normal_mod_DEPENDENCIES): Likewise.
24417
24418 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24419 for waiting after a message is printed.
24420 * normal/main.c (read_config_file): Likewise.
24421 (grub_normal_init): Register grub_env_write_color_normal() and
24422 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24423 `color_highlight' variables as global.
24424
24425 * normal/menu.c (grub_wait_after_message): New function.
24426 (grub_color_menu_normal): New variable. Replaces ...
24427 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24428 (grub_color_menu_highlight): New variable. Replaces ...
24429 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24430 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24431 `GRUB_TERM_COLOR_STANDARD'.
24432 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24433 `normal_code' and `highlight_code' to `old_color_normal' and
24434 `old_color_highlight', respectively.
24435 (grub_menu_init_page): Update colors when drawing the menu, based on
24436 `menu_color_normal' and `menu_color_highlight' variables.
24437 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24438 a message is printed.
24439
182dd4e5 244402008-01-05 Robert Millan <rmh@aybabtu.com>
24441
24442 * kern/env.c (grub_env_context_open): Propagate hooks for global
24443 variables to new context.
24444
24445 * kern/main.c (grub_set_root_dev): Export `root' variable.
24446
ddf8f6ad 244472008-01-05 Robert Millan <rmh@aybabtu.com>
24448
24449 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24450 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24451 them.
24452
d8b43d9b 244532008-01-05 Robert Millan <rmh@aybabtu.com>
24454
24455 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24456
2bff2de3 244572008-01-04 Christian Franke <franke@computer.org>
24458
24459 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24460 of eisa_mmap.
24461
97eab917 244622008-01-03 Pavel Roskin <proski@gnu.org>
24463
24464 * kern/i386/linuxbios/init.c: Put "void" to all function
24465 declarations with no arguments.
24466 * kern/powerpc/ieee1275/init.c: Likewise.
24467 * term/i386/pc/at_keyboard.c: Likewise.
24468 * term/i386/pc/vga_text.c: Likewise.
24469 * util/grub-mkdevicemap.c: Likewise.
24470
b9416d00 244712008-01-02 Robert Millan <rmh@aybabtu.com>
24472
24473 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24474 message when loaded image is out of bounds.
24475 (grub_multiboot_load_elf64): Likewise.
24476
92695df9 244772008-01-02 Pavel Roskin <proski@gnu.org>
24478
24479 * util/grub.d/10_linux.in: Try version without ".old" when
24480 looking for initrd. It's better to use initrd from the newer
24481 kernel of the same version than no initrd at all.
24482
d98d9cad 244832008-01-01 Robert Millan <rmh@aybabtu.com>
24484
24485 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24486
dbfdce36 244872008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24488
f19dbdb7 24489 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 24490 grub_video_get_active_render_target.
24491 (grub_video_adapter): Added unmap_color and get_active_render_target.
24492
f19dbdb7 24493 * video/video.c: Added grub_video_unmap_color and
dbfdce36 24494 grub_video_get_active_render_target.
24495 (grub_video_get_info): Changed method to accept NULL pointer as an
24496 argument to allow detection of active video adapter.
24497
24498 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24499 grub_video_vbe_unmap_color_int.
24500 Added grub_video_vbe_unmap_color and
24501 grub_video_vbe_get_active_render_target.
24502 (grub_video_vbe_adapter): Added unmap_color and
24503 get_active_render_target.
24504
f19dbdb7 24505 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 24506 with grub_video_vbe_unmap_color_int.
24507
24508 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24509 (DEFAULT_NORMAL_COLOR): Likewise.
24510 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24511 (DEFAULT_FG_COLOR): Removed.
24512 (DEFAULT_BG_COLOR): Likewise.
24513 (DEFAULT_CURSOR_COLOR): Changed value.
24514 (grub_virtual_screen): Added standard_color_setting,
24515 normal_color_setting, highlight_color_setting and term_color.
24516 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24517 (bitmap_width): Added.
24518 (bitmap_height): Likewise.
24519 (bitmap): Likewise.
24520 (set_term_color): Likewise.
24521 (grub_virtual_screen_setup): Changed to use new terminal coloring
24522 settings.
24523 (grub_gfxterm_init): Added init for bitmap.
24524 (grub_gfxterm_fini): Added destroy for bitmap.
24525 (redraw_screen_rect): Updated to use background bitmap and new
24526 terminal coloring.
24527 (scroll_up): Added optimization for case when there is no bitmap.
24528 (grub_gfxterm_cls): Fixed to use correct background color.
24529 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24530 coloring.
24531 (grub_virtual_screen_setcolor): Likewise.
24532 (grub_virtual_screen_getcolor): Added.
24533 (grub_gfxterm_background_image_cmd): Likewise.
24534 (grub_video_term): Added setcolor and getcolor.
24535 (MOD_INIT): Added registration of background_image command.
24536 (MOD_TERM): Added unregistration for background_image command.
24537
c3c20931 245382007-12-30 Pavel Roskin <proski@gnu.org>
24539
24540 * loader/multiboot_loader.c: Fix multiboot command
24541 unregistration. Fix all typos in the word "multiboot".
24542
df266716 245432007-12-29 Pavel Roskin <proski@gnu.org>
94239199 24544
24545 * util/grub.d/10_linux.in: Refactor search for initrd. Add
24546 support for initrd names used in Fedora.
24547
fc6e896c 245482007-12-26 Bean <bean123ch@gmail.com>
24549
24550 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
24551 (cpio_mod_SOURCES): New variable.
24552 (cpio_mod_CFLAGS): Likewise.
24553 (cpio_mod_LDFLAGS): Likewise.
24554
24555 * fs/cpio.c: New file.
24556
24557 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
24558
24559 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24560
24561 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24562
24563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24564
533110ad 245652007-12-25 Robert Millan <rmh@aybabtu.com>
24566
24567 * include/grub/term.h (struct grub_term): Add `getcolor' function.
24568 (grub_getcolor): New function.
24569
24570 * kern/term.c (grub_getcolor): New function.
24571 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
24572 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
24573 (print_entry): Set normal and highlight colors to
24574 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
24575 respectively, before printing and restore them to old
24576 values afterwards.
24577 (grub_menu_init_page): Likewise. Fill an additional colored space
24578 that would otherwise be left blank.
24579
24580 * term/efi/console.c (grub_console_getcolor): New function.
24581 (struct grub_console_term.getcolor): New variable.
24582 * term/i386/pc/console.c (grub_console_getcolor): New function.
24583 (struct grub_console_term.getcolor): New variable.
24584 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
24585 (struct grub_console_term.getcolor): New variable.
24586
24587 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
24588 (struct grub_console_term.setcolor): Remove variable.
24589 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
24590 (struct grub_console_term.setcolor): Remove variable.
24591 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
24592 (struct grub_console_term.setcolor): Remove variable.
24593 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
24594 (struct grub_console_term.setcolor): Remove variable.
24595
4931827f 245962007-12-25 Robert Millan <rmh@aybabtu.com>
24597
24598 * configure.ac: Search for possible unifont.hex locations, and
24599 define UNIFONT_HEX if found.
24600
24601 * Makefile.in (UNIFONT_HEX): Define variable.
24602 (DATA): Rename to ...
24603 (PKGLIB): ... this. Update all users.
24604 (PKGDATA): New variable.
24605 (pkgdata_IMAGES): Rename to ...
24606 (pkglib_IMAGES): ... this. Update all users.
24607 (pkgdata_MODULES): Rename to ...
24608 (pkglib_MODULES): ... this. Update all users.
24609 (pkgdata_PROGRAMS): Rename to ...
24610 (pkglib_PROGRAMS): ... this. Update all users.
24611 (pkgdata_DATA): Rename to ...
24612 (pkglib_DATA): ... this. Update all users.
24613 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
24614 (unicode.pff, ascii.pff): New rules.
24615 (all-local): Add `$(PKGDATA)' dependency.
24616 (install-local): Process `$(PKGDATA)'.
24617
24618 * util/update-grub_lib.in (font_path): Search for *.pff files in
24619 a few more locations, including `${pkgdata}'.
24620
57e57e31 246212007-12-23 Robert Millan <rmh@aybabtu.com>
24622
24623 Patch from Bean <bean123ch@gmail.com>:
24624 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
24625 `size'.
24626
4bc72aa9 246272007-12-21 Bean <bean123ch@gmail.com>
24628
24629 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
24630 (ntfscomp_mod_SOURCES): New variable.
24631 (ntfscomp_mod_CFLAGS): Likewise.
24632 (ntfscomp_mod_LDFLAGS): Likewise.
24633
24634 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
24635 (grub_probe_SOURCES): Likewise.
24636 (grub_emu_SOURCES): Likewise.
24637
24638 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24639 (grub_emu_SOURCES): Likewise.
24640
24641 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24642 (grub_emu_SOURCES): Likewise.
24643
24644 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24645 (grub_emu_SOURCES): Likewise.
24646
24647 * fs/ntfs.c (grub_ntfscomp_func): New variable.
24648 (read_run_list): Renamed to grub_ntfs_read_run_list.
24649 (decomp_nextvcn): Moved to ntfscomp.c.
24650 (decomp_getch): Likewise.
24651 (decomp_get16): Likewise.
24652 (decomp_block): Likewise.
24653 (read_block): Likewise.
24654 (read_data): Partially moved to ntfscomp.c.
24655 (fixup): Change unsigned to grub_uint16_t.
24656 (read_mft): Change unsigned long to grub_uint32_t.
24657 (read_attr): Likewise.
24658 (read_data): Likewise.
24659 (read_run_data): Likewise.
24660 (read_run_list): Likewise.
24661 (read_mft): Likewise.
24662
24663 * fs/ntfscomp.c: New file.
24664
24665 * include/grub/ntfs.h: New file.
24666
af680a87 246672007-12-16 Robert Millan <rmh@aybabtu.com>
24668
24669 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
24670 IDE disk check, since Linux is known to support 20 IDE disks.
24671 Reported by Colin Watson.
24672
84be7599 246732007-12-15 Bean <bean123ch@gmail.com>
24674
24675 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
24676 (lnxboot_img_SOURCES): New variable.
24677 (lnxboot_img_ASFLAGS): Likewise.
24678 (lnxboot_img_LDFLAGS): Likewise.
24679
24680 * boot/i386/pc/lnxboot.S: New file.
24681
6af9db01 246822007-11-24 Pavel Roskin <proski@gnu.org>
24683
24684 * configure.ac: Test if '--build-id=none' is supported by the
24685 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
24686 objcopy to generate incorrect binary files (binutils
24687 2.17.50.0.18-1 as shipped by Fedora 8).
24688 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
24689 linking, so that build ID doesn't break the test.
24690
7361cfe6 246912007-11-24 Pavel Roskin <proski@gnu.org>
24692
24693 * include/grub/i386/time.h: use "void" in the argument list
24694 of grub_cpu_idle().
24695 * include/grub/powerpc/time.h: Likewise.
24696 * include/grub/sparc64/time.h: Likewise.
24697
1593e10c 246982007-11-18 Christian Franke <franke@computer.org>
24699
24700 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
24701 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
24702 This fixes the problem that function keys did not work in grub-emu.
24703
3b8db1a8 247042007-11-18 Christian Franke <franke@computer.org>
24705
24706 * disk/host.c (grub_host_open): Remove attribute unused from
24707 name parameter. Add check for "host". This fixes the problem
24708 that grub-emu does not find partitions.
24709
2e29408d 247102007-11-18 Christian Franke <franke@computer.org>
24711
24712 * util/hostfs.c (is_dir): New function.
24713 (grub_hostfs_dir): Handle missing dirent.d_type case.
24714 (grub_hostfs_read): Add missing fseek().
24715 (grub_hostfs_label): Clear label pointer. This fixes a crash
24716 of grub-emu on "ls (host)".
24717
398cd047 247182007-11-18 Christian Franke <franke@computer.org>
24719
24720 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
24721 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
24722 to 64 bit boundary by default.
24723
c405c391 247242007-11-18 Bean <bean123ch@gmail.com>
24725
24726 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
24727 (hexdump_mod_SOURCES): New variable.
24728 (hexdump_mod_CFLAGS): Likewise.
24729 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 24730
c405c391 24731 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24732
24733 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24734
24735 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24736
24737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24738
24739 * include/grub/hexdump.h: New file.
24740
24741 * commands/hexdump.c: New file.
24742
5cced7fd 247432007-11-10 Robert Millan <rmh@aybabtu.com>
24744
24745 * commands/i386/pc/play.c (beep_off): Switch order of arguments
24746 in grub_outb() calls.
24747 (beep_on): Likewise.
24748
8b714eb0 247492007-11-10 Christian Franke <franke@computer.org>
24750
24751 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
24752 (grub_menu_run): Likewise.
24753
ce0f1839 247542007-11-10 Robert Millan <rmh@aybabtu.com>
24755
24756 * include/grub/i386/efi/machine.h: New file.
24757 * include/grub/i386/linuxbios/machine.h: Likewise.
24758 * include/grub/i386/pc/machine.h: Likewise.
24759 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24760 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24761
24762 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
24763 (serial_hw_io_addr): New variable.
24764 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
24765 instead of `(unsigned short *) 0x400'.
24766
270c237d 247672007-11-10 Bean <bean123ch@gmail.com>
24768
24769 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
24770
a87783bf 247712007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24772
24773 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
24774 (vga_mod_SOURCES): Added.
24775 (vga_mod_CFLAGS): Likewise.
24776 (vga_mod_LDFLAGS): Likewise.
24777
24778 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
24779 grub_outb() calls.
24780 (set_map_mask): Likewise.
24781 (set_read_map): Likewise.
24782 (set_read_address): Likewise.
24783 (vga_font): Removed variable.
24784 (get_vga_glyph): Removed function.
24785 (invalidate_char): Likewise.
24786 (write_char): Changed to use grub_font_get_glyph() for font
24787 information.
24788 (grub_vga_putchar): Likewise.
24789 (grub_vga_getcharwidth): Likewise.
24790
6433b448 247912007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24792
24793 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
24794 flags.
24795 (pxeboot_img_LDFLAGS): Likewise.
24796 (diskboot_img_LDFLAGS): Likewise.
24797 (kernel_img_LDFLAGS): Likewise.
24798
49178511 247992007-11-06 Robert Millan <rmh@aybabtu.com>
24800
24801 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
24802 in grub_outb() calls.
24803 (serial_hw_init): Likewise.
24804
53b052de 248052007-11-05 Robert Millan <rmh@aybabtu.com>
24806
24807 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
24808 spaces. Skip non-regular files.
24809
5ab33bba 248102007-11-05 Robert Millan <rmh@aybabtu.com>
24811
24812 * kern/disk.c (grub_disk_firmware_fini)
24813 (grub_disk_firmware_is_tainted): New variables.
24814
24815 * include/grub/disk.h (grub_disk_firmware_fini)
24816 (grub_disk_firmware_is_tainted): Likewise.
24817
24818 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
24819 (grub_disk_biosdisk_fini): ... to here.
24820 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
24821 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
24822 is set. Register grub_disk_biosdisk_fini() in
24823 `grub_disk_firmware_fini'.
24824
24825 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
24826 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
24827 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
24828 to finish existing firmware disk interface.
24829
24830 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
24831 (ata_mod_SOURCES): New variable.
24832 (ata_mod_CFLAGS): Likewise.
24833 (ata_mod_LDFLAGS): Likewise.
24834
0149ab7c 248352007-11-05 Robert Millan <rmh@aybabtu.com>
24836
24837 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
24838 (grub_ata_wait): Reimplement using grub_millisleep().
24839
24840 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
24841 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
24842
be7ac41e 248432007-11-03 Marco Gerards <marco@gnu.org>
24844
24845 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
24846 (CRTC_ADDR_PORT): New macro.
24847 (CRTC_DATA_PORT): Likewise.
24848 (CRTC_CURSOR): Likewise.
24849 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24850 (CRTC_CURSOR_ADDR_LOW): Likewise.
24851 (update_cursor): New function.
24852 (grub_console_real_putchar): Call `update_cursor'.
24853 (grub_console_gotoxy): Likewise.
24854 (grub_console_cls): Set the default color when clearing the
24855 screen.
24856 (grub_console_setcursor): Implemented.
24857
bb06ab2e 248582007-11-03 Marco Gerards <marco@gnu.org>
24859
24860 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
24861 become activate.
24862 (grub_ata_pio_write): Likewise.
24863
24864 (grub_atapi_identify): Wait after issuing an ATA command.
24865 (grub_atapi_packet): Likewise.
24866 (grub_ata_identify): Likewise.
24867 (grub_ata_readwrite): Likewise.
24868
cf8f780b 248692007-11-03 Marco Gerards <marco@gnu.org>
24870
24871 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
24872 (grub_ata_pio_write): Likewise.
24873 (grub_ata_readwrite): Use `grub_error', instead of
24874 returning `grub_errno'.
24875
ed649e54 248762007-11-03 Marco Gerards <marco@gnu.org>
24877
24878 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
24879 grub_ata_pio_write once for every single sector, instead of for
24880 multiple sectors.
24881
ca25d8f0 248822007-10-31 Robert Millan <rmh@aybabtu.com>
24883
24884 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
24885
24886 * conf/i386-linuxbios.rmk: New file.
24887
24888 * kern/i386/pc/hardware.c: Likewise.
24889 * term/i386/pc/at_keyboard.c: Likewise.
24890 * term/i386/pc/vga_text.c: Likewise.
24891
24892 * include/grub/i386/linuxbios/boot.h: Likewise.
24893 * include/grub/i386/linuxbios/console.h: Likewise.
24894 * include/grub/i386/linuxbios/init.h: Likewise.
24895 * include/grub/i386/linuxbios/kernel.h: Likewise.
24896 * include/grub/i386/linuxbios/loader.h: Likewise.
24897 * include/grub/i386/linuxbios/memory.h: Likewise.
24898 * include/grub/i386/linuxbios/serial.h: Likewise.
24899 * include/grub/i386/linuxbios/time.h: Likewise.
24900
24901 * kern/i386/linuxbios/init.c: Likewise.
24902 * kern/i386/linuxbios/startup.S: Likewise.
24903 * kern/i386/linuxbios/table.c: Likewise.
24904
e911ecc1 249052007-10-31 Marco Gerards <marco@gnu.org>
24906
24907 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
24908 (ata_mod_SOURCES): New variable.
24909 (ata_mod_CFLAGS): Likewise.
24910 (ata_mod_LDFLAGS): Likewise.
24911
24912 * disk/ata.c: New file.
24913
24914 * include/grub/disk.h (grub_disk_dev_id): Add
24915 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 24916
7f66d0e0 249172007-10-31 Robert Millan <rmh@aybabtu.com>
24918
24919 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
24920 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
24921
24922 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
24923 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
24924
24925 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
24926 `<grub/types.h>'.
24927
24928 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
24929
5cd7dd46 249302007-10-27 Robert Millan <rmh@aybabtu.com>
24931
3236ca65 24932 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 24933
2ebfc90f 249342007-10-22 Robert Millan <rmh@aybabtu.com>
24935
24936 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
24937 `"../realmode.S"'.
24938 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
24939
73fcb0f3 249402007-10-22 Robert Millan <rmh@aybabtu.com>
24941
24942 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
24943 (pkgdata_MODULES): Add `biosdisk.mod'.
24944 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
24945 variables.
24946
24947 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
24948 (grub_biosdisk_init): Replace with ...
24949 (GRUB_MOD_INIT(biosdisk)): ... this.
24950 (grub_biosdisk_fini): Replace with ...
24951 (GRUB_MOD_FINI(biosdisk)): ... this.
24952
24953 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
24954 (grub_machine_init): Remove call to grub_biosdisk_init().
24955 (grub_machine_fini): Remove call to grub_machine_fini().
24956
24957 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
24958
3381d274 249592007-10-22 Robert Millan <rmh@aybabtu.com>
24960
24961 * include/grub/time.h: New file.
24962 * include/grub/i386/time.h: Likewise.
24963 * include/grub/powerpc/time.h: Likewise.
24964 * include/grub/sparc64/time.h: Likewise.
24965
24966 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
24967 instances to ...
24968 (KERNEL_MACHINE_TIME_HEADER): ... this.
24969 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24970 instances to ...
24971 (KERNEL_MACHINE_TIME_HEADER): ... this.
24972 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24973 instances to ...
24974 (KERNEL_MACHINE_TIME_HEADER): ... this.
24975
24976 * kern/i386/efi/init.c: Include `<grub/time.h>'.
24977 (grub_millisleep): New function.
24978 * kern/i386/pc/init.c: Include `<grub/time.h>'.
24979 (grub_millisleep): New function.
24980 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
24981 Remove `grub/machine/time.h' include.
24982 (grub_millisleep): New function.
24983 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
24984 Remove `grub/machine/time.h' include.
24985 (grub_millisleep): New function.
24986
24987 * include/grub/misc.h (grub_div_roundup): New function.
24988
24989 * kern/misc.c: Include `<grub/time.h>'.
24990 (grub_millisleep_generic): New function.
24991
24992 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
24993 Add `time.h'.
24994 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
24995 Add `time.h'.
24996 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
24997 `machine/time.h'. Add `time.h'.
24998 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24999
a39a0312 250002007-10-21 Robert Millan <rmh@aybabtu.com>
25001
25002 * include/grub/misc.h (grub_max): New function.
25003
2aad70e2 250042007-10-21 Robert Millan <rmh@aybabtu.com>
25005
25006 * util/misc.c (grub_util_info): Call fflush() before returning.
25007
54b71c4b 250082007-10-20 Robert Millan <rmh@aybabtu.com>
25009
25010 * genmk.rb (Image): Copy `extra_flags' from here ...
25011 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
25012
25013 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
25014 to `argc' and `args' arguments.
25015
a979f513 250162007-10-17 Robert Millan <rmh@aybabtu.com>
25017
25018 * kern/i386/loader.S: New file.
25019
25020 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
25021 * kern/i386/loader.S (grub_linux_prot_size)... to here.
25022 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
25023 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
25024 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
25025 * kern/i386/loader.S (grub_linux_real_addr)... to here.
25026 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
25027 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
25028 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
25029 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
25030 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
25031 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
25032 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
25033 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
25034
25035 * kern/i386/realmode.S: New file.
25036
25037 * kern/i386/pc/startup.S (protstack): Moved from here ...
25038 * kern/i386/realmode.S (protstack)... to here.
25039 * kern/i386/pc/startup.S (gdt): Moved from here ...
25040 * kern/i386/realmode.S (gdt)... to here.
25041 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
25042 * kern/i386/realmode.S (prot_to_real)... to here.
25043
25044 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25045 `kern/i386/realmode.S'.
25046
825fc8fd 250472007-10-17 Robert Millan <rmh@aybabtu.com>
25048
25049 * include/grub/i386/loader.h: New file.
25050
25051 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25052 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25053 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25054 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25055 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25056 * include/grub/i386/loader.h (grub_linux_prot_size)
25057 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25058 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25059 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25060 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25061
25062 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25063
e179b2f4 250642007-10-15 Robert Millan <rmh@aybabtu.com>
25065
25066 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25067 filesystem when dev->disk is unset.
25068 Do probe for filesystem even when dev->disk->has_partitions is set.
25069 In case a filesystem is found, always report it.
25070 In case it isn't, if dev->disk->has_partitions is set, report that
25071 a partition table was found instead of reporting that no filesystem
25072 could be identified.
25073
5db82af6 250742007-10-12 Robert Millan <rmh@aybabtu.com>
25075
25076 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25077 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25078
68f6ac74 25079 * include/grub/types.h (grub_host_to_target16): New macro.
25080 (grub_host_to_target32): Likewise.
25081 (grub_host_to_target64): Likewise.
25082 (grub_target_to_host16): Likewise.
25083 (grub_target_to_host32): Likewise.
25084 (grub_target_to_host64): Likewise.
5db82af6 25085
25086 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25087 Renamed from to ...
25088 (GRUB_MOD_ALIGN): ...this. Update all users.
25089
68f6ac74 25090 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25091 grub_host_to_target32.
25092 Replace grub_be_to_cpu32 with grub_target_to_host32.
25093 (load_modules): Likewise.
25094 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25095 Replace grub_be_to_cpu32 with grub_target_to_host32.
25096 Replace grub_cpu_to_be16 with grub_host_to_target16.
25097 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 25098
3cf497cc 250992007-10-12 Robert Millan <rmh@aybabtu.com>
25100
25101 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25102 * util/elf/grub-mkimage.c: ... here.
25103
25104 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25105 `util/powerpc/ieee1275/grub-mkimage.c'.
25106
c8cc3692 251072007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 25108
c8cc3692 25109 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25110 and make it easier to figure out.
25111 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25112 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25113 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25114 leave us with less than HEAP_MIN_SIZE total heap.
25115 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25116
5c58b791 251172007-10-03 Robert Millan <rmh@aybabtu.com>
25118
25119 * include/grub/i386/io.h: New file.
25120 * commands/i386/pc/play.c (inb): Removed.
25121 (outb): Removed.
25122 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25123 with grub_outb().
afcd2ef8 25124 * term/i386/pc/serial.c (inb): Removed.
25125 (outb): Removed.
25126 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25127 with grub_outb().
25128 * term/i386/pc/vga.c (inb): Removed.
25129 (outb): Removed.
25130 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25131 with grub_outb().
5c58b791 25132
1a477ed6 251332007-10-02 Robert Millan <rmh@aybabtu.com>
25134
25135 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25137 Reported by Marcin Kurek.
25138
6b5d80fa 251392007-09-07 Robert Millan <rmh@aybabtu.com>
25140
25141 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25142 SmartFirmware version updates (as released by Sven Luther), and avoid
25143 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25144 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25145 known broken.
25146
5618afbf 251472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25148
25149 From Hitoshi Ozeki:
25150 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25151 when merging two regions.
25152
6139dcd9 251532007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25154
508e39ee 25155 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25156 * normal/completion.c (grub_normal_do_completion): Likewise.
25157 Reported by Hitoshi Ozeki.
25158
251592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25160
6139dcd9 25161 Do not use devices at boot in chainloading.
f19dbdb7 25162
6139dcd9 25163 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25164 (boot_part_addr): Likewise.
25165 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25166 with BOOT_DRIVE and BOOT_PART_ADDR.
25167 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25168 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25169
38da6516 251702007-08-29 Robert Millan <rmh@aybabtu.com>
25171
25172 Patch from Simon Peter <dn.tlp@gmx.net>:
25173 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25174 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25175 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25176 util/i386/pc/grub-setup.c_DEPENDENCIES.
25177 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25178 util/grub-probe.c_DEPENDENCIES.
25179 * conf/powerpc-ieee1275.rmk: Likewise.
25180
29d0928c 251812007-08-28 Robert Millan <rmh@aybabtu.com>
25182
25183 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25184 to tell grub-mkdevicemap how to name devices.
25185 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25186 feature).
25187
25188 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25189 util/i386/get_disk_name.c.
25190 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25191 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25192 util/ieee1275/get_disk_name.c.
25193
25194 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25195
25196 * DISTLIST: Add util/i386/get_disk_name.c and
25197 util/ieee1275/get_disk_name.c.
25198
25199 * util/grub-mkdevicemap.c: Replace device naming logic with
25200 grub_util_get_disk_name() calls.
25201
5a0d3cca 252022007-08-20 Robert Millan <rmh@aybabtu.com>
25203
25204 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25205 (so that it works for both plural and singular quantities).
25206
8b72db2f 252072007-08-05 Robert Millan <rmh@aybabtu.com>
25208
25209 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25210 so that [xz] isn't taken into account when determining order.
25211
352466bf 252122007-08-02 Marco Gerards <marco@gnu.org>
25213
25214 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25215 `include/multiboot2.h', `include/grub/elfload.h',
25216 `include/multiboot.h', `include/grub/multiboot.h',
25217 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25218 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25219 `kern/elf.c', `loader/multiboot_loader.c',
25220 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25221 `loader/i386/pc/multiboot2.c',
25222 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25223 `util/i386/pc/grub-mkrescue.in'. Remove
25224 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25225 `include/grub/i386/pc/util/biosdisk.h' and
25226 `include/grub/powerpc/ieee1275/multiboot.h'.
25227
8f096014 252282007-08-02 Bean <bean123ch@gmail.com>
25229
25230 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25231 (ntfs_mod_SOURCES): New variable.
25232 (ntfs_mod_CFLAGS): Likewise.
25233 (ntfs_mod_LDFLAGS): Likewise.
25234
25235 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25236 (grub_probe_SOURCES): Likewise.
25237 (grub_emu_SOURCES): Likewise.
25238
25239 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25240 (grub_emu_SOURCES): Likewise.
25241
25242 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25243 (grub_emu_SOURCES): Likewise.
f19dbdb7 25244
8f096014 25245 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25246
25247 * fs/ntfs.c: New file.
25248
9959f7db 252492007-08-02 Bean <bean123ch@gmail.com>
25250
25251 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25252
25253 * file.h (grub_file): Likewise.
25254
25255 * fshelp.h (grub_fshelp_read_file): Likewise.
25256
25257 * util/i386/pc/grub-setup.c (setup): Likewise.
25258 (save_first_sector): Likewise.
25259 (save_blocklists): Likewise.
f19dbdb7 25260
9959f7db 25261 * fs/affs.c (grub_affs_read_file): Likewise.
25262
25263 * fs/ext2.c (grub_ext2_read_file): Likewise.
25264
25265 * fs/fat.c (grub_fat_read_data): Likewise.
25266
25267 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25268
25269 * fs/hfs.c (grub_hfs_read_file): Likewise.
25270
25271 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25272
25273 * fs/jfs.c (grub_jfs_read_file): Likewise.
25274
25275 * fs/minix.c (grub_minix_read_file): Likewise.
25276
25277 * fs/sfs.c (grub_sfs_read_file): Likewise.
25278
25279 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 25280
9959f7db 25281 * fs/xfs.c (grub_xfs_read_file): Likewise.
25282
25283 * command/blocklist.c (read_blocklist): Likewise.
25284 (print_blocklist): Likewise.
25285
0a203f83 252862007-08-02 Marco Gerards <marco@gnu.org>
25287
25288 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25289 `util/hostfs.c'.
25290
25291 * disk/host.c: New file.
25292
25293 * util/hostfs.c: Likewise.
25294
25295 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25296 return `GRUB_ERR_BAD_FS'.
25297 * fs/sfs.c (grub_sfs_mount): Likewise.
25298 * fs/xfs.c (grub_xfs_mount): Likewise.
25299
25300 * include/grub/disk.h (enum grub_disk_dev_id): Add
25301 `GRUB_DISK_DEVICE_HOST_ID'.
25302
25303 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25304
e5dfe777 253052007-07-24 Jerone Young <jerone@gmail.com>
25306
f19dbdb7 25307 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 25308 modules for compilation.
25309 * conf/powerpc-ieee1275.rmk: Likewise.
25310
25311 * include/multiboot.h: Move multiboot definitions to one file. Rename
25312 many definitions to not get grub specific.
25313 * include/multiboot2.h: Create header with multiboot 2 definitions.
25314 * include/grub/multiboot.h: Header for grub specific function
25315 prototypes and definitions.
25316 * include/grub/multiboot2.h: Likewise.
25317 * include/grub/multiboot_loader.h: Likewise.
25318 * include/grub/i386/pc/multiboot.h: Removed.
25319 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25320
25321 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25322 and 2 to allow for one multiboot and module commands.
25323 * loader/multiboot2.c: Add multiboot2 functionality.
25324 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25325 and definition names.
25326 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25327 2 functions.
25328 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25329 ieee1275 specific multiboot2 code.
25330
25331 * kern/i386/pc/startup.S: Change headers and definition names for
25332 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25333
daf0f0ba 253342007-07-22 Robert Millan <rmh@aybabtu.com>
25335
25336 * geninitheader.sh: Process file specified in first parameter rather
25337 than hardcoding grub_modules_init.lst.
fe6b695a 25338 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25339 than hardcoding grub_modules_init.h.
25340
25341 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25342 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25343 grub_probe_init.[ch] and grub_setup_init.[ch].
25344
25345 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25346 grub_modules_init.h with grub_emu_init.h.
25347 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25348 grub_probe_init.[ch] files.
25349 * conf/i386-efi.rmk: Likewise.
25350 * conf/i386-pc.rmk: Likewise.
25351 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25352 grub_setup_init.[ch] files.
25353
25354 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25355 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25356 to initialize modules rather than a list of hardcoded functions.
25357 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25358 grub_init_all() to initialize modules rather than a list of hardcoded
25359 functions.
25360
54cdc1cc 253612007-07-22 Robert Millan <rmh@aybabtu.com>
25362
25363 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25364 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25365
ad0686cc 253662007-07-22 Robert Millan <rmh@aybabtu.com>
25367
25368 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25369 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25370 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25371 flag when running on SmartFirmware.
25372 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25373 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25374 was set.
25375
25376 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25377 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25378 rather than decreasing it.
25379
25380 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25381 there's not enough space to do it, fail in the same way as when it
25382 can't be done because there are no partitions.
25383
25384 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25385 when nvsetenv failed.
25386
969c02ec 253872007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25388
25389 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25390 because this rule is automatically generated.
25391 (grub-mkrescue): Removed for the same reason as above.
25392
5a79f472 253932007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25394
25395 Migrate to GNU General Public License Version 3.
f19dbdb7 25396
5a79f472 25397 * COPYING: Replaced with the plain text version of GPLv3.
25398
25399 * config.guess: Updated from gnulib.
25400 * config.sub: Likewise.
25401
25402 * geninit.sh: Output a GPLv3 copyright notice.
25403 * geninitheader.sh: Likewise.
25404 * genmodsrc.sh: Likewise.
25405 * gensymlist.sh.in: Likewise.
25406
25407 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25408 * boot/i386/pc/diskboot.S: Likewise.
25409 * boot/i386/pc/pxeboot.S: Likewise.
25410 * commands/blocklist.c: Likewise.
25411 * commands/boot.c: Likewise.
25412 * commands/cat.c: Likewise.
25413 * commands/cmp.c: Likewise.
25414 * commands/configfile.c: Likewise.
25415 * commands/echo.c: Likewise.
25416 * commands/help.c: Likewise.
25417 * commands/ls.c: Likewise.
25418 * commands/search.c: Likewise.
25419 * commands/terminal.c: Likewise.
25420 * commands/test.c: Likewise.
25421 * commands/videotest.c: Likewise.
25422 * commands/i386/cpuid.c: Likewise.
25423 * commands/i386/pc/halt.c: Likewise.
25424 * commands/i386/pc/play.c: Likewise.
25425 * commands/i386/pc/reboot.c: Likewise.
25426 * commands/i386/pc/vbeinfo.c: Likewise.
25427 * commands/i386/pc/vbetest.c: Likewise.
25428 * commands/ieee1275/halt.c: Likewise.
25429 * commands/ieee1275/reboot.c: Likewise.
25430 * commands/ieee1275/suspend.c: Likewise.
25431 * disk/loopback.c: Likewise.
25432 * disk/lvm.c: Likewise.
25433 * disk/raid.c: Likewise.
25434 * disk/efi/efidisk.c: Likewise.
25435 * disk/i386/pc/biosdisk.c: Likewise.
25436 * disk/ieee1275/ofdisk.c: Likewise.
25437 * font/manager.c: Likewise.
25438 * fs/affs.c: Likewise.
25439 * fs/ext2.c: Likewise.
25440 * fs/fat.c: Likewise.
25441 * fs/fshelp.c: Likewise.
25442 * fs/hfs.c: Likewise.
25443 * fs/hfsplus.c: Likewise.
25444 * fs/iso9660.c: Likewise.
25445 * fs/jfs.c: Likewise.
25446 * fs/minix.c: Likewise.
25447 * fs/sfs.c: Likewise.
25448 * fs/ufs.c: Likewise.
25449 * fs/xfs.c: Likewise.
25450 * hello/hello.c: Likewise.
25451 * include/grub/acorn_filecore.h: Likewise.
25452 * include/grub/arg.h: Likewise.
25453 * include/grub/bitmap.h: Likewise.
25454 * include/grub/boot.h: Likewise.
25455 * include/grub/cache.h: Likewise.
25456 * include/grub/device.h: Likewise.
25457 * include/grub/disk.h: Likewise.
25458 * include/grub/dl.h: Likewise.
25459 * include/grub/elfload.h: Likewise.
25460 * include/grub/env.h: Likewise.
25461 * include/grub/err.h: Likewise.
25462 * include/grub/file.h: Likewise.
25463 * include/grub/font.h: Likewise.
25464 * include/grub/fs.h: Likewise.
25465 * include/grub/fshelp.h: Likewise.
25466 * include/grub/gzio.h: Likewise.
25467 * include/grub/hfs.h: Likewise.
25468 * include/grub/kernel.h: Likewise.
25469 * include/grub/loader.h: Likewise.
25470 * include/grub/lvm.h: Likewise.
25471 * include/grub/misc.h: Likewise.
25472 * include/grub/mm.h: Likewise.
25473 * include/grub/net.h: Likewise.
25474 * include/grub/normal.h: Likewise.
25475 * include/grub/parser.h: Likewise.
25476 * include/grub/partition.h: Likewise.
25477 * include/grub/pc_partition.h: Likewise.
25478 * include/grub/raid.h: Likewise.
25479 * include/grub/rescue.h: Likewise.
25480 * include/grub/script.h: Likewise.
25481 * include/grub/setjmp.h: Likewise.
25482 * include/grub/symbol.h: Likewise.
25483 * include/grub/term.h: Likewise.
25484 * include/grub/terminfo.h: Likewise.
25485 * include/grub/tparm.h: Likewise.
25486 * include/grub/types.h: Likewise.
25487 * include/grub/video.h: Likewise.
25488 * include/grub/efi/api.h: Likewise.
25489 * include/grub/efi/chainloader.h: Likewise.
25490 * include/grub/efi/console.h: Likewise.
25491 * include/grub/efi/console_control.h: Likewise.
25492 * include/grub/efi/disk.h: Likewise.
25493 * include/grub/efi/efi.h: Likewise.
25494 * include/grub/efi/pe32.h: Likewise.
25495 * include/grub/efi/time.h: Likewise.
25496 * include/grub/i386/linux.h: Likewise.
25497 * include/grub/i386/setjmp.h: Likewise.
25498 * include/grub/i386/types.h: Likewise.
25499 * include/grub/i386/efi/kernel.h: Likewise.
25500 * include/grub/i386/efi/loader.h: Likewise.
25501 * include/grub/i386/efi/time.h: Likewise.
25502 * include/grub/i386/pc/biosdisk.h: Likewise.
25503 * include/grub/i386/pc/boot.h: Likewise.
25504 * include/grub/i386/pc/chainloader.h: Likewise.
25505 * include/grub/i386/pc/console.h: Likewise.
25506 * include/grub/i386/pc/init.h: Likewise.
25507 * include/grub/i386/pc/kernel.h: Likewise.
25508 * include/grub/i386/pc/loader.h: Likewise.
25509 * include/grub/i386/pc/memory.h: Likewise.
25510 * include/grub/i386/pc/multiboot.h: Likewise.
25511 * include/grub/i386/pc/serial.h: Likewise.
25512 * include/grub/i386/pc/time.h: Likewise.
25513 * include/grub/i386/pc/vbe.h: Likewise.
25514 * include/grub/i386/pc/vbeblit.h: Likewise.
25515 * include/grub/i386/pc/vbefill.h: Likewise.
25516 * include/grub/i386/pc/vbeutil.h: Likewise.
25517 * include/grub/i386/pc/vga.h: Likewise.
25518 * include/grub/ieee1275/ieee1275.h: Likewise.
25519 * include/grub/ieee1275/ofdisk.h: Likewise.
25520 * include/grub/powerpc/libgcc.h: Likewise.
25521 * include/grub/powerpc/setjmp.h: Likewise.
25522 * include/grub/powerpc/types.h: Likewise.
25523 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25524 * include/grub/powerpc/ieee1275/console.h: Likewise.
25525 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25526 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25527 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25528 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25529 * include/grub/powerpc/ieee1275/time.h: Likewise.
25530 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25531 * include/grub/sparc64/libgcc.h: Likewise.
25532 * include/grub/sparc64/setjmp.h: Likewise.
25533 * include/grub/sparc64/types.h: Likewise.
25534 * include/grub/sparc64/ieee1275/console.h: Likewise.
25535 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25536 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25537 * include/grub/sparc64/ieee1275/time.h: Likewise.
25538 * include/grub/util/biosdisk.h: Likewise.
25539 * include/grub/util/getroot.h: Likewise.
25540 * include/grub/util/lvm.h: Likewise.
25541 * include/grub/util/misc.h: Likewise.
25542 * include/grub/util/raid.h: Likewise.
25543 * include/grub/util/resolve.h: Likewise.
25544 * io/gzio.c: Likewise.
25545 * kern/device.c: Likewise.
25546 * kern/disk.c: Likewise.
25547 * kern/dl.c: Likewise.
25548 * kern/elf.c: Likewise.
25549 * kern/env.c: Likewise.
25550 * kern/err.c: Likewise.
25551 * kern/file.c: Likewise.
25552 * kern/fs.c: Likewise.
25553 * kern/loader.c: Likewise.
25554 * kern/main.c: Likewise.
25555 * kern/misc.c: Likewise.
25556 * kern/mm.c: Likewise.
25557 * kern/parser.c: Likewise.
25558 * kern/partition.c: Likewise.
25559 * kern/rescue.c: Likewise.
25560 * kern/term.c: Likewise.
25561 * kern/efi/efi.c: Likewise.
25562 * kern/efi/init.c: Likewise.
25563 * kern/efi/mm.c: Likewise.
25564 * kern/i386/dl.c: Likewise.
25565 * kern/i386/efi/init.c: Likewise.
25566 * kern/i386/efi/startup.S: Likewise.
25567 * kern/i386/pc/init.c: Likewise.
25568 * kern/i386/pc/lzo1x.S: Likewise.
25569 * kern/i386/pc/startup.S: Likewise.
25570 * kern/ieee1275/ieee1275.c: Likewise.
25571 * kern/powerpc/cache.S: Likewise.
25572 * kern/powerpc/dl.c: Likewise.
25573 * kern/powerpc/ieee1275/cmain.c: Likewise.
25574 * kern/powerpc/ieee1275/crt0.S: Likewise.
25575 * kern/powerpc/ieee1275/init.c: Likewise.
25576 * kern/powerpc/ieee1275/openfw.c: Likewise.
25577 * kern/sparc64/cache.S: Likewise.
25578 * kern/sparc64/dl.c: Likewise.
25579 * kern/sparc64/ieee1275/init.c: Likewise.
25580 * kern/sparc64/ieee1275/openfw.c: Likewise.
25581 * loader/efi/chainloader.c: Likewise.
25582 * loader/efi/chainloader_normal.c: Likewise.
25583 * loader/i386/efi/linux.c: Likewise.
25584 * loader/i386/efi/linux_normal.c: Likewise.
25585 * loader/i386/pc/chainloader.c: Likewise.
25586 * loader/i386/pc/chainloader_normal.c: Likewise.
25587 * loader/i386/pc/linux.c: Likewise.
25588 * loader/i386/pc/linux_normal.c: Likewise.
25589 * loader/i386/pc/multiboot.c: Likewise.
25590 * loader/i386/pc/multiboot_normal.c: Likewise.
25591 * loader/powerpc/ieee1275/linux.c: Likewise.
25592 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25593 * normal/arg.c: Likewise.
25594 * normal/cmdline.c: Likewise.
25595 * normal/command.c: Likewise.
25596 * normal/completion.c: Likewise.
25597 * normal/execute.c: Likewise.
25598 * normal/function.c: Likewise.
25599 * normal/lexer.c: Likewise.
25600 * normal/main.c: Likewise.
25601 * normal/menu.c: Likewise.
25602 * normal/menu_entry.c: Likewise.
25603 * normal/misc.c: Likewise.
25604 * normal/parser.y: Likewise.
25605 * normal/script.c: Likewise.
25606 * normal/i386/setjmp.S: Likewise.
25607 * normal/powerpc/setjmp.S: Likewise.
25608 * normal/sparc64/setjmp.S: Likewise.
25609 * partmap/acorn.c: Likewise.
25610 * partmap/amiga.c: Likewise.
25611 * partmap/apple.c: Likewise.
25612 * partmap/gpt.c: Likewise.
25613 * partmap/pc.c: Likewise.
25614 * partmap/sun.c: Likewise.
25615 * term/gfxterm.c: Likewise.
25616 * term/terminfo.c: Likewise.
25617 * term/efi/console.c: Likewise.
25618 * term/i386/pc/console.c: Likewise.
25619 * term/i386/pc/serial.c: Likewise.
25620 * term/i386/pc/vesafb.c: Likewise.
25621 * term/i386/pc/vga.c: Likewise.
25622 * term/ieee1275/ofconsole.c: Likewise.
25623 * util/biosdisk.c: Likewise.
25624 * util/console.c: Likewise.
25625 * util/genmoddep.c: Likewise.
25626 * util/getroot.c: Likewise.
25627 * util/grub-emu.c: Likewise.
25628 * util/grub-mkdevicemap.c: Likewise.
25629 * util/grub-probe.c: Likewise.
25630 * util/lvm.c: Likewise.
25631 * util/misc.c: Likewise.
25632 * util/raid.c: Likewise.
25633 * util/resolve.c: Likewise.
25634 * util/update-grub.in: Likewise.
25635 * util/update-grub_lib.in: Likewise.
25636 * util/grub.d/00_header.in: Likewise.
25637 * util/grub.d/10_hurd.in: Likewise.
25638 * util/grub.d/10_linux.in: Likewise.
25639 * util/i386/efi/grub-install.in: Likewise.
25640 * util/i386/efi/grub-mkimage.c: Likewise.
25641 * util/i386/pc/grub-install.in: Likewise.
25642 * util/i386/pc/grub-mkimage.c: Likewise.
25643 * util/i386/pc/grub-mkrescue.in: Likewise.
25644 * util/i386/pc/grub-setup.c: Likewise.
25645 * util/i386/pc/misc.c: Likewise.
25646 * util/powerpc/ieee1275/grub-install.in: Likewise.
25647 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
25648 * util/powerpc/ieee1275/misc.c: Likewise.
25649 * video/bitmap.c: Likewise.
25650 * video/video.c: Likewise.
25651 * video/i386/pc/vbe.c: Likewise.
25652 * video/i386/pc/vbeblit.c: Likewise.
25653 * video/i386/pc/vbefill.c: Likewise.
25654 * video/i386/pc/vbeutil.c: Likewise.
25655 * video/readers/tga.c: Likewise.
25656
3572d015 256572007-07-02 Robert Millan <rmh@aybabtu.com>
25658
25659 * conf/i386-efi.rmk: Replace obsolete reference to
25660 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
25661 with util/getroot.c.
25662 * conf/powerpc-ieee1275.rmk: Likewise.
25663 * conf/sparc64-ieee1275.rmk: Likewise.
25664
25665 * util/grub-emu.c (main): Fix unchecked pointer handling.
25666
2c2a681b 256672007-07-02 Robert Millan <rmh@aybabtu.com>
25668
25669 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
25670 invocation to fail, in order to support partition-less media.
25671
25672 * util/i386/pc/grub-install.in: Likewise.
25673
25674 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
25675 which fs or partmap modules are needed (akin to its sister scripts).
25676
25677 Also use grub-probe to get rid of unportable /proc/mounts check.
25678
25679 Print the same informational message that the other scripts do, before
fe6b695a 25680 exiting.
2c2a681b 25681
6193defe 256822007-06-23 Robert Millan <rmh@aybabtu.com>
25683
fe6b695a 25684 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 25685 a font file can be found and, if so, echo the GRUB path to it.
25686
25687 * util/update-grub.in: Handle multiple terminals depending on user
25688 input, platform availability and font file presence. Propagate
25689 variables of our findings to /etc/grub.d/ children.
25690
25691 * util/grub.d/00_header.in: Handle multiple terminals, based on
25692 environment setup by update-grub.
25693
eface1dc 256942007-06-23 Robert Millan <rmh@aybabtu.com>
25695
ba50d28f 25696 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 25697
bf697e28 256982007-06-21 Robert Millan <rmh@aybabtu.com>
25699
25700 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
25701 indicate end of data section in kernel image.
25702 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
25703 GRUB_KERNEL_MACHINE_DATA_END.
25704
25705 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
25706 space for it.
25707 * kern/i386/efi/startup.S: Likewise.
25708
25709 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
25710 during image generation. Implement --prefix option to override this
25711 patch.
25712 * util/i386/efi/grub-mkimage.c: Likewise.
25713
25714 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
25715 code to make path relative to its root into a separate function.
25716
25717 * util/i386/pc/grub-install.in: Use newly provided
25718 make_system_path_relative_to_its_root() to convert ${grubdir}, then
25719 pass the result to grub-install --prefix.
25720
baa574b4 257212007-06-13 Robert Millan <rmh@aybabtu.com>
25722
25723 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
25724 DEFAULT_DEVICE_MAP.
25725 * util/grub-emu.c: Use above definitions from misc.h instead of
25726 defining them.
25727 * util/grub-mkdevicemap.c: Likewise.
25728 * util/i386/pc/grub-setup.c: Likewise.
25729 * util/grub-probe.c: Likewise.
25730 (probe): Abort with grub_util_error() when either
25731 grub_guess_root_device or grub_util_get_grub_dev fails.
25732
0215dcbf 257332007-06-12 Robert Millan <rmh@aybabtu.com>
25734
25735 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
25736 "pager" assignment.
25737 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
25738 "pcdata".
25739 * util/grub-probe.c (probe): Likewise for "drive_name".
25740
8af2ab7b 257412007-06-11 Robert Millan <rmh@aybabtu.com>
25742
25743 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
25744 not just the cdrom one.
25745
59d31694 257462007-06-11 Robert Millan <rmh@aybabtu.com>
25747
25748 * util/i386/pc/grub-mkrescue.in: Add "set -e".
25749 Add --pkglibdir=DIR option to override pkglibdir.
25750 Mention --image-type=TYPE in help output.
25751 Fix --grub-mkimage (it was a no-op).
fe6b695a 25752 Abort gracefully when no parameter is given.
59d31694 25753
7ee367e4 257542007-06-11 Robert Millan <rmh@aybabtu.com>
25755
25756 * util/i386/pc/grub-mkrescue.in: New file.
25757 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
25758 * Makefile.in: Handle bin_SCRIPTS.
25759
29b0ed46 257602007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
25761
25762 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
25763 list of video modes.
25764
c0f90770 257652007-06-06 Robert Millan <rmh@aybabtu.com>
25766
25767 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
25768 file doesn't exist, or if it is in a filesystem grub can't read.
25769
25770 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
25771 not abort if GRUB_DRIVE could not be defined. Rearrange generated
25772 header comment to fit in 80 columns when the variables are resolved.
25773
25774 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
25775 could be identified by update-grub. Remove redundant check for
fe6b695a 25776 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 25777 handles that).
25778
fb36dc26 257792007-06-04 Robert Millan <rmh@aybabtu.com>
25780
25781 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
25782
25783 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
25784
25785 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
25786
0c68c93e 257872007-06-04 Robert Millan <rmh@aybabtu.com>
25788
25789 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
25790
25791 * include/grub/partition.h: Declare grub_apple_partition_map_init and
25792 grub_apple_partition_map_fini.
25793
25794 * util/biosdisk.c
25795 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
25796 to access >2 TiB disks).
25797
25798 Print disk->total_sectors with %llu instead of %lu, since this
25799 variable is always 64-bit (prevents wrong disk size from being displayed
25800 on either >2 TiB disk or big-endian CPU).
25801
25802 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
25803 into a generic case that supports all (sane) partition maps.
25804
25805 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
25806 breaks big-endian.
25807
25808 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
25809 and grub_apple_partition_map_fini() after that.
25810
0f23eb74 258112007-06-01 Robert Millan <rmh@aybabtu.com>
25812
25813 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
25814
25815 * util/grub.d/00_header.in: Only enable gfxterm when
25816 convert_system_path_to_grub_path() succeeds.
25817
42c71976 258182007-05-20 Robert Millan <rmh@aybabtu.com>
25819
25820 * util/update-grub_lib.in: New file.
25821 * DISTLIST: Add update-grub_lib.in.
25822 * conf/common.rmk: Generate update-grub_lib and install it in
25823 $(lib_DATA).
25824 * Makefile.in: Add install routine for $(lib_DATA).
25825
25826 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
25827 function provided by update-grub_lib to support arbitrary paths of
25828 unifont.pff.
25829 * util/update-grub.in: Use convert_system_path_to_grub_path() to
25830 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
25831
5beb2291 258322007-05-19 Robert Millan <rmh@aybabtu.com>
25833
25834 * commands/i386/cpuid.c: New module.
25835 * DISTLIST: Add it.
25836 * conf/i386-efi.rmk: Enable cpuid.mod.
25837 * conf/i386-pc.rmk: Likewise.
25838
7262eca1 258392007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25840
25841 * kern/disk.c (grub_disk_read): Check return value of
25842 grub_realloc().
25843
260ba823 258442007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25845
25846 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
25847 arrays.
25848 * disk/raid.c (grub_raid_open): Likewise.
25849
1ecb6cf2 258502007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25851
25852 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
25853 stack instead of on the heap.
25854
25855 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
25856 before doing a read on it.
25857
25858 * configure.ac: Only use -fno-stack-protector for the target
25859 environment.
f19dbdb7 25860
21c8cbb1 258612007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25862
25863 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
25864 __attribute_ ((unused)) to mode_type argument.
25865
25866 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 25867
21c8cbb1 25868 * kern/misc.c (memcmp): Fix prototype.
25869
25870 * include/grub/partition.h [GRUB_UTIL]
25871 (grub_gpt_partition_map_init): Add prototype.
25872 (grub_gpt_partition_map_fini): Likewise.
25873
25874 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
25875 at the right place.
25876
25877 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
25878 (grub_fat_read_data): Likewise.
25879 (grub_fat_find_dir): Likewise.
25880
25881 * font/manager.c (find_glyph): Make table a const.
25882 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 25883
849d55d3 258842007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
25885
25886 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
25887 code, first search for device in /dev/mapper, then in /dev.
25888 (grub_util_get_grub_dev): New function.
25889 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
25890 prototype.
25891 * util/grub-probe.c (probe): Remove check for RAID, call
25892 grub_util_get_grub_dev() instead of
25893 grub_util_biosdisk_get_grub_dev().
25894 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
25895 grub_util_biosdisk_get_grub_dev().
25896 * util/i386/pc/grub-setup.c (main): Likewise.
25897
8fff7c2f 258982007-05-16 Robert Millan <rmh@aybabtu.com>
25899
25900 * DISTLIST: Update for the latest changes.
25901 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
25902 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
25903 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
25904 grub/util/biosdisk.h.
25905 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
25906 grub/util/biosdisk.h.
25907
48e12b52 259082007-05-16 Robert Millan <rmh@aybabtu.com>
25909
25910 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
25911
46b9d128 259122007-05-16 Robert Millan <rmh@aybabtu.com>
25913
25914 * util/i386/efi/grub-install.in: New.
25915 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
25916 newly added grub-install.
25917 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
25918 include.
25919 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
25920 grub/util/biosdisk.h.
25921 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
25922 grub/util/biosdisk.h.
25923
2d1a40a9 259242007-05-16 Robert Millan <rmh@aybabtu.com>
25925
25926 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
25927 * include/grub/util/biosdisk.h: ... here.
25928 * util/i386/pc/biosdisk.c: Moved to ...
25929 * util/biosdisk.c: ... here.
25930 * util/i386/pc/getroot.c: Moved to ...
25931 * util/getroot.c: ... here.
25932 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
25933 * util/grub-mkdevicemap.c: ... here.
25934 * util/i386/pc/grub-probe.c: Moved to ...
25935 * util/grub-probe.c: ... here.
25936
9e26e3bc 259372007-05-15 Robert Millan <rmh@aybabtu.com>
25938
25939 * util/update-grub.in: Remove duplicated line in grub.cfg header
25940 message.
25941
57f96397 259422007-05-13 Robert Millan <rmh@aybabtu.com>
25943
25944 * util/update-grub.in: Fix a few assumptions about the devices holding
25945 /, /boot and /boot/grub being the same.
25946 * util/grub.d/00_header.in: Likewise.
25947 * util/grub.d/10_hurd.in: Likewise.
25948 * util/grub.d/10_linux.in: Likewise.
25949
25950 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
25951 patterns. Use that to define the `.old' suffix as older than `'.
25952
25953 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
25954
25955 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
25956 the grub.cfg header message.
25957
2e610d62 259582007-05-11 Robert Millan <rmh@aybabtu.com>
25959
25960 * util/update-grub.in: Create device.map if it doesn't already exist,
25961 before attempting to run grub-probe.
25962 Check for grub-probe and grub-mkdevicemap with the same code
25963 grub-install is using.
25964 Remove test mode.
25965
3f6a10ef 259662007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
25967
25968 * Makefile.in: Add the datarootdir autoconf variable.
25969
02e7b75e 259702007-05-09 Robert Millan <rmh@aybabtu.com>
25971
25972 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 25973 fail gracefully if dev->disk->partition == NULL.
02e7b75e 25974
75f396cc 259752007-05-07 Robert Millan <rmh@aybabtu.com>
25976
25977 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
25978 determine partition map module.
25979 * util/i386/pc/grub-install.in: Use this feature to decide which
25980 partition module to load, instead of hardcoding pc and gpt.
25981
da65cb36 259822007-05-07 Robert Millan <rmh@aybabtu.com>
25983
25984 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
25985 source directory differs from build directory.
25986
b57d6a91 259872007-05-05 Robert Millan <rmh@aybabtu.com>
25988
25989 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
25990 initialisation.
25991
509d00f1 259922007-05-05 Robert Millan <rmh@aybabtu.com>
25993
25994 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
25995
c48f23ef 259962007-05-05 Robert Millan <rmh@aybabtu.com>
25997
25998 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
25999 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26000
20b97658 260012007-05-05 Robert Millan <rmh@aybabtu.com>
26002
26003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26004 (grub_probe_SOURCES): Likewise.
26005 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26006 GPT and initialize dos_part and bsd_part accordingly.
26007 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26008 install_bsd_part.
26009 (main): Activate gpt module for use during partition identification,
26010 and deactivate it afterwards.
26011 * util/i386/pc/grub-install.in: Add gpt module to core.img.
26012 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
26013 partition identification, and deactivate it afterwards.
26014
99123174 260152007-05-05 Robert Millan <rmh@aybabtu.com>
26016
26017 * term/i386/pc/console.c (grub_console_fini): Call
26018 grub_term_set_current() before grub_term_unregister().
26019
ebd97f6e 260202007-05-04 Robert Millan <rmh@aybabtu.com>
26021
26022 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
26023 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
26024 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
26025 and update-grub_DATA.
26026 * conf/common.rmk: Build and install update-grub components.
26027 * conf/common.mk: Regenerate.
26028 * util/update-grub.in: New. Core of update-grub.
26029 * util/grub.d/00_header.in: New. Generates grub.cfg header.
26030 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
26031 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
26032 * util/grub.d/README: New. Document grub.d directory layout.
26033
b06a264d 260342007-05-01 Robert Millan <rmh@aybabtu.com>
26035
26036 * util/grub-emu.c: Move initialization functions
26037 grub_util_biosdisk_init() and grub_init_all() before
26038 grub_util_biosdisk_get_grub_dev(), which relies on them.
26039
41f0050e 260402007-04-19 Robert Millan <rmh@aybabtu.com>
26041
26042 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26043 it is used later.
26044
04582bb3 260452007-04-18 Jerone Young <jerone@gmail.com>
26046
f19dbdb7 26047 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 26048 stanza.
26049
08db4632 260502007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 26051
08db4632 26052 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26053 continue on and look for device node with real device name.
26054
801b76be 260552007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 26056
fe6b695a 26057 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 26058 ability.
26059 * Makefile.in: Add autoconf package transformation code.
26060 * util/i386/pc/grub-install.in: Likewise.
26061 * util/powerpc/ieee1275/grub-install.in: Likewise.
26062
6795c4e1 260632007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26064
26065 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26066 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26067 (EXT2_REVISION): Likewise.
26068 (EXT2_INODE_SIZE): Likewise.
26069 (struct grub_ext2_block_group): Added a missing member
26070 "used_dirs".
26071 (grub_ext2_read_inode): Divide by the inode size in a superblock
26072 instead of 128 to obtain INODES_PER_BLOCK.
26073 Use the macro EXT2_INODE_SIZE instead of directly using
26074 SBLOCK->INODE_SIZE.
26075
d70af616 260762007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26077
26078 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26079 superblock instead of the structure size to compute an
26080 offset. This fixes the problem that GRUB could not read a
26081 filesystem when inode size is different from 128-byte.
26082
3b801603 260832007-03-05 Marco Gerards <marco@gnu.org>
26084
26085 * normal/main.c (read_config_file): When "menu" is not set, create
26086 an initial context.
26087
4785bfe4 260882007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26089
26090 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26091 (HEAP_LIMIT): New macro.
26092 (grub_claim_heap): Claim memory up to `heaplimit'.
26093
a0cbb023 260942007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26095
26096 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26097 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26098 (_start): Likewise.
26099 (grub_arch_modules_addr): Return address after `_end'.
26100 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26101 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26102 (add_segments): Calculate `_end' from phdr size and location.
26103 (ALIGN_UP): Moved to ...
26104 * include/grub/misc.h: here.
26105 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26106 New macro.
26107 (GRUB_IEEE1275_MODULE_BASE): Removed.
26108
fd7d8eba 261092007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26110
26111 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26112 loop boundary.
26113
9b09e6fc 261142007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26115
26116 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26117 All users updated.
26118 (grub_elf64_load_hook_t): Likewise.
26119 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26120 debug output.
26121
3ce27299 261222007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26123
26124 * kern/mm.c: Update copyright.
26125 (grub_mm_debug): Correct syntax error.
26126 (grub_mm_dump_free): New function.
26127 (grub_debug_free): Call `grub_free'.
26128 * include/grub/mm.h: Update copyright.
26129 (grub_mm_dump_free): Add declaration.
26130
077d5fee 261312007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26132
26133 * include/grub/ieee1275/ieee1275.h: Update copyright.
26134 * kern/powerpc/ieee1275/init.c: Likewise.
26135 * kern/powerpc/ieee1275/openfw.c: Likewise.
26136
26137 * loader/powerpc/ieee1275/linux.c: Likewise.
26138 * include/grub/elfload.h: Likewise.
26139 * kern/elf.c: Likewise.
26140 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26141 callers.
26142 (grub_elf64_load): Likewise.
26143 (grub_elf32_load_segment): Move to a nested function.
26144 (grub_elf64_load_segment): Likewise.
26145
dc946850 261462007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26147
26148 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26149 prototype.
26150 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26151 (grub_heap_len): Likewise.
26152 (HEAP_SIZE): New macro.
26153 (grub_claim_heap): New function.
26154 (grub_machine_init): Don't claim heap directly. Call
26155 `grub_claim_heap'.
26156 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26157 (grub_available_iterate): New function.
26158
baa2a121 261592007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26160
26161 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26162 * configure.ac: Use it for testing the HOST and TARGET compilers.
26163
4fe9862e 261642006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26165
26166 * Makefile.in (enable_grub_emu): New variable.
26167 * configure.ac (--enable-grub-emu): New option.
26168 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26169 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26170 * conf/i386-pc.rmk: Likewise.
26171 * conf/powerpc-ieee1275.rmk: Likewise.
26172 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26173
a8aa5762 261742006-12-12 Marco Gerards <marco@gnu.org>
26175
26176 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26177
26178 * kern/env.c (grub_env_unset): Don't free the member `value' when
26179 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26180 pointer.
26181
26182 * normal/main.c (current_menu): Removed.
26183 (free_menu): Unset the `menu' environment variable.
26184 (grub_normal_menu_addentry): Make use of the environment variable
26185 `menu', instead of using the global `current_menu'. Allocate
26186 memory for the sourcecode of this entry.
26187 (read_config_file): New argument `nested', changed all callers.
26188 Only in the case of a new context, initialize a new menu. Set the
26189 `menu' environment variable.
26190 (grub_normal_execute): Don't set and unset the environment
26191 variable `menu' here anymore. Only free the menu when leaving the
26192 context.
26193
26194 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26195 leak.
26196
957b3a3e 261972006-12-11 Marco Gerards <marco@gnu.org>
26198
26199 * normal/menu_entry.c (run): Fix off by one bug so the last line
26200 is executed. Move the loader check to outside the loop.
26201
ef875714 262022006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26203
26204 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26205
4e739985 262062006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26207
26208 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26209 the number of sectors. Reported by Andrey Shuvikov
26210 <mr_hyro@yahoo.com>.
f19dbdb7 26211
790707f2 262122006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26213
26214 * kern/disk.c (grub_disk_read): When there is a read error, always
26215 try to read only the necessary data.
f19dbdb7 26216
790707f2 26217 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26218 disk/raid.c.
26219 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26220 prototype.
26221 [GRUB_UTIL] (grub_raid_fini): Likewise.
26222 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 26223 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 26224 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26225 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26226 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26227 and grub_raid_fini().
f19dbdb7 26228
03e58196 262292006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26230
26231 * include/grub/types.h (__unused): Rename to UNUSED.
26232 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26233 (grub_elf64_size): Likewise.
f19dbdb7 26234
ae4f23bf 262352006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26236
26237 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26238 grub_error_push and grub_error_pop in the error-handling path.
26239 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26240 length.
26241
2166cc83 262422006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26243
26244 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26245 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26247 (kernel_elf_SOURCES): Likewise.
26248 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26249 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26250 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26251 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26252 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26253 (elf_mod_SOURCES): New variable.
26254 (elf_mod_CFLAGS): Likewise.
26255 (elf_mod_LDFLAGS): Likewise.
26256 * include/grub/types.h (__unused): New macro.
26257 * include/grub/elfload.h: New file.
26258 * kern/elf.c: Likewise.
26259 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26260 (ELF32_LOADMASK): New macro.
26261 (ELF64_LOADMASK): Likewise.
26262 (vmlinux): Removed.
26263 (grub_linux_load32): New function.
26264 (grub_linux_load64): Likewise.
26265 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26266 Use grub_elf_t instead of grub_file_t.
26267
a09d5aa5 262682006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26269
26270 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26271 `catch_result' to struct set_color_args.
26272
d976fc51 262732006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26274
26275 * normal/menu.c: Include grub/script.h.
26276 * normal/menu_entry.c: Likewise.
26277 * include/grub/normal.h: Do not include grub/script.h.
26278
67507549 262792006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26280
26281 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26282
69203a99 262832006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26284
26285 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26286 disk.
26287 (grub_disk_close): Print debug messages when closing a disk.
26288 (grub_disk_read): Print debug messages when disk read fails.
26289 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26290 filesystem type.
26291 * kern/partition.c: Include misc.h.
26292 (grub_partition_iterate): Print debug messages when detecting
26293 partition type.
26294
e2b8278c 262952006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26296
26297 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26298 is negative.
26299 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26300
97b2f2ff 263012006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26302
26303 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26304 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26305
6555d655 263062006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26307
26308 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26309 instead of sizeof(lv). Patch by Michael Guntsche.
26310
4d42b77f 263112006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26312
26313 * disk/lvm.c: Rename VGS to VG_LIST.
26314 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26315 (grub_lvm_open): Likewise.
26316 Thanks to Michael Guntsche for finding this bug.
26317
5d74d927 263182006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26319
26320 * configure.ac (AC_INIT): Bumped to 1.95.
26321
a1bb27e4 263222006-10-14 Robert Millan <rmh@aybabtu.com>
26323
26324 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26325 with "/dev/.static/dev/md".
26326
e0994b8b 263272006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26328
26329 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26330 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26331 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26332 DRIVE_NAME are always freed.
26333
26334 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26335 DOS_PART, as a DOS partition is counted from one instead of zero
26336 now. Reported by Robert Millan.
26337
ddd5cee9 263382006-10-14 Robert Millan <rmh@aybabtu.com>
26339
26340 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26341 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26342 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26343 string returned by grub_guess_root_device.
26344 * util/i386/pc/grub-setup.c: Likewise.
26345 * util/i386/pc/grub-probefs.c: Likewise.
26346
26347 * util/i386/pc/grub-probefs.c: Rename to ...
26348 * util/i386/pc/grub-probe.c: ... this.
26349 * DISTLIST: Remove grub-probefs, add grub-probe.
26350 * conf/i386-efi.rmk: Likewise.
26351 * conf/i386-pc.rmk: Likewise.
26352 * util/i386/pc/grub-install.in: Likewise.
26353
26354 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26355 choose which information we want to print.
26356
2b002173 263572006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26358
26359 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26360 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26361 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26362 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26363 video/readers/tga.c and video/i386/pc/vbeutil.c.
26364
263652006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26366
26367 Added support for RAID and LVM.
f19dbdb7 26368
2b002173 26369 * disk/lvm.c: New file.
26370 * disk/raid.c: Likewise.
26371 * include/grub/lvm.h: Likewise.
f19dbdb7 26372 * include/grub/raid.h: Likewise.
2b002173 26373 * include/grub/util/lvm.h: Likewise.
26374 * include/grub/util/raid.h: Likewise.
26375 * util/lvm.c: Likewise.
26376 * util/raid.c: Likewise.
26377
26378 * include/grub/disk.h (grub_disk_dev_id): Add
26379 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26380 (grub_disk_get_size): New prototype.
26381 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26382 returns a partition.
26383 (grub_disk_get_size): New function.
f19dbdb7 26384
2b002173 26385 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26386 verbatim if grub_install_dos_part is -2.
26387
26388 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26389 and LVM devices.
26390
26391 * util/i386/pc/grub-setup.c (setup): New argument
26392 MUST_EMBED. Force embedding of GRUB when the argument is
26393 true. Close FILE before returning.
26394 (main): Add support for RAID and LVM.
f19dbdb7 26395
2b002173 26396 * conf/common.rmk: Add RAID and LVM modules.
26397 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26398 util/lvm.c.
26399 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26400
26401 * kern/misc.c (grub_strstr): New function.
26402 * include/grub/misc.h (grub_strstr): New prototype.
26403
050548d0 264042006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26405
26406 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26407
da849d2d 264082006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26409
26410 * kern/misc.c (grub_strtoull): Guess the base only if not
26411 specified.
26412
97b2f2ff 264132006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 26414
26415 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26416 PowerMac support.
26417
97b2f2ff 264182006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 26419
26420 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26421
26422 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26423 Remove `flags' argument. All callers changed.
26424 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26425 (IEEE1275_IHANDLE_INVALID): New variable.
26426 (IEEE1275_CELL_INVALID): New variable.
26427 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26428 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26429 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26430 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26431 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26432 codes from Open Firmware. All callers updated.
26433 (grub_ieee1275_next_property): Directly return Open Firmware return
26434 code.
26435 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26436 Standardize error checking from `grub_ieee1275_get_property'.
26437 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26438 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26439
97b2f2ff 264402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26441
26442 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26443 `instance_to_package_args' to `instance_to_path_args'.
26444
26445 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26446 `grub_ieee1275_chosen'.
26447
26448 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26449 `grub_ieee1275_interpret'.
26450
97b2f2ff 264512006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26452
26453 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26454
97b2f2ff 264552006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26456
26457 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26458 (__cmpdi): Likewise.
26459
26460 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26461 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26462 `grub_ssize_t'.
26463
02bb8acc 26464 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 26465
26466 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26467 to type `grub_ssize_t'.
26468 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26469
7f9a8531 264702006-09-22 Marco Gerards <marco@gnu.org>
26471
26472 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26473 newlines.
26474
b5ef1102 264752006-09-22 Marco Gerards <marco@gnu.org>
26476
26477 * commands/echo.c: New file.
26478
26479 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26480
26481 * conf/common.rmk (echo_mod_SOURCES): New variable.
26482 (echo_mod_CFLAGS): Likewise.
26483 (echo_mod_LDFLAGS): Likewise.
26484
2cff3677 264852006-09-22 Marco Gerards <marco@gnu.org>
26486
26487 * normal/main.c (get_line): Malloc memory instead of using
26488 preallocated memory. Removed the arguments `cmdline' and
26489 `max_len'. Updated all callers.
26490
6ba4688b 264912006-09-22 Marco Gerards <marco@gnu.org>
26492
26493 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26494 (normal_mod_DEPENDENCIES): Likewise.
26495
26496 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26497 (normal_mod_DEPENDENCIES): Likewise.
26498
26499 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26500
e02ac02c 265012006-09-22 Johan Rydberg <jrydberg@gnu.org>
26502
26503 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26504 programs.
26505 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26506 (normal_mod_DEPENDENCIES): Likewise.
26507 * conf/i386-pc.mk: Regenerate.
26508 * conf/i386-efi.mk: Likewise
26509 * conf/common.mk: Likewise.
26510 * conf/powerpc-ieee1275.mk: Likewise.
26511 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26512
8d252e44 265132006-09-22 Robert Millan <rmh@aybabtu.com>
26514
26515 Sync with i386 version.
26516 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26517 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26518
209bf7ac 265192006-09-21 Robert Millan <rmh@aybabtu.com>
26520
26521 Import from GRUB Legacy (lib/device.c):
26522 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26523 (init_device_map) [__linux__]: Add support for I2O devices.
26524
6b146090 265252006-09-14 Marco Gerards <marco@gnu.org>
26526
26527 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26528 `-melf_i386'.
26529
e38600a8 265302006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 26531
26532 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26533 /boot/grub/*.lst.
78fa1790 26534
2952da5d 26535 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 26536
2952da5d 26537 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26538 before adding it to device.map.
26539
01b82a64 265402006-08-15 Johan Rydberg <jrydberg@gnu.org>
26541
fe6b695a 26542 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 26543 compiles a file; using the -MD option.
26544 * conf/common.mk: Regenerate.
26545 * conf/i386-pc.mk: Likewise.
26546 * conf/i386-efi.mk: Likewise.
26547 * conf/powerpc-ieee1275.mk: Likewise.
26548 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26549
1064790d 265502006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
26551
26552 Move the prototypes of grub_setjmp and grub_longjmp to
26553 cpu/setjmp.h, so that each architecture may specify different
26554 attributes.
f19dbdb7 26555
1064790d 26556 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
26557 (grub_longjmp): Likewise.
26558 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
26559 (grub_longjmp): Likewise.
26560 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
26561 (grub_longjmp): Likewise.
26562
26563 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
26564 [!GRUB_UTIL] (grub_longjmp): Removed.
26565
29dda3ed 265662006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
26567
26568 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
26569 "color!" method does not return any value.
26570
ad2a06ed 265712006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26572
26573 * include/grub/bitmap.h: New file.
26574
26575 * include/grub/i386/pc/vbeutil.h: Likewise.
26576
26577 * video/bitmap.c: Likewise.
26578
26579 * video/readers/tga.c: Likewise.
26580
26581 * video/i386/pc/vbeutil.c: Likewise.
26582
26583 * commands/videotest.c: Code cleanup and updated to reflect to new
26584 video API.
26585
26586 * term/gfxterm.c: Likewise.
26587
26588 * video/video.c: Likewise.
26589
26590 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
26591 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
26592 (bitmap_mod_SOURCES): New entry.
26593 (bitmap_mod_CFLAGS): Likewise.
26594 (bitmap_mod_LDFLAGS): Likewise.
26595 (tga_mod_SOURCES): Likewise.
26596 (tga_mod_CFLAGS): Likewise.
26597 (tga_mod_LDFLAGS): Likewise.
26598
26599 * include/grub/video.h (grub_video_blit_operators): New enum type.
26600 (grub_video_render_target): Changed as forward declaration and moved
26601 actual definition to be video driver specific.
26602 (grub_video_adapter.blit_bitmap): Added blitting operator.
26603 (grub_video_adapter.blit_render_target): Likewise.
26604 (grub_video_blit_bitmap): Likewise.
26605 (grub_video_blit_render_target): Likewise.
26606
26607 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
26608 driver specific render target definition.
26609 (grub_video_vbe_map_rgba): Added driver internal helper.
26610 (grub_video_vbe_unmap_color): Updated to use
26611 grub_video_i386_vbeblit_info.
26612 (grub_video_vbe_get_video_ptr): Likewise.
26613
26614 * include/grub/i386/pc/vbeblit.h
26615 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
26616 grub_video_i386_vbeblit_info.
26617 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26618 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26619 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26620 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26621 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26622 (grub_video_i386_vbeblit_index_index): Likewise.
26623 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
26624 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26625 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26626 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
26627 operator.
26628 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
26629 operator.
26630
26631 * video/i386/pc/vbeblit.c: Updated to reflect changes on
26632 include/grub/i386/pc/vbeblit.h.
26633
26634 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
26635 Updated to use grub_video_i386_vbeblit_info.
26636 (grub_video_i386_vbefill_R8G8B8): Likewise.
26637 (grub_video_i386_vbefill_index): Likewise.
26638 (grub_video_i386_vbefill): Added generic filler.
26639
26640 * video/i386/pc/vbefill.c: Updated to reflect changes on
26641 include/grub/i386/pc/vbefill.h.
26642
26643 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
26644 grub_video_i386_vbeblit_info.
26645 (grub_video_vbe_unmap_color): Likewise.
26646 (grub_video_vbe_blit_glyph): Likewise.
26647 (grub_video_vbe_scroll): Likewise.
26648 (grub_video_vbe_draw_pixel): Removed function.
26649 (grub_video_vbe_get_pixel): Likewise.
26650 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
26651 updated code to use it.
26652 (common_blitter): Added common blitter for render target and bitmap.
26653 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
26654 (grub_video_vbe_blit_render_target): Likewise.
26655
bc8c036d 266562006-07-30 Johan Rydberg <jrydberg@gnu.org>
26657
26658 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
26659 is in text mode if there is no console control protocol instance
26660 available.
26661
684a8eff 266622006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26663
26664 * include/grub/video.h: Code cleanup.
26665
26666 * include/grub/i386/pc/vbe.h: Likewise.
26667
26668 * video/i386/pc/vbe.c: Likewise.
26669
26670 * video/i386/pc/vbeblit.c: Likewise.
26671
26672 * video/i386/pc/vbefill.c: Likewise.
26673
26674 * video/video.c: Likewise. Also added more comments.
26675
5915059b 266762006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26677
26678 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
26679 (struct grub_biosdisk_dap): Likewise.
26680
26681 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
26682 linkage settings for all functions.
26683
90ce5d56 266842006-07-12 Marco Gerards <marco@gnu.org>
26685
26686 * configure.ac (--enable-mm-debug): Fix typo.
26687
26688 * genkernsyms.sh.in: Use proper quoting for `CC'.
26689
43e7f879 266902006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
26691
26692 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
26693 (normal_mod_ASFLAGS): Remove "-m32".
26694
4889bdec 266952006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
26696
26697 * util/misc.c: Include config.h.
26698 [!HAVE_MEMALIGN]: Do not include malloc.h.
26699 (grub_memalign): Use posix_memalign, if present. Then, use
26700 memalign, if present. Otherwise, emit an error.
26701
26702 * util/grub-emu.c: Do not include malloc.h.
26703
26704 * include/grub/util/misc.h: Include unistd.h. This is required for
26705 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
26706 D. Eades III <hde@foobar-qux.org>.
26707
26708 * configure.ac (AC_GNU_SOURCE): Added.
26709 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
26710 type.
26711
fd39d4da 267122006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
26713
26714 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
26715 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
26716
b786f3b5 267172006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
26718
26719 * include/grub/types.h (grub_host_addr_t): Rename to
26720 grub_target_addr_t.
26721 (grub_host_off_t): Rename to grub_target_off_t.
26722 (grub_host_size_t): Rename to grub_target_size_t.
26723 (grub_host_ssize_t): Rename to grub_target_ssize_t.
26724 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
26725
26726 * include/grub/kernel.h (struct grub_module_header): Change type
26727 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
26728 (grub_module_info): Likewise.
f19dbdb7 26729
051988bb 267302006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26731
26732 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
26733 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
26734 Velazquez <jesus.velazquez@gmail.com>.
26735
deae281b 267362006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26737
26738 Count partitions from 1 instead of 0 in the string representation
26739 of partitions. Still use 0-based internally.
f19dbdb7 26740
deae281b 26741 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
26742 (sun_partition_map_iterate): Use grub_partition_t instead of
26743 struct grub_partition *. Cast DESC->START_CYLINDER to
26744 grub_uint64_t after converting the endian.
26745 (sun_partition_map_probe): Subtract 1 for PARTNUM.
26746 (sun_partition_map_get_name): Add 1 to P->INDEX.
26747
26748 * partmap/pc.c (grub_partition_parse): Subtract 1 for
26749 PCDATA->DOS_PART.
26750 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
26751
26752 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
26753 zero instead of one.
26754 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
26755 (gpt_partition_map_get_name): Add 1 into P->INDEX.
26756
26757 * partmap/apple.c (apple_partition_map_iterate): Change the type
26758 of POS to unsigned.
26759 (apple_partition_map_probe): Subtract 1 for PARTNUM.
26760 (apple_partition_map_get_name): Add 1 into P->INDEX.
26761
26762 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
26763 of POS to unsigned.
26764 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
26765 calculate the offset of a partition.
26766 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
26767 (amiga_partition_map_get_name): Add 1 into P->INDEX.
26768
26769 * partmap/acorn.c (acorn_partition_map_find): Change the type of
26770 SECTOR to grub_disk_addr_t.
26771 (acorn_partition_map_iterate): Likewise.
26772 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
26773 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
26774 top.
26775 (acorn_partition_map_get_name): Add 1 into P->INDEX.
26776
26777 * kern/i386/pc/init.c (make_install_device): Add 1 into
26778 GRUB_INSTALL_DOS_PART.
26779
26780 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
26781 conditional.
26782
524a1e6a 267832006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26784
26785 Clean up the code to support 64-bit addressing in disks and
26786 files. This change is not enough for filesystems yet.
f19dbdb7 26787
524a1e6a 26788 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
26789 type of "start" to grub_uint64_t.
26790 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
26791 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
26792 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
26793 convert addresses.
26794
26795 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
26796 to grub_disk_addr_t.
26797
26798 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
26799 string.
26800
26801 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26802
26803 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
26804 to char *.
26805
26806 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
26807
26808 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
26809
26810 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
26811
26812 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
26813 to grub_off_t, to detect an error from grub_file_seek.
26814 (grub_multiboot_load_elf32): Likewise.
26815
26816 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
26817 maximum unsigned long value when an overflow is detected.
26818 (grub_strtoull): New function.
26819 (grub_divmod64): Likewise.
26820 (grub_lltoa): use grub_divmod64.
26821
26822 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
26823 grub_disk_addr_t.
26824 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
26825 the pointer to next character. Use grub_strtoull instead of
26826 grub_strtoul.
26827 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
26828 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
26829 respectively.
26830
fe6b695a 26831 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 26832 return value is signed.
26833 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
26834 test if OFFSET is less than zero, as OFFSET is unsigned now.
26835
26836 * kern/disk.c (struct grub_disk_cache): Change the type of
26837 "sector" to grub_disk_addr_t.
26838 (grub_disk_cache_get_index): Change the type of SECTOR to
26839 grub_disk_addr_t. Calculate the hash with SECTOR casted to
26840 unsigned after shifting.
26841 (grub_disk_cache_invalidate): Change the type of SECTOR to
26842 grub_disk_addr_t.
26843 (grub_disk_cache_unlock): Likewise.
26844 (grub_disk_cache_store): Likewise.
26845 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
26846 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
26847 grub_disk_addr_t and grub_uint64_t, respectively.
26848 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
26849 body, as the value of OFFSET is tweaked by
26850 grub_disk_check_range. Change the types of START_SECTOR, LEN and
26851 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
26852 respectively.
26853 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
26854 body, as the value of OFFSET is tweaked by
26855 grub_disk_check_range. Change the types of LEN and N to
26856 grub_size_t.
26857
26858 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
26859 and "saved_offset" to grub_off_t.
26860 (test_header): Cast BUF to char *.
26861 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
26862 to char *.
26863 (grub_gzio_read): Change the types of OFFSET and SIZE to
26864 grub_off_t and grub_size_t, respectively.
26865
26866 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
26867 Removed.
26868 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
26869 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
26870 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
26871 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
26872 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
26873
26874 * include/grub/types.h (grub_off_t): Unconditionally set to
26875 grub_uint64_t.
26876 (grub_disk_addr_t): Changed to grub_uint64_t.
26877
26878 * include/grub/partition.h (struct grub_partition): Change the
26879 types of "start", "len" and "offset" to grub_disk_addr_t,
26880 grub_uint64_t and grub_disk_addr_t, respectively.
26881 (grub_partition_get_start): Return grub_disk_addr_t.
26882 (grub_partition_get_len): Return grub_uint64_t.
26883
26884 * include/grub/misc.h (grub_strtoull): New prototype.
26885 (grub_divmod64): Likewise.
26886
26887 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
26888 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
26889 grub_off_t, respectively.
26890 All callers and references changed.
26891
26892 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
26893 grub_size_t in "read".
26894 All callers and references changed.
26895
26896 * include/grub/file.h (struct grub_file): Change the types of
26897 "offset" and "size" to grub_off_t and grub_off_t,
26898 respectively. Change the type of SECTOR to grub_disk_addr_t in
26899 "read_hook".
26900 (grub_file_read): Change the type of LEN to grub_size_t.
26901 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
26902 grub_off_t.
26903 (grub_file_size): Return grub_off_t.
26904 (grub_file_tell): Likewise.
26905 All callers and references changed.
26906
26907 * include/grub/disk.h (struct grub_disk_dev): Change the types of
26908 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
26909 "write".
26910 (struct grub_disk): Change the type of "total_sectors" to
26911 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 26912 "read_hook".
524a1e6a 26913 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
26914 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
26915 (grub_disk_write): Likewise.
26916 All callers and references changed.
26917
26918 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
26919 char * for grub_strncmp to silence gcc.
26920 (grub_iso9660_mount): Likewise.
26921 (grub_iso9660_mount): Likewise.
26922 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
26923 return statement.
26924 (grub_iso9660_iterate_dir): Likewise.
26925 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
26926
26927 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
26928 LEN to grub_disk_addr_t and grub_size_t, respectively.
26929
26930 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26931
26932 * fs/jfs.c (grub_jfs_read_file): Likewise.
26933
26934 * fs/minix.c (grub_jfs_read_file): Likewise.
26935
26936 * fs/sfs.c (grub_jfs_read_file): Likewise.
26937
26938 * fs/ufs.c (grub_jfs_read_file): Likewise.
26939
26940 * fs/xfs.c (grub_jfs_read_file): Likewise.
26941
26942 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
26943 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
26944 respectively.
26945
26946 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
26947 BLKNR to -1 instead of returning GRUB_ERRNO.
26948 (grub_ext2_read_file): Change the types of SECTOR and
26949 LEN to grub_disk_addr_t and grub_size_t, respectively.
26950
26951 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
26952 LEN to grub_disk_addr_t and grub_size_t, respectively.
26953
26954 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
26955 grub_file_read.
26956
26957 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
26958 string. Do not cast SECTOR explicitly.
26959
26960 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
26961 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
26962 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
26963 grub_disk_addr_t and grub_size_t, respectively. If the sector is
26964 over 2TB and LBA mode is not supported, raise an error.
26965 (get_safe_sectors): New function.
26966 (grub_biosdisk_read): Use get_safe_sectors.
26967 (grub_biosdisk_write): Likewise.
26968
26969 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
26970 (grub_efidisk_write): Likewise.
26971
26972 * disk/loopback.c (delete_loopback): Cosmetic changes.
26973 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
26974 correctly.
26975 (grub_loopback_open): Likewise.
26976 (grub_loopback_read): Likewise. Also, change the type of POS to
26977 grub_off_t, and fix the usage of grub_memset.
26978
26979 * commands/i386/pc/play.c: Include grub/machine/time.h.
26980
26981 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
26982 print FILE->SIZE.
26983
26984 * commands/configfile.c: Include grub/env.h.
26985
26986 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
26987 GRUB_ERRNO directly instead. Change the type of POS to
26988 grub_off_t. Follow the coding standard.
26989
26990 * commands/blocklist.c: Include grub/partition.h.
26991 (grub_cmd_blocklist): Return an error if the underlying device is
26992 not a disk. Take the starting sector of a partition into account,
26993 if a partition is used.
26994
26995 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
26996 a length field.
26997 (lba_mode): Support 64-bit addresses.
26998 (chs_mode): Likewise.
26999 (copy_buffer): Adapted to the new offsets of a length field and a
27000 segment field.
27001 (blocklist_default_start): Allocate 64-bit space.
27002
27003 * boot/i386/pc/boot.S (force_lba): Removed.
27004 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27005 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27006 space.
27007 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27008 is useless.
27009 (lba_mode): Refactored to support a 64-bit address. More size
27010 optimization.
27011 (setup_sectors): Likewise.
27012
53af98ad 270132006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27014
27015 * DISTLIST: Added include/grub/i386/linux.h. Removed
27016 include/grub/i386/pc/linux.h
27017
27018 * configure.ac (AC_INIT): Bumped to 1.94.
27019
27020 * config.guess: Updated from gnulib.
27021 * config.sub: Likewise.
27022 * install-sh: Likewise.
27023 * mkinstalldirs: Likewise.
27024
b4c1940a 270252006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27026
27027 * conf/common.rmk (grub_modules_init.lst): Depended on
27028 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
27029 MODSRCFILES.
27030
27031 * genmk.rb (PModule::rule): Reverted the previous change.
27032
cfca1cfd 270332006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27034
27035 * conf/common.rmk (grub_modules_init.lst): Depends on
27036 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
27037 that the target does not exist before producing.
27038 (grub_modules_init.h): Remove the target before generating.
27039 (grub_emu_init.c): Likewise.
27040
27041 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
27042
aa6d7826 270432006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27044
27045 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27046 for the target-specific tests. Make sure that we also have the
27047 up-to-date target variables for those tests.
27048
26c607b9 270492006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27050
27051 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27052 (PModule::rule): Likewise.
27053
0162321a 270542006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27055
27056 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27057 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27058 target-specific flags should be prefixed.
27059 (PModule::rule): Likewise.
27060
6c826348 270612006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27062
27063 * configure.ac (CMP): Check if cmp is available explicitly.
27064
b977bf01 270652006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27066
27067 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27068 (target_cpu): New variable.
27069 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 27070
b977bf01 27071 * util/i386/pc/grub-install.in (host_cpu): Removed.
27072 (target_cpu): New variable.
27073 (pkglibdir): Use target_cpu instead of host_cpu.
27074
27075 * util/genmoddep.c: Removed.
f19dbdb7 27076
b977bf01 27077 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27078 instead of GRUB_HOST_SIZEOF_VOID_P.
27079 * kern/dl.c: Likewise.
27080
27081 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27082 ...
27083 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27084 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27085 (GRUB_TARGET_SIZEOF_LONG): ... this.
27086 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27087 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27088 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27089 to ...
27090 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27091 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27092 (GRUB_TARGET_SIZEOF_LONG): ... this.
27093 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27094 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27095 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27096 to ...
27097 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27098 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27099 (GRUB_TARGET_SIZEOF_LONG): ... this.
27100 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27101 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27102
27103 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27104 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27105 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27106 instead of GRUB_HOST_SIZEOF_LONG.
27107 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27108 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27109 GRUB_CPU_WORDS_BIGENDIAN.
27110 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27111 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27112 grub_host_ssize_t.
27113
27114 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27115 (genmoddep_SOURCES): Likewise.
27116 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27117 (genmoddep_SOURCES): Likewise.
27118 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27119 (genmoddep_SOURCES): Likewise.
27120 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27121 Likewise.
27122 (genmoddep_SOURCES): Likewise.
27123
27124 * genmoddep.awk: New file.
27125
27126 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27127 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27128 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27129 (PModule::rule): Likewise.
27130 (Program::rule): Likewise.
27131 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27132 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27133 respectively.
27134
27135 * configure.ac: Rewritten intensively to use host and target
27136 instead of build and host, respectively.
27137
27138 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27139 (host_cpu): Removed.
27140 (target_cpu): New variable.
27141 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27142 (BUILD_CC): Removed.
27143 (BUILD_CFLAGS): Likewise.
27144 (BUILD_CPPFLAGS): Likewise.
27145 (TARGET_CC): New variable.
27146 (TARGET_CFLAGS): Likewise.
27147 (TARGET_CPPFLAGS): Likewise.
27148 (TARGET_LDFLAGS): Likewise.
27149 (AWK): Likewise.
27150 (include): Use target_cpu instead of host_cpu.
27151 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27152
b977bf01 27153 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27154
f09771a1 271552006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27156
27157 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27158 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27159 field 'false' to 'exec_on_false'.
27160 (grub_script_create_cmdif): Renamed argument names to reflect above
27161 changes.
27162
27163 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27164
27165 * normal/script.c (grub_script_create_cmdif): Likewise.
27166
118f4fb3 271672006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27168
27169 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27170 top.
27171 (grub_hfsplus_btree_recptr): Likewise.
27172 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27173 FILEBLOCK both to pass a block number and store next block
27174 number.
27175 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27176 overflow file correctly. Specify errors appropriately, because
27177 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27178 grub_hfsplus_btree_recptr to get the pointer to a found key.
27179 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27180 is found.
27181
27182 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27183 linux.mod.
27184 (_linux_mod_SOURCES): New variable.
27185 (_linux_mod_CFLAGS): Likewise.
27186 (_linux_mod_LDFLAGS): Likewise.
27187 (linux_mod_SOURCES): Likewise.
27188 (linux_mod_CFLAGS): Likewise.
27189 (linux_mod_LDFLAGS): Likewise.
27190
27191 * DISTLIST: Added loader/i386/efi/linux.c,
27192 loader/i386/efi/linux_normal.c and
27193 include/grub/i386/efi/loader.h.
27194
27195 * loader/i386/efi/linux.c: New file.
27196 * loader/i386/efi/linux_normal.c: Likewise.
27197 * include/grub/i386/efi/loader.h: Likewise.
27198
89a7d726 271992006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27200
27201 * commands/blocklist.c: New file.
27202
27203 * DISTLIST: Added commands/blocklist.c.
27204
27205 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 27206 color for the background, and a darker color for the foreground.
89a7d726 27207 (grub_console_checkkey): Return READ_KEY.
27208 (grub_console_cls): Set the background to
27209 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27210
27211 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27212
27213 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27214 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27215
27216 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27217 prototype.
27218
27219 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27220 BG. The spec is wrong again.
27221
27222 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27223 prototype.
27224 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27225
27226 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27227 commands/blocklist.c.
27228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 27229
89a7d726 27230 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27231 (blocklist_mod_SOURCES): New variable.
27232 (blocklist_mod_CFLAGS): Likewise.
27233 (blocklist_mod_LDFLAGS): Likewise.
27234
75c8f258 272352006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27236
27237 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27238 duplication.
27239 (lba_mode): Use %eax more intensively to reduce the code size.
27240
da2eb181 272412006-05-20 Marco Gerards <marco@gnu.org>
27242
27243 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27244
27245 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27246 for `menuentry'.
27247 (script): Accept leading newlines.
27248 (newlines): New rule to describe 0 or more newlines.
27249 (commands): Accept `command' with trailing newline. Fixed the
27250 order in which arguments were passed to `grub_script_add_cmd'.
27251 Accept commands separated by newlines.
27252 (function): Changed to accept newlines.
27253 (menuentry) Rewritten.
27254
27255 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27256 front of the list, instead of to the end.
27257
577b4050 272582006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27259
27260 * util/i386/pc/grub-install.in (bindir): New variable.
27261 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27262 Shaver <lbgwjl@gmail.com>.
27263
0d6e1189 272642006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27265
27266 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27267 grub/machine/linux.h
27268 * loader/i386/pc/linux.c: Likewise.
27269
27270 * include/grub/i386/pc/linux.h: Moved to ...
27271 * include/grub/i386/linux.h: ... here.
27272
27273 * include/grub/i386/linux.h (struct linux_kernel_params): New
27274 struct.
f19dbdb7 27275
31b86e9f 272762006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27277
27278 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27279 checking.
27280 (grub_video_vbe_blit_glyph): Likewise.
27281 (grub_video_vbe_blit_bitmap): Likewise.
27282 (grub_video_vbe_blit_render_target): Likewise.
27283
83b984de 272842006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27285
27286 * configure.ac (--with-platform): Properly quote the square
27287 brackets.
27288
5f0413bd 272892006-05-08 Marco Gerards <marco@gnu.org>
27290
27291 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27292 this...
27293 (kernel_elf_HEADERS): ...to this. Updated all users.
27294 (grubof_symlist.c): Renamed from this...
27295 (kernel_elf_symlist.c): ...to this. Updated all users.
27296 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27297 (grubof_SOURCES): Renamed from this...
27298 (kernel_elf_SOURCES): ...to this.
27299 (grubof_HEADERS): Renamed from this...
27300 (kernel_elf_HEADERS): ...to this.
27301 (grubof_CFLAGS): Renamed from this...
27302 (kernel_elf_CFLAGS): ...to this.
27303 (grubof_ASFLAGS): Renamed from this...
27304 (kernel_elf_ASFLAGS): ...to this.
27305 (grubof_LDFLAGS): Renamed from this...
27306 (kernel_elf_LDFLAGS): ...to this.
27307
27308 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27309 this...
27310 (kernel_elf_HEADERS): ...to this. Updated all users.
27311 (grubof_symlist.c): Renamed from this...
27312 (kernel_elf_symlist.c): ...to this. Updated all users.
27313 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27314 (grubof_SOURCES): Renamed from this...
27315 (kernel_elf_SOURCES): ...to this.
27316 (grubof_HEADERS): Renamed from this...
27317 (kernel_elf_HEADERS): ...to this.
27318 (grubof_CFLAGS): Renamed from this...
27319 (kernel_elf_CFLAGS): ...to this.
27320 (grubof_ASFLAGS): Renamed from this...
27321 (kernel_elf_ASFLAGS): ...to this.
27322 (grubof_LDFLAGS): Renamed from this...
27323 (kernel_elf_LDFLAGS): ...to this.
27324
27325 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27326 `kernel.elf' instead of `grubof'.
27327
05568c2e 273282006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27329
27330 Add --with-platform to configure. Use pkglibdir instead of
27331 pkgdatadir. This is reported by Roger Leigh.
27332
27333 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27334 (host_vendor): Likewise.
27335 (host_os): Likewise.
27336 (pkgdatadir): Likewise.
27337 (platform): New variable.
27338 (pkglibdir): Likewise.
27339 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27340
05568c2e 27341 * util/i386/pc/grub-install.in (datadir): Removed.
27342 (host_vendor): Likewise.
27343 (host_os): Likewise.
27344 (pkgdatadir): Likewise.
27345 (platform): New variable.
27346 (pkglibdir): Likewise.
27347 Use PKGLIBDIR instead of PKGDATADIR.
27348
27349 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27350 instead of GRUB_DATADIR.
27351 (main): Likewise.
27352 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27353 (main): Likewise.
27354 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27355 (main): Likewise.
27356
27357 * configure.ac (--with-platform): New option.
27358 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27359
27360 * Makefile.in: Include a makefile based on PLATFORM instead of
27361 HOST_VENDOR.
27362 (pkgdatadir): Not appended by the machine type.
27363 (pkglibdir): Appended by the machine type.
27364 (host_vendor): Removed.
27365 (platform): New variable.
27366 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27367 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27368 (uninstall): Likewise.
27369
4e93851c 273702006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27371
27372 Use the environment context in the menu. Remove the commands
27373 "default" and "timeout", and use variables instead.
f19dbdb7 27374
4e93851c 27375 * normal/menu.c: Include grub/env.h.
27376 (print_entry): Cast TITLE to silence gcc.
27377 (get_timeout): New function.
27378 (set_timeout): Likewise.
27379 (get_entry_number): Likewise.
27380 (run_menu): Use a default entry, a fallback entry and a timeout
27381 in the environment variables "default", "fallback" and
27382 "timeout". Also, tweak the default entry if it is not within the
27383 current menu entries.
27384 (grub_menu_run): Use a fallback entry in the environment variable
27385 "fallback".
27386
27387 * normal/main.c (read_config_file): Do not initialize
27388 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27389 NEWMENU->TIMEOUT.
27390 (grub_normal_execute): Use a data slot to store the menu.
27391
27392 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27393 fallback_entry and timeout.
27394 (struct grub_menu_list): Removed.
27395 (grub_menu_list_t): Likewise.
27396 (struct grub_context): Likewise.
27397 (grub_context_t): Likewise.
27398 (grub_context_get): Likewise.
27399 (grub_context_get_current_menu): Likewise.
27400 (grub_context_push_menu): Likewise.
27401 (grub_context_pop_menu): Likewise.
27402 (grub_default_init): Likewise.
27403 (grub_default_fini): Likewise.
27404 (grub_timeout_init): Likewise.
27405 (grub_timeout_fini): Likewise.
27406
27407 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27408 and timeout.mod.
27409 (normal_mod_SOURCES): Removed normal/context.c.
27410
27411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27412 commands/default.c, commands/timeout.c and normal/context.c.
27413 (normal_mod_SOURCES): Removed normal/context.c.
27414
27415 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27416 commands/timeout.c and normal/context.c.
27417 (normal_mod_SOURCES): Removed normal/context.c.
27418
27419 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27420 commands/default.c, commands/timeout.c and normal/context.c.
27421 (normal_mod_SOURCES): Removed normal/context.c.
27422
27423 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27424 timeout.mod.
27425 (default_mod_SOURCES): Removed.
27426 (default_mod_CFLAGS): Likewise.
27427 (default_mod_LDFLAGS): Likewise.
27428 (timeout_mod_SOURCES): Removed.
27429 (timeout_mod_CFLAGS): Likewise.
27430 (timeout_mod_LDFLAGS): Likewise.
27431
27432 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27433 normal/context.c.
27434
27435 * commands/default.c: Removed.
27436 * commands/timeout.c: Likewise.
27437 * normal/context.c: Likewise.
27438
1eb9cc1d 274392006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27440
27441 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27442
385bd9c1 274432006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27444
27445 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27446 "next" to "prev" for readability.
27447 (struct grub_env_sorted_var): New struct.
27448 (grub_env_context): Renamed to ...
27449 (initial_context): ... this.
27450 (grub_env_var_context): Renamed to ...
27451 (current_context): ... this.
27452 (grub_env_find): Look only at CURRENT_CONTEXT.
27453 (grub_env_context_open): Rewritten to copy exported variables from
27454 previous context.
27455 (grub_env_context_close): Rewritten according to the new
27456 scheme. Also, add an assertion to prevent the initial context from
27457 removed.
27458 (grub_env_insert): Removed the code for the sorted list.
27459 (grub_env_remove): Likewise.
27460 (grub_env_export): Simply mark the variable with
27461 GRUB_ENV_VAR_GLOBAL.
27462 (grub_env_set): A cosmetic change for naming consistency.
27463 (grub_env_get): Likewise.
27464 (grub_env_unset): Likewise.
27465 (grub_env_iterate): Rewritten to sort variables within this
27466 function.
27467 (grub_register_variable_hook): Fixed for naming consistency. Call
27468 grub_env_find again, only if NAME is not found at the first time.
27469 (mangle_data_slot_name): New function.
27470 (grub_env_set_data_slot): Likewise.
27471 (grub_env_get_data_slot): Likewise.
27472 (grub_env_unset_data_slot): Likewise.
27473
27474 * include/grub/env.h (grub_env_var_type): New enum.
27475 (GRUB_ENV_VAR_LOCAL): New constant.
27476 (GRUB_ENV_VAR_GLOBAL): Likewise.
27477 (GRUB_ENV_VAR_DATA): Likewise.
27478 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27479 "type".
27480 (grub_env_set): Replace VAR with NAME for consistency.
27481 (grub_register_variable_hook): Likewise.
27482 (grub_env_export): Specify the name of the argument.
27483 (grub_env_set_data_slot): New prototype.
27484 (grub_env_get_data_slot): Likewise.
27485 (grub_env_unset_data_slot): Likewise.
27486
7f362539 274872006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27488
27489 Extend the loader so that GRUB can accept a loader which comes
27490 back to GRUB when a loaded image exits. Also, this change adds
27491 support for a chainloader on EFI.
f19dbdb7 27492
7f362539 27493 * term/efi/console.c: Include grub/misc.h.
27494 (grub_console_checkkey): Display a scan code on the top for
27495 debugging. This will be removed once the EFI port gets stable.
27496 Correct the scan code mapping.
27497
27498 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27499 allocate memory from larger regions, in order to reduce the number
27500 of allocated regions. Otherwise, the MacOSX loader panics.
27501 (filter_memory_map): Avoid less than 1MB for compatibility with
27502 other loaders.
27503 (add_memory_regions): Allocate from the tail of a region, if
27504 possible, to avoid allocating a region near to 1MB, for the MacOSX
27505 loader.
27506
27507 * kern/efi/init.c (grub_efi_set_prefix): Specify
27508 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27509
27510 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27511 argument IMAGE_HANDLE and specify it to get a loaded image.
27512 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27513 grub_efi_get_loaded_image.
fe6b695a 27514 (grub_efi_get_filename): Divide the length by the size of
7f362539 27515 grub_efi_char16_t.
27516 (grub_efi_get_device_path): New function.
27517 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27518 the length by the size of grub_efi_char16_t for a file path device
27519 path node.
27520
27521 * kern/loader.c (grub_loader_noreturn): New variable.
27522 (grub_loader_set): Accept a new argument NORETURN. Set
27523 GRUB_LOADER_NORETURN to NORETURN.
27524 All callers changed.
27525 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27526 grub_machine_fini.
27527
27528 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27529 prototype.
27530 (grub_efi_get_loaded_image): Take an argument to specify an image
27531 handle.
27532
27533 * include/grub/loader.h (grub_loader_set): Added one more argument
27534 NORETURN.
27535
27536 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27537 instead of grub_efi_open_protocol.
27538 (grub_efidisk_get_device_name): Likewise.
27539 (grub_efidisk_close): Print a newline.
27540 (grub_efidisk_get_device_handle): Fixed to use
27541 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
27542 GRUB_EFI_DEVICE_PATH_TYPE.
27543
27544 * disk/efi/efidisk.c (device_path_guid): Moved to ...
27545 * kern/efi/efi.c (device_path_guid): ... here.
27546
27547 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
27548 chain.mod.
27549 (kernel_mod_HEADERS): Added efi/disk.h.
27550 (_chain_mod_SOURCES): New variable.
27551 (_chain_mod_CFLAGS): Likewise.
27552 (_chain_mod_LDFLAGS): Likewise.
27553 (chain_mod_SOURCES): Likewise.
27554 (chain_mod_CFLAGS): Likewise.
27555 (chain_mod_LDFLAGS): Likewise.
27556
27557 * DISTLIST: Added include/grub/efi/chainloader.h,
27558 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
27559
27560 * include/grub/efi/chainloader.h: New file.
27561 * loader/efi/chainloader.c: Likewise.
27562 * loader/efi/chainloader_normal.c: Likewise.
27563
c0111d6e 275642006-04-30 Marco Gerards <marco@gnu.org>
27565
27566 * commands/configfile.c (grub_cmd_source): New function.
27567 (GRUB_MOD_INIT): Register the commands `source' and `.'.
27568 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
27569
df5341da 275702006-04-30 Marco Gerards <marco@gnu.org>
27571
27572 * normal/execute.c (grub_script_execute_cmd): Change the return
27573 type to `grub_err_t'. Correctly return the error.
27574 (grub_script_execute_cmdline): In case a command line is not a
27575 command or a function, try to interpret it as an assignment.
27576
f85934bd 275772006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27578
27579 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
27580 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
27581 skip a node whose name is obviously invalid as UTF-16,
27582 i.e. contains a NUL character. Stop the iteration when the last
27583 directory entry is found. Instead of using the return value of
27584 grub_hfsplus_btree_iterate_node, store the value in RET and use
27585 it, because the iterator can be stopped by the last directory
27586 entry.
27587
8f8a2cf8 275882006-04-30 Marco Gerards <marco@gnu.org>
27589
27590 * include/grub/env.h (grub_env_export): New prototype. Reported
27591 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
27592
a27e84ce 275932006-04-30 Marco Gerards <marco@gnu.org>
27594
27595 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
27596 size of the extents in a catalog file record.
27597
eaef0553 275982006-04-29 Marco Gerards <marco@gnu.org>
27599
27600 * commands/configfile.c (grub_cmd_configfile): Execute the
27601 configfile within its own context.
27602
27603 * include/grub/env.h (grub_env_context_open): New prototype.
27604 (grub_env_context_close): Likewise.
27605
27606 * kern/env.c (grub_env): Removed.
27607 (grub_env_sorted): Likewise.
27608 (grub_env_context): New variable.
27609 (grub_env_var_context): Likewise.
27610 (grub_env_find): Search both the active context and the global
27611 context.
27612 (grub_env_context_open): New function.
27613 (grub_env_context_close): Likewise.
27614 (grub_env_insert): Likewise.
27615 (grub_env_remove): Likewise.
27616 (grub_env_export): Likewise.
27617 (grub_env_set): Changed to use helper functions to avoid code
27618 duplication.
27619 (grub_env_iterate): Rewritten so both the current context and the
27620 global context are being used.
27621
27622 * normal/command.c (export_command): New function.
27623 (grub_command_init): Register the `export' function.
27624
7b455f4d 276252006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
27626
27627 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
27628 explicitly to suppress gcc's warnings.
27629 * fs/fat.c (grub_fat_find_dir): Likewise.
27630 (grub_fat_label): Likewise.
27631 * fs/xfs.c (grub_xfs_read_inode): Likewise.
27632 (grub_xfs_mount): Likewise.
27633 (grub_xfs_label): Likewise.
27634 * fs/affs.c (grub_affs_mount): Likewise.
27635 (grub_affs_label): Likewise.
27636 (grub_affs_iterate_dir): Likewise.
27637 * fs/sfs.c (grub_sfs_mount): Likewise.
27638 (grub_sfs_iterate_dir): Likewise.
27639 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
27640 * fs/hfs.c (grub_hfs_mount): Likewise.
27641 (grub_hfs_cmp_catkeys): Likewise.
27642 (grub_hfs_find_dir): Likewise.
27643 (grub_hfs_dir): Likewise.
27644 (grub_hfs_label): Likewise.
27645 * fs/jfs.c (grub_jfs_mount): Likewise.
27646 (grub_jfs_opendir): Likewise.
27647 (grub_jfs_getent): Likewise.
27648 (grub_jfs_lookup_symlink): Likewise.
27649 (grub_jfs_label): Likewise.
27650 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
27651 (grub_hfsplus_iterate_dir): Likewise.
27652 (grub_hfsplus_btree_iterate_node): Made static.
27653
27654 * util/grub-emu.c (prefix): New variable.
27655 (grub_machine_set_prefix): New function.
27656 (main): Do not set the environment variable "prefix" here. Only
27657 set PREFIX, which is used later by grub_machine_set_prefix.
27658
27659 * include/grub/video.h: Do not include grub/symbol.h.
27660 (grub_video_register): Not exported. This symbol is not defined in
27661 the kernel.
27662 (grub_video_unregister): Likewise.
27663 (grub_video_iterate): Likewise.
27664 (grub_video_setup): Likewise.
27665 (grub_video_restore): Likewise.
27666 (grub_video_get_info): Likewise.
27667 (grub_video_get_blit_format): Likewise.
27668 (grub_video_set_palette): Likewise.
27669 (grub_video_get_palette): Likewise.
27670 (grub_video_set_viewport): Likewise.
27671 (grub_video_get_viewport): Likewise.
27672 (grub_video_map_color): Likewise.
27673 (grub_video_map_rgb): Likewise.
27674 (grub_video_map_rgba): Likewise.
27675 (grub_video_fill_rect): Likewise.
27676 (grub_video_blit_glyph): Likewise.
27677 (grub_video_blit_bitmap): Likewise.
27678 (grub_video_blit_render_target): Likewise.
27679 (grub_video_scroll): Likewise.
27680 (grub_video_swap_buffers): Likewise.
27681 (grub_video_create_render_target): Likewise.
27682 (grub_video_delete_render_target): Likewise.
27683 (grub_video_set_active_render_target): Likewise.
27684
27685 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
27686 Undefined.
27687 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
27688
27689 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
27690 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27691 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27692 instead of $(srcdir)/genkernsyms.sh.
27693
27694 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
27695 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27696 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27697 instead of $(srcdir)/genkernsyms.sh.
27698
27699 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
27700 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27701 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27702 instead of $(srcdir)/genkernsyms.sh.
27703
27704 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
27705 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27706 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27707 instead of $(srcdir)/genkernsyms.sh.
27708
27709 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
27710 genkernsyms.sh.
27711
27712 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
27713 genkernsyms.sh.
27714 (gensymlist.sh): New target.
27715 (genkernsyms.sh): Likewise.
27716
27717 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
27718 genkernsyms.sh.in and gensymlist.sh.in.
27719
27720 * genkernsyms.sh: Removed.
27721 * gensymlist.sh: Likewise.
f19dbdb7 27722
7b455f4d 27723 * genkernsyms.sh.in: New file.
27724 * gensymlist.sh.in: Likewise.
27725
1885bb27 277262006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27727
27728 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
27729 clobber "prefix", since we may have already set it manually.
27730
71538dff 277312006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27732
27733 * kern/misc.c (abort): New alias for grub_abort.
27734
2965c7cc 277352006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
27736
27737 A new machine-specific function "grub_machine_set_prefix" is
27738 defined. This is called after loading modules, so that a prefix
27739 initialization can use modules. Also, this change adds an
27740 intensive debugging feature for the memory manager via the
27741 configure option "--enable-mm-debug".
f19dbdb7 27742
2965c7cc 27743 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
27744 PART.LEN.
27745
27746 * kern/sparc64/ieee1275/init.c (abort): Removed.
27747 (grub_stop): Likewise.
27748 (grub_exit): New function.
27749 (grub_set_prefix): Renamed to ...
27750 (grub_machine_set_prefix): ... this.
27751 (grub_machine_init): Do not call grub_set_prefix.
27752
27753 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
27754 (grub_machine_set_prefix): ... this.
27755 (grub_machine_init): Do not call grub_set_prefix.
27756
27757 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
27758 (grub_machine_init): Do not set the prefix here.
27759
27760 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
27761
27762 * kern/efi/init.c: Include grub/mm.h.
27763 (grub_efi_set_prefix): New function.
27764
27765 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
27766 (grub_efi_get_filename): New function.
27767 (grub_print_device_path): Renamed to ...
27768 (grub_efi_print_device_path): ... this.
27769
27770 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
27771 [MM_DEBUG] (grub_realloc): Likewise.
27772 [MM_DEBUG] (grub_free): Likewise.
27773 [MM_DEBUG] (grub_memalign): Likewise.
27774 [MM_DEBUG] (grub_mm_debug): New variable.
27775 [MM_DEBUG] (grub_debug_malloc): New function.
27776 [MM_DEBUG] (grub_debug_free): New function.
27777 [MM_DEBUG] (grub_debug_realloc): New function.
27778 [MM_DEBUG] (grub_debug_memalign): New function.
27779
27780 * kern/misc.c (grub_abort): Print a newline to distinguish
27781 the message.
27782
27783 * kern/main.c (grub_main): Call grub_machine_set_prefix and
27784 grub_set_root_dev after loading modules. This is necessary when
27785 setting a prefix depends on modules.
27786
27787 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
27788 (grub_efi_print_device_path): ... this.
27789 (grub_efi_get_filename): New prototype.
27790 (grub_efi_set_prefix): Likewise.
27791
27792 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
27793 and grub/disk.h.
27794 (grub_efidisk_get_device_handle): New prototype.
27795 (grub_efidisk_get_device_name): Likewise.
27796
27797 * include/grub/mm.h: Include config.h.
27798 (MM_DEBUG): Removed.
27799 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
27800 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
27801 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
27802 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
27803 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
27804 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
27805 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
27806 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
27807 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
27808
27809 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
27810
27811 * disk/efi/efidisk.c: Include grub/partition.h.
27812 (iterate_child_devices): New function.
27813 (add_device): First, compare only last device path nodes, so that
27814 devices are sorted by the types.
27815 (grub_efidisk_get_device_handle): New function.
27816 (grub_efidisk_get_device_name): Likewise.
27817
27818 * configure.ac (--enable-mm-debug): New option to enable the
27819 memory manager debugging feature. This makes the binary much
27820 bigger, so is disabled by default.
27821
9cacaa17 278222006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
27823
27824 Use grub_abort instead of grub_stop, and grub_exit must be
27825 define in each architecture now. Also, this change adds support
27826 for EFI disks.
f19dbdb7 27827
9cacaa17 27828 * util/i386/pc/grub-probefs.c: Include grub/term.h.
27829 (grub_getkey): New function.
27830 (grub_term_get_current): Likewise.
27831
27832 * util/i386/pc/grub-setup.c: Include grub/term.h.
27833 (grub_getkey): New function.
27834 (grub_term_get_current): Likewise.
27835
27836 * util/misc.c (grub_stop): Renamed to ...
27837 (grub_exit): ... this.
27838
27839 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
27840 (grub_exit): ... this.
27841 (grub_machine_init): Use grub_abort instead of abort.
27842 (grub_stop): Removed.
27843
27844 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
27845 abort.
27846
27847 * kern/i386/pc/startup.S (grub_exit): New function.
27848 (cold_reboot): New label.
27849
27850 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
27851 (grub_efi_init): Call grub_efidisk_init.
27852 (grub_efi_fini): Call grub_efidisk_fini.
27853
27854 * kern/efi/efi.c: Include grub/mm.h.
27855 (grub_efi_console_control_guid): Renamed to ...
27856 (console_control_guid): ... this.
27857 (grub_efi_loaded_image_guid): Renamed to ...
27858 (loaded_image_guid): ... this.
27859 (grub_efi_locate_handle): New function.
27860 (grub_efi_open_protocol): Likewise.
27861 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
27862 GRUB_EFI_CONSOLE_CONTROL_GUID.
27863 (grub_efi_exit): Removed.
27864 (grub_stop): Likewise.
27865 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
27866 (grub_exit): New function.
27867 (grub_print_device_path): Likewise.
27868
27869 * kern/rescue.c (grub_rescue_cmd_exit): New function.
27870 (grub_enter_rescue_mode): Register "exit".
27871
27872 * kern/misc.c (grub_real_dprintf): A cosmetic change.
27873 (grub_abort): New function.
27874
27875 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
27876
27877 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
27878
27879 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
27880
27881 * include/grub/efi/efi.h (grub_efi_exit): Removed.
27882 (grub_print_device_path): New prototype.
27883 (grub_efi_locate_handle): Likewise.
27884 (grub_efi_open_protocol): Likewise.
27885
27886 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
27887 * disk/efi/efidisk.c: Likewise.
27888
27889 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
27890
27891 * include/grub/efi/console_control.h
27892 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
27893
27894 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
27895 last 8 bytes as an array.
27896 (GRUB_EFI_DISK_IO_GUID): New macro.
27897 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
27898 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
27899 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
27900 grub_uint8_t.
27901 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
27902 (struct grub_efi_device_path): Rename the member "sub_type" to
27903 "subtype".
27904 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
27905 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
27906 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
27907 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
27908 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
27909 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
27910 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
27911 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
27912 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
27913 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
27914 (struct grub_efi_pci_device_path): New structure.
27915 (grub_efi_pci_device_path_t): New type.
27916 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
27917 (struct grub_efi_pccard_device_path): New structure.
27918 (grub_efi_pccard_device_path_t): New type.
27919 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
27920 (struct grub_efi_memory_mapped_device_path): New structure.
27921 (grub_efi_memory_mapped_device_path_t): New type.
27922 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
27923 (struct grub_efi_vendor_device_path): New structure.
27924 (grub_efi_vendor_device_path_t): New type.
27925 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
27926 (struct grub_efi_controller_device_path): New structure.
27927 (grub_efi_controller_device_path_t): New type.
27928 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
27929 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
27930 (struct grub_efi_acpi_device_path): New structure.
27931 (grub_efi_acpi_device_path_t): New type.
27932 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
27933 (struct grub_efi_expanded_acpi_device_path): New structure.
27934 (grub_efi_expanded_acpi_device_path_t): New type.
27935 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
27936 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
27937 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
27938 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
27939 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
27940 (struct grub_efi_atapi_device_path): New structure.
27941 (grub_efi_atapi_device_path_t): New type.
27942 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
27943 (struct grub_efi_fibre_channel_device_path): New structure.
27944 (grub_efi_fibre_channel_device_path_t): New type.
27945 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
27946 (struct grub_efi_1394_device_path): New structure.
27947 (grub_efi_1394_device_path_t): New type.
27948 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
27949 (struct grub_efi_usb_device_path): New structure.
27950 (grub_efi_usb_device_path_t): New type.
27951 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
27952 (struct grub_efi_usb_class_device_path): New structure.
27953 (grub_efi_usb_class_device_path_t): New type.
27954 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
27955 (struct grub_efi_i2o_device_path): New structure.
27956 (grub_efi_i2o_device_path_t): New type.
27957 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
27958 (struct grub_efi_mac_address_device_path): New structure.
27959 (grub_efi_mac_address_device_path_t): New type.
27960 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
27961 (struct grub_efi_ipv4_device_path): New structure.
27962 (grub_efi_ipv4_device_path_t): New type.
27963 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
27964 (struct grub_efi_ipv6_device_path): New structure.
27965 (grub_efi_ipv6_device_path_t): New type.
27966 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
27967 (struct grub_efi_infiniband_device_path): New structure.
27968 (grub_efi_infiniband_device_path_t): New type.
27969 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
27970 (struct grub_efi_uart_device_path): New structure.
27971 (grub_efi_uart_device_path_t): New type.
27972 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
27973 (struct grub_efi_vendor_messaging_device_path): New structure.
27974 (grub_efi_vendor_messaging_device_path_t): New type.
27975 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
27976 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
27977 (struct grub_efi_hard_drive_device_path): New structure.
27978 (grub_efi_hard_drive_device_path_t): New type.
27979 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
27980 (struct grub_efi_cdrom_device_path): New structure.
27981 (grub_efi_cdrom_device_path_t): New type.
27982 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
27983 (struct grub_efi_vendor_media_device_path): New structure.
27984 (grub_efi_vendor_media_device_path_t): New type.
27985 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
27986 (struct grub_efi_file_path_device_path): New structure.
27987 (grub_efi_file_path_device_path_t): New type.
27988 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
27989 (struct grub_efi_protocol_device_path): New structure.
27990 (grub_efi_protocol_device_path_t): New type.
27991 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
27992 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
27993 (struct grub_efi_bios_device_path): New structure.
27994 (grub_efi_bios_device_path_t): New type.
27995 (struct grub_efi_disk_io): New structure.
27996 (grub_efi_disk_io_t): New type.
27997 (struct grub_efi_block_io_media): New structure.
27998 (grub_efi_block_io_media_t): New type.
27999 (struct grub_efi_block_io): New structure.
28000 (grub_efi_block_io_t): New type.
28001
28002 * include/grub/misc.h (grub_stop): Removed.
28003 (grub_exit): New prototype.
28004 (grub_abort): Likewise.
28005
28006 * include/grub/disk.h (enum grub_disk_dev_id): Added
28007 GRUB_DISK_DEVICE_EFIDISK_ID.
28008
28009 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28010 disk/efi/efidisk.c.
28011 (kernel_syms.lst): Remove the target if an error occurs.
28012
49986a9f 280132006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
28014
28015 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
28016 as it was simply too buggy.
28017
970d3b8a 280182006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
28019
28020 * kern/misc.c (grub_lltoa): New function.
28021 (grub_vsprintf): Added support for the long long suffix,
28022 i.e. "ll".
28023
ff04ec24 280242006-04-20 Hollis Blanchard <hollis@penguinppc.org>
28025
28026 * Makefile.in (LDFLAGS): Add variable.
28027 (LD): Remove variable.
28028 * configure.ac: Add -m32 to LDFLAGS.
28029 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
28030 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
28031 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
28032 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
28033 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
28034 variables.
28035 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
28036 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
28037 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
28038
37e5e1a4 280392006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
28040
28041 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
28042 length for unknown glyph.
28043
c352d8dd 280442006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28045
2eab1c0d 28046 Add support for pre-loaded modules into the EFI port.
f19dbdb7 28047
2eab1c0d 28048 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28049 completely. Accept one more argument DIR. The caller has changed.
28050
28051 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28052
28053 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28054 (grub_efi_loaded_image_guid): New variable.
28055 (grub_efi_get_loaded_image): New function.
28056 (grub_arch_modules_addr): Likewise.
28057
28058 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28059 prototype.
28060
28061 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28062 (struct grub_efi_loaded_image): New structure.
28063 (grub_efi_loaded_image_t): New type.
28064
280652006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28066
c352d8dd 28067 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28068 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28069 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28070
6d01d6b4 280712006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28072
28073 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28074
976a4ea0 280752006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28076
28077 * DISTLIST: Added include/grub/efi/console.h,
28078 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28079 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28080
28081 * include/grub/efi/console.h: New file.
28082 * include/grub/efi/time.h: Likewise.
28083 * include/grub/i386/efi/kernel.h: Likewise.
28084 * kern/efi/init.c: Likewise.
28085 * kern/efi/mm.c: Likewise.
28086 * term/efi/console.c: Likewise.
f19dbdb7 28087
976a4ea0 28088 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28089 (grub_stop): Removed.
28090 (grub_get_rtc): Likewise.
28091 (grub_machine_init): Simply call grub_efi_init.
28092 (grub_machine_fini): Call grub_efi_fini.
28093
28094 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28095 (grub_efi_output_string): Removed.
28096 (grub_efi_stall): New function.
28097 (grub_stop): Likewise.
28098 (grub_get_rtc): Likewise.
28099
28100 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28101 (grub_efi_stall): New prototype.
28102 (grub_efi_allocate_pages): Likewise.
28103 (grub_efi_free_pages): Likewise.
28104 (grub_efi_get_memory_map): Likewise.
28105 (grub_efi_mm_init): Likewise.
28106 (grub_efi_mm_fini): Likewise.
28107 (grub_efi_init): Likewise.
28108 (grub_efi_fini): Likewise.
28109
28110 * include/grub/i386/efi/time.h: Do not include
28111 grub/symbol.h. Include grub/efi/time.h.
28112 (GRUB_TICKS_PER_SECOND): Removed.
28113 (grub_get_rtc): Likewise.
28114
28115 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28116 Added padding. The EFI spec is buggy.
28117 (GRUB_EFI_BLACK): New macro.
28118 (GRUB_EFI_BLUE): Likewise.
28119 (GRUB_EFI_GREEN): Likewise.
28120 (GRUB_EFI_CYAN): Likewise.
28121 (GRUB_EFI_RED): Likewise.
28122 (GRUB_EFI_MAGENTA): Likewise.
28123 (GRUB_EFI_BROWN): Likewise.
28124 (GRUB_EFI_LIGHTGRAY): Likewise.
28125 (GRUB_EFI_BRIGHT): Likewise.
28126 (GRUB_EFI_DARKGRAY): Likewise.
28127 (GRUB_EFI_LIGHTBLUE): Likewise.
28128 (GRUB_EFI_LIGHTGREEN): Likewise.
28129 (GRUB_EFI_LIGHTCYAN): Likewise.
28130 (GRUB_EFI_LIGHTRED): Likewise.
28131 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28132 (GRUB_EFI_YELLOW): Likewise.
28133 (GRUB_EFI_WHITE): Likewise.
28134 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28135 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28136 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28137 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28138 (GRUB_EFI_BACKGROUND_RED): Likewise.
28139 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28140 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28141 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28142 (GRUB_EFI_TEXT_ATTR): Likewise.
28143
28144 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28145 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28146 (kernel_mod_HEADERS): Added efi/time.h.
28147
83709125 281482006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28149
28150 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28151 include/grub/efi/api.h, include/grub/efi/console_control.h,
28152 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28153 include/grub/i386/efi/time.h, kern/efi/efi.c,
28154 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28155 and util/i386/efi/grub-mkimage.c.
28156
28157 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28158
28159 * genmk.rb (PModule#rule): Do not export symbols if
28160 #{prefix}_EXPORTS is set to "no".
28161
28162 * conf/i386-efi.mk: New file.
28163 * conf/i386-efi.rmk: Likewise.
28164 * include/grub/efi/api.h: Likewise.
28165 * include/grub/efi/console_control.h: Likewise.
28166 * include/grub/efi/efi.h: Likewise.
28167 * include/grub/efi/pe32.h: Likewise.
28168 * include/grub/i386/efi/time.h: Likewise.
28169 * kern/efi/efi.c: Likewise.
28170 * kern/i386/efi/init.c: Likewise.
28171 * kern/i386/efi/startup.S: Likewise.
28172 * util/i386/efi/grub-mkimage.c: Likewise.
28173
281742006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 28175
28176 * include/grub/script.h: Include <grub/parser.h> and
28177 "grub_script.tab.h".
28178 (struct grub_lexer_param): New struct.
28179 (struct grub_parser_param): Likewise.
28180 (grub_script_create_arglist): Pass the state in an argument.
28181 (grub_script_add_arglist): Likewise.
28182 (grub_script_create_cmdline): Likewise.
28183 (grub_script_create_cmdblock): Likewise.
28184 (grub_script_create_cmdif): Likewise.
28185 (grub_script_create_cmdmenu): Likewise.
28186 (grub_script_add_cmd): Likewise.
28187 (grub_script_arg_add): Likewise.
28188 (grub_script_lexer_ref): Likewise.
28189 (grub_script_lexer_deref): Likewise.
28190 (grub_script_lexer_record_start): Likewise.
28191 (grub_script_lexer_record_stop): Likewise.
28192 (grub_script_mem_record): Likewise.
28193 (grub_script_mem_record_stop): Likewise.
28194 (grub_script_malloc): Likewise.
28195 (grub_script_yylex): Likewise.
28196 (grub_script_yyparse): Likewise.
28197 (grub_script_yyerror): Likewise.
28198 (grub_script_yylex): Likewise.
28199 (grub_script_lexer_init): Return the state.
28200
28201 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28202 (grub_script_lexer_done): Likewise.
28203 (grub_script_lexer_getline): Likewise.
28204 (grub_script_lexer_refs): Likewise.
28205 (script): Likewise.
28206 (newscript): Likewise.
28207 (record): Likewise.
28208 (recording): Likewise.
28209 (recordpos): Likewise.
28210 (recordlen): Likewise.
28211 (grub_script_lexer_init): Return the state instead of setting
28212 global variables.
28213 (grub_script_lexer_ref): Use the newly added argument for state
28214 instead of globals.
28215 (grub_script_lexer_deref): Likewise.
28216 (grub_script_lexer_record_start): Likewise.
28217 (grub_script_lexer_record_stop): Likewise.
28218 (recordchar): Likewise.
28219 (nextchar): Likewise.
28220 (grub_script_yylex2): Likewise.
28221 (grub_script_yylex): Likewise.
28222 (grub_script_yyerror): Likewise.
28223
28224 * normal/parser.y (func_mem): Removed variable.
28225 (menu_entry): Likewise.
28226 (err): Likewise.
28227 (%lex-param): New parser option.
28228 (%parse-param): Likewise.
28229 (script): Always return the AST.
28230 (argument): Pass the state around.
28231 (arguments): Likewise.
28232 (grubcmd): Likewise.
28233 (commands): Likewise.
28234 (function): Likewise.
28235 (menuentry): Likewise.
28236 (if_statement): Likewise.
28237 (if): Likewise.
28238
28239 * normal/script.c (grub_script_memused): Removed variable.
28240 (grub_script_parsed): Likewise.
28241 (grub_script_malloc): Added a state argument. Use that instead of
28242 global variables.
28243 (grub_script_mem_record): Likewise.
28244 (grub_script_mem_record_stop): Likewise.
28245 (grub_script_arg_add): Likewise.
28246 (grub_script_add_arglist): Likewise.
28247 (grub_script_create_cmdline): Likewise.
28248 (grub_script_create_cmdif): Likewise.
28249 (grub_script_create_cmdmenu): Likewise.
28250 (grub_script_add_cmd): Likewise.
28251 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 28252
e2a8c904 282532006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 28254
28255 * normal/command.c (grub_command_init): Remove the title command.
28256
28257 * normal/lexer.c (grub_script_yylex): Renamed from this...
28258 (grub_script_yylex2): ... to this.
28259 (grub_script_yylex): New function. Temporary
28260 introduced to filter some tokens.
28261 (grub_script_yyerror): Print a newline.
28262
28263 * normal/main.c (read_config_file): Output information about the
28264 lines that contain errors. Wait for a key after all lines have
28265 been processed. Don't return an empty menu.
28266
28267 * normal/parser.y (func_mem): Don't initialize.
28268 (menu_entry): Likewise.
28269 (err): New variable.
28270 (script): Don't return anything when an error was encountered.
28271 (ws, returns): Removed rules.
28272 (argument): Disabled concatenated variable support.
28273 (arguments): Remove explicit separators.
28274 (grubcmd): Likewise.
28275 (function): Likewise.
28276 (menuentry): Likewise.
28277 (if): Likewise.
28278 (commands): Likewise. Add error handling.
28279
28280 * normal/script.c (grub_script_create_cmdline): If
28281 `grub_script_parsed' is 0, assume the parser encountered an error.
28282
c9a86192 282832006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28284
28285 * configure.ac: Add support for EFI. Fix the typo
28286 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28287
70f3b243 282882006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28289
28290 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28291 foreign multibyte characters should be shown correctly.
28292
65f201ad 282932006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28294
28295 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28296 calculation.
28297 (read_config_file): Made it to close file before returning.
28298
b4b93674 282992006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28300
28301 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28302 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28303 video/i386/pc/vbefill.c.
28304
28305 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28306 video/i386/pc/vbefill.c.
28307
28308 * include/grub/video.h (grub_video_blit_format): New enum.
28309 (grub_video_mode_info): Added new member blit_format.
28310 (grub_video_get_blit_format): New function prototype.
28311
28312 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28313 function prototype.
28314 (grub_video_vbe_map_rgb): Likewise.
28315 (grub_video_vbe_unmap_color): Likewise.
28316
28317 * include/grub/i386/pc/vbeblit.h: New file.
28318
28319 * include/grub/i386/pc/vbefill.h: New file.
28320
28321 * video/video.c (grub_video_get_blit_format): New function.
28322 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28323 (grub_video_vbe_map_rgb): Likewise.
28324 (grub_video_vbe_unmap_color): Likewise.
28325
28326 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28327 optimized fills.
28328 (grub_video_vbe_blit_render_target): Changed to use more optimized
28329 blits.
28330 (grub_video_vbe_setup): Added detection for optimized settings.
28331 (grub_video_vbe_create_render_target): Likewise.
28332
28333 * video/i386/pc/vbeblit.c: New file.
28334
28335 * video/i386/pc/vbefill.c: New file.
28336
c2379b9c 283372006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28338
28339 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28340 here...
28341
28342 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28343 parsing to support both hex and dec ranges. If filename was missing
28344 show usage information.
28345
bd0d7896 283462006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28347
28348 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28349 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28350
28351 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28352 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28353 (video_mod_SOURCES): Added.
28354 (video_mod_CFLAGS): Likewise.
28355 (video_mod_LDFLAGS): Likewise.
28356 (gfxterm_mod_SOURCES): Likewise.
28357 (gfxterm_mod_CFLAGS): Likewise.
28358 (gfxterm_mod_LDFLAGS): Likewise.
28359 (videotest_mod_SOURCES): Likewise.
28360 (videotest_mod_CFLAGS): Likewise.
28361 (videotest_mod_LDFLAGS): Likewise.
28362 (vesafb_mod_SOURCES): Removed.
28363 (vesafb_mod_CFLAGS): Likewise.
28364 (vesafb_mod_LDFLAGS): Likewise.
28365 (vga_mod_SOURCES): Likewise.
28366 (vga_mod_CFLAGS): Likewise.
28367 (vga_mod_LDFLAGS): Likewise.
28368
28369 * commands/videotest.c: New file.
28370
28371 * font/manager.c (fill_with_default_glyph): Modified to use
28372 grub_font_glyph.
28373 (grub_font_get_glyph): Likewise.
28374 (fontmanager): Renamed from this...
28375 (font_manager): ... to this.
28376
28377 * include/grub/font.h (grub_font_glyph): Added new structure.
28378 (grub_font_get_glyph): Modified to use grub_font_glyph.
28379
28380 * include/grub/misc.h (grub_abs): Added as inline function.
28381
28382 * include/grub/video.h: New file.
28383
28384 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28385 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28386 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28387 (grub_vbe_get_controller_info): Renamed from this...
28388 (grub_vbe_bios_get_controller_info): ... to this.
28389 (grub_vbe_get_mode_info): Renamed from this...
28390 (grub_vbe_bios_get_mode_info): ... to this.
28391 (grub_vbe_set_mode): Renamed from this...
28392 (grub_vbe_bios_set_mode): ... to this.
28393 (grub_vbe_get_mode): Renamed from this...
28394 (grub_vbe_bios_get_mode): ... to this.
28395 (grub_vbe_set_memory_window): Renamed from this...
28396 (grub_vbe_bios_set_memory_window): ... to this.
28397 (grub_vbe_get_memory_window): Renamed from this...
28398 (grub_vbe_bios_get_memory_window): ... to this.
28399 (grub_vbe_set_scanline_length): Renamed from this...
28400 (grub_vbe_set_scanline_length): ... to this.
28401 (grub_vbe_get_scanline_length): Renamed from this...
28402 (grub_vbe_bios_get_scanline_length): ... to this.
28403 (grub_vbe_set_display_start): Renamed from this...
28404 (grub_vbe_bios_set_display_start): ... to this.
28405 (grub_vbe_get_display_start): Renamed from this...
28406 (grub_vbe_bios_get_display_start): ... to this.
28407 (grub_vbe_set_palette_data): Renamed from this...
28408 (grub_vbe_bios_set_palette_data): ... to this.
28409 (grub_vbe_set_pixel_rgb): Removed.
28410 (grub_vbe_set_pixel_index): Likewise.
28411
28412 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28413 from this...
28414 (grub_vbe_bios_get_controller_info): ... to this.
28415 (grub_vbe_get_mode_info): Renamed from this...
28416 (grub_vbe_bios_get_mode_info): ... to this.
28417 (grub_vbe_set_mode): Renamed from this...
28418 (grub_vbe_bios_set_mode): ... to this.
28419 (grub_vbe_get_mode): Renamed from this...
28420 (grub_vbe_bios_get_mode): ... to this.
28421 (grub_vbe_set_memory_window): Renamed from this...
28422 (grub_vbe_bios_set_memory_window): ... to this.
28423 (grub_vbe_get_memory_window): Renamed from this...
28424 (grub_vbe_bios_get_memory_window): ... to this.
28425 (grub_vbe_set_scanline_length): Renamed from this...
28426 (grub_vbe_set_scanline_length): ... to this.
28427 (grub_vbe_get_scanline_length): Renamed from this...
28428 (grub_vbe_bios_get_scanline_length): ... to this.
28429 (grub_vbe_set_display_start): Renamed from this...
28430 (grub_vbe_bios_set_display_start): ... to this.
28431 (grub_vbe_get_display_start): Renamed from this...
28432 (grub_vbe_bios_get_display_start): ... to this.
28433 (grub_vbe_set_palette_data): Renamed from this...
28434 (grub_vbe_bios_set_palette_data): ... to this.
28435 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28436 getting corrupted after calling it. Added more pushes and pops.
28437 (grub_vbe_bios_set_mode): Likewise.
28438 (grub_vbe_bios_get_mode): Likewise.
28439 (grub_vbe_bios_get_memory_window): Likewise.
28440 (grub_vbe_bios_set_scanline_length): Likewise.
28441 (grub_vbe_bios_get_scanline_length): Likewise.
28442 (grub_vbe_bios_get_display_start): Likewise.
28443 (grub_vbe_bios_set_palette_data): Likewise.
28444
28445 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28446 (cl_insert): Likewise.
28447 (cl_delete): Likewise.
28448
28449 * term/gfxterm.c: New file.
28450
28451 * term/i386/pc/vesafb.c: Removed file.
28452
28453 * video/video.c: New file.
28454
28455 * video/i386/pc/vbe.c (real2pm): Added new function.
28456 (grub_video_vbe_draw_pixel): Likewise.
28457 (grub_video_vbe_get_video_ptr): Likewise.
28458 (grub_video_vbe_get_pixel): Likewise
28459 (grub_video_vbe_init): Likewise.
28460 (grub_video_vbe_fini): Likewise.
28461 (grub_video_vbe_setup): Likewise.
28462 (grub_video_vbe_get_info): Likewise.
28463 (grub_video_vbe_set_palette): Likewise.
28464 (grub_video_vbe_get_palette): Likewise.
28465 (grub_video_vbe_set_viewport): Likewise.
28466 (grub_video_vbe_get_viewport): Likewise.
28467 (grub_video_vbe_map_color): Likewise.
28468 (grub_video_vbe_map_rgb): Likewise.
28469 (grub_video_vbe_map_rgba): Likewise.
28470 (grub_video_vbe_unmap_color): Likewise.
28471 (grub_video_vbe_fill_rect): Likewise.
28472 (grub_video_vbe_blit_glyph): Likewise.
28473 (grub_video_vbe_blit_bitmap): Likewise.
28474 (grub_video_vbe_blit_render_target): Likewise.
28475 (grub_video_vbe_scroll): Likewise.
28476 (grub_video_vbe_swap_buffers): Likewise.
28477 (grub_video_vbe_create_render_target): Likewise.
28478 (grub_video_vbe_delete_render_target): Likewise.
28479 (grub_video_vbe_set_active_render_target): Likewise.
28480 (grub_vbe_set_pixel_rgb): Remove function.
28481 (grub_vbe_set_pixel_index): Likewise.
28482 (index_color_mode): Remove static variable.
28483 (active_mode): Likewise.
28484 (framebuffer): Likewise.
28485 (bytes_per_scan_line): Likewise.
28486 (grub_video_vbe_adapter): Added new static variable.
28487 (framebuffer): Likewise.
28488 (render_target): Likewise.
28489 (initial_mode): Likewise.
28490 (mode_in_use): Likewise.
28491 (mode_list): Likewise.
28492
5f97350b 284932006-03-10 Marco Gerards <marco@gnu.org>
28494
28495 * configure.ac (AC_INIT): Bumped to 1.93.
28496
28497 * DISTLIST: Added `include/grub/hfs.h'.
28498
a3c5c6f8 284992006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28500
28501 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28502 18H, which might help the BIOS falling back to next boot media.
28503
6de53d26 285042006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28505
28506 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28507 Poe Chen <poe.poechen@gmail.com>.
28508
77c4a393 285092006-01-17 Marco Gerards <marco@gnu.org>
28510
28511 * include/grub/normal.h: Include <grub/script.h>.
28512 (grub_command_list): Removed struct.
28513 (grub_command_list_t): Removed type.
28514 (grub_menu_entry): Remove members `num' and `command_list'. Add
28515 members `commands' and `sourcecode'.
28516 * include/grub/script.h: Add inclusion guards.
28517 (grub_script_cmd_menuentry): New struct.
28518 (grub_script_execute_menuentry): New prototype.
28519 (grub_script_lexer_record_start): Likewise.
28520 (grub_script_lexer_record_stop): Likewise.
28521 * normal/execute.c (grub_script_execute_menuentry): New function.
28522 * normal/lexer.c (record, recording, recordpos, recordlen): New
28523 variables.
28524 (grub_script_lexer_record_start): New function.
28525 (grub_script_lexer_record_stop): Likewise.
28526 (recordchar): Likewise.
28527 (nextchar): Likewise.
28528 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28529 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28530 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28531 (current_menu): New variable.
28532 (free_menu): Mainly rewritten.
28533 (grub_normal_menu_addentry): New function.
28534 (read_config_file): Rewritten.
28535 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 28536 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 28537 the menu entry.
28538 (run): Mainly rewritten.
28539 * normal/parser.y (menu_entry): New variable.
28540 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
28541 (menuentry): New rule.
28542 (command): Add `menuentry'.
28543 (if_statement): Allow additional returns before `fi'.
28544 * normal/script.c (grub_script_create_cmdmenu): New function.
28545
144f1f98 285462006-01-03 Marco Gerards <marco@gnu.org>
28547
28548 * INSTALL: GNU Bison is required.
28549 * configure.ac: Rewritten the test to detect Bison.
28550 * Makefile.in (YACC): New variable. Reported by Xun Sun
28551 <xun.sun.cn@gmail.com>.
28552
af4b2d89 285532006-01-03 Marco Gerards <marco@gnu.org>
28554
28555 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
28556 the HFS+ filesystem to filesystem blocks.
28557 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
28558 GCC warning is silenced.
28559
15643b71 285602006-01-03 Marco Gerards <marco@gnu.org>
28561
28562 * partmap/apple.c (apple_partition_map_iterate): Convert the data
28563 read from disk from big endian to host byte order.
28564
00905879 285652006-01-03 Hollis Blanchard <hollis@penguinppc.org>
28566
28567 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
28568 documentation.
28569 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
28570 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
28571 embedded HFS+ filesystem.
28572 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
28573 (grub_hfs_sblock): Move from here...
28574 * include/grub/hfs.h: To here... New file.
28575 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
28576 documentation.
28577 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
28578 New macros.
28579 (grub_hfsplus_volheader): Change type of member `magic' to
28580 `grub_uint16_t'.
28581 (grub_hfsplus_data): Add new member `embedded_offset'.
28582 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
28583 returned block.
28584 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
28585 Calculate the offset.
28586
8899bc3e 285872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28588
28589 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
28590 Removed.
28591 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
28592
ae8c0277 285932005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28594
28595 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
28596 ENV->NAME is NULL after allocating ENV->VALUE.
28597
07084456 285982005-12-25 Marco Gerards <marco@gnu.org>
28599
28600 * kern/env.c (grub_env_set): Rewritten the error handling code.
28601
4750f5f1 286022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28603
28604 * geninit.sh: Made more robust, and more portable.
28605
50214199 286062005-12-25 Marco Gerards <marco@gnu.org>
28607
28608 Add support for Apple HFS+ filesystems.
f19dbdb7 28609
50214199 28610 * fs/hfsplus.c: New file.
28611
28612 * DISTLIST: Added `fs/hfsplus.c'.
28613
28614 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
28615 (hfsplus_mod_SOURCES): New variable.
28616 (hfsplus_mod_CFLAGS): Likewise.
28617 (hfsplus_mod_LDFLAGS): Likewise.
28618 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
28619 (grub_setup_SOURCES): Likewise.
28620 (grub_mkdevicemap_SOURCES): Likewise.
28621 (grub_emu_SOURCES): Likewise.
28622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28623
28624 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
28625
28626 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
28627
befaed6c 286282005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28629
28630 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
28631 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
28632 include/grub/parser.h, include/grub/script.h, kern/parser.c,
28633 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
28634 normal/lexer.c, normal/parser.y, normal/script.c, and
28635 partmap/gpt.c.
28636 Removed kern/sparc64/cache.c.
28637
28638 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
28639 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
28640 grub_emu_init.c.
28641
28642 * configure.ac (AC_INIT): Bumped to 1.92.
28643
6a124103 286442005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
28645
28646 * kern/err.c (grub_error_push): Added new function to support error
28647 stacks.
28648 (grub_error_pop): Likewise.
28649 (grub_error_stack_items): New local variable to support error stacks.
28650 (grub_error_stack_pos): Likewise.
28651 (grub_error_stack_assert): Likewise.
28652 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
28653 stack depth.
28654 (grub_print_error): Added support to print errors from error stack.
28655
28656 * include/grub/err.h (grub_error_push): Added function prototype.
28657 (grub_error_pop): Likewise.
28658
be973c1b 286592005-12-09 Hollis Blanchard <hollis@penguinppc.org>
28660
28661 * configure.ac: Accept `powerpc64' as host_cpu.
28662 (amd64): Rename to `biarch32'.
28663
28664 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
28665 non-cacheline-aligned addresses.
28666
28667 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
28668 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
28669 if `size' is non-zero.
28670
b04216ab 286712005-12-03 Marco Gerards <mgerards@xs4all.nl>
28672
28673 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
28674 and `cd' to make sure the filename is not prefixed with a
28675 directory name.
28676 (pkgdata_MODULES): Add `gpt.mod'.
28677 (gpt_mod_SOURCES): New variable.
28678 (gpt_mod_CFLAGS): Likewise.
28679 (gpt_mod_LDFLAGS): Likewise.
28680
28681 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
28682
28683 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
28684 New macro.
28685
28686 * partmap/gpt.c: New file.
28687
28688 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
28689 GPT partition map is detected.
28690
41730ed9 286912005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
28692
28693 * commands/i386/pc/play.c: New file.
28694 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
28695 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
28696 macros.
f19dbdb7 28697
95dc3643 286982005-11-27 Marco Gerards <mgerards@xs4all.nl>
28699
28700 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
28701 ((unused))' to silence gcc warning.
28702
1569ec51 287032005-11-26 Hollis Blanchard <hollis@penguinppc.org>
28704
28705 * configure.ac: Correct `AC_PROG_YACC' test.
28706
9abde152 287072005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28708
28709 * util/powerpc/ieee1275/grub-install.in: Run the mount point
28710 check before installing files.
28711
44b83271 287122005-11-22 Mike Small <smallm@panix.com>
28713
28714 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
28715 number regex so multidigit numbers are recognized correctly.
28716
287172005-11-22 Mike Small <smallm@panix.com>
28718
28719 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
28720 debugging message before attempting to claim memory.
28721 (grub_rescue_cmd_initrd): Add a claim debugging message and try
28722 multiple addresses in case of failure.
28723
9c12956b 287242005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28725
28726 * term/tparm.c (get_space): Remove empty `if' statement.
28727
28728 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
28729
28730 * kern/parser.c (check_varstate): Rename `state' to 's'.
28731
aeaf81d9 287322005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28733
28734 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
28735 variable definitions to the beginning of each function. Sort stack
28736 variables by size.
28737 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
28738 `buf' argument to `char *'.
28739
79bbb63f 287402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28741
28742 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
28743 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28744 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 28745 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28746 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28747 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28748 configfile.mod, search.mod, gzio.mod and test.mod.
28749 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28750 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28751 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28752 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28753 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28754 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28755 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28756 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28757 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28758 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28759 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28760 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28761 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28762 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28763 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28764 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28765 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28766 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28767 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28768 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28769 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28770 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28771 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
28772
28773 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
28774 `grep --include'.
28775 (pkgdata_MODULES): Add test.mod.
28776
233b1628 287772005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28778
28779 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
28780 appending to variables with "+=".
28781 (PModule): Use full pathname to generate *.lst filenames.
28782
28783 * Makefile.in: Fixed list rules moved from genmk.rb.
28784 (.DELETE_ON_ERROR): New special target.
28785 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
28786
28787 * conf/i386-pc.rmk: Include conf/common.mk.
28788 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28789 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 28790 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28791 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28792 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28793 configfile.mod, search.mod, gzio.mod and test.mod.
28794 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28795 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28796 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28797 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28798 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28799 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28800 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28801 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28802 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28803 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28804 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28805 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28806 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28807 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28808 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28809 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28810 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28811 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28812 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28813 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28814 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28815 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28816 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
28817 here...
28818 * conf/common.rmk: ... to here. New file.
28819
28820 * conf/common.mk: New file.
28821
16f820c8 288222005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
28823
28824 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
28825 (grub_script.tab.c): ... here.
28826
28827 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
28828 (grub_script.tab.c): ... here.
28829
28830 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
28831 (grub_script.tab.c): ... here.
28832
28833 * normal/command.c (grub_command_find): Fixed a memory leak of
28834 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
28835
63ba1554 288362005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28837
28838 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
28839 "@" which marks the start of a comment on ARM.
28840 (VARIABLE): Likewise.
28841
7f67dc13 288422005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28843
79bbb63f 28844 Add support for Linux/ADFS partition tables.
7f67dc13 28845
28846 * partmap/acorn.c: New file.
28847
28848 * include/grub/acorn_filecore.h: Likewise.
28849
28850 * DISTLIST: Added `partmap/acorn.c' and
28851 `include/grub/acorn_filecore.h'.
f19dbdb7 28852
7f67dc13 28853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28854 `partmap/acorn.c'.
28855 (pkgdata_MODULES): Add `acorn.mod'.
28856 (acorn_mod_SOURCES): New variable.
28857 (acorn_mod_CFLAGS): Likewise.
28858
28859 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28860 `partmap/acorn.c'.
28861 (pkgdata_MODULES): Add `acorn.mod'.
28862 (acorn_mod_SOURCES): New variable.
28863 (acorn_mod_CFLAGS): Likewise.
28864
28865 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
28866 (pkgdata_MODULES): Add `acorn.mod'.
28867 (acorn_mod_SOURCES): New variable.
28868 (acorn_mod_CFLAGS): Likewise.
28869 (acorn_mod_LDFLAGS): Likewise.
28870
28871 * include/types.h (grub_disk_addr_t): New typedef.
28872
6d099807 288732005-11-13 Marco Gerards <mgerards@xs4all.nl>
28874
28875 * geninit.sh: New file.
28876
28877 * geninitheader.sh: Likewise.
28878
28879 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
28880 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
28881 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
28882 * commands/configfile.c (grub_configfile_init)
28883 (grub_configfile_fini): Likewise.
28884 * commands/default.c (grub_default_init, grub_default_fini):
28885 Likewise.
28886 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
28887 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
28888 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
28889 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
28890 Likewise.
28891 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
28892 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
28893 Likewise.
28894 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 28895 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 28896 Likewise.
28897 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
28898 Likewise.
fe6b695a 28899 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 28900 Likewise.
28901 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
28902 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
28903 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
28904 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
28905 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
28906 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
28907 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
28908 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
28909 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
28910 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
28911 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
28912 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
28913 * partmap/amiga.c (grub_amiga_partition_map_init)
28914 (grub_amiga_partition_map_fini): Likewise.
28915 * partmap/apple.c (grub_apple_partition_map_init)
28916 (grub_apple_partition_map_fini): Likewise.
28917 * partmap/pc.c (grub_pc_partition_map_init)
28918 (grub_pc_partition_map_fini): Likewise.
28919 * partmap/sun.c (grub_sun_partition_map_init,
28920 grub_sun_partition_map_fini): Likewise.
28921 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
28922 Likewise.
28923
28924 * util/grub-emu.c: Include <grub_modules_init.h>.
28925 (main): Don't initialize and de-initialize any modules directly,
28926 use `grub_init_all' and `grub_fini_all' instead.
28927
28928 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
28929 `grub_vesafb_mod_init'.
28930 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
28931 all users.
28932 * term/i386/pc/vga.c (grub_vga_init): Renamed to
28933 `grub_vga_mod_init'. Updated all users.
28934 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 28935
6d099807 28936 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
28937 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
28938 rules.
28939
28940 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
28941 Generate a function to initialize the module in utilities.
28942 Updated all callers.
28943 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
28944 initialize the module in utilities. Updated all callers.
28945
9046bcf0 289462005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28947
28948 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
28949 escape sequence and a literal ^L to clear the screen.
28950
28951 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
28952 when returning from Open Firmware.
28953
d13ea639 289542005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28955
28956 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
28957 (grub_ofconsole_height): Likewise.
28958 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
28959 manually insert a '\n'.
28960 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
28961 `grub_ofconsole_height'. Return early if these are already set.
28962
a8fcf206 289632005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
28964
28965 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28966 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
28967 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
28968 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
28969 and `normal/script.c'.
28970 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28971 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28972 (test_mod_SOURCES): New variable.
28973 (test_mod_CFLAGS): Likewise.
28974 (test_mod_LDFLAGS): Likewise.
28975 (pkgdata_MODULES): Add `test.mod'.
28976 (grub_script.tab.c): New rule.
28977 (grub_script.tab.h): Likewise.
28978
b6b32745 289792005-11-07 Marco Gerards <mgerards@xs4all.nl>
28980
28981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28982 `commands/test.c', `normal/execute.c', `normal/lexer.c',
28983 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28984 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28985 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28986 (test_mod_SOURCES): New variable.
28987 (test_mod_CFLAGS): Likewise.
28988 (pkgdata_MODULES): Add `test.mod'.
28989 (grub_script.tab.c): New rule.
28990 (grub_script.tab.h): Likewise.
28991
daac212a 289922005-11-06 Marco Gerards <mgerards@xs4all.nl>
28993
28994 Add initial scripting support.
28995
28996 * commands/test.c: New file.
28997 * include/grub/script.h: Likewise.
28998 * normal/execute.c: Likewise.
28999 * normal/function.c: Likewise.
29000 * normal/lexer.c: Likewise.
29001 * normal/parser.y: Likewise.
29002 * normal/script.c: Likewise.
29003
29004 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29005
daac212a 29006 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29007 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29008 `normal/function.c' and `normal/script.c'.
29009 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29010 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29011 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
29012 variables.
daac212a 29013 (pkgdata_MODULES): Add `test.mod'.
29014 (grub_script.tab.c): New rule.
29015 (grub_script.tab.h): Likewise.
29016
29017 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
29018
29019 * include/grub/normal.h (grub_test_init): New prototype.
29020 (grub_test_fini): Likewise.
f19dbdb7 29021
daac212a 29022 * normal/command.c: Include <grub/script.h>.
29023 (grub_command_execute): Rewritten.
f19dbdb7 29024
daac212a 29025 * util/grub-emu.c (main): Call `grub_test_init' and
29026 `grub_test_fini'.
29027
77500b2b 290282005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29029
29030 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
29031 to 0.
29032 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
29033 there are no pending characters.
29034
e45deb9e 290352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29036
29037 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
29038 `grub_strndup' to drop device arguments. Replace unnecessary
29039 `grub_strndup' with `grub_strdup'.
29040
4ce32619 290412005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29042
29043 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29044 `debug' environment variable has been set.
29045
290462005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29047
4ce32619 29048 * Makefile.in (install-local): Use $(DATA).
29049 (uninstall): Likewise.
29050 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29051 (sbin_UTILITIES): ... to here.
29052 (sbin_SCRIPTS): New variable.
29053 (grub_install_SOURCES): New variable.
29054 * util/powerpc/ieee1275/grub-install.in: New file.
29055 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29056 variable.
29057 (add_segments): Call `grub_util_get_path'.
29058
25fe6f03 290592005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29060
29061 From Timothy Baldwin:
29062 * commands/ls.c (grub_ls_list_files): Close FILE with
29063 grub_file_close.
29064 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29065
04ccf3ec 290662005-10-24 Marco Gerards <mgerards@xs4all.nl>
29067
29068 * include/grub/parser.h: New file.
29069
29070 * kern/parser.c: Likewise.
29071
29072 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29073 (grub_setup_SOURCES): Likewise.
29074 (grub_probefs_SOURCES): Likewise.
29075 (grub_emu_SOURCES): Likewise.
29076 (kernel_img_HEADERS): Add `parser.h'.
29077
29078 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29079 (grub_emu_SOURCES): Add `kern/parser.c'.
29080 (grubof_SOURCES): Likewise.
29081
29082 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29083 (grubof_SOURCES): Add `kern/parser.c'.
29084
29085 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29086
29087 * kern/misc.c (grub_split_cmdline): Removed function.
29088
29089 * kern/rescue.c: Include <grub/parser.h>.
29090 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29091 of `grub_split_cmdline'.
29092
29093 * normal/command.c: Include <grub/parser.h>.
29094 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29095 of `grub_split_cmdline'.
29096
29097 * normal/completion.c: Include <grub/parser.h>.
29098 (cmdline_state): New variable.
29099 (iterate_dir): End the filename with a quote depending on the
29100 command line state.
29101 (get_state): new function.
29102 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29103 split the arguments and determine the current argument. When the
29104 argument string is not quoted, escape all spaces.
29105
6d8f4b0e 291062005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29107
29108 * normal/sparc64/setjmp.S: New file.
29109
15cf03ed 291102005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29111
29112 * include/grub/sparc64/libgcc.h: New file.
29113 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29114 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29115 normal/sparc64/setjmp.c.
29116
03e8661a 291172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29118
29119 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29120 * kern/sparc64/cache.S: New file.
29121 * kern/sparc64/cache.c: Removed.
29122 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29123 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29124 -mtune=ultrasparc.
29125 (COMMON_LDFLAGS): Add -melf64_sparc.
29126 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29127 (grubof_SOURCES): Use cache.S instead of cache.c.
29128 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29129 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29130 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29131 commented though.
29132 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29133 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29134 (linux_mod_CFLAGS): Commented out.
29135 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29136 out because module isn't built.
29137 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29138 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29139 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29140 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29141 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29142 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29143 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29144 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29145 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29146 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29147 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29148 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29149 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29150 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29151
34eeec8a 291522005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29153
29154 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29155 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29156 longer, because HFS should not be used on PC.
29157
708367a3 291582005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29159
29160 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29161 consistently within the loop.
29162
6fa1251a 291632005-10-15 Marco Gerards <mgerards@xs4all.nl>
29164
29165 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29166 directory can not be read.
29167
4801580b 291682005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29169
29170 * configure.ac (AC_INIT): Increase the version number to 1.91.
29171
29172 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29173 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29174 term/i386/pc/serial.c.
29175
219ad426 291762005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29177
29178 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29179 file size must be permitted.
29180
29181 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29182 between %ah and %al.
29183
688e5699 291842005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29185
29186 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29187 grub_uint64_t.
29188 Call the hook with a NUL-terminated filename.
29189 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29190 grub_cpu_to_be32.
29191
29192 * kern/term.c (cursor_state): New variable.
29193 (grub_term_set_current): Reset the cursor state on a new
29194 terminal.
29195 (grub_setcursor): Rewritten to use CURSOR_STATE.
29196 (grub_getcursor): New function.
29197
29198 * include/grub/term.h (grub_getcursor): New prototype.
29199
29200 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29201 integers on ARM. Reported by Timothy Baldwin
29202 <T.E.Baldwin99@members.leeds.ac.uk>.
29203
bb34586c 292042005-10-11 Marco Gerards <mgerards@xs4all.nl>
29205
29206 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29207 allocated.
29208 (grub_sfs_dir): Likewise.
29209
9a909877 292102005-10-09 Marco Gerards <mgerards@xs4all.nl>
29211
29212 Add support for the SFS filesystem.
29213
29214 * fs/sfs.c: New file.
29215
29216 * DISTLIST: Added `fs/sfs.c'.
29217
29218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29219 (grub_probefs_SOURCES): Likewise.
29220 (grub_emu_SOURCES): Likewise.
29221 (pkgdata_MODULES): Add `sfs.mod'.
29222 (sfs_mod_SOURCES): New variable.
29223 (sfs_mod_CFLAGS): Likewise.
29224 (sfs_mod_LDFLAGS): Likewise.
29225
29226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29227 (pkgdata_MODULES): Add `sfs.mod'.
29228 (sfs_mod_SOURCES): New variable.
29229 (sfs_mod_CFLAGS): Likewise.
29230
29231 * util/grub-emu.c (main): Call `grub_sfs_init' and
29232 `grub_sfs_fini'.
29233
29234 * include/grub/fs.h (grub_sfs_init): New prototype.
29235 (grub_sfs_fini): Likewise.
29236
57bdbde3 292372005-10-07 Marco Gerards <mgerards@xs4all.nl>
29238
29239 Add support for the AFFS filesystem.
29240
29241 * fs/affs.c: New file.
29242
29243 * DISTLIST: Added `fs/affs.c'.
29244
29245 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29246 (grub_probefs_SOURCES): Likewise.
29247 (grub_emu_SOURCES): Likewise.
29248 (pkgdata_MODULES): Add `affs.mod'.
29249 (affs_mod_SOURCES): New variable.
29250 (affs_mod_CFLAGS): Likewise.
29251 (affs_mod_LDFLAGS): Likewise.
29252
29253 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29254 (pkgdata_MODULES): Add `affs.mod'.
29255 (affs_mod_SOURCES): New variable.
29256 (affs_mod_CFLAGS): Likewise.
29257
29258 * util/grub-emu.c (main): Call `grub_affs_init' and
29259 `grub_affs_fini'.
29260
29261 * include/grub/fs.h (grub_affs_init): New prototype.
29262 (grub_affs_fini): Likewise.
29263
047b67e0 292642005-10-01 Marco Gerards <mgerards@xs4all.nl>
29265
29266 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29267
59b8208a 292682005-10-01 Marco Gerards <mgerards@xs4all.nl>
29269
29270 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29271 `-m32' to CFLAGS.
29272
29273 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29274 linking.
f19dbdb7 29275
59b8208a 29276 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29277 (COMMON_LDFLAGS): New variable.
29278 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29279 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29280 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29281 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29282 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29283 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29284 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29285 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29286 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29287 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29288 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29289 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29290 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29291 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29292 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29293 variables.
29294 (normal_mod_ASFLAGS): Add `-m32'.
29295
29296 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29297 (grub_host_size_t, grub_host_ssize_t): New types.
29298 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 29299 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 29300 `GRUB_HOST_SIZEOF_VOID_P'.
29301
29302 * include/grub/kernel.h (struct grub_module_header): Type of
29303 member offset changed to `grub_host_off_t'. Type of member size
29304 changed to `grub_host_size_t'.
29305 (struct grub_module_info): Type of member offset changed to
29306 `grub_host_off_t'. Type of member size changed to
29307 `grub_host_size_t'.
29308
b4093103 293092005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29310
29311 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 29312
b4093103 29313 * kern/i386/pc/startup.S (multiboot_header): New label.
29314 (multiboot_entry): Likewise.
29315 (multiboot_trampoline): Likewise.
29316
29317 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29318 Increased to 0x4A0.
29319
29320 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29321 put parentheses after a question mark.
29322 [!GRUB_UTIL] (my_mod): New variable.
29323
29324 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29325
b2499b29 293262005-09-28 Marco Gerards <mgerards@xs4all.nl>
29327
29328 Adds support for the XFS filesystem. Btrees are not supported
29329 yet.
29330
29331 * fs/xfs.c: New file.
29332
29333 * DISTLIST: Added `fs/xfs.c'.
29334
29335 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29336 (grub_probefs_SOURCES): Likewise.
29337 (grub_emu_SOURCES): Likewise.
29338 (pkgdata_MODULES): Add `xfs.mod'.
29339 (xfs_mod_SOURCES): New variable.
29340 (xfs_mod_CFLAGS): Likewise.
29341
29342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29343 (pkgdata_MODULES): Add `xfs.mod'.
29344 (xfs_mod_SOURCES): New variable.
29345 (xfs_mod_CFLAGS): Likewise.
29346
29347 * util/grub-emu.c (main): Call `grub_xfs_init' and
29348 `grub_xfs_fini'.
29349
29350 * include/grub/fs.h (grub_xfs_init): New prototype.
29351 (grub_xfs_fini): Likewise.
29352
f19dbdb7 29353
83d37a62 293542005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29355
29356 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29357 color modes, allow greater than 16 colors to be configured as
29358 a default palette.
29359
47d2d65e 293602005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29361
29362 * normal/completion.c (complete_arguments): Add the qualifier
29363 const into OPTIONS.
29364
29365 From Omniflux <omniflux+lists@omniflux.com>:
29366 * include/grub/terminfo.h: New file.
29367 * include/grub/tparm.h: Likewise.
29368 * include/grub/i386/pc/serial.h: Likewise.
29369 * term/terminfo.c: Likewise.
29370 * term/tparm.c: Likewise.
29371 * term/i386/pc/serial.c: Likewise.
29372 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29373 serial.mod.
29374 (terminfo_mod_SOURCES): New variable.
29375 (terminfo_mod_CFLAGS): Likewise.
29376 (serial_mod_SOURCES): Likewise.
29377 (serial_mod_CFLAGS): Likewise.
29378
48b671ff 293792005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29380
29381 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29382 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29383 and kern/powerpc/ieee1275/cmain.c, respectively.
29384
29385 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29386 * kern/powerpc/ieee1275/crt0.S: ... here.
29387
29388 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29389 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 29390
48b671ff 29391 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29392 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29393 instead of boot/powerpc/ieee1275/crt0.S and
29394 boot/powerpc/ieee1275/cmain.c, respectively.
29395
29396 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29397 sectors. It was not used anyway.
29398
09fc77a7 293992005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29400
29401 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29402 `unused parameter' warning.
29403
003789c7 294042005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29405
29406 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29407 function.
29408 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29409 getcharwidth.
29410
67f44c86 294112005-08-28 Marco Gerards <metgerards@student.han.nl>
29412
29413 * include/grub/normal.h (enum grub_completion_type): Added
29414 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29415
29416 * normal/cmdline.c (print_completion): Handle
29417 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29418 * normal/menu_entry.c (store_completion): Likewise.
29419
29420 * normal/completion.c (complete_arguments): New function.
29421 (grub_normal_do_completion): Call `complete_arguments' when the
29422 current words start with a dash.
29423
0b5abe02 294242005-08-27 Marco Gerards <metgerards@student.han.nl>
29425
29426 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29427 `gzio.mod' instead of `io.mod').
29428
d9864ee1 294292005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29430
29431 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29432 (DISTDIRS): Added io and video.
29433 Rewrite the search routine to make an output consistently.
29434
29435 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29436 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29437 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29438 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29439 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29440 util/powerpc/ieee1275/misc.c.
f19dbdb7 29441
d9864ee1 29442 * include/grub/gzio.h: New file.
29443 * io/gzio.c: Likewise.
f19dbdb7 29444
d9864ee1 29445 * kern/file.c (grub_file_close): Call grub_device_close only if
29446 FILE->DEVICE is not NULL.
29447
29448 * include/grub/mm.h [!NULL] (NULL): New macro.
29449
29450 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29451
29452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29453 (pkgdata_MODULES): Added gzio.mod.
29454 (gzio_mod_SOURCES): New variable.
29455 (gzio_mod_CFLAGS): Likewise.
29456
29457 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29458 (pkgdata_MODULES): Added gzio.mod.
29459 (gzio_mod_SOURCES): New variable.
29460 (gzio_mod_CFLAGS): Likewise.
29461
29462 * commands/cat.c: Include grub/gzio.h.
29463 (grub_cmd_cat): Use grub_gzfile_open instead of
29464 grub_file_open.
f19dbdb7 29465
d9864ee1 29466 * commands/cmp.c: Include grub/gzio.h.
29467 (grub_cmd_cmp): Use grub_gzfile_open instead of
29468 grub_file_open.
29469
29470 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29471 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29472 grub_file_open.
29473 (grub_rescue_cmd_module): Likewise.
29474
fa46f4b5 294752005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29476
29477 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29478 kern/sparc64/ieee1275/init.c because it contains _start.
29479 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29480
e9211b5d 294812005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29482
29483 * configure.ac: Add support for sparc64 host with ieee1275
29484 firmware.
29485 * configure: Generated from configure.ac.
29486 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29487 instead of int.
29488 (grub_ofdisk_read): Likewise.
29489 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29490 pointers as (void *) to remove a warning.
29491 (grub_ofdisk_close): Likewise.
29492 (grub_ofdisk_read): Likewise.
29493 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29494 returns, so make it return void to remove a warning.
29495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29496 Corresponding prototype change.
29497 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29498 values, and cast the pointers as (void *) to remove a warning.
29499 (grub_mm_dump): Likewise.
29500 * conf/sparc64-ieee1275.mk: New file.
29501 * conf/sparc64-ieee1275.rmk: Likewise.
29502 * include/grub/sparc64/setjmp.h: Likewise.
29503 * include/grub/sparc64/types.h: Likewise.
29504 * include/grub/sparc64/ieee1275/console.h: Likewise.
29505 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29506 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29507 * include/grub/sparc64/ieee1275/time.h: Likewise.
29508 * kern/sparc64/cache.c: Likewise.
29509 * kern/sparc64/dl.c: Likewise.
29510 * kern/sparc64/ieee1275/init.c: Likewise.
29511 * kern/sparc64/ieee1275/openfw.c: Likewise.
29512
385c6a92 295132005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29514
29515 * util/console.c (grub_ncurses_putchar): If C is greater than
29516 0x7f, set C to a question mark.
29517 (grub_ncurses_getcharwidth): New function.
29518 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29519 getcharwidth.
29520
29521 * normal/menu.c (print_entry): Made aware of Unicode. First,
29522 convert TITLE to UCS-4, and predict the cursor position by
29523 grub_getcharwidth.
29524
29525 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29526 const to SRC.
29527 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29528
16ccb8b1 295292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29530
29531 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29532 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29533 grub_strcat.
29534
29535 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29536 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29537 grub_strcpy and grub_strlen. Take it into account that a space
29538 character is inserted as a delimiter.
29539
6a85ce79 295402005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29541
29542 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 29543 invalid magic in the error.
6a85ce79 29544
29545 * commands/search.c: New file.
f19dbdb7 29546
6a85ce79 29547 * util/grub-emu.c (main): Call grub_search_init and
29548 grub_search_fini.
29549
29550 * kern/rescue.c (grub_rescue_print_disks): Removed.
29551 (grub_rescue_print_devices): New function.
29552 (grub_rescue_cmd_ls): Use grub_device_iterate with
29553 grub_rescue_print_devices instead of grub_disk_dev_iterate with
29554 grub_rescue_print_disks.
29555
29556 * kern/partition.c (grub_partition_iterate): Return the result of
29557 PARTMAP->ITERATE instead of GRUB_ERRNO.
29558
29559 * kern/device.c: Include grub/partition.h.
29560 (grub_device_iterate): New function.
29561
29562 * include/grub/partition.h (grub_partition_iterate): Return int
29563 instead of grub_err_t.
29564
29565 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
29566 prototype.
29567 [GRUB_UTIL] (grub_search_fini): Likewise.
29568
29569 * include/grub/device.h (grub_device_iterate): New prototype.
29570
29571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29572 commands/search.c.
29573 (pkgdata_MODULES): Added search.mod.
29574 (search_mod_SOURCES): New variable.
29575 (search_mod_CFLAGS): Likewise.
29576
29577 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
29578 (pkgdata_MODULES): Added search.mod.
29579 (search_mod_SOURCES): New variable.
29580 (search_mod_CFLAGS): Likewise.
29581
29582 * commands/ls.c (grub_ls_list_disks): Renamed to ...
29583 (grub_ls_list_devices): ... this, and use grub_device_iterate.
29584 All callers changed.
29585
29586 * DISTLIST: Added commands/search.c.
29587
ef095434 295882005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29589
29590 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
29591 conversion.
29592 (grub_getcharwidth): New function.
29593
29594 * kern/misc.c (grub_utf8_to_ucs4): New function.
29595
29596 * include/grub/term.h (struct grub_term): Added a new member
29597 "getcharwidth".
29598 (grub_getcharwidth): New prototype.
29599
29600 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
29601
29602 * term/i386/pc/console.c (map_char): New function. Segregated from
29603 grub_console_putchar.
29604 (grub_console_putchar): Use map_char.
29605 (grub_console_getcharwidth): New function.
29606 (grub_console_term): Specified grub_console_getcharwidth as
29607 getcharwidth.
29608
29609 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
29610 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
29611
29612 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
29613 GRUB_ERRNO.
29614 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
29615 on grub_strtoul completely.
29616 (write_char): Declare local variables in the beginning of the
29617 function.
29618 (grub_vesafb_getcharwidth): New function.
29619 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
29620 getcharwidth.
29621
1f0a95e4 296222005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
29623
29624 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
29625 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
29626 commands/i386/pc/vbetest.c.
29627
29628 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
29629 call grub_vbe_get_controller_info again, because the returned
29630 information is volatile.
29631 (grub_vbe_set_video_mode): Mostly rewritten.
29632 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
29633 grub_vbe_status_t correctly.
29634 (grub_vbe_get_video_mode_info): Likewise.
29635 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
29636 several if statements.
29637
29638 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
29639 * commands/i386/pc/vbeinfo.c: ... this.
29640
29641 * commands/i386/pc/vbe_test.c: Renamed to ...
29642 * commands/i386/pc/vbetest.c: ... this.
29643
29644 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
29645 ...
29646 (grub_cmd_vbeinfo): ... this. Save video modes before
29647 iterating. Skip a video mode, if it is not available, not enough
29648 information is given or it is monochrome. Show the memory
29649 model. Leave the interpretation of MODEVAR to grub_strtoul
29650 completely.
29651 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
29652 (GRUB_MOD_FINI): Likewise.
29653
29654 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
29655 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
29656 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
29657 duplicated grub_env_get. Leave the interpretation of MODEVAR to
29658 grub_strtoul completely.
29659 (real2pm): Removed.
29660 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
29661 (GRUB_MOD_FINI): Likewise.
29662
29663 * normal/misc.c: Include grub/mm.h.
29664
29665 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
29666 vbe_list_modes with vbetest.mod and vbeinfo.mod.
29667 (vbe_list_modes_mod_SOURCES): Removed.
29668 (vbe_list_modes_mod_CFLAGS): Likewise.
29669 (vbe_test_mod_SOURCES): Likewise.
29670 (vbe_test_mod_CFLAGS): Likewise.
29671 (vbeinfo_mod_SOURCES): New variable.
29672 (vbeinfo_mod_CFLAGS): Likewise.
29673 (vbetest_mod_SOURCES): Likewise.
29674 (vbetest_mod_CFLAGS): Likewise.
29675
992ffbbe 296762005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
29677
29678 * normal/misc.c: New file.
29679
29680 * DISTLIST: Added normal/misc.c.
f19dbdb7 29681
992ffbbe 29682 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
29683 DISK to HOOK. Call HOOK with DISK.
29684 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29685 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29686 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29687
29688 * normal/menu_entry.c (struct screen): Added a new member
29689 "completion_shown".
29690 (completion_buffer): New global variable.
29691 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
29692 (store_completion): New function.
29693 (complete): Likewise.
29694 (clear_completions): Likewise.
29695 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
29696 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
29697 a tab, call complete.
29698
29699 * normal/completion.c (disk_dev): Removed.
29700 (print_simple_completion): Likewise.
29701 (print_partition_completion): Likewise.
29702 (print_func): New global variable.
29703 (add_completion): Do not take the arguments WHAT or PRINT any
29704 longer. Added a new argument TYPE. Instead of printing directly,
29705 call PRINT_FUNC if not NULL.
29706 All callers changed.
29707 (complete_device): Use a local variable DEV instead of
29708 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
29709 (grub_normal_do_completion): Take a new argument HOOK. Do not
29710 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
29711 empty string, return NULL instead.
29712 All callers changed.
29713
29714 * normal/cmdline.c (print_completion): New function.
29715
29716 * kern/partition.c (grub_partition_iterate): Add an argument DISK
29717 to HOOK.
29718 All callers changed.
29719
29720 * kern/disk.c (grub_print_partinfo): Removed.
29721
29722 * include/grub/partition.h (struct grub_partition_map): Add a new
29723 argument DISK into HOOK of ITERATE.
29724 (grub_partition_iterate): Add a new argument DISK to HOOK.
29725
29726 * include/grub/normal.h (enum grub_completion_type): New enum.
29727 (grub_completion_type_t): New type.
29728 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
29729 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
29730 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
29731 (GRUB_COMPLETION_TYPE_FILE): Likewise.
29732 (grub_normal_do_completion): Added a new argument HOOK.
29733 (grub_normal_print_device_info): New prototype.
29734
29735 * include/grub/disk.h (grub_print_partinfo): Removed.
29736
29737 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
29738 (normal_mod_SOURCES): Likewise.
29739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29740 (normal_mod_SOURCES): Likewise.
29741
29742 * commands/ls.c (grub_ls_list_disks): Use
29743 grub_normal_print_device_info instead of grub_print_partinfo. Free
29744 PNAME.
29745 (grub_ls_list_files): Use grub_normal_print_device_info instead of
29746 duplicating the code.
29747
0bd41162 297482005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29749
29750 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 29751 follow GCS more precisely.
29752 * commands/i386/pc/vbe_test.c: Likewise.
29753 * include/grub/i386/pc/vbe.h: Likewise.
29754 * term/i386/pc/vesafb.c: Likewise.
29755 * video/i386/pc/vbe.c: Likewise.
0bd41162 29756
6323696a 297572005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29758
29759 * DISTLIST: Added term/i386/pc/vesafb.c
29760 DISTLIST: Added video/i386/pc/vbe.c
29761 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
29762 DISTLIST: Added commands/i386/pc/vbe_test.c.
29763 * commands/i386/pc/vbe_list_modes.c: New file.
29764 * commands/i386/pc/vbe_test.c: Likewise.
29765 * term/i386/pc/vesafb.c: Likewise.
29766 * video/i386/pc/vbe.c: Likewise.
29767 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
29768 (grub_vbe_probe) Added prototype.
29769 (grub_vbe_set_video_mode) Likewise.
29770 (grub_vbe_get_video_mode) Likewise.
29771 (grub_vbe_get_video_mode_info) Likewise.
29772 (grub_vbe_set_pixel_rgb) Likewise.
29773 (grub_vbe_set_pixel_index) Likewise.
29774 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
29775 (pkgdata_MODULES): Added vesafb.mod.
29776 (pkgdata_MODULES): Added vbe_list_modes.mod.
29777 (pkgdata_MODULES): Added vbe_test.mod.
29778 (vbe_mod_SOURCES): Added.
29779 (vbe_mod_CFLAGS): Likewise.
29780 (vesafb_mod_SOURCES): Likewise.
29781 (vesafb_mod_CFLAGS): Likewise.
29782 (vbe_list_modes_mod_SOURCES): Likewise.
29783 (vbe_list_modes_mod_CFLAGS): Likewise.
29784 (vbe_test_mod_SOURCES): Likewise.
29785 (vbe_test_mod_CFLAGS): Likewise.
29786
0a74e62f 297872005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
29788
0a74e62f 29789 * normal/command.c (grub_command_execute): If INTERACTIVE is
29790 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
29791 CMDLINE. Disable the pager if INTERACTIVE is true.
29792 All callers are changed.
29793
29794 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
29795 before reading a config file.
29796 * normal/main.c (read_config_file): Even if a command is not
29797 found, register it if it is within an entry.
29798
29799 * util/grub-emu.c: Include sys/types.h and unistd.h.
29800 (options): Added --hold.
29801 (struct arguments): Added a new member "hold".
29802 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
29803 missing.
29804 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
29805 cleared by a debugger, if it is not zero.
29806
29807 * include/grub/normal.h (grub_command_execute): Add an argument
29808 INTERACTIVE.
29809
e51f85ae 298102005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
29811
29812 * DISTLIST: Added include/grub/i386/pc/vbe.h.
29813
e9c6f39b 298142005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
29815
29816 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
29817 program with another one, because the old one didn't detect a bug
29818 in gcc-3.4. Always use regparm 2, because the new test is still
29819 not enough for gcc-4.0. Someone must investigate a simple test
29820 case which detects a bug in gcc-4.0.
29821
8de3495c 298222005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
29823
29824 * DISTLIST: Added normal/completion.c.
29825
29826 * normal/completion.c: New file.
f19dbdb7 29827
8de3495c 29828 * term/i386/pc/console.c (grub_console_getwh): New function.
29829 (grub_console_term): Assign grub_console_getwh to getwh.
29830
29831 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
29832 function is defined in normal/completion.c as
29833 grub_normal_do_completion.
29834 (grub_cmdline_get): Use grub_normal_do_completion instead of
29835 grub_tab_complete.
29836
29837 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
29838 returns non-zero, otherwise return 0.
29839 (grub_partition_iterate): First, probe the partition map. Then,
29840 call ITERATE only for this partition map.
29841
29842 * kern/misc.c (grub_strncmp): Rewritten.
29843
29844 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
29845 returns non-zero. Otherwise return 0.
29846
29847 * include/grub/partition.h (grub_partition_map_iterate): Return
29848 int instead of void.
29849
29850 * include/grub/normal.h (grub_normal_do_completion): New prototype.
29851
29852 * include/grub/misc.h (grub_strncmp): Change the type of N to
29853 grub_size_t.
29854
29855 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
29856 of void.
29857
29858 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 29859 unsigned explicitly before comparing it with I.
8de3495c 29860
29861 * kern/main.c (grub_env_write_root): Add the attribute unused into
29862 VAR.
29863
29864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29865 normal/completion.c.
29866 (normal_mod_SOURCES): Likewise.
29867 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29868 (normal_mod_SOURCES): Likewise.
29869
29870 * normal/command.c (grub_iterate_commands): If ITERATE returns
29871 non-zero, return one immediately.
29872
e85e144b 298732005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
29874
29875 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
29876 * kern/i386/pc/startup.S: Updated Global Descriptor table's
29877 descriptions.
29878 (grub_vbe_get_controller_info): New function.
29879 (grub_vbe_get_mode_info): Likewise.
29880 (grub_vbe_set_mode): Likewise.
29881 (grub_vbe_get_mode): Likewise.
29882 (grub_vbe_set_memory_window): Likewise.
29883 (grub_vbe_get_memory_window): Likewise.
29884 (grub_vbe_set_scanline_length): Likewise.
29885 (grub_vbe_get_scanline_length): Likewise.
29886 (grub_vbe_set_display_start): Likewise.
29887 (grub_vbe_get_display_start): Likewise.
29888 (grub_vbe_set_palette_data): Likewise.
29889 * include/grub/i386/pc/vbe.h: New file.
29890
c46153d2 298912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29892
29893 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29894 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
29895 * DISTLIST: Likewise.
29896 * kern/ieee1275/of.c: Moved to ...
29897 * kern/ieee1275/ieee1275.c: ... here.
29898
0cb90c45 298992005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29900
29901 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
29902 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
29903 Pass 0 as `end' parameter to grub_strtoul().
29904
a19fb360 299052005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29906
29907 * include/grub/powerpc/ieee1275/console.h: Do not include
29908 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
29909 ifdef.
29910 (grub_console_cur_color): Remove i386-specific prototype.
29911 (grub_console_real_putchar): Likewise.
29912 (grub_console_checkkey): Likewise.
29913 (grub_console_getkey): Likewise.
29914 (grub_console_getxy): Likewise.
29915 (grub_console_gotoxy): Likewise.
29916 (grub_console_cls): Likewise.
29917 (grub_console_setcursor): Likewise.
29918 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
29919 Include <grub/machine/console.h>.
29920 * term/ieee1275/ofconsole.c: Likewise.
29921
4ac9bd04 299222005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
29923
29924 * Makefile.in (LIBLZO): New variable.
29925
29926 * configure.ac: Check for LZO version 2.
29927
29928 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
29929 lzo/lzo1x.h instead of lzo1x.h.
29930
29931 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
29932 of -llzo.
29933
29934 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
29935 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
29936
29937 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
29938 copying the data from PARTITION to P.
29939
f4917dfd 299402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29941
29942 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
29943 negative, unload the module.
29944
29945 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
29946 map is "pc_partition_map" but not "pc".
29947 (usage): Fix the description. The options are --boot-image and
29948 --core-image but not --boot-file or --core-file.
29949 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
29950 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
29951 DEFAULT_DIRECTORY.
29952
29953 * util/i386/pc/grub-install.in: Do not specify --boot-file or
29954 --core-file. Specify INSTALL_DEVICE as an argument.
29955
29956 * util/console.c: Include config.h.
29957 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
29958 [HAVE_NCURSES_H]: Include ncurses.h.
29959 [HAVE_CURSES_H]: Include curses.h.
29960 [!A_NORMAL] (A_NORMAL): Defined as zero.
29961 [!A_STANDOUT] (A_STANDOUT): Likewise.
29962
29963 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
29964 -lncurses.
29965 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
29966
29967 * configure.ac: Check for curses libraries and headers.
29968
29969 * Makefile.in (LIBCURSES): New variable.
29970
29971 * genmk.rb (Script::rule): Set the executable bits.
29972
29973 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
29974 name of the PC partition map is "pc_partition_map" but not "pc".
29975
0e143073 299762005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29977
29978 * util/i386/pc/grub-install.in (grub_probefs): New variable.
29979 (modules): Likewise.
29980 (usage): Added descriptions for --modules and --grub-probefs.
29981 Handle --modules and --grub-probefs. Save the arguments in MODULES
29982 and GRUB_PROBEFS, respectively.
29983 Auto-detect a filesystem module against GRUBDIR. If the result is
29984 empty and modules are not specified explicitly, abort the
29985 installation. Add the result to MODULES.
29986
29987 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
29988 disk/powerpc/ieee1275/ofdisk.c,
29989 include/grub/powerpc/ieee1275/init.h and
29990 term/powerpc/ieee1275/ofconsole.c.
29991 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
29992 term/ieee1275/ofconsole.c.
29993
29994 * include/grub/powerpc/ieee1275/console.h: Resurrected.
29995
29996 * COPYING: Upgraded to the latest version. Only the address of the
29997 FSF office has changed.
f19dbdb7 29998
efd6e6d5 299992005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30000
30001 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30002 kern/ieee1275.c with kern/ieee1275/of.c.
30003
30004 * kern/ieee1275.c: Moved to ...
30005 * kern/ieee1275/of.c: ... here.
30006
8ceafda2 300072005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30008
30009 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30010 readability.
8ceafda2 30011
30012 * config.guess: Updated to the latest version from gnulib.
30013 * config.sub: Likewise.
30014 * install.sh: Likewise.
30015 * mkinstalldirs: Likewise.
30016
30017 * include/grub/console.h: Removed. This file is arch-specific. Do
30018 not put this in include/grub.
30019
30020 * include/grub/i386/pc/console.h: Resurrected.
30021
30022 * util/console.c: Include grub/machine/console.h instead of
30023 grub/console.h.
30024 * util/grub-emu.c: Likewise.
30025
267f6cd9 300262005-08-04 Marco Gerards <metgerards@student.han.nl>
30027
30028 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
30029 hardcoded value.
f19dbdb7 30030
267f6cd9 30031 From Vincent Pelletier <subdino2004@yahoo.fr>
30032 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
30033 Redefined to use grub_getwh.
30034 (grub_term): New member named getwh.
30035 (grub_getwh): New prototype.
30036 * kern/term.c (grub_getwh): New function.
30037 * term/i386/pc/console.c (grub_console_getwh): New function.
30038 (grub_console_term): New member `getwh'.
30039 * term/i386/pc/vga.c (grub_vga_getwh): New function.
30040 (grub_vga_term): New member `getwh'.
0b5abe02 30041 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 30042 grub_ssize_t.
30043 (grub_ofconsole_getw): New function.
30044 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30045 (grub_ofconsole_term): New field named getwh and new initial
30046 value.
30047
3be7266d 300482005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30049
30050 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30051 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30052 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30053 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30054 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30055 of <grub/machine/ieee1275.h>.
30056 * commands/ieee1275/reboot.c: Likewise.
30057 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30058 * kern/ieee1275.c: ... to here. All users updated. Change all
30059 parameter structs to use new type `grub_ieee1275_cell_t'.
30060 * term/powerpc/ieee1275/ofconsole.c: Move ...
30061 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30062 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30063 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30064 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30065 to return int.
30066 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30067 Remove unused prototypes. All users updated.
30068 * include/grub/powerpc/ieee1275/console.h: Removed.
30069 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30070 `grub_ieee1275_cell_t'.
30071 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30072 Cast comparisons with -1 to the correct type.
30073 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30074 type to match `grub_ieee1275_entry_fn'.
30075
8b5f3938 300762005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30077
30078 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30079
30080 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30081 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30082 partmap/sun.c.
30083 (grub_probefs_SOURCES): New variable.
30084
30085 * util/i386/pc/grub-probefs.c: New file.
30086
30087 * util/i386/pc/grub-setup.c (main): Call
30088 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30089 grub_hfs_init and grub_jfs_init to initialize the system. Call
30090 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30091 grub_pc_partition_map_fini to finish the system.
30092
ea409713 300932005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30094
30095 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30096 function.
30097 (grub_multiboot_load_elf32): Likewise.
30098 (grub_multiboot_is_elf64): Likewise.
30099 (grub_multiboot_load_elf64): Likewise.
30100 (grub_multiboot_load_elf): Likewise.
30101 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30102 an ELF32 or ELF64 file.
30103 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30104
30105 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30106 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30107 NULL before calling FS->LABEL.
30108 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30109 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30110 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30111 before calling FS->LABEL.
30112
141a288b 301132005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30114
30115 * util/i386/pc/grub-install.in (datadir): New variable.
30116 (libdir): Removed.
30117 (pkgdatadir): New variable.
30118 (pkglibdir): Removed.
30119
0d5f8a54 301202005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30121
30122 * DISTLIST: Added util/i386/pc/grub-install.in.
30123
30124 * util/i386/pc/grub-install.in: New file.
30125
30126 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30127 (grub_install_SOURCES): Likewise.
30128
30129 * genmk.rb: Added support for scripts.
30130 (Script): New class.
30131 (scripts): New variable.
30132
30133 * Makefile.in (install-local): Install sbin_SCRIPTS by
30134 INSTALL_SCRIPT.
30135 (uninstall): Remove sbin_SCRIPTS.
30136
30137 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30138 device, try to get a GRUB device by
30139 grub_util_biosdisk_get_grub_dev.
30140 Free DEST_DEV.
30141
30142 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30143 description for --device-map.
30144
5f968e1e 301452005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30146
30147 Change the semantics of variable hooks. They now return strings
30148 instead of error values.
f19dbdb7 30149
5f968e1e 30150 * util/i386/pc/grub-setup.c: Include grub/env.h.
30151 (setup): Use grub_device_set_root instead of grub_env_set.
30152
30153 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30154 grub_env_get instead of grub_device_set_root and
30155 grub_device_get_root, respectively.
30156
30157 * kern/main.c (grub_env_write_root): New function.
30158 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30159 grub_env_set instead of grub_device_set_root.
30160
30161 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30162 many variables.
30163 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30164 rather than calling ENV->WRITE_HOOK afterwards.
30165 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30166 passing a pointer of a pointer.
30167 (grub_register_variable_hook): Change the types of "read_hook" and
30168 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30169 respectively.
30170 Allocate the default empty string on the heap, because this string
30171 may be freed later.
30172
30173 * kern/device.c: Include grub/env.h.
30174 (grub_device_set_root): Removed.
30175 (grub_device_get_root): Likewise.
30176 (grub_device_open): Use grub_env_get instead of
30177 grub_device_get_root.
30178
30179 * include/grub/env.h (grub_env_read_hook_t): New type.
30180 (grub_env_write_hook_t): Likewise.
30181 (grub_env_var): Change the types of "read_hook" and "write_hook"
30182 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30183 (grub_register_variable_hook): Likewise.
30184
30185 * include/grub/device.h (grub_device_set_root): Removed.
30186 (grub_device_set_root): Likewise.
30187
30188 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30189 make sure that DIRNAME terminates with '/', so that
30190 grub_fat_find_dir will fail if PATH is not a directory.
30191
30192 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30193 from DIRNAME.
30194 Use the qualifier auto for print_files and print_files_long.
30195 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30196 as a regular file.
30197 Put a newline only if there is no error.
30198 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30199 used.
30200
896f0afd 302012005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30202
30203 * kern/partition.c (grub_partition_probe): Initialize PART to
30204 NULL. Otherwise, when no partition map is registered, this returns
30205 a garbage.
30206
b28b81b2 302072005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30208
30209 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30210 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30211 valid.
30212
5f3607e0 302132005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30214
30215 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30216 information on each device, if it does not have partitions. Print
30217 "Device" instead of "Disk", because this function is not specific
30218 to disk devices.
30219
30220 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30221 static to ensure that it is put on the memory rather than a
30222 register.
30223
502c87e8 302242005-07-17 Yoshinori Okuji <okuji@enbug.org>
30225
30226 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30227 (grub_cat_init): Likewise.
30228 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30229 (options): Likewise.
30230 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30231 (grub_configfile_init): Likewise.
30232 * font/manager.c (GRUB_MOD_INIT): Likewise.
30233 * commands/help.c (GRUB_MOD_INIT): Likewise.
30234 (grub_help_init): Likewise.
30235 * normal/command.c (grub_command_init): Likewise.
30236 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30237 * disk/loopback.c (grub_loop_init): Likewise.
30238 (GRUB_MOD_INIT): Likewise.
30239 * commands/ls.c (grub_ls_init): Likewise.
30240 (GRUB_MOD_INIT): Likewise.
30241 (options): Likewise.
30242 * commands/boot.c (grub_boot_init): Likewise.
30243 (GRUB_MOD_INIT): Likewise.
30244 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30245 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30246 (GRUB_MOD_INIT): Likewise.
30247 * commands/cmp.c (grub_cmp_init): Likewise.
30248 (GRUB_MOD_INIT): Likewise.
30249
30250 * normal/arg.c: Use <> instead of "" to include header files.
30251 (SHORT_ARG_HELP): New macro.
30252 (SHORT_ARG_USAGE): Likewise.
30253 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30254 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30255 descriptions.
30256 (find_short): Check if C is 'h' or 'u' explicitly.
30257 (grub_arg_show_help): Use space characters instead of tabs. Treat
30258 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30259 are shown with --help and --usage only if they are not used for
30260 the command itself.
30261 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30262 'h' and 'u'.
30263
30264 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30265 const into "longarg". Change the type of "shortarg" to int.
30266
f806d18e 302672005-07-17 Yoshinori Okuji <okuji@enbug.org>
30268
30269 * boot/i386/pc/boot.S (boot_drive_check): New label.
30270
30271 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30272 macro.
30273
30274 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30275 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30276
e293232b 302772005-07-17 Yoshinori Okuji <okuji@enbug.org>
30278
30279 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30280 When turning off Gate A20, skip the check and return immediately,
30281 because this is not fatal usually.
30282
ebedfd00 302832005-07-17 Yoshinori Okuji <okuji@enbug.org>
30284
30285 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30286 be 0x7C00 instead of 0x8000.
30287
30288 * boot/i386/pc/pxeboot.S: Rewritten.
30289
30290 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30291 EXT_C.
30292 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30293 result.
30294
654fc59f 302952005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30296
30297 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30298 robustness. This routine now supports a BIOS call and System
30299 Control Port A to modify the gate A20.
30300
30301 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30302 Increased to 0x440.
30303
09f9923f 303042005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30305
30306 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30307 device path and resulting ihandle.
30308 (grub_ofdisk_close): dprintf the ihandle being closed.
30309 (grub_ofdisk_read): dprintf function parameters.
30310 * kern/mm.c (grub_mm_init_region): Likewise.
30311 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30312 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30313 size, and boot arguments.
30314 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30315 before loading into memory.
30316 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30317 before loading into memory.
30318
7ef504d8 303192005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30320
30321 * kern/mm.c: Added much documentation.
30322 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30323 8, set to 5 instead of 8.
30324
e0f050c2 303252005-07-10 Yoshinori Okuji <okuji@enbug.org>
30326
30327 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30328
30329 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30330 (grub_mkdevicemap_SOURCES): New variable.
30331
30332 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30333 lib/device.c of GRUB Legacy.
30334
7224189a 303352005-07-10 Yoshinori Okuji <okuji@enbug.org>
30336
30337 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30338 instead of PATH is NULL.
30339
68c864eb 303402005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30341
30342 * commands/cmp.c (BUFFER_SIZE): New macro.
30343 (grub_cmd_cmp): Close the right file at the right time. Compare
30344 only data just read. Don't report files of different size as
30345 identical. Dynamically allocate buffers. Move variable
30346 declarations at the beginning of function.
30347
e6f3e614 303482005-07-09 Yoshinori Okuji <okuji@enbug.org>
30349
30350 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30351 reverse.
30352
f8f1559a 303532004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30354
30355 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30356 when backspace is pressed at beginning of line.
30357
39c9d41d 303582005-07-03 Yoshinori Okuji <okuji@enbug.org>
30359
30360 * DISTLIST: Added genfslist.sh.
30361
30362 * normal/main.c (fs_module_list): New variable.
30363 (autoload_fs_module): New function.
30364 (read_fs_list): Likewise.
30365 (grub_normal_execute): Call read_fs_list.
30366
30367 * kern/fs.c (grub_fs_autoload_hook): New variable.
30368 (grub_fs_probe): Added support for auto-loading.
30369
30370 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30371 (grub_fs_module_list_t): New type.
30372
30373 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30374 (grub_fs_autoload_hook): New prototype.
30375
30376 * genfslist.sh: New file.
f19dbdb7 30377
39c9d41d 30378 * genmk.rb: Added a rule to generate a filesystem list.
30379
121c1d83 303802005-06-30 Marco Gerards <metgerards@student.han.nl>
30381
30382 * configure.ac: Fix the test for cross-compiling.
30383
30384 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30385 define GRUB_UTIL anymore.
30386
30387 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30388 so this function works on other systems than just big endian.
30389 (load_modules): Likewise.
30390 (add_segments): Likewise.
30391
e75d76e1 303922005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30393
30394 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30395 contains `l' modifier, get a long from va_arg().
30396
50b5a0a7 303972005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30398
30399 * kern/mm.c (grub_free): If the next free block which is being
30400 merged is the first free block, set the first block to the block
30401 being freed.
30402 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30403
89371b20 304042005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30405
30406 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30407 `grub_ieee1275_chosen'.
30408
168d6e58 304092005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30410
30411 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30412 (grub_ieee1275_chosen): New variable.
30413 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30414 `chosen'.
30415 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30416 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30417 Rename first argument to `phandle' for consistency.
30418 (grub_ieee1275_get_property_length): Likewise.
30419 (grub_ieee1275_next_property): Likewise. Change type of first argument
30420 to grub_ieee1275_phandle_t.
30421 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30422 Move export next to declaration.
30423 (grub_ieee1275_chosen): New variable.
30424 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30425 Correct cosmetic typo.
30426 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30427 `grub_ieee1275_chosen'.
30428 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30429 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30430 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30431 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30432 `grub_ieee1275_chosen'.
30433
ca5baa3f 304342005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30435
30436 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30437 /chosen/bootargs.
30438 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30439 /chosen/bootargs as "variable=value" pairs.
30440
708b345f 304412005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30442
30443 * include/grub/misc.h (grub_dprintf): New macro.
30444 (grub_real_dprintf): New prototype.
30445 (grub_strword): Likewise.
30446 (grub_iswordseparator): Likewise.
30447 * kern/misc.c (grub_real_dprintf): New function.
30448 (grub_strword): Likewise.
30449 (grub_iswordseparator): Likewise.
30450
f4c5e67c 304512005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30452
30453 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30454 (roundup): Remove macro.
30455 (grub_ieee1275_flags): Make static.
30456 (grub_ieee1275_realmode): Remove.
30457 (grub_ieee1275_test_flag): New function.
30458 (grub_ieee1275_set_flag): Likewise.
30459 (find_options): Rename to `grub_ieee1275_find_options'; update
30460 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30461 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30462 (cmain): New prototype.
30463 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30464 `grub_ieee1275_flags' directly.
30465 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30466 machine/biosdisk.h.
30467 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30468 Don't include grub/machine/init.h.
30469 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30470 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30471 Remove prototype.
30472 (grub_ieee1275_realmode): Likewise.
30473 (grub_ieee1275_flag): New enum.
30474 (grub_ieee1275_test_flag): New prototype.
30475 (grub_ieee1275_set_flag): New prototype.
30476 * include/grub/powerpc/ieee1275/init.h: Remove file.
30477 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30478 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30479 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30480 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30481 comment.
30482 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30483 `grub_ieee1275_test_flag'.
30484 (grub_ieee1275_encode_devname): Likewise.
30485
ed16607e 304862005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30487
30488 * include/grub/powerpc/ieee1275/ieee1275.h
30489 (grub_ieee1275_encode_devname): New prototype.
30490 (grub_ieee1275_get_filename): Likewise.
30491 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30492 function.
30493 (grub_set_prefix): Likewise.
30494 (grub_machine_init): Call grub_set_prefix.
30495 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30496 (grub_parse_type): New enum.
30497 (grub_ieee1275_get_devargs): New function.
30498 (grub_ieee1275_get_devname): Likewise.
30499 (grub_ieee1275_parse_args): Likewise.
30500 (grub_ieee1275_get_filename): Likewise.
30501 (grub_ieee1275_encode_devname): Likewise.
30502
be369920 305032005-03-30 Marco Gerards <metgerards@student.han.nl>
30504
30505 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30506 `grub_loader_unset'.
30507
a5ce3a4a 305082005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30509
30510 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30511 instead of grub_ieee1275_interpret.
30512 (grub_halt_init): New function.
30513 (grub_halt_fini): Likewise.
30514 (GRUB_MOD_INIT): Correct message grammar.
30515 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30516 instead of grub_ieee1275_interpret.
30517 (grub_reboot_init): New function.
30518 (grub_reboot_fini): Likewise.
30519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30520 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30521 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30522 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30523 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30524 function.
30525 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30526 Add prototype.
30527 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30528 prototype.
30529 (grub_halt): Likewise.
30530 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30531 (cmain): Remove __attribute__((unused)).
30532 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30533 (grub_heap_len): Likewise.
30534 (grub_machine_fini): New function.
30535 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30536 (grub_halt): Likewise.
30537 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30538 function.
30539 * util/powerpc/ieee1275/misc.c: New file.
30540
0058f771 305412005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30542
30543 * DISTLIST: New file.
30544 * gendistlist.sh: Likewise.
f19dbdb7 30545
0058f771 30546 * Makefile.in (COMMON_DISTFILES): Removed.
30547 (BOOT_DISTFILES): Likewise.
30548 (CONF_DISTFILES): Likewise.
30549 (DISK_DISTFILES): Likewise.
30550 (FS_DISTFILES): Likewise.
30551 (INCLUDE_DISTFILES): Likewise.
30552 (KERN_DISTFILES): Likewise.
30553 (LOADER_DISTFILES): Likewise.
30554 (TERM_DISTFILES): Likewise.
30555 (UTIL_DISTFILES): Likewise.
30556 (DISTFILES): Likewise.
30557 (uninstall): Uninstall files in $(pkgdata_DATA).
30558 (DISTLIST): New target.
30559 (distdir): Use the contents of the file DISTLIST to get a list of
30560 distributed files.
30561
46b3b8a5 305622005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30563
30564 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
30565 descriptor. This is ported from GRUB Legacy.
30566
30567 * gencmdlist.sh: Added an extra semicolon to make it work with
30568 old sed versions. Reported by Robert Bihlmeyer
30569 <robbe@orcus.priv.at>.
30570
5822ff87 305712005-03-08 Yoshinori Okuji <okuji@enbug.org>
30572
30573 Automatic loading of commands is supported.
f19dbdb7 30574
5822ff87 30575 * normal/main.c (read_command_list): New function.
30576 (grub_normal_execute): Call read_command_list.
30577
30578 * normal/command.c (grub_register_command): Return zero or CMD.
30579 Allocate CMD->NAME from the heap.
30580 Initialize CMD->MODULE_NAME to zero.
30581 Find the same name as well. If the same command is found and it is
30582 a dummy command, overwrite members. If it is not a dummy command,
30583 return zero.
30584 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
30585 (grub_command_find): If a dummy command is found, load a module
30586 and retry to find a command only once.
30587
30588 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
30589 make sure that each command is loaded.
30590
30591 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
30592 macro.
30593 (struct grub_command): Remove const from the member `name'.
30594 Add a new member `module_name'.
30595 (grub_register_command): Return grub_command_t.
30596
30597 * commands/help.c (grub_cmd_help): Call grub_command_find to make
30598 sure that each command is loaded.
30599
30600 * genmk.rb (PModule::rule): Specify a module name without the
30601 suffix ".mod" to gencmdlist.sh.
30602
7b1f4b57 306032005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30604
30605 * gencmdlist.sh: New file.
f19dbdb7 30606
7b1f4b57 30607 * genmk.rb (PModule::rule): Generate a rule for a command list.
30608 Clean command.lst.
30609 Generate command.lst from $(COMMANDFILES).
30610
30611 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
30612 (DATA): Added $(pkgdata_DATA).
30613 (install-local): Install files in $(pkgdata_DATA).
30614
062aaf39 306152005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30616
30617 * term/i386/pc/vga.c (debug_command): Removed.
30618 (GRUB_MOD_INIT): Do not register the command "debug".
30619
30620 From Hollis Blanchard:
30621 * commands/configfile.c: New file.
30622 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30623 commands/configfile.c.
30624 (pkgdata_MODULES): Added configfile.mod.
30625 (configfile_mod_SOURCES): New variable.
30626 (configfile_mod_CFLAGS): Likewise.
30627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30628 commands/configfile.c.
30629 (pkgdata_MODULES): Added configfile.mod.
30630 (configfile_mod_SOURCES): New variable.
30631 (configfile_mod_CFLAGS): Likewise.
30632 * util/grub-emu.c (main): Call grub_configfile_init and
30633 grub_configfile_fini.
30634 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
30635 prototype.
30636 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 30637
cee01aa6 306382005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30639
30640 * normal/arg.c (grub_arg_show_help): Do not show the bug report
30641 address.
30642
30643 * commands/help.c (grub_cmd_help): Do not print newlines after
30644 the last command in print_command_help.
30645
93f3a1d8 306462005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30647
30648 * commands/default.h: New file.
30649 * commands/timeout.h: Likewise.
30650 * normal/context.c: Likewise.
f19dbdb7 30651
93f3a1d8 30652 * util/misc.c: Do not include sys/times.h.
30653 Include sys/time.h and grub/machine/time.h.
30654 (grub_get_rtc): Rewritten with gettimeofday.
30655
30656 * util/grub-emu.c (main): Call grub_default_init and
30657 grub_timeout_init before grub_normal_init, and call
30658 grub_timeout_fini and grub_default_fini after grub_main.
30659
30660 * util/console.c (grub_ncurses_checkkey): Return the read
30661 character or -1.
30662
30663 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
30664 timeouts.
30665
30666 * normal/main.c (read_config_file): Push MENU. If this fails,
30667 print an error and wait for a user input.
30668 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
30669 If a menu is empty or an error occurs, pop MENU.
30670 (grub_normal_execute): Pop and free MENU after grub_menu_run
30671 returns.
30672
30673 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
30674
30675 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
30676 include time.h.
30677 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30678 without GRUB_UTIL.
30679 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
30680 time.h.
30681 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30682 without GRUB_UTIL.
30683
30684 * include/grub/normal.h (struct grub_menu_list): New struct.
30685 (grub_menu_list_t): New type.
30686 (struct grub_context): New struct.
30687 (grub_context_t): New type.
30688 (grub_register_command): Got rid of EXPORT_FUNC.
30689 (grub_unregister_command): Likewise.
30690 (grub_context_get): New prototype.
30691 (grub_context_get_current_menu): Likewise.
30692 (grub_context_push_menu): Likewise.
30693 (grub_context_pop_menu): Likewise.
30694 [GRUB_UTIL] (grub_default_init): Likewise.
30695 [GRUB_UTIL] (grub_default_fini): Likewise.
30696 [GRUB_UTIL] (grub_timeout_init): Likewise.
30697 [GRUB_UTIL] (grub_timeout_fini): Likewise.
30698
30699 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
30700 commands/timeout.c and normal/context.c.
30701 (pkgdata_MODULES): Added default.mod and timeout.mod.
30702 (normal_mod_SOURCES): Added normal/context.c.
30703 (default_mod_SOURCES): New variable.
30704 (default_mod_CFLAGS): Likewise.
30705 (timeout_mod_SOURCES): Likewise.
30706 (timeout_mod_CFLAGS): Likewise.
30707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
30708 conf/i386-pc.rmk.
30709 (pkgdata_MODULES): Added default.mod and timeout.mod.
30710 (normal_mod_SOURCES): Added normal/context.c.
30711 (default_mod_SOURCES): New variable.
30712 (default_mod_CFLAGS): Likewise.
30713 (timeout_mod_SOURCES): Likewise.
30714 (timeout_mod_CFLAGS): Likewise.
30715
30716 * Makefile.in (all-local): Added $(MKFILES).
30717
4ed2e1dd 307182005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
30719
30720 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
30721 (grub_emu_SOURCES): Likewise.
30722 (pkgdata_MODULES): Add `sun.mod'.
30723 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30725 `partmap/sun.c'.
30726 (pkgdata_MODULES): Add `sun.mod'.
30727 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30728 * include/grub/partition.h (grub_sun_partition_map_init): New
30729 prototype.
30730 (grub_sun_partition_map_fini): Likewise.
30731 * partmap/sun.c: New file.
30732 * util/grub-emu.c (main): Initialize and de-initialize the sun
30733 partitionmap support.
30734
4d4e372e 307352005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
30736
30737 This implements an Emacs-like menu entry editor.
f19dbdb7 30738
4d4e372e 30739 * normal/menu_entry.c: New file.
f19dbdb7 30740
4d4e372e 30741 * util/console.c (grub_ncurses_putchar): Translate some Unicode
30742 characters to ASCII.
30743 (saved_char): New variable.
30744 (grub_ncurses_checkkey): Rewritten completely.
30745 (grub_ncurses_getkey): Likewise.
30746 (grub_ncurses_init): Call raw instead of cbreak.
30747
30748 * normal/menu.c (print_entry): Do not put a space.
30749 (init_page): Renamed to ...
30750 (grub_menu_init_page): ... this. All callers changed.
30751 (edit_menu_entry): Removed.
30752 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
30753
30754 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
30755
30756 * kern/misc.c (grub_vprintf): Call grub_refresh.
30757
30758 * normal/menu.c (DISP_LEFT): Renamed to ...
30759 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
30760 * normal/menu.c (DISP_UP): Renamed to ...
30761 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
30762 * normal/menu.c (DISP_RIGHT): Renamed to ...
30763 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
30764 * normal/menu.c (DISP_DOWN): Renamed to ...
30765 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
30766 * normal/menu.c (DISP_HLINE): Renamed to ...
30767 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
30768 * normal/menu.c (DISP_VLINE): Renamed to ...
30769 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
30770 * normal/menu.c (DISP_UL): Renamed to ...
30771 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
30772 * normal/menu.c (DISP_UR): Renamed to ...
30773 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
30774 * normal/menu.c (DISP_LL): Renamed to ...
30775 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
30776 * normal/menu.c (DISP_LR): Renamed to ...
30777 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
30778 * normal/menu.c (TERM_WIDTH): Renamed to ...
30779 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
30780 * normal/menu.c (TERM_HEIGHT): Renamed to ...
30781 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
30782 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
30783 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
30784 * normal/menu.c (TERM_MARGIN): Renamed to ...
30785 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
30786 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
30787 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
30788 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
30789 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
30790 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
30791 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
30792 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
30793 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
30794 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
30795 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
30796 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
30797 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
30798 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
30799 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
30800 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
30801 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
30802 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
30803 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
30804 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
30805 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
30806 All callers changed.
30807
30808 * include/grub/normal.h: New prototype.
30809
30810 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30811 normal/menu_entry.c.
30812 (normal_mod_SOURCES): Likewise.
30813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30814 (normal_mod_SOURCES): Likewise.
30815
e6b92c8a 308162005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
30817
30818 * include/grub/normal.h (grub_halt_init): New prototype.
30819 (grub_halt_fini): Likewise.
30820 (grub_reboot_init): Likewise.
30821 (grub_reboot_fini): Likewise.
30822
30823 * util/grub-emu.c: Include signal.h.
30824 (main_env): New global variable.
30825 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
30826 catch C-c.
30827 (grub_machine_fini): New function.
30828 (main): Call grub_halt_init and grub_reboot_init before
30829 grub_main, and grub_reboot_fini and grub_halt_fini after it.
30830 Call setjmp with MAIN_ENV to go back afterwards.
30831 Call grub_machine_fini right before return.
30832
30833 * include/grub/util/misc.h: Include setjmp.h.
30834 (main_env): New prototype.
30835
30836 * include/grub/kernel.h (grub_machine_fini): New prototype.
30837 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
30838 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
30839
30840 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
30841 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
30842 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 30843
e6b92c8a 30844 * util/i386/pc/misc.c: New file.
f19dbdb7 30845
e6b92c8a 30846 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30847 util/i386/pc/misc.c, commands/i386/pc/halt.c and
30848 commands/i386/pc/reboot.c.
30849
c642636f 308502005-02-14 Guillem Jover <guillem@hadrons.org>
30851
30852 * include/grub/dl.h (grub_dl_check_header): New prototype.
30853 (grub_arch_dl_check_header): Change return type to grub_err_t,
30854 remove size parameter and export function. Update all callers.
30855 * kern/dl.c (grub_dl_check_header): New function.
30856 (grub_dl_load_core): Use `grub_dl_check_header' instead of
30857 `grub_arch_dl_check_header'. Check ELF type. Check if sections
30858 are inside the core.
30859 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
30860 independent ELF header checks.
30861 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30862 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
30863 `grub_dl_check_header' instead of explicit checks. Check for the
30864 ELF type.
30865 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
30866 `grub_dl_check_header' instead of explicit checks. Remove arch
30867 specific ELF header checks.
30868
e6b92c8a 30869 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
30870 argument SIZE.
30871
5eabe94b 308722005-02-13 Hollis Blanchard <hollis@penguinppc.org>
30873
30874 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
30875 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
30876
1b14a681 308772005-02-12 Hollis Blanchard <hollis@penguinppc.org>
30878
30879 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 30880 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 30881 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 30882 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 30883 * partmap/amiga.c (amiga_partition_map_iterate): Return
30884 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
30885 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30886
aca108aa 308872005-02-01 Guillem Jover <guillem@hadrons.org>
30888
30889 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
30890 help info.
30891
c9f9c556 308922005-01-31 Marco Gerards <metgerards@student.han.nl>
30893
30894 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
30895 Removed prototype.
30896 (grub_rescue_cmd_linux): New prototype.
30897 (grub_rescue_cmd_initrd): Likewise.
30898 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
30899 `bi_rec'.
30900 (grub_linux_release_mem): Release the memory for the initrd.
30901 (grub_load_linux): Renamed from this...
30902 (grub_rescue_cmd_linux): ...To this. Changed all callers.
30903 Changed `entry' not to be static. Loop over memory regions to
30904 find another one when the default fails.
30905 (grub_rescue_cmd_initrd): New function.
30906 (grub_linux_init): Remove function.
30907 (grub_linux_fini): Likewise.
30908 (GRUB_MOD_INIT): Register `initrd'.
30909 (GRUB_MOD_FINI): Unregister `initrd'.
30910 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
30911 Function removed.
30912 (grub_linux_normal_fini): Likewise.
30913 (GRUB_MOD_INIT): Register `initrd'.
30914 (GRUB_MOD_FINI): Unregister `initrd'.
30915
990cf3aa 309162005-01-31 Marco Gerards <metgerards@student.han.nl>
30917
30918 * commands/help.c: New file.
30919 * normal/arg.c (show_help): Renamed to...
30920 (grub_arg_show_help): ... this.
30921 * commands/i386/pc/halt.c: New file.
30922 * commands/i386/pc/reboot.c: Likewise.
30923 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
30924 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
30925 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
30926 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
30927 variables.
30928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30929 `commands/help.c'.
30930 (pkgdata_MODULES): Add `help.mod'.
30931 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
30932 * grub/i386/pc/init.h (grub_reboot): New prototype.
30933 (grub_halt): Likewise.
30934 * include/grub/normal.h (grub_arg_show_help): New prototype.
30935 (grub_help_init): Likewise.
30936 (grub_help_fini): Likewise.
30937 * util/grub-emu.c (main): Initialize and deinitialize the help
30938 command.
30939
30940 * normal/cmdline.c (grub_cmdline_get): Doc fix.
30941
30942 * normal/command.c (grub_command_init): Fixed the description of
30943 the `set' and `unset' commands.
30944
309452005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 30946
30947 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
30948 function.
30949 * commands/ieee1275/halt.c: New file.
30950 * commands/ieee1275/reboot.c: Likewise.
30951 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
30952 `__attribute__ ((unused))'. Some GCS related fixed.
30953 (grub_suspend_init) [GRUB_UTIL]: Function removed.
30954 (grub_suspend_fini): Likewise.
30955 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
30956 and `halt.mod'.
30957 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
30958 (halt_mod_CFLAGS): New variables.
30959 * include/grub/powerpc/ieee1275/ieee1275.h
30960 (grub_ieee1275_interpret): New prototype.
30961
1ab09cc7 309622005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
30963
30964 * include/grub/misc.h (memmove): New prototype.
30965 (memcpy): Likewise.
30966
8b8cbdb2 309672005-01-22 Hollis Blanchard <hollis@penguinppc.org>
30968
30969 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
30970 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
30971
e3741a27 309722005-01-22 Marco Gerards <metgerards@student.han.nl>
30973
30974 * kern/misc.c (grub_strndup): Function rewritten.
30975
776bd780 309762005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
30977
30978 * normal/menu.c (TERM_WIDTH): Macro redefined.
30979 (TERM_TOP_BORDER_Y): Likewise.
30980 (draw_border): Replaced while-loop by a for-loop. Make the number
30981 of lines consistent with the number of lines displayed in
30982 print_entries. Added a margin below the rectangle.
30983 (print_entry): Make the entry fit in the rectangle.
30984 (print_entries): Display the scroll arrows next to the right
30985 border.
30986
78026bce 309872005-01-21 Marco Gerards <metgerards@student.han.nl>
30988
30989 * fs/minix.c (grub_minix_find_file): Reserve more space for
30990 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
30991 `grub_strncpy' to copy `path' into it.
30992
67bbaf0f 309932005-01-21 Marco Gerards <metgerards@student.han.nl>
30994
30995 Add the loopback device, a device via which files can be accessed
30996 as devices.
f19dbdb7 30997
67bbaf0f 30998 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
30999 (pkgdata_MODULES): Add loopback.mod.
31000 (loopback_mod_SOURCES): New variable.
31001 (loopback_mod_CFLAGS): Likewise.
31002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31003 `disk/loopback.c'.
31004 (pkgdata_MODULES): Add loopback.mod.
31005 (loopback_mod_SOURCES): New variable.
31006 (loopback_mod_CFLAGS): Likewise.
31007 * disk/loopback.c: new file.
31008 * include/grub/normal.h (grub_loop_init): New prototype.
31009 (grub_loop_fini): New prototype.
31010 * util/grub-emu.c (main): Initialize and de-initialize loopback
31011 support.
31012 * include/grub/disk.h (grub_disk_dev_id): Add
31013 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
31014
6f1c18bd 310152005-01-20 Hollis Blanchard <hollis@penguinppc.org>
31016
31017 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
31018 function.
31019 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
31020 (suspend_mod_SOURCES): New variable.
31021 (suspend_mod_CFLAGS): Likewise.
31022 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
31023 New prototype.
31024 * commands/ieee1275/suspend.c: New file.
31025
b38551da 310262005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31027
31028 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 31029 ((unused))' to `__attribute__ ((used))'.
b38551da 31030 (GRUB_MOD_FINI): Likewise.
31031 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
31032 * genmk.rb (PModule): Assign space to common symbols when linking
31033 modules.
31034
777aff39 310352005-01-20 Marco Gerards <metgerards@student.han.nl>
31036
31037 * include/grub/mm.h (grub_mm_init_region): Change the type of the
31038 `unsigned' arguments to `grub_size_t'.
31039 (grub_malloc): Likewise.
31040 (grub_realloc): Likewise.
31041 (grub_memalign): Likewise.
31042 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31043 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31044 * util/misc.c (grub_malloc): Likewise.
31045 (grub_realloc): Likewise.
31046 * kern/mm.c (get_header_from_pointer): Change the casts to
31047 `unsigned' into a cast to `grub_size_t'.
31048
31049 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31050 point to `currnode' when `currnode' is changed.
31051
31052 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31053 Schottelius <nico-linux@schottelius.org>.
31054
d0ff18e1 310552005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31056
31057 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31058 (note_path): Remove variable.
31059 (GRUB_IEEE1275_NOTE_NAME): New macro.
31060 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31061 (grub_ieee1275_note_hdr): New structure.
31062 (grub_ieee1275_note_desc): Likewise.
31063 (grub_ieee1275_note): Likewise.
31064 (load_note): Remove `dir' argument. All callers updated. Remove
31065 `note_img' and `path'. Do not load a file from `note_path'.
31066 Initialize a struct grub_ieee1275_note and write that to `out'.
31067 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31068
4ca7004c 310692005-01-05 Marco Gerards <metgerards@student.han.nl>
31070
31071 * util/misc.c (grub_util_read_image): Revert last change. It
31072 called `grub_util_read_at', which seeks from the beginning of the
31073 file.
31074
0b412211 310752005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31076
31077 * TODO: Add note about endianness in grub-mkimage.
31078 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31079 section.
31080 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31081 (grub_mkimage_SOURCES): New target.
31082 * include/grub/kernel.h (grub_start_addr): Remove variable.
31083 (grub_end_addr): Likewise.
31084 (grub_total_module_size): Likewise.
31085 (grub_kernel_image_size): Likewise.
31086 (GRUB_MODULE_MAGIC): New constant.
31087 (grub_module_info): New structure.
31088 (grub_arch_modules_addr): New prototype.
31089 (grub_get_end_addr): Remove prototype.
31090 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31091 * include/grub/powerpc/ieee1275/kernel.h: New file.
31092 * include/grub/util/misc.h (grub_util_get_fp_size): New
31093 prototype.
31094 (grub_util_read_at): Likewise.
31095 (grub_util_write_image_at): Likewise.
31096 * kern/main.c (grub_get_end_addr): Remove function.
31097 (grub_load_modules): Call grub_arch_modules_addr instead of using
31098 grub_end_addr. Look for a grub_module_info struct in memory. Use
31099 the grub_module_info fields instead of calling grub_get_end_addr
31100 as loop conditions. Move grub_add_unused_region code here.
31101 (grub_add_unused_region): Remove function.
31102 * kern/i386/pc/init.c: Include grub/cache.h.
31103 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31104 one call to add_mem_region.
31105 (grub_arch_modules_addr): New function.
31106 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31107 (grub_total_module_size): Likewise.
31108 Include grub/machine/kernel.h.
31109 (grub_arch_modules_addr): New function.
31110 * util/grub-emu.c (grub_end_addr): Remove variable.
31111 (grub_total_module_size): Likewise.
31112 (grub_arch_modules_addr): New function.
31113 * util/misc.c: Include unistd.h.
31114 (grub_util_get_fp_size): New function.
31115 (grub_util_read_at): Likewise.
31116 (grub_util_write_image_at): Likewise.
31117 (grub_util_read_image): Call grub_util_read_at.
31118 (grub_util_write_image): Call grub_util_write_image_at.
31119 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31120 additional memory in kernel_img for a struct grub_module_info.
31121 Fill in that grub_module_info.
31122 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31123
458786f8 311242005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31125
31126 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31127 New function.
31128 * include/grub/powerpc/ieee1275/ieee1275.h
31129 (grub_ieee1275_milliseconds): New prototype.
31130 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31131 Change to 1000.
31132 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31133 grub_ieee1275_milliseconds.
31134
ac507d1b 311352005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31136
31137 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31138 variable.
31139 (find_options): New function.
31140 (cmain): Call find_options.
31141 * include/grub/powerpc/ieee1275/ieee1275.h
31142 (grub_ieee1275_realmode): New extern variable.
31143 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31144 grub_map if grub_ieee1275_realmode is false.
31145
6b8fd1c4 311462004-12-29 Marco Gerards <metgerards@student.han.nl>
31147
31148 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31149 lines are inserted and make it work like readline. Reported by
31150 Vincent Pelletier <subdino2004@yahoo.fr>.
31151
8514a1e0 311522004-12-28 Marco Gerards <metgerards@student.han.nl>
31153
31154 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31155
31156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31157 `kern/powerpc/cache.S'.
31158
924b6140 311592004-12-27 Marco Gerards <metgerards@student.han.nl>
31160
31161 * genmk.rb: Handle the `Program' class in the main loop. Written
31162 by Johan Rydberg <jrydberg@gnu.org>.
31163 (Program): New class.
31164 (programs): New variable.
31165 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31166 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31167 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31168 (help_arch): Function removed.
31169 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31170 `powerpc/libgcc.h' and `loader.h'.
31171 (pkgdata_PROGRAMS): New variable.
31172 (sbin_UTILITIES): Variable removed.
31173 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31174 (grubof_SOURCES): Variable re-defined so it only includes the
31175 core functionality.
31176 (grubof_CFLAGS): Remove `-DGRUBOF'.
31177 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31178 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31179 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31180 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31181 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31182 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31183 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31184 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31185 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31186 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31187 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31188 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31189 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31190 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31191 (pc_mod_CFLAGS): New variables.
31192 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31193 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31194 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31195 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31196 Moved from here...
31197 * include/grub/i386/pc/init.h (grub_os_area_addr)
31198 (rub_os_area_size): ... to here.
31199 * include/grub/powerpc/ieee1275/ieee1275.h
31200 (grub_ieee1275_entry_fn): Export symbol.
31201 * include/grub/powerpc/ieee1275/init.h: New file.
31202 * include/grub/powerpc/libgcc.h: Likewise.
31203 * include/grub/cache.h: Likewise.
31204 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31205 <hollis@penguinppc.org>.
31206 * kern/dl.c: Include <grub/cache.h>.
31207 (grub_dl_flush_cache): New function.
31208 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31209 for this module.
31210 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31211 (grub_console_init): Removed prototypes.
31212 (grub_machine_init): Don't initialize the modules anymore.
31213 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31214 static.
31215 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31216 Macro undef removed.
31217 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31218 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31219 relocation `R_PPC_REL32'. Return an error when the relocation is
31220 unknown.
31221 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31222 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31223 * util/misc.c (grub_arch_sync_caches): Likewise.
31224
e4b47e0c 312252004-12-19 Marco Gerards <metgerards@student.han.nl>
31226
31227 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31228 `symlist.c', add `grubof_symlist.c'.
31229 (symlist.c): Variable removed.
31230 (grubof_HEADERS): Variable added.
31231 (grubof_symlist.c): New target.
31232 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31233 `kernel_img_HEADERS'.
31234 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31235 * kern/powerpc/dl.c: New file.
31236 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31237 Function removed.
31238 (grub_arch_dl_relocate_symbols): Likewise.
31239 (grub_register_exported_symbols): Likewise.
31240
4ceb3636 312412004-12-13 Marco Gerards <metgerards@student.han.nl>
31242
31243 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31244 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31245 to fail instead. Reported by Vincent Pelletier
31246 <subdino2004@yahoo.fr>.
31247
31248 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31249 it is not allocated. Reported by Vincent Pelletier
31250 <subdino2004@yahoo.fr>.
31251
31252 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31253 output so the output looks better.
f19dbdb7 31254
3f1578fe 312552004-12-04 Marco Gerards <metgerards@student.han.nl>
31256
31257 Modulize the partition map support and add support for the amiga
31258 partition map.
f19dbdb7 31259
3f1578fe 31260 * commands/ls.c: Include <grub/partition.h> instead of
31261 <grub/machine/partition.h>.
31262 * kern/disk.c: Likewise.
31263 * kern/rescue.c: Likewise.
31264 * loader/i386/pc/chainloader.c: Likewise.
31265 * normal/cmdline.c: Likewise.
31266 * kern/powerpc/ieee1275/init.c: Likewise.
31267 (grub_machine_init): Call `grub_pc_partition_map_init',
31268 `grub_amiga_partition_map_init' and
31269 `grub_apple_partition_map_init'.
31270 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31271 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31272 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31273 `partition.h' and `pc_partition.h'.
31274 (grub_setup_SOURCES): Remove
31275 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31276 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31277 (grub_emu_SOURCES): Likewise.
31278 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31279 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31280 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31282 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31283 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31284 (grubof_SOURCES): Likewise.
31285 * disk/i386/pc/partition.c: File removed.
31286 * disk/powerpc/ieee1275/partition.c: Likewise.
31287 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31288 * include/grub/i386/pc/partition.h: Likewise.
31289 * kern/partition.c: New file.
31290 * partmap/amiga.c: Likewise.
31291 * partmap/apple.c: Likewise.
31292 * partmap/pc.c: Likewise.
31293 * include/grub/partition.h: Likewise..
31294 * include/grub/pc_partition.h: Likewise.
31295 * util/grub-emu.c: Include <grub/partition.h> instead of
31296 <grub/machine/partition.h>.
31297 (main): Call `grub_pc_partition_map_init',
31298 `grub_amiga_partition_map_init' and
31299 `grub_apple_partition_map_init' and deinitialize afterwards.
31300 * util/i386/pc/biosdisk.c: Include `#include
31301 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31302 `<grub/machine/partition.h>'.
31303 * util/i386/pc/grub-setup.c: Likewise.
31304 * util/i386/pc/biosdisk.c: Likewise.
31305 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31306 partition information in case of a PC partition.
31307 * util/i386/pc/grub-setup.c: Include `#include
31308 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31309 `<grub/machine/partition.h>'.
31310 (setup): Only access the PC specific partition information in case
31311 of a PC partition.
31312
0ef4ced9 313132004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31314
0ef4ced9 31315 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31316 (grub_longjmp): Likewise.
31317 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31318 20.
31319 * normal/powerpc/setjmp.S: New file.
31320 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31321 `normal/powerpc/setjmp.S'.
31322 (grubof_CFLAGS): Add `-DGRUBOF'.
31323 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31324 [GRUB_UTIL && !GRUBOF].
f19dbdb7 31325
19950e29 313262004-11-16 Marco Gerards <metgerards@student.han.nl>
31327
31328 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31329 property named `name'. Correctly handle the error returned by
31330 `grub_ieee1275_finddevice' if a device can not be opened.
31331
a2fea427 313322004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31333
31334 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31335 `actual' for negativity.
31336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31337 kern/fshelp.c.
31338
41ea0ea3 313392004-11-01 Marco Gerards <metgerards@student.han.nl>
31340
31341 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31342 (PAGE_OFFSET): New macro.
31343 (CRTC_ADDR_PORT): Likewise.
31344 (CRTC_DATA_PORT): Likewise.
31345 (START_ADDR_HIGH_REGISTER): Likewise.
31346 (START_ADDR_LOW_REGISTER): Likewise.
31347 (GRAPHICS_ADDR_PORT): Likewise.
31348 (GRAPHICS_DATA_PORT): Likewise.
31349 (READ_MAP_REGISTER): Likewise.
31350 (INPUT_STATUS1_REGISTER): Likewise.
31351 (INPUT_STATUS1_VERTR_BIT): Likewise.
31352 (page): New variable.
31353 (wait_vretrace): New function.
31354 (set_read_map): Likewise.
31355 (set_start_address): Likewise.
31356 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31357 the right page.
31358 (check_vga_mem): Take the page into account.
31359 (write_char): Likewise.
31360 (write_cursor): Likewise.
31361 (scroll_up): Likewise. Copy the page to the page that is not
31362 shown and switch between both pages.
31363 (grub_vga_putchar): Fix off by one error.
31364 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31365 account.
31366
ad0bd20b 313672004-11-01 Marco Gerards <metgerards@student.han.nl>
31368
31369 Add support for iso9660 (including rockridge).
f19dbdb7 31370
ad0bd20b 31371 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31372 (iso9660_mod_SOURCES): New variable.
31373 (iso9660_mod_CFLAGS): Likewise.
31374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31375 * include/grub/fs.h (grub_iso9660_init): New prototype.
31376 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31377 * fs/iso9660.c: New file.
31378
31379 * include/grub/misc.h (grub_strncat): New prototype.
31380 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31381
ad0bd20b 31382 * fs/hfs.c (grub_hfs_mount): Translate the error
31383 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31384 * fs/jfs.c (grub_jfs_mount): Likewise.
31385 * fs/ufs.c (grub_ufs_mount): Likewise.
31386
a5477a59 313872004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31388
31389 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31390 which initialized BAT registers.
31391 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31392 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31393 Move from here...
31394 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31395 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31396 ... to here.
31397 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31398 (grub_mapclaim): Likewise.
31399 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31400 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31401 hand.
31402
9304c1f8 314032004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31404
31405 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31406 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31407 -ffreestanding and -msoft-float.
31408
86f4ae25 314092004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31410
31411 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31412 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31413 set in grub_ieee1275_flags.
31414
38912228 314152004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31416
31417 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31418 prototype.
31419 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31420 grub_console_init first.
31421 Change the memory range used for grub_ieee1275_claim and
31422 grub_mm_init_region.
31423 Print an error message if the claim fails.
31424 Include <grub/misc.h>.
31425
d1923dc8 314262004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31427
31428 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31429 Call grub_children_iterate for device nodes of type `scsi',
31430 `ide', or `ata'.
31431 (grub_ofdisk_open): Remove manual device alias resolution.
31432 Fix memory leak when device cannot be opened.
f19dbdb7 31433 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31434 (grub_children_iterate): New prototype.
31435 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31436 New function.
31437 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31438 Return -1 if args.size was -1.
31439
4512e4f3 314402004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31441
31442 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31443 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31444 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31445 Open Firmware's memory for it; claim memory from _start to _end.
31446 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31447 (_end): New extern.
31448 (_start): Zero BSS from __bss_start to _end.
31449 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31450 New extern.
31451 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31452
4d61feb0 314532004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31454
ad0bd20b 31455 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31456 -1 if args.base was -1.
4d61feb0 31457
026fa2f9 314582004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31459
31460 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31461 escape sequence instead of a literal ^L. Also call
31462 grub_ofconsole_gotoxy.
31463
9f2220ef 314642004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31465
31466 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31467 void * arguments to grub_addr_t. All callers updated. Also make
31468 the `result' argument optional.
31469 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31470 All callers updated.
31471
8a572cd7 314722004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31473
31474 * commands/ls.c (grub_ls_list_files): Use the string following the
31475 initial ')', if present, as the filesystem path.
31476 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31477
31478 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31479
18aa81f2 314802004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31481
31482 Make the source code of the menu interface more readable.
f19dbdb7 31483
18aa81f2 31484 * normal/menu.c: Include grub/mm.h.
31485 (TERM_WIDTH): New macro.
31486 (TERM_HEIGHT): Likewise.
31487 (TERM_INFO_HEIGHT): Likewise.
31488 (TERM_MARGIN): Likewise.
31489 (TERM_SCROLL_WIDTH): Likewise.
31490 (TERM_TOP_BORDER_Y): Likewise.
31491 (TERM_LEFT_BORDER_X): Likewise.
31492 (TERM_BORDER_WIDTH): Likewise.
31493 (TERM_MESSAGE_HEIGHT): Likewise.
31494 (TERM_BORDER_HEIGHT): Likewise.
31495 (TERM_NUM_ENTRIES): Likewise.
31496 (TERM_FIRST_ENTRY_Y): Likewise.
31497 (TERM_ENTRY_WIDTH): Likewise.
31498 (TERM_CURSOR_X): Likewise.
31499 (draw_border): Use macros instead of magic numbers.
31500 (print_entry): Likewise.
31501 (print_entries): Likewise.
31502 (run_menu): Likewise. Also, handle the key 'e'.
31503 (run_menu_entry): Ignore empty command lines.
31504 (print_message): Added a new argument EDIT. If EDIT is true,
31505 print a different message.
31506 (init_page): Likewise.
31507 (edit_menu_entry): New function. Not implemented yet.
31508
b47efe30 315092004-09-17 Marco Gerards <metgerards@student.han.nl>
31510
31511 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31512 can be loaded from normal mode.
f19dbdb7 31513
b47efe30 31514 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31515 `multiboot.mod'.
31516 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31517 (multiboot_mod_CFLAGS): New variables.
31518 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 31519 * loader/i386/pc/multiboot_normal.c: Likewise.
31520
b47efe30 31521 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31522 attribute `unused'.
f19dbdb7 31523
b47efe30 31524 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31525 `fdiro' to read the mode information from instead of `diro'.
31526
31527 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31528 looking up a symlink.
31529
31530 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31531 macro.
31532 * normal/command.c (grub_command_execute): Don't parse the
31533 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31534 flags of the command.
31535
31536 * normal/menu.c (grub_menu_run): Fix typo.
31537
da75ac71 315382004-09-14 Hollis Blanchard <hollis@penguinppc.org>
31539
31540 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
31541
31542 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
31543 `y + 1' instead of `y - 1'.
31544
31545 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 31546
062b24c2 315472004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
31548
31549 From Hollis Blanchard <hollis@penguinppc.org>:
31550 * kern/misc.c (memmove): New alias for grub_memmove.
31551 (memcmp): New alias for grub_memcmp.
31552 (memset): New alias for grub_memset.
f19dbdb7 31553 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 31554 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 31555 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 31556 (grub_ieee1275_get_property): Likewise.
f19dbdb7 31557
8ddad845 315582004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
31559
31560 Added normal mode command `chainloader' as module chain.mod, which
31561 depends on normal.mod and _chain.mod.
f19dbdb7 31562
8ddad845 31563 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
31564 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
31565 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
31566 Deleted prototype.
31567 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
31568 but arguments parsing moved to ...
31569 (grub_chainloader_cmd): ... here. New function.
31570 * include/grub/i386/pc/chainloader.h: New file.
31571 * loader/i386/pc/chainloader_normal.c: Likewise.
31572
2c1f4ce3 315732004-09-11 Marco Gerards <metgerards@student.han.nl>
31574
31575 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
31576 (grub_mkimage_LDFLAGS): Likewise.
31577 (grub_emu_SOURCES): Likewise.
31578 (kernel_img_HEADERS): Added fshelp.h.
31579 * fs/ext2.c: Include <grub/fshelp.h>.
31580 (FILETYPE_REG): New macro.
31581 (FILETYPE_INO_REG): Likewise.
31582 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
31583 Changed all users.
31584 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
31585 all users.
31586 (grub_fshelp_node): New struct.
31587 (grub_ext2_data): Added member `diropen'. Changed member `inode'
31588 to a pointer.
31589 (grub_ext2_get_file_block): Removed function.
31590 (grub_ext2_read_block): New function.
31591 (grub_ext2_read_file): Replaced parameter `data' by `node'.
31592 This function was written.
31593 (grub_ext2_mount): Read the root inode. Create a diropen struct.
31594 (grub_ext2_find_file): Removed function.
31595 (grub_ext2_read_symlink): New function.
31596 (grub_ext2_iterate_dir): Likewise.
31597 (grub_ext2_open): Rewritten.
31598 (grub_ext2_dir): Rewritten.
31599 * include/grub/fshelp.h: New file.
31600 * fs/fshelp.c: Likewise.
31601
3c52136a 316022004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
31603
31604 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
31605 (print_message): Add a missing newline.
31606 (run_menu): Added timeout support.
31607 (run_menu_entry): New local function.
31608 (grub_menu_run): Added support for booting.
31609
31610 * kern/loader.c (grub_loader_is_loaded): New function.
31611
31612 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
31613 (grub_get_rtc): Exported.
31614
31615 * include/grub/i386/pc/time.h: Include grub/symbol.h.
31616 (grub_get_rtc): Exported.
31617
31618 * include/grub/normal.h (struct grub_command_list): Remove
31619 constant from the member `command'.
31620
31621 * include/grub/loader.h (grub_loader_is_loaded): Declared.
31622
31623 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
31624
31625 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
31626
aa033560 316272004-08-28 Marco Gerards <metgerards@student.han.nl>
31628
31629 Add support for the JFS filesystem.
31630
31631 * fs/jfs.c: New file.
31632 * include/grub/fs.h (grub_jfs_init): New prototype.
31633 (grub_jfs_fini): New prototype.
31634 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
31635 (grub_emu_SOURCES): Likewise.
31636 (pkgdata_MODULES): Add jfs.mod.
31637 (jfs_mod_SOURCES): New variable.
31638 (jfs_mod_CFLAGS): Likewise.
31639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
31640 (grubof_SOURCES): Likewise.
31641 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
31642
31643 * fs/fat.c (grub_fat_find_dir): Convert the filename little
31644 endian to the host endian.
31645 (grub_fat_utf16_to_utf8): Move function from there...
31646 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 31647 the endianness of the source string anymore.
aa033560 31648 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
31649
94bc45af 316502004-08-24 Marco Gerards <metgerards@student.han.nl>
31651
31652 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
31653 (grub_boot_fini) [GRUB_UTIL]: Likewise.
31654 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
31655 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 31656
94bc45af 31657 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
31658 (grub_hfs_iterate_dir): Make the function static. Add prototypes
31659 for `node_found' and `it_dir'.
31660 (grub_hfs_dir): Add prototype for `dir_hook'.
31661
31662 * fs/minix.c (grub_minix_get_file_block): Add prototype for
31663 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
31664 and `indir32' to silence a gcc warning.
31665
31666 * include/grub/fs.h (grub_hfs_init): New prototype.
31667 (grub_hfs_fini): Likewise.
f19dbdb7 31668
31669
97543f08 316702004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31671
31672 Each disk device has its own id now. This is useful to make use
31673 of multiple disk devices.
f19dbdb7 31674
97543f08 31675 * include/grub/disk.h (grub_disk_dev_id): New enum.
31676 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
31677 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
31678
31679 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
31680 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31681
31682 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
31683 GRUB_DISK_DEVICE_OFDISK_ID as an id.
31684
31685 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
31686 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31687
31688 * include/grub/disk.h (struct grub_disk_dev): Added a new member
31689 "id" which is used by the cache manager.
31690
31691 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
31692 of just "GRUB".
31693
64372eb4 316942004-08-18 Marco Gerards <metgerards@student.han.nl>
31695
31696 * fs/hfs.c: New file.
31697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
31698 (grub_emu_SOURCES): Likewise.
31699 (pkgdata_MODULES): Add hfs.mod.
31700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
31701 (grubof_SOURCES): Likewise.
31702 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
31703
31704 * include/grub/misc.h (grub_strncasecmp): Add prototype.
31705 * kern/misc.c (grub_strncasecmp): Add function.
31706
cc61b58f 317072004-08-14 Marco Gerards <metgerards@student.han.nl>
31708
31709 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
31710 with parentheses.
31711
31712 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
31713 (grub_ext2_dir): In case the directory entry type is unknown, read
31714 it from the inode.
31715
0ef123f6 317162004-08-02 Peter Bruin <pjbruin@dds.nl>
31717
31718 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
31719 grub_load_linux instead of grub_rescue_cmd_linux as second
31720 argument of grub_rescue_register_command.
31721
31722 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
31723
a447c5df 317242004-07-27 Marco Gerards <metgerards@student.han.nl>
31725
31726 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
31727 function.
31728 * commands/boot.c: Remove the check for `GRUB_UTIL'.
31729 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31730 `loader/powerpc/ieee1275/linux.c',
31731 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
31732 * include/grub/powerpc/ieee1275/ieee1275.h
31733 (grub_ieee1275_release): New prototype.
31734 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
31735 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
31736 normal, boot, linux and linux_normal.
31737 * loader/powerpc/ieee1275/linux.c: New file.
31738 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31739
5a9e3546 317402004-07-12 Marco Gerards <metgerards@student.han.nl>
31741
31742 * normal/arg.c (grub_arg_parse): Correct error handling after
31743 reallocating the argumentlist (check if `argl' is not null instead
31744 of checking if `args' is not null).
31745 * kern/mm.c (grub_realloc): Return the same pointer when using the
31746 same region, instead of returning the header address.
31747
e15199cb 317482004-07-11 Marco Gerards <metgerards@student.han.nl>
31749
31750 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
31751 one block instead of two when looking for the initial partition.
31752 (grub_partition_probe): Initialize the local variable `p' with 0.
31753 Use base 10 for the grub_strtoul call.
31754 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
31755 need for one local variable.
31756 (grub_strtoul): Don't add the new value to `num', instead of that
31757 just assign it.
31758
020616c2 317592004-07-11 Marco Gerards <metgerards@student.han.nl>
31760
31761 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
31762 (pxeboot_img_SOURCES): New variable.
31763 (pxeboot_img_ASFLAGS): Likewise.
31764 (pxeboot_img_LDFLAGS): Likewise.
31765 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
31766 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
31767 <lode_leroy@hotmail.com>.
31768
6c51eb64 317692004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31770
31771 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
31772 there was no input.
31773
cfb12aff 317742004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31775
31776 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
31777 the history buffer logic.
31778
6eabba74 317792004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31780
31781 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
31782 (FILETYPE_INO_SYMLINK): New macros.
31783 (grub_ext2_find_file): Check if the node is a directory using the
31784 inode stat information instead of using the filetype in the
31785 dirent. Exclude the first character of an absolute symlink.
31786 (grub_ext2_dir): Mask out the filetype part of the mode member of
31787 the inode.
31788
66e19ef8 317892004-05-24 Marco Gerards <metgerards@student.han.nl>
31790
31791 Add support for UFS version 1 and 2. Add support for the minix
31792 filesystem version 1 and 2, both the variants with 14 and 30 long
31793 filenames.
f19dbdb7 31794
66e19ef8 31795 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
31796 fs/minix.c.
31797 (grub_emu_SOURCES): Likewise.
31798 (pkgdata_MODULES): Add ufs.mod and minix.mod.
31799 (ufs_mod_SOURCES): New variable.
31800 (ufs_mod_CFLAGS): Likewise.
31801 (minix_mod_SOURCES): Likewise.
31802 (minix_mod_CFLAGS): Likewise.
31803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
31804 fs/minix.c.
31805 (grubof_SOURCES): Likewise.
31806 * fs/ufs.c: New file.
31807 * fs/minix.c: New file.
31808 * include/grub/fs.h (grub_ufs_init): New prototype.
31809 (grub_ufs_fini): Likewise.
31810 (grub_minix_init): Likewise.
31811 (grub_minix_fini): Likewise.
31812 * util/grub-emu.c (main): Initialize and deinitialize UFS and
31813 minix fs.
31814
cc2e748a 318152004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
31816
31817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
31818 commands/ls.c, commands/terminal.c, commands/boot.c,
31819 commands/cmp.c and commands/cat.c.
31820 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
31821
31822 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
31823 "env.h"
31824
4b13b216 318252004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31826
31827 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
31828 and grub_, respectively. Because the conversion is trivial and
31829 mechanical, I omit the details here. Please refer to the CVS
31830 if you need more information.
31831
6a142551 318322004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31833
31834 * include/pupa: Renamed to ...
31835 * include/grub: ... this.
31836 * util/i386/pc/pupa-mkimage.c: Renamed to ...
31837 * util/i386/pc/grub-mkimage.c: ... this.
31838 * util/i386/pc/pupa-setup.c: Renamed to ...
31839 * util/i386/pc/grub-setup.c: ... this.
31840 * util/pupa-emu.c: Renamed to ...
31841 * util/grub-emu.c: ... this.
31842
e56cdf21 318432004-03-29 Marco Gerards <metgerards@student.han.nl>
31844
31845 Add support for the newworld apple macintosh (PPC). This has been
31846 tested on the powerbook 2000 only. It only adds support for
31847 generic ieee1275 functions, console and disk support. This should
31848 be easy to port to other architectures with support for Open
31849 Firmware.
f19dbdb7 31850
e56cdf21 31851 * configure.ac: Accept the powerpc as host_cpu. In the case of
31852 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
31853 specific tests are only executed while building for the i386.
31854 Inverse test for crosscompile.
31855 * genmk.rb (Utility): Allow assembler files.
31856 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
31857 * conf/powerpc-ieee1275.rmk: New file.
31858 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
31859 * disk/powerpc/ieee1275/partition.c: Likewise.
31860 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
31861 * include/pupa/powerpc/ieee1275/console.h: Likewise.
31862 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
31863 * include/pupa/powerpc/ieee1275/time.h: Likewise.
31864 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
31865 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
31866 * include/pupa/powerpc/ieee1275/loader.h
31867 * include/pupa/powerpc/setjmp.h: Likewise.
31868 * include/pupa/powerpc/types.h: Likewise.
31869 * kern/powerpc/ieee1275/init.c: Likewise.
31870 * kern/powerpc/ieee1275/openfw.c: Likewise.
31871 * term/powerpc/ieee1275/ofconsole.c: Likewise.
31872
31873 These files were written by Johan Rydberg
31874 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 31875
e56cdf21 31876 * boot/powerpc/ieee1275/cmain.c: New file.
31877 * boot/powerpc/ieee1275/crt0.S: Likewise.
31878 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
31879 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
31880
8c8cc205 318812004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
31882
31883 * Makefile.in: Update copyright.
31884 * genmodsrc.sh: Likewise.
31885 * gensymlist.sh: Likewise.
31886 * term/i386/pc/vga.c: Indent correctly.
31887
31888 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
31889 bugreporting address.
31890 * util/i386/pc/pupa-setup.c (usage): Likewise,
31891 (main): Call pupa_ext2_init and pupa_ext2_fini.
31892
f19dbdb7 31893 * fs/fat.c (log2): Renamed to ...
8c8cc205 31894 (fat_log2): ... this.
31895 All callers changed.
31896 * kern/misc.c (memcpy): Alias to pupa_memmove.
31897 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
31898 lvalue cast.
31899 * util/console.c (pupa_ncurses_fini): Return 0.
31900
31901 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
31902 Move fail label here.
31903 [__GNU__]: Don't warn when using stat.
31904 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
31905 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
31906 long int. Use strtol instead of strtoul.
f19dbdb7 31907
db1771cf 319082004-03-14 Marco Gerards <metgerards@student.han.nl>
31909
31910 * commands/boot.c: New file.
31911 * commands/cat.c: Likewise.
31912 * commands/cmp.c: Likewise.
31913 * commands/ls.c: Likewise.
31914 * commands/terminal.c: Likewise.
31915 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
31916 (pupa_register_command): Changed interface to match the new
31917 argument parser.
31918 (pupa_command_execute): Changed (almost rewritten) so it uses
31919 pupa_split_command. Added support for setting variables using the
31920 syntax `foo=bar'.
31921 (rescue_command): Changed to work with the new argument parser.
31922 (terminal_command): Moved from here to commands/terminal.c.
31923 (set_command): New function.
31924 (unset_command): New function.
31925 (insmod_command): New function.
31926 (rmmod_command): New function.
31927 (lsmod_command): New function.
31928 (pupa_command_init): Don't initialize the command terminal
31929 anymore. Initialize the commands set, unset, insmod, rmmod and
31930 lsmod.
31931 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
31932 (kernel_img_HEADERS): Add arg.h and env.h.
31933 (pupa_mkimage_LDFLAGS): Add kern/env.c.
31934 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
31935 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
31936 normal/arg.c.
31937 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
31938 terminal.mod.
31939 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
31940 (boot_mod_SOURCES): New variable.
31941 (terminal_mod_SOURCES): Likewise.
31942 (ls_mod_SOURCES): Likewise.
31943 (cmp_mod_SOURCES): Likewise.
31944 (cat_mod_SOURCES): Likewise.
31945
31946 * normal/arg.c: New file.
31947 * kern/env.c: Likewise.
31948 * include/pupa/arg.h: Likewise.
31949 * include/pupa/env.h: Likewise.
31950 * font/manager.c (font_command): Changed to match argument parsing
31951 interface changes.
31952 (PUPA_MOD_INIT): Likewise.
31953 * hello/hello.c (pupa_cmd_hello): Likewise.
31954 (PUPA_MOD_INIT): Likewise.
31955 * include/pupa/disk.h: Include <pupa/device.h>.
31956 (pupa_print_partinfo): New prototype.
31957 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
31958 (pupa_dl_get_prefix): Likewise.
31959 * include/pupa/misc.h: Include <pupa/err.h>.
31960 (pupa_isgraph): New prototype.
31961 (pupa_isdigit): Likewise.
31962 (pupa_split_cmdline): Likewise.
31963 * include/pupa/normal.h: Include <pupa/arg.h>.
31964 (pupa_command): Changed the prototype of the member `func' to
31965 match the argument parsing interface. Added member `options'.
31966 (pupa_register_command): Updated to match function.
31967 (pupa_arg_parse): New prototype.
31968 (pupa_hello_init) [PUPA_UTIL]: New prototype.
31969 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
31970 (pupa_ls_init) [PUPA_UTIL]: Likewise.
31971 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
31972 (pupa_cat_init) [PUPA_UTIL]: Likewise.
31973 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
31974 (pupa_boot_init) [PUPA_UTIL]: Likewise.
31975 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
31976 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
31977 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
31978 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
31979 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
31980 * kern/disk.c: Include <pupa/file.h>.
31981 (pupa_print_partinfo): New function.
31982 * kern/dl.c: Include <pupa/env.h>.
31983 (pupa_dl_dir): Variable removed.
31984 (pupa_dl_load): Use the environment variable `prefix' instead of
31985 the variable pupa_dl_dir.
31986 (pupa_dl_set_prefix): Function removed.
31987 (pupa_dl_get_prefix): Likewise.
31988 * kern/i386/pc/init.c: Include <pupa/env.h>.
31989 (pupa_machine_init): Use the environment variable `prefix' instead of
31990 using pupa_dl_set_prefix to set the prefix.
31991 * kern/main.c: Include <pupa/env.h>.
31992 (pupa_set_root_dev): Use the environment variable `prefix' instead of
31993 using pupa_dl_get_prefix to get the prefix.
31994 * kern/misc.c: Include <pupa/env.h>.
31995 (pupa_isdigit): New function.
31996 (pupa_isgraph): Likewise.
31997 (pupa_ftoa): Likewise.
31998 (pupa_vsprintf): Added support for printing values of the type
31999 `double'. Make it possible to format variable output when using
32000 formatting like `%1.2%f'.
32001 (pupa_split_cmdline): New function.
32002 * kern/rescue.c: Include <pupa/env.h>.
32003 (next_word): Removed function.
32004 (pupa_rescue_cmd_prefix): Likewise.
32005 (pupa_rescue_cmd_set): New function.
32006 (pupa_rescue_cmd_unset): New function.
32007 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32008 split the command line instead of splitting it here. Added
32009 support for setting variables using the syntax `foo=bar'. Don't
32010 initialize the prefix command anymore. Initialized the set and
32011 unset commands.
32012 * normal/cmdline.c: Include <pupa/env.h>.
32013 (pupa_tab_complete): Added prototypes for print_simple_completion,
32014 print_partition_completion, add_completion, iterate_commands,
32015 iterate_dev, iterate_part and iterate_dir. Moved code to print
32016 partition information from here to kern/disk.c.
fe6b695a 32017 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 32018 * normal/main.c: Include <pupa/env.h>.
32019 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
32020 instead of using pupa_dl_get_prefix to get the prefix.
32021 * term/i386/pc/vga.c: Include <pupa/arg.h>.
32022 (check_vga_mem): Cast pointers to `void *' to silence a gcc
32023 warning.
32024 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
32025 (pupa_vga_setcolor): Declare unused variables with `__attribute__
32026 ((unused))' to silence a gcc warning.
32027 (pupa_vga_setcolor): Likewise.
32028 (debug_command): Changed to match argument parsing
32029 interface changes.
32030 * util/pupa-emu.c: Include <pupa/env.h>.
32031 (options): Added 0's for unused fields to silence a gcc warning.
32032 (argp): Likewise.
32033 (main): Use the environment variable `prefix' instead of using
32034 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
32035 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
32036 and terminal.
32037
32038 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
32039 * util/misc.c: Include <malloc.h>.
32040 (pupa_malloc): Rewritten so errors are correctly reported.
32041 (pupa_realloc): Likewise.
32042 (pupa_memalign): Likewise.
32043 (pupa_mm_init_region): Declare unused variables with
32044 `__attribute__ ((unused))' to silence a gcc warning.
32045 * normal/i386/setjmp.S: Remove tab at the end of the file to
32046 silence a gcc warning.
32047 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32048 variables with `__attribute__ ((unused))' to silence a gcc
32049 warning.
32050 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32051 local variable i unsigned to silence a gcc warning.
32052
32053 * kern/term.c: Include <pupa/misc.h>.
32054 (pupa_more_lines): New variable.
32055 (pupa_more): Likewise.
32056 (pupa_putcode): When the pager is active pause at the end of every
32057 screen.
32058 (pupa_set_more): New function.
32059 * include/pupa/term.h (pupa_set_more): New prototype.
32060
32061
3b1139cb 320622004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32063
32064 Now this project is GRUB 2 rather than PUPA. The location of
32065 the CVS repository was moved to GRUB's.
f19dbdb7 32066
3b1139cb 32067 * configure.ac: Use bug-grub as the reporting address.
32068 Use GRUB instead of PUPA.
32069 Change the version number to 1.90.
32070
8367695c 320712004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32072
32073 * genkernsyms.sh: Updated copyright information.
32074 * genmk.rb: Likewise.
32075 * genmodsrc.sh: Likewise.
32076 * gensymlist.sh: Likewise.
32077 * boot/i386/pc/boot.S: Likewise.
32078 * boot/i386/pc/diskboot.S: Likewise.
32079 * disk/i386/pc/biosdisk.c: Likewise.
32080 * disk/i386/pc/partition.c: Likewise.
32081 * font/manager.c: Likewise.
32082 * fs/ext2.c: Likewise.
32083 * fs/fat.c: Likewise.
32084 * include/pupa/boot.h: Likewise.
32085 * include/pupa/device.h: Likewise.
32086 * include/pupa/disk.h: Likewise.
32087 * include/pupa/dl.h: Likewise.
32088 * include/pupa/elf.h: Likewise.
32089 * include/pupa/err.h: Likewise.
32090 * include/pupa/file.h: Likewise.
32091 * include/pupa/font.h: Likewise.
32092 * include/pupa/fs.h: Likewise.
32093 * include/pupa/kernel.h: Likewise.
32094 * include/pupa/loader.h: Likewise.
32095 * include/pupa/misc.h: Likewise.
32096 * include/pupa/mm.h: Likewise.
32097 * include/pupa/net.h: Likewise.
32098 * include/pupa/normal.h: Likewise.
32099 * include/pupa/rescue.h: Likewise.
32100 * include/pupa/setjmp.h: Likewise.
32101 * include/pupa/symbol.h: Likewise.
32102 * include/pupa/term.h: Likewise.
32103 * include/pupa/types.h: Likewise.
32104 * include/pupa/i386/setjmp.h: Likewise.
32105 * include/pupa/i386/types.h: Likewise.
32106 * include/pupa/i386/pc/biosdisk.h: Likewise.
32107 * include/pupa/i386/pc/boot.h: Likewise.
32108 * include/pupa/i386/pc/console.h: Likewise.
32109 * include/pupa/i386/pc/init.h: Likewise.
32110 * include/pupa/i386/pc/kernel.h: Likewise.
32111 * include/pupa/i386/pc/linux.h: Likewise.
32112 * include/pupa/i386/pc/loader.h: Likewise.
32113 * include/pupa/i386/pc/memory.h: Likewise.
32114 * include/pupa/i386/pc/multiboot.h: Likewise.
32115 * include/pupa/i386/pc/partition.h: Likewise.
32116 * include/pupa/i386/pc/time.h: Likewise.
32117 * include/pupa/i386/pc/vga.h: Likewise.
32118 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32119 * include/pupa/util/getroot.h: Likewise.
32120 * include/pupa/util/misc.h: Likewise.
32121 * include/pupa/util/resolve.h: Likewise.
32122 * kern/device.c: Likewise.
32123 * kern/disk.c: Likewise.
32124 * kern/dl.c: Likewise.
32125 * kern/err.c: Likewise.
32126 * kern/file.c: Likewise.
32127 * kern/fs.c: Likewise.
32128 * kern/loader.c: Likewise.
32129 * kern/main.c: Likewise.
32130 * kern/misc.c: Likewise.
32131 * kern/mm.c: Likewise.
32132 * kern/rescue.c: Likewise.
32133 * kern/term.c: Likewise.
32134 * kern/i386/dl.c: Likewise.
32135 * kern/i386/pc/init.c: Likewise.
32136 * kern/i386/pc/lzo1x.S: Likewise.
32137 * kern/i386/pc/startup.S: Likewise.
32138 * loader/i386/pc/chainloader.c: Likewise.
32139 * loader/i386/pc/linux.c: Likewise.
32140 * loader/i386/pc/multiboot.c: Likewise.
32141 * normal/cmdline.c: Likewise.
32142 * normal/command.c: Likewise.
32143 * normal/main.c: Likewise.
32144 * normal/menu.c: Likewise.
32145 * normal/i386/setjmp.S: Likewise.
32146 * term/i386/pc/console.c: Likewise.
32147 * term/i386/pc/vga.c: Likewise.
32148 * util/console.c: Likewise.
32149 * util/genmoddep.c: Likewise.
32150 * util/misc.c: Likewise.
32151 * util/pupa-emu.c: Likewise.
32152 * util/resolve.c: Likewise.
32153 * util/unifont2pff.rb: Likewise.
32154 * util/i386/pc/biosdisk.c: Likewise.
32155 * util/i386/pc/getroot.c: Likewise.
32156 * util/i386/pc/pupa-mkimage.c: Likewise.
32157 * util/i386/pc/pupa-setup.c: Likewise.
32158
e6eced71 321592004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32160
32161 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32162 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32163 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32164 reading and reset it after reading.
32165 (pupa_ext2_close): Return PUPA_ERR_NONE.
32166
32167 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32168 Correct value.
32169 (struct linux_kernel_header): Add kernel_version and
32170 initrd_addr_max.
32171 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32172 pupa_file_read succeeds.
32173 (pupa_rescue_cmd_initrd): Implement.
32174
5aded270 321752003-12-03 Marco Gerards <metgerards@student.han.nl>
32176
32177 * fs/ext2.c (pupa_ext2_label): New function.
32178 (pupa_ext2_fs): Added label.
32179 * fs/fat.c (pupa_fat_label): New function.
32180 (pupa_fat_fs): Added label.
32181 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32182
32183 * kern/misc.c (pupa_strndup): New function.
32184 * include/pupa/misc.h (pupa_strndup): New prototype.
32185
32186 * include/pupa/normal.h: Include <pupa/err.h>.
32187 (pupa_set_history): New prototype.
32188 (pupa_iterate_commands): New prototype.
32189 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32190 <pupa/disk.h>, <pupa/file.h>.
32191 (hist_size): New variable.
32192 (hist_lines): Likewise.
32193 (hist_end): Likewise.
32194 (hist_used): Likewise.
32195 (pupa_set_history): New function.
32196 (pupa_history_get): Likewise.
32197 (pupa_history_add): Likewise.
32198 (pupa_history_replace): Likewise.
32199 (pupa_tab_complete): Likewise.
32200 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32201 completion shows partitionnames while completing partitions, this
32202 feature was suggested by Jeff Bailey.
32203 * normal/command.c (pupa_iterate_commands): New function.
32204 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32205 (pupa_normal_init): Initialize history buffer.
32206 (PUPA_MOD_INIT): Likewise.
32207 (pupa_normal_fini): Free the history buffer.
32208 (PUPA_MOD_FINI): Likewise.
32209
32210 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32211 key.
32212
32213 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32214 * configure.ac [i386]: Check for regparam bug.
32215 (NESTED_FUNC_ATTR) [! i386]: Defined.
32216
1f7315a3 322172003-11-17 Marco Gerards <metgerards@student.han.nl>
32218
32219 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32220 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32221 (pupa_emu_SOURCES): New variable.
32222 (pupa_emu_LDFLAGS): Likewise.
32223 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32224 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32225 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32226 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32227 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32228 (pupa_jmp_buf): New typedef.
32229 (pupa_setjmp) [PUPA_UTIL]: New macro.
32230 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32231 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32232 (pupa_refresh): New prototype.
32233 * include/pupa/util/getroot.h: New file.
32234 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32235 it.
32236 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32237 (pupa_rescue_cmd_cat): Likewise.
32238 (pupa_rescue_cmd_ls): Likewise.
32239 (pupa_rescue_cmd_testload): Likewise.
32240 (pupa_rescue_cmd_lsmod): Likewise.
32241 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32242 * normal/menu.c (run_menu): Likewise.
32243 * kern/term.c (pupa_cls): Likewise.
32244 (pupa_refresh): New function.
32245 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32246 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32247 * util/console.c: New file.
f19dbdb7 32248
1f7315a3 32249 * util/i386/pc/getroot.c: New file.
32250 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32251 (pupa_putchar): New function.
32252 (pupa_refresh): Likewise.
32253 (xgetcwd): Function moved to ...
32254 (strip_extra_slashes): Likewise.
32255 (get_prefix): Likewise.
f19dbdb7 32256 * util/i386/pc/getroot.c: ... here.
1f7315a3 32257 (find_root_device): Function moved and renamed to...
32258 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32259 Changed all callers.
32260 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32261 and renamed to...
32262 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32263 Changed all callers.
32264 * util/misc.c (pupa_memalign): New function.
32265 (pupa_mm_init_region): Likewise.
32266 (pupa_register_exported_symbols): Likewise.
32267 (pupa_putchar): Function removed.
32268 * util/pupa-emu.c: New file.
32269
9a5c1ade 322702003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32271
32272 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32273 (_multiboot_mod_SOURCES): New variable.
32274 (_multiboot_mod_CFLAGS): Likewise.
32275 * loader/i386/pc/multiboot.c: New file.
32276 * include/pupa/i386/pc/multiboot.h: Likewise.
32277 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32278 (pupa_multiboot_real_boot): New function.
32279 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32280 (pupa_multiboot_real_boot): New prototype.
32281 (pupa_rescue_cmd_multiboot): Likewise
32282 (pupa_rescue_cmd_module): Likewise.
32283
32284 * kern/loader.c (pupa_loader_set): Continue when
32285 pupa_loader_unload_func() fails.
32286 (pupa_loader_unset): New function.
32287 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32288
32289 * kern/misc.c (pupa_stpcpy): New function.
32290 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32291
8e72a9c0 322922003-11-12 Marco Gerards <metgerards@student.han.nl>
32293
32294 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32295 for available extensions.
32296
32297 * include/pupa/i386/pc/time.h: New file.
32298 * kern/disk.c: Include <pupa/machine/time.h>.
32299 (PUPA_CACHE_TIMEOUT): New macro.
32300 (pupa_last_time): New variable.
32301 (pupa_disk_open): Flush the cache when there was a timeout.
32302 (pupa_disk_close): Reset the timer.
32303 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32304 pupa_currticks.
32305 * util/misc.c: Include <sys/times.h>
32306 (pupa_get_rtc): New function.
32307
c4adbd32 323082003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32309
32310 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32311 as blocks.
32312 (pupa_ext2_get_file_block): Use blocks member.
32313
32314 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32315 first block. Return -1 instead of pupa_errno on error.
32316
bfd30f06 323172003-10-27 Marco Gerards <metgerards@student.han.nl>
32318
32319 * README: In the pupa-mkimage example use _chain instead of chain
32320 and ext2 instead of fat.
32321 * TODO: Replace ext2fs with jfs as an example. Add an item for
32322 adding journal playback for ext2fs.
32323 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32324 (pkgdata_MODULES): Added ext2.mod.
32325 (ext2_mod_SOURCES): New variable.
32326 (ext2_mod_CFLAGS): Likewise.
32327 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32328 * include/pupa/misc.h (pupa_strncpy): New prototype.
32329 (pupa_strcat): Likewise.
32330 (pupa_strncmp): Likewise.
32331 * kern/misc.c (pupa_strcat): Enable function.
32332 (pupa_strncpy): New function.
32333 (pupa_strncmp): Likewise.
32334 * fs/ext2.c: New file.
f19dbdb7 32335
bfd30f06 32336 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32337 when the read failed before retrying.
32338 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32339 (_FILE_OFFSET_BITS): Likewise.
32340 * configure.ac: Added AC_SYS_LARGEFILE.
32341
98d15063 323422003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32343
32344 * genmk.rb (PModule#rule): Make sure to get only symbol names
32345 from the output of nm.
59cad637 32346 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32347
18d9c7cd 323482003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32349
32350 I forgot to check in these changes for a long time. This adds
32351 incomplete support for VGA console, and this is still very
32352 buggy. Also, a lot of consideration is required for I18N,
32353 UNICODE, and VGA font issues. Therefore, assume that this is
32354 such that "better than nothing".
f19dbdb7 32355
18d9c7cd 32356 * font/manager.c: New file.
32357 * include/pupa/font.h: Likewise.
32358 * include/pupa/i386/pc/vga.h: Likewise.
32359 * term/i386/pc/vga.c: Likewise.
32360 * util/unifont2pff.rb: Likewise.
32361
32362 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32363 (pkgdata_MODULES): Added vga.mod and font.mod.
32364 (vga_mod_SOURCES): New variables.
32365 (vga_mod_CFLAGS): Likewise.
32366 (font_mod_SOURCES): Likewise.
32367 (font_mod_CFLAGS): Likewise.
32368
32369 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32370
32371 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32372 (struct pupa_term): Added init and fini.
18d9c7cd 32373 Changed the argument of putchar to pupa_uint32_t.
32374
32375 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32376 (pupa_console_real_putchar): New prototype.
32377 (pupa_console_putchar): Removed.
32378 (pupa_console_checkkey): Exported.
32379 (pupa_console_getkey): Likewise.
32380
32381 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32382 characters.
32383
32384 * kern/term.c (pupa_term_set_current): Rewritten.
32385 (pupa_putchar): Likewise.
32386 (pupa_putcode): New function.
32387
32388 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32389 (pupa_console_real_putchar): ... this.
32390 (pupa_vga_set_mode): New function.
32391 (pupa_vga_get_font): Likewise.
32392
32393 * normal/command.c: Include pupa/term.h.
32394 (terminal_command): New function.
32395 (pupa_command_init): Register the command "terminal".
32396
32397 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32398 (DISP_UP): Likewise.
32399 (DISP_RIGHT): Likewise.
32400 (DISP_DOWN): Likewise.
32401 (DISP_HLINE): Likewise.
32402 (DISP_VLINE): Likewise.
32403 (DISP_UL): Likewise.
32404 (DISP_UR): Likewise.
32405 (DISP_LL): Likewise.
32406 (DISP_LR): Likewise.
32407
32408 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 32409
977329f5 324102003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32411
32412 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32413 FIX. Reverse the path_list.
32414
32415 * include/pupa/normal.h: Export pupa_register_command and
32416 pupa_unregister_command.
32417
32418 * hello/hello.c (pupa_cmd_hello): New module.
32419 * conf/i386-pc.rmk: Added hello.mod.
32420
1f5ab428 324212003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32422
32423 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 32424
1f5ab428 32425 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32426 (compress_kernel): New variable.
32427 (generate_image): Heavily modified to support compressing a
32428 large part of the core image.
32429
32430 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32431 leak.
32432 (pupa_util_load_image): New function.
32433
32434 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32435 (pupa_compressed_size): New variable.
32436 (codestart): Enable Gate A20 here.
32437 Decompress the compressed part of the core image.
32438 Rearrange the code to put functions and variables which are
32439 required for initialization in the non-compressed part.
32440 Include lzo1x.S.
32441
32442 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32443 here.
32444
32445 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32446
f19dbdb7 32447 * include/pupa/i386/pc/kernel.h
1f5ab428 32448 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32449 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32450 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32451 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32452 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32453
32454 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32455
32456 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32457 (Utility#rule): Likewise.
32458
32459 * configure.ac: Check if LZO is available.
32460
ce5bf700 324612003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32462
32463 * include/pupa/normal.h: New file.
32464 * include/pupa/setjmp.h: Likewise.
32465 * include/pupa/i386/setjmp.h: Likewise.
32466 * normal/cmdline.c: Likewise.
32467 * normal/command.c: Likewise.
32468 * normal/main.c: Likewise.
32469 * normal/menu.c: Likewise.
32470 * normal/i386/setjmp.S: Likewise.
f19dbdb7 32471
ce5bf700 32472 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32473 (pupa_rescue_cmd_initrd): Likewise.
32474
32475 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32476 Likewise.
32477
32478 * kern/i386/pc/startup.S (translation_table): New variable.
32479 (translate_keycode): New function.
32480 (pupa_console_getkey): Call translate_keycode.
32481
32482 * kern/rescue.c (attempt_normal_mode): New function.
32483 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32484 it failed, print a message.
32485
32486 * kern/mm.c (pupa_real_malloc): Print more information when a
32487 free magic is broken.
32488 (pupa_free): If the first free header is not free actually, set
32489 it to P.
32490
32491 * kern/main.c (pupa_load_normal_mode): Just load the module
32492 "normal".
32493 (pupa_main): Don't print the message
32494 "Entering into rescue mode..." here.
32495
32496 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32497 Declared.
32498 (pupa_rescue_cmd_initrd): Likewise.
32499 (pupa_rescue_cmd_initrd): Likewise.
32500
32501 * include/pupa/symbol.h (FUNCTION): Specify the type.
32502 (VARIABLE): Likewise.
32503
32504 * include/pupa/err.h (pupa_err_t): Added
32505 PUPA_ERR_UNKNOWN_COMMAND.
32506
32507 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32508 (pupa_dl_get_prefix): Likewise.
32509
32510 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32511 Added _chain.mod and _linux.mod instead of chain.mod and
32512 linux.mod.
32513 (chain_mod_SOURCES): Renamed to ...
32514 (_chain_mod_SOURCES): ... this.
32515 (chain_mod_CFLAGS): Renamed to ...
32516 (_chain_mod_CFLAGS): ... this.
32517 (linux_mod_SOURCES): Renamed to ...
32518 (_linux_mod_SOURCES): ... this.
32519 (linux_mod_CFLAGS): Renamed to ...
32520 (_linux_mod_CFLAGS): ... this.
32521 (normal_mod_SOURCES): New variable.
32522 (normal_mod_CFLAGS): Likewise.
32523 (normal_mod_ASFLAGS): Likewise.
32524
325252003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32526
32527 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32528 possible.
32529
fe6b695a 32530 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 32531 recursively.
32532 (pupa_dl_unref): Unrefer depending modules recursively.
32533 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32534 a module is unloaded before one depending on that module is
32535 unloaded.
32536 (pupa_dl_unload): Unload depending modules explicitly,
32537 if possible.
32538
c04da074 325392003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
32540
32541 * include/pupa/i386/pc/linux.h: New file.
32542 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 32543
c04da074 32544 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
32545 Removed.
32546 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
32547 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
32548 of PUPA_CHAINLOADER_BOOT_SECTOR.
32549
32550 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
32551 (pupa_linux_prot_size): New variable.
32552 (pupa_linux_tmp_addr): Likewise.
32553 (pupa_linux_real_addr): Likewise.
32554 (pupa_linux_boot_zimage): New function.
32555 (pupa_linux_boot_bzimage): Likewise.
32556
32557 * kern/i386/pc/init.c (struct mem_region): New structure.
32558 (MAX_REGIONS): New macro.
32559 (mem_regions): New variable.
32560 (num_regions): Likewise.
32561 (pupa_os_area_addr): Likewise.
32562 (pupa_os_area_size): Likewise.
32563 (pupa_lower_mem): Likewise.
32564 (pupa_upper_mem): Likewise.
32565 (add_mem_region): New function.
32566 (compact_mem_regions): Likewise.
32567 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
32568 the size of the conventional memory and that of so-called upper
32569 memory (before the first memory hole).
32570 Instead of adding each found region to free memory, use
32571 add_mem_region and add them after removing overlaps.
32572 Also, add only 1/4 of the upper memory to free memory. The rest
32573 is used for loading OS images. Maybe this is ad hoc, but this
32574 makes it much easier to relocate OS images when booting.
32575
32576 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
32577 (pupa_enter_rescue_mode): Don't register initrd and module.
32578
32579 * kern/mm.c: Include pupa/dl.h.
32580
32581 * kern/main.c: Include pupa/file.h and pupa/device.h.
32582
32583 * kern/loader.c (pupa_loader_load_module_func): Removed.
32584 (pupa_loader_load_module): Likewise.
32585
32586 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
32587 ``.o''.
32588
32589 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
32590 (pupa_linux_tmp_addr): Likewise.
32591 (pupa_linux_real_addr): Likewise.
32592 (pupa_linux_boot_zimage): Likewise.
32593 (pupa_linux_boot_bzimage): Likewise.
32594
32595 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
32596 (pupa_upper_mem): Likewise.
32597 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
32598 module is too dangerous.
32599
32600 * include/pupa/loader.h (pupa_os_area_addr): Declared.
32601 (pupa_os_area_size): Likewise.
32602 (pupa_loader_set): Remove the first argument. Loader doesn't
32603 manage modules or initrd any longer.
32604 (pupa_loader_load_module): Removed.
32605
32606 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
32607 (linux_mod_SOURCES): New variable.
32608 (linux_mod_CFLAGS): Likewise.
32609
a13f9237 326102003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
32611
32612 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
32613 the length of a blocklist correctly.
32614
32615 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
32616 Use ioctl only if the OS file is a block device.
32617 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
32618 not very useful for normal files.
32619
32620 * kern/main.c (pupa_set_root_dev): New function.
32621 (pupa_load_normal_mode): Likewise.
32622 (pupa_main): Call those above.
32623
32624 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
32625 pupa_uint16_t.
32626
32627 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
32628
a5ffe966 326292003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32630
32631 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
32632 (setup): Configure the installed partition information and the
32633 dl prefix.
32634
32635 * loader/i386/pc/chainloader.c (my_mod): New variable.
32636 (pupa_chainloader_unload): New function.
32637 (pupa_rescue_cmd_chainloader): Refer itself.
32638 (PUPA_MOD_INIT): Save its own module in MY_MOD.
32639
32640 * kern/i386/pc/startup.S (install_partition): Removed.
32641 (version_string): Likewise.
32642 (config_file): Likewise.
32643 (pupa_install_dos_part): New variable.
32644 (pupa_install_bsd_part): Likewise.
32645 (pupa_prefix): Likewise.
32646 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
32647
32648 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
32649 and pupa/misc.h.
32650 (make_install_device): New function.
32651 (pupa_machine_init): Set the dl prefix.
32652
32653 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
32654 (buf): Renamed to ...
32655 (linebuf): ... this.
32656 (pupa_rescue_cmd_prefix): New function.
32657 (pupa_rescue_cmd_insmod): Likewise.
32658 (pupa_rescue_cmd_rmmod): Likewise.
32659 (pupa_rescue_cmd_lsmod): Likewise.
32660 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
32661 rmmod and lsmod.
32662
32663 * kern/mm.c (pupa_memalign): If failed even after invalidating
32664 disk caches, unload unneeded modules and retry.
32665
32666 * kern/misc.c (pupa_memmove): New function.
32667 (pupa_memcpy): Removed.
32668 (pupa_strcpy): New function.
32669 (pupa_itoa): Made static.
32670
32671 * kern/dl.c (pupa_dl_iterate): New function.
32672 (pupa_dl_ref): Likewise.
32673 (pupa_dl_unref): Likewise.
32674 (pupa_dl_unload): Return if succeeded or not.
32675 (pupa_dl_unload_unneeded): New function.
32676 (pupa_dl_unload_all): Likewise.
32677 (pupa_dl_init): Renamed to ...
32678 (pupa_dl_set_prefix): ... this.
32679 (pupa_dl_get_prefix): New function.
32680
32681 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
32682 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
32683 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32684 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32685 (pupa_install_dos_part): Declared.
32686 (pupa_install_bsd_part): Likewise.
32687 (pupa_prefix): Likewise.
32688 (pupa_boot_drive): Likewise.
32689
32690 * include/pupa/types.h: Fix a typo.
32691
32692 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
32693 pupa_memmove.
32694 (pupa_memmove): Declared.
32695 (pupa_strcpy): Likewise.
32696
32697 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
32698 pupa_mod_init takes one argument, its own module.
32699 (pupa_dl_unload_unneeded): Declared.
32700 (pupa_dl_unload_all): Likewise.
32701 (pupa_dl_ref): Likewise.
32702 (pupa_dl_unref): Likewise.
32703 (pupa_dl_iterate): Likewise.
32704 (pupa_dl_init): Renamed to ...
32705 (pupa_dl_set_prefix): ... this.
32706 (pupa_dl_get_prefix): Declared.
32707
32708 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 32709 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 32710 unloaded.
32711 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
32712 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
32713
32714 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
32715 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
32716
012d7999 327172003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32718
32719 * util/i386/pc/pupa-setup.c (setup): Define the internal
32720 function find_first_partition_start at the top level, because GCC
32721 3.0.x cannot compile internal functions in deeper scopes
32722 correctly.
32723 (find_root_device): Use lstat instead of stat.
32724 Don't follow symbolic links.
32725 Fix the path-constructing code.
32726
32727 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
32728 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
32729 by a BLKGETSIZE ioctl first, because block devices don't fill
32730 the member st_mode of the structure stat on Linux.
32731 [__linux__] (linux_find_partition): Use a temporary buffer
32732 REAL_DEV for the working space. Copy it to DEV before returning.
32733 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
32734 buffer cache consistent.
32735 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
32736 strncmp. The previous value was merely wrong.
32737 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
32738
32739 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
32740 FAT size is 12. The previous value was merely wrong.
32741
32742 * kern/main.c (pupa_main): Don't split the starting message from
32743 newlines.
32744
32745 * kern/term.c (pupa_putchar): Put CR after LF instead of before
32746 LF, because BIOS goes crazy about character attributes in this
32747 case.
32748
1cc73a62 327492003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32750
32751 * include/i386/pc/util/biosdisk.h: New file.
32752 * util/i386/pc/biosdisk.c: Likewise.
32753 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 32754
1cc73a62 32755 * Makefile.in (INCLUDE_DISTFILES): Added
32756 include/pupa/i386/pc/util/biosdisk.h.
32757 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
32758 directory util/i386/pc.
32759 (install-local): Added a rule for sbin_UTILITIES.
32760 (uninstall): Likewise.
32761
32762 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
32763
32764 * util/misc.c (xrealloc): New function.
32765 (pupa_malloc): Likewise.
32766 (pupa_free): Likewise.
32767 (pupa_realloc): Likewise.
32768 (pupa_stop): Likewise.
32769 (pupa_putchar): Likewise.
32770
32771 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
32772
32773 * include/pupa/util/misc.h (xrealloc): Declared.
32774
32775 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
32776 macro.
32777 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
32778 (PUPA_BOOT_MACHINE_BPB_END): ... this.
32779
32780 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
32781 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32782
32783 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
32784 way should be implemented.
32785 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32786
32787 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
32788 the size of NAME for safety.
32789 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
32790 0x88.
32791
32792 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
32793 (pupa_setup_SOURCES): Likewise.
32794
32795 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
32796
08b70fe8 327972002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32798
32799 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
32800 bunch of pushl's from pusha, because this destroys the return
32801 value.
32802
62ddcc8f 328032002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32804
32805 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
32806 This means that any missing prototypes could be fatal. Also, you
32807 must take care when writing assembly code. See the comments at
32808 the beginning of startup.S, for more details.
f19dbdb7 32809
62ddcc8f 32810 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
32811 compilation mechanism.
32812 (pupa_chainloader_real_boot): Likewise.
32813 (pupa_biosdisk_rw_int13_extensions): Likewise.
32814 (pupa_biosdisk_rw_standard): Likewise.
32815 (pupa_biosdisk_check_int13_extensions): Likewise.
32816 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
32817 (pupa_biosdisk_get_diskinfo_standard): Likewise.
32818 (pupa_get_memsize): Likewise.
32819 (pupa_get_mmap_entry): Likewise.
32820 (pupa_console_putchar): Likewise.
32821 (pupa_console_setcursor): Likewise.
32822 (pupa_getrtsecs): Use pushl instead of push.
32823
32824 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
32825 memory instead of the stack for a mmap entry, because some
32826 BIOSes may ignore the maximum size and overflow.
32827
32828 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
32829
32830 * genmk.rb (PModule#rule): Compile automatically generated
32831 sources with module-specific CFLAGS as well as other sources.
32832
9962ed99 328332002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32834
32835 * configure.ac: Check ld.
32836 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
32837 respectively, before checking endianness and sizes.
32838
32839 * Makefile.in (LD): New variable.
f19dbdb7 32840
abdfc3c5 328412002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32842
32843 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
32844
6a161fa9 328452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32846
32847 * Changelog: New file.
32848