]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
[grub2.git] / ChangeLog
CommitLineData
b2582b84
VS
12012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4 grub_errors.
5 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
6 not reloading whole superblock but only the part which is really needed.
7 Remove useless grub_errors.
8 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
9 grub_errors.
10
e2a83395
VS
112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12
13 Don't export grub_get_rtc.
14
15 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
16 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
17
e7d2a906
VS
182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
21
6cf1363b
VS
222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 25 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 26
eece3349
VS
272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28
29 Remove prio_list.
30
31 * include/grub/list.h (grub_prio_list): Removed.
32 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
33 GRUB_COMMAND_PRIO_MASK.
34 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
35 GRUB_COMMAND_FLAG_ACTIVE.
36 (grub_prio_list_insert): Removed.
37 (grub_prio_list_remove): Likewise.
38 (GRUB_AS_PRIO_LIST): Likewise.
39 (GRUB_AS_PRIO_LIST_P): Likewise.
40 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
41 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
42 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
43 * grub-core/kern/command.c (grub_register_command_prio): Inline
44 the prio_list code.
45 (grub_unregister_command): Likewise.
46
94f064b4
VS
472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
48
49 Fix interrupt mixup from previous commit.
50
51 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
52 (grub_realidt): New var.
53 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
54 Load idt.
55 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
56 New declaration.
57 (grub_relocator16_boot): Set grub_relocator16_idt.
58 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
59 (LOCAL(realidt)): ... this.
60 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
61 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
62 (grub_realidt): New variable.
63
27317084
VS
642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
67 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
68 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
69 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
70 Gettextize.
71 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
72 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
73 * po/POTFILES.in: Regenerate.
74
47b40053
VS
752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
78 errors.
79
2b343101
VS
802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
83 \0.
84 (add_length): Likewise.
85
ff27c3dd
LK
862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
872012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
88
89 GDB serial and backtrace support.
90
91 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
92 (prot_to_real): Likewise.
93 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
94 * grub-core/Makefile.core.def (backtrace): New module.
95 (gdb): Likewise.
96 * grub-core/gdb/cstub.c: New file.
97 * grub-core/gdb/gdb.c: Likewise.
98 * grub-core/gdb/i386/idt.c: Likewise.
99 * grub-core/gdb/i386/machdep.S: Likewise.
100 * grub-core/gdb/i386/signal.c: Likewise.
101 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 102 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
103 * include/grub/backtrace.h: Likewise.
104 * include/grub/gdb.h: Likewise.
105 * include/grub/i386/gdb.h: Likewise.
106
1072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
108
109 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
110 New function.
111 (add_length): Likewise.
112 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
113 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
114 proto.
115 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
116 __argp_get_display_len.
117
ff27c3dd 1182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
119
120 $"..." support in scripts.
121
122 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
123 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
124 * grub-core/script/yylex.l: Likewise.
125 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
126 value.
127
ff27c3dd 1282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
129
130 * gentpl.py: Remove obsolete pkglib_DATA handling.
131
ff27c3dd 1322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
133
134 Don't transform PACKAGE_TARNAME following a discussion on autoconf
135 mailing list.
136
137 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
138 * util/grub-kbdcomp.in: Likewise.
139 * util/grub-mkconfig.in: Likewise.
140 * util/grub-mkconfig_lib.in: Likewise.
141 * util/grub-mknetdir.in: Likewise.
142 * util/grub-mkrescue.in: Likewise.
143 * util/grub-mkstandalone.in: Likewise.
144 * util/grub-reboot.in: Likewise.
145 * util/grub-set-default.in: Likewise.
146 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
147
ff27c3dd 1482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
149
150 Remove GRUB_PREFIX.
151
152 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
153 * util/grub.d/00_header.in: Compute prefix in the only place it's still
154 used for backward compatibility.
155
ff27c3dd 1562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
157
158 Add new all_video module.
159
160 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
161 * grub-core/Makefile.core.def (all_video): New module.
162 * grub-core/genmoddep.awk: Generate dependency of all_video from
163 video.lst.
164 * grub-core/lib/fake_module.c: New file.
165 * grub-core/normal/main.c (features): Add feature_all_video_module.
166 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
167 don't do explicit search again.
47454da5 168 insmod all_video in load_video if available.
22c7ce85 169
ff27c3dd 1702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
171
172 Another round of string clarification and adding TRANSLATORS comments.
173
ff27c3dd 1742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
175
176 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
177
ff27c3dd 1782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
179
180 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
181 to grub_ssize_t.
182 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
183 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
184
ff27c3dd 1852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
186
187 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
188 trailing newline implicitly. All users updated.
189
ff27c3dd 1902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
191
192 Implement serial on IEEE1275 and EFI.
193
194 * docs/grub.texi (Platform-specific limitations): Fix the columen video
195 on emu. Mention arc and emu as the only platforms without serial
196 support.
197 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
198 ieee1275 platforms.
199 * grub-core/term/efi/serial.c: New file.
200 * grub-core/term/ieee1275/serial.c: Likewise.
201 * grub-core/term/serial.c (grub_serial_find): Disable direct port
202 specification if no ns8250 driver is available.
203 (grub_cmd_serial): Likewise.
204 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
205 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
206 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
207 (grub_efi_parity_type_t): New type.
208 (grub_efi_stop_bits_t): Likewise.
209 (grub_efi_serial_io_interface): New struct.
210 * include/grub/serial.h (grub_serial_port): Make 'broken' field
211 available for all interfaces.
212 Add EFI and IEEE1275 fields.
213 (grub_ofserial_init): New proto.
214 (grub_efiserial_init): Likeiwse.
215 * util/grub.d/00_header.in: Don't check for the presence of serial
216 module.
217
ff27c3dd 2182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
219
220 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
221 name as if it was an alias.
222
114076ef
VS
2232012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/commands/lsacpi.c (options): Fix typo.
226
6a656b0e
VS
2272012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
228
229 Convert grub-emu to argp.
230
231 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
232 emu.
233 * util/argp_common.c: Rename to ...
234 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
235 Add missing includes.
236 * grub-core/kern/emu/main.c: Convert to argp.
237 * po/POTFILES.in: Regenerate.
238 * util/grub-install.in (usage): Make first letter lowcase in messages
239 for uniformity.
240 * util/grub-setup.c (options): Likewise.
241
1e3f8ae8
VS
2422012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
245 Put back accidently commented-out code.
246
ed167a80
VS
2472012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
250 loop check using Brent algorithm.
251 (grub_hfsplus_btree_search): Likewise.
252
6753c0ec
VS
2532012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * util/grub-install.in: Fix usage of wrong device for PreP install.
256
4e27343f
VS
2572012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * conf/Makefile.common (CFLAGS_GNULIB): Add
260 -Wno-unsafe-loop-optimizations.
261 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
262 on tools.
263 * grub-core/commands/legacycfg.c: Add pragma to skip
264 -Wunsafe-loop-optimizations.
265 (check_password_md5_real): Fix loop counter type.
266 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
267 reading.
268 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
269 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
270 loop condition.
271 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
272 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
273 * grub-core/net/net.c (grub_net_route_address): Add safety loop
274 condition.
275 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
276 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
277 avoid possible infinite loops.
278 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
279 and -Wunsafe-loop-optimizations.
280 * grub-core/script/yylex.l: Likewise.
281 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
282 (print_glyphs): Avoid infinite loops.
283 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
284
697f18b0
GS
2852012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
286
287 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
288 to avoid infinite loop.
289 (disp_acpi_rsdt_table): Likewise.
290
274416e8
VS
2912012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/font/font.c (grub_font_load): Add support for default
294 path for fonts ($prefix/fonts).
295 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
296 for checking if string is a path.
297 * grub-core/normal/main.c (features): Add feature_default_font_path.
298 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
299 * util/grub.d/00_header.in: Use default directory if possible.
300 * util/grub-install.in: Install unicode.pf2.
301
b3e08622
VS
3022012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
305 * po/Rules-swiss: New file.
306 * po/swiss.sed: Likewise.
307
fe42ce09
VS
3082012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/fs/btrfs.c (find_device): Fix typos.
311 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
312 * util/grub-mkrelpath.c (argp_parser): Likewise.
313 Reported by: Yuri Chornoivan.
314
72f1d065
DO
3152012-02-23 Dalet Omega <daletomega@gmail.com>
316
317 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
318 for usual informative messages.
319
c5884973
DO
3202012-02-23 Dalet Omega <daletomega@gmail.com>
321
322 Starfield theme.
323
324 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
325 * conf/Makefile.common: Define starfielddir.
326 * configure.ac: Configure starfield.
327 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
328 * themes/starfield/README: Likewise.
329 * themes/starfield/blob_w.png: Likewise.
330 * themes/starfield/boot_menu_c.png: Likewise.
331 * themes/starfield/boot_menu_e.png: Likewise.
332 * themes/starfield/boot_menu_n.png: Likewise.
333 * themes/starfield/boot_menu_ne.png: Likewise.
334 * themes/starfield/boot_menu_nw.png: Likewise.
335 * themes/starfield/boot_menu_s.png: Likewise.
336 * themes/starfield/boot_menu_se.png: Likewise.
337 * themes/starfield/boot_menu_sw.png: Likewise.
338 * themes/starfield/boot_menu_w.png: Likewise.
339 * themes/starfield/slider_c.png: Likewise.
340 * themes/starfield/slider_n.png: Likewise.
341 * themes/starfield/slider_s.png: Likewise.
342 * themes/starfield/src/blob_nw.xcf: Likewise.
343 * themes/starfield/src/bootmenu/: Likewise.
344 * themes/starfield/src/bootmenu/center.xcf: Likewise.
345 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
346 * themes/starfield/src/bootmenu/side.xcf: Likewise.
347 * themes/starfield/src/slider_c.xcf: Likewise.
348 * themes/starfield/src/slider_n.xcf: Likewise.
349 * themes/starfield/src/slider_s.xcf: Likewise.
350 * themes/starfield/src/terminalbox/: Likewise.
351 * themes/starfield/src/terminalbox/center.xcf: Likewise.
352 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
353 * themes/starfield/src/terminalbox/side.xcf: Likewise.
354 * themes/starfield/starfield.png: Likewise.
355 * themes/starfield/terminal_box_c.png: Likewise.
356 * themes/starfield/terminal_box_e.png: Likewise.
357 * themes/starfield/terminal_box_n.png: Likewise.
358 * themes/starfield/terminal_box_ne.png: Likewise.
359 * themes/starfield/terminal_box_nw.png: Likewise.
360 * themes/starfield/terminal_box_s.png: Likewise.
361 * themes/starfield/terminal_box_se.png: Likewise.
362 * themes/starfield/terminal_box_sw.png: Likewise.
363 * themes/starfield/terminal_box_w.png: Likewise.
364 * themes/starfield/theme.txt: Likewise.
365
17d73325
VS
3662012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * util/grub.d/00_header.in: Add missing export theme.
369
dbebaf92
VS
3702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
373 already included.
374 Reported by: Eren D.
375
3d68bffb
VS
3762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * conf/Makefile.common (grubdatadir): Removed.
379 (Makefile.am): Move eveything grubdata to pkgdata.
380
4b59234d
VS
3812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/commands/acpihalt.c (get_sleep_type):
384 Remove unused variable.
385
463dcadc
VS
3862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
389 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
390 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
391 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
392 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
393 i18n with gettext no-op.
394 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
395 GRUB_ACPI_OPCODE_STRING_CONST.
396 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
397 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
398
e5b90c82
VS
3992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * po/POTFILES.in: Regenerate.
402
2a704ca9
VS
4032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
406 -Wno-error=missing-noreturn.
407
84f9d341
VS
4082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
411 condition to avoid possibly infinite loops.
412 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
413 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
414
d46683f9
VS
4152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
418 condition to avoid possibly infinite loops.
419
c44866b2
VS
4202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
423 on show_error.
424
96790539
VS
4252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
428
1ba7e295
VS
4292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
432
21ffe8f1
VS
4332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * util/bin2h.c (usage): Add missing attribute noreturn.
436
0ccb6b3c
VS
4372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
440 if the size isn't divisible by 512.
441
b00d7fb6
VS
4422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
443
444 Make list_push and list_remove functions rather than inline functions
445 to decrease size and avoid aliasing violations.
446
447 * include/grub/list.h (grub_list_push): Move to ...
448 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
449 * include/grub/list.h (grub_list_remove): Move to ...
450 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
451
9d369087
VS
4522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
455 and -Wunused-result.
456
af0250d9
VS
4572012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
460 Reported by: Seth Goldberg
461
aad32b14
VS
4622012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
465
ac96441c
ST
4662012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
467
468 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
469 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
470 command line.
471 * docs/grub.texi (Simple configuration): Document
472 GRUB_CMDLINE_GNUMACH.
473
4742012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
475
476 * conf/Makefile.common (platform_SCRIPTS): New variable.
477 (platform_PROGRAMS): Likewise.
478 * gentpl.py: Mark *,module and *.image for install.
479 * grub-core/gdb_grub.in: Add a notice of expected environment.
480 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
481 (gmodule.pl): Likewise.
482
ac96441c 4832012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
484
485 Replace grub_checkkey with grub_getkey_noblock.
486
487 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
488 (grub_getkey_noblock): ... this. All users updated.
489
ac96441c 4902012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
491
492 * grub-core/kern/emu/console.c: Move to ...
493 * grub-core/term/emu/console.c: ...here.
494 (grub_ncurses_getkey): Fix return value if no key is detected.
495
e51b5666
VS
4962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
499 (grub_unit_test_fini): Likewise.
500 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
501
5022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * include/grub/test.h (GRUB_UNIT_TEST)
505
d9a62292
VS
5062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/script/execute.c (grub_script_break): Clarify logic.
509 Better error handling.
510 (grub_script_return): Likewise.
511 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
512
77c9182f
VS
5132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
516 rimplicit redifinition.
517
edb13cf9
VS
5182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
521 GRUB.
522
a9e9dc7c
VS
5232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
526 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
527 prompt here.
528
b4ba8e02
VS
5292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
532 as GRUB_ERR_BUG. Don't malloc if no device is available.
533
dded5540
VS
5342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
537 Mark calling with invalid term as GRUB_ERR_BUG.
538
0cf69874
VS
5392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
542 packets rather than raising an error.
543
59bfe502
VS
5442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
547 in if.
548
db5fc596
VS
5492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
552 diagnostic to dprintf.
553 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
554
e4b7f404
VS
5552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
558 device name.
559
e7b02f9e
VS
5602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
563 (grub_ntfs_iterate_dir): Likewise.
564
0331e102
VS
5652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
566
567 Efiemu stylistic fixes and gettext.
568
569 * grub-core/efiemu/i386/loadcore32.c
570 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
571 * grub-core/efiemu/i386/loadcore64.c
572 (grub_arch_efiemu_relocate_symbols64): Likewise.
573 * grub-core/efiemu/i386/pc/cfgtables.c
574 (grub_machine_efiemu_init_tables): Likewise.
575 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
576 (grub_efiemu_loadcore_initXX): Add a filename argument.
577 All users updated.
578 Improved error message.
579 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
580 Add a filename argument.
581 All users updated.
582 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
583 Reclassify double relocation as GRUB_ERR_BUG.
584
306fc074
VS
5852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
588 handling.
589
794d8ef2
VS
5902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
593 on partition.
594
5952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
596
597 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
598
794d8ef2 5992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
600
601 Improve string. Gettextize.
602
78dde88e
VS
6032012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
606 utils.
607 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
608
4786a90f
VS
6092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
612 [GRUB_UTIL]: New function.
613 (insert_array) [GRUB_UTIL]: Store partmaps.
614 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
615 partmaps.
616 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
617 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
618 (probe_abstraction): Print diskfilter and not raid.
619 Reported by: Lennart Sorensen
620
0b6225bd
VS
6212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
624 * util/grub-mkimagexx.c (MASK3): New define.
625 (add_value_to_slot_20b): Use MASK3.
626 (add_value_to_slot_21): Likewise.
627 (relocate_addresses): Fix format specification.
628 (load_image): Explicitly init symtab_section.
629
b055f8f6
VS
6302012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
633 (grub_util_biosdisk_get_grub_dev): Fix format specification.
634
b77c2fb7
VS
6352012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
638 on powerpc.
639 Reported by: Lennart Sorensen
640
e3ec28ab
VS
6412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * gentpl.py: Add missing license header.
644 * docs/grub.texi: Update copyright year.
645
c8d9ead6
GS
6462012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
647
648 Source grub-mkconfig_lib from the build directory at build time.
649 Suggested by: Vladimir Serbinenko.
650
651 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
652 * util/grub-install.in: Define pkgdatadir if not already set, and source
653 grub-mkconfig_lib from there.
654 * util/grub-kbdcomp.in: Likewise.
655 * util/grub-mkconfig.in: Likewise.
656 * util/grub-mknetdir.in: Likewise.
657 * util/grub-mkrescue.in: Likewise.
658 * util/grub-mkstandalone.in: Likewise.
659 * util/grub-reboot.in: Likewise.
660 * util/grub-set-default.in: Likewise.
661 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
662
ebcecdf1
VS
6632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Increase warning level.
666
667 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
668 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
669 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
670 (TARGET_CFLAGS): Likewise.
671 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
672 * grub-core/Makefile.core.def (decompressor_xz): Add
673 -Wno-unreachable-code.
674 (normal): Add -Wno-redundant-decls.
675 (xzio): Add -Wno-unreachable-code.
676 (lzopio): Add -Wno-redundant-decls -Wno-error.
677 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
678 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
679 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
680 * grub-core/kern/dl.c: Add exception to -Wcast-align.
681 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
682 * grub-core/kern/i386/coreboot/init.c: Add exception to
683 -Wsuggest-attribute=noreturn.
684 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
685 * grub-core/kern/ia64/dl_helper.c: Likewise.
686 * grub-core/kern/mips/dl.c: Likewise.
687 * grub-core/kern/sparc64/dl.c: Likewise.
688 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
689 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
690 (memcmp): Likewise.
691 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
692 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
693 * grub-core/loader/mips/linux.c: Likewise.
694 * grub-core/loader/multiboot_elfxx.c: Likewise.
695 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
696 * grub-core/video/sm712.c: Add exception to -Wcast-align.
697 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
698 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
699 fixme.
700 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
701 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
702 Fix prototype.
703
37bb97fe
VS
7042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
707 address.
708
29a3550b
VS
7092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
712 Avoid improper use of strings.
713 (grub_cmd_legacy_initrdnounzip): Likewise.
714
dfdffd0d
VS
7152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * include/grub/emu/misc.h (grub_util_warn): Add missing format
718 attribute.
719 (grub_util_info): Likewise.
720 (grub_util_error): Likewise.
721
102fae4a
VS
7222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
725 * util/grub-fstest.c (fstest): Likewise.
726
7e94d044
VS
7272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
730 (grub_md_sha512_real): Likewise.
731 (grub_util_get_geli_uuid): Likewise.
732 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
733 (grub_util_biosdisk_open): Fix format specification.
734 Respect format security.
735 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
736 (xrealloc): Likewise.
737 (xasprintf): Likewise.
738
5ebd9769
VS
7392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * util/import_gcry.py: Include grub/crypto.h in init.c.
742
495fc8c1
VS
7432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
746 (generate_image): Make prefix a const char *.
747 Fix format specifications. Respect format security.
748 Avoid void * arithmetics.
749 Avoid shadowing.
750 (argp_parser): Remove unused variable. Respect format security.
751 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
752 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
753 (count_funcs): Remove unused variable.
754 (relocate_addresses): Fix format specification.
755 Disable x86-64 with elf32. Remove unused variables.
756 (add_fixup_entry): Avoid shadowing.
757 (make_reloc_section): Fix format specification.
758 Use assert.
759 (locate_sections): Fix format specifications.
760 (load_image): Avoid shadowing.
761
043c2ea3
VS
7622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
765 Fix format specifications. Respect format security.
766 Don't translate already translated grub_errmsg.
767 (argp_parser): Remove unused variable
768
3ec65a81
VS
7692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
772
a4d9fe4a
VS
7732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
776 (main): Likewise. Use xmalloc. Respect format security.
777
15b81d49
VS
7782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
781 a const char *.
782 (argp_parser): Remove unused variable.
783
31731fc0
VS
7842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
787 (add_pixel): Make static.
788 (add_font): Likewise.
789 (write_string_section): Make name and str a const char *.
790 (write_be16_section): Make name a const char *.
791 (print_glyphs): Make static.
792 (write_font_ascii_bitmap): Likewise.
793 (write_font_width_spec): Likewise.
794 (write_font_pf2): Likewise.
795 (argp_parser): Remove unused variable.
796 Respect format security.
797 (main): Avoid shadowing. Respect format security.
798
0809527b
VS
7992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * util/grub-editenv.c (argp_parser): Make static.
802 (create_envblk_file): Use xmalloc.
803 (open_envblk_file): Likewise.
804 Resepect format security.
805 (set_variables): Respect format security.
806
45b0c8b7
VS
8072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * util/getroot.c (grub_find_device): Respect format security.
810 (get_mdadm_uuid): Remove unused variable.
811 (grub_util_pull_device): Dont call gettext on already translated
812 grub_errmsg.
813 (find_system_device): Remove unused variable.
814 (grub_util_get_grub_dev): Likewise.
815 (grub_make_system_path_relative_to_its_root): Respect format security.
816
1b024b4e
VS
8172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * util/grub-fstest.c (execute_command): Make first argument
820 a const char *.
821 (read_file): Avoid shadowing.
822 Reuse underlying error message if device open fails.
823 (cmd_cmp): Respect format security.
824 (root): Make const char *.
825 (fstest): Remove args argument and use global copy.
826 Respect format security.
827 (argp_parser): Make static.
828 (main): Make default_root const char *.
829
5d1d4e28
VS
8302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/grub-mount.c (root): Make const char *.
833 (execute_command): Make first argument a const char *.
834 (fuse_init): Respect format security.
835 (argp_parser): Make static. Remove unused variable.
836 (main): Make default_root a const char *.
837 Respect format security.
838
36eb7379
VS
8392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * util/grub-probe.c (probe): Don't call gettext on already translated
842 grub_errmsg.
843 Remove unused variables.
844 (argp_parser): Remove unused variable.
845
76fb2ea9
VS
8462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * util/grub-script-check.c (argp_parser): Remove unused variable.
849 (main): Rename read to curread to avoid shadowing.
850
56c98584
VS
8512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * util/misc.c (grub_util_write_image_at): Fix format specification.
854 (grub_util_write_image): Likewise.
855 (grub_script_execute_argument_to_string): Removed (unused).
856 (grub_script_execute_menuentry): Likewise.
857 (grub_putchar): Likewise.
858
164ebb48
VS
8592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
862 (FUNCTION) [GRUB_UTIL]: Likewise.
863 (VARIABLE) [GRUB_UTIL]: Likewise.
864
44318d61
VS
8652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
868 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
869
31a26002
VS
8702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
873 buffer.
874
8752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
878 (LzmaEnc_SaveState): Removed (unused).
879 (LzmaEnc_RestoreState): Likewise.
880 (LzmaEnc_InitPriceTables): Made static.
881 (LzmaEnc_Construct): Likewise.
882 (LzmaEnc_FreeLits): Likewise.
883 (LzmaEnc_Destruct): Likewise.
884 (LzmaEnc_Init): Likewise.
885 (LzmaEnc_InitPrices): Likewise.
886 (LzmaEnc_Finish): Likewise.
887 (LzmaEnc_PrepareForLzma2): Removed (unused).
888 (LzmaEnc_MemPrepare): Likewise.
889 (LzmaEnc_GetNumAvailableBytes): Likewise.
890 (LzmaEnc_GetCurBuf): Likewise.
891 (LzmaEnc_CodeOneMemBlock): Likewise.
892
6fa67967
VS
8932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
896 (grub_util_ldm_embed): Likewise.
897
9a7428e6
VS
8982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * util/grub-editenv.c (print_var): Rename name to varname to
901 avoid shadowing.
902 (main): Rename index to curindex to avoid shadowing.
31a26002 903 Make filename a const char *.
9a7428e6 904
4f96abd1
VS
9052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
908 to arg_getline to avoid shadowing.
909
44d10dad
VS
9102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
913 disk_ to avoid shadowing.
914
340ba63e
VS
9152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
918 curindex to avoid shadowing.
919 Make static.
920 (MatchFinder_GetNumAvailableBytes): Make static.
921
22965bce
VS
9222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
925 avoid shadowing.
926
7b5784d4
VS
9272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
930 argument from encrypt to do_encrypt to avoid shadowing.
931
6f48ca01
VS
9322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
935 incorrect nesting of #if's.
936
a4ea2dff
VS
9372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
940 checks which are always false on some platforms.
941 (grub_cmd_lsacpi): Likewise.
942 * grub-core/kern/misc.c (grub_strtoul): Likewise.
943 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
944 Likewise.
945
def9fc1b
VS
9462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
949 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
950
a67b2a04
VS
9512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
954 re_dfa_t to avoid breaking alignment invariants.
955 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
956 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
957
44c6828d
VS
9582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
961 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
962
bebe0dd0
VS
9632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
966 Fix declaration.
967
a9cdb3cf
VS
9682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
971 conserve alignment invariants.
972 (grub_ehci_ehcc_read16): Likewise.
973 (grub_ehci_oper_read32): Likewise.
974 (grub_ehci_oper_write32): Likewise.
975 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
976 Conserve alignment invariants.
977
ccc3b1b8
VS
9782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
981 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
982 declarations.
983
987fbd95
VS
9842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
987 Remove unused variable.
988
0df363f3
VS
9892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
992 Remove set in if.
993
b2c0c4a6
VS
9942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * include/grub/net.h: Remove double declarations.
997
690c531f
VS
9982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 Remove "payload" command in ia64 Linux loader since I couldn't
1001 find any evidence of it being used for anything.
1002 Replace "relocate" command with an environment variable
1003
1004 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
1005 fields.
1006 (ia64_boot_payload): Removed.
1007 (last_payload): Likewise.
1008 (RELOCATE_OFF): Likewise.
1009 (RELOCATE_ON): Likewise.
1010 (RELOCATE_FORCE): Likewise.
1011 (relocate): Likewise.
1012 (free_pages): Don't free payloads.
1013 (grub_load_elf64): Use common error messages.
1014 Use "linux_relocate" variable.
1015 Increase the space after boot_params.
1016 (grub_cmd_payload): Removed.
1017 (grub_cmd_relocate): Likewise.
1018 (grub_cmd_fpswa): Improve messages.
1019 (cmd_payload): Removed.
1020 (cmd_relocate): Likewise.
1021 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
1022 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
1023
01783768
VS
10242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 Convert UHCI to DMA framework.
1027
1028 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
1029 (grub_uhci_pci_iter): Fill new members
1030 (grub_alloc_td): Use P2V and V2P functions.
1031 (grub_free_queue): Likewise.
1032 (grub_alloc_qh): Likewise.
1033 (grub_uhci_setup_transfer): Likewise.
1034 (grub_uhci_check_transfer): Likewise.
1035
43206939
VS
10362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
1039 Remove assignment in if while on it.
1040
571e140e
VS
10412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * util/grub-mkstandalone.in: Fix modules directory.
1044
a9d96eeb
VS
10452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
1048 on i386-pc target.
1049 (argp_parser): Accept "auto" as compression specification.
1050
e4e37e8d
VS
10512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Fix `help' with unloaded modules.
1054
1055 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
1056 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
1057 (grub_dyncmd_dispatcher): Small stylistic fix.
1058 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
1059 explicit help is requested.
1060
e1ea3ade
VS
10612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
1064 Explicitly init restart while on it.
1065
27556881
VS
10662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
1069 uninited variable.
1070
d65f6b36
VS
10712012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * util/grub-mknetdir.in: Use . rather than source for POSIX
1074 compatibility.
1075
0a1e473c
VS
10762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
1079
ce6647c8
VS
10802012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
1083 variable.
1084
66747894
VS
10852012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
1088 without quotes.
1089
71645f6e
VS
10902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
1093
0e1c1f61
VS
10942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
1097 iteration of partitions.
1098
9c4b5c13
VS
10992012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 Improve gettext support. Stylistic fixes and error handling fixes while
1102 on it.
1103
215c90cb
VS
11042012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1107 part. Instead setup the correct stack in RM.
1108 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1109 for stack.
1110 * include/grub/i386/relocator_private.h: New file.
1111
b5c1f9bf
VS
11122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1115 argument.
1116 * util/grub-fstest.c (options): Add missing DEVICE part.
1117
b525fd83
VS
11182012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 Clarify and unify messages.
1121
1122 * grub-core/commands/hashsum.c (options): Unify messages.
1123 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1124 literal-only message as translatable.
1125 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1126 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1127 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1128 commands.
1129 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1130 key, not the key used to unlock. Clarify what it's used for.
1131 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1132 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1133 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1134 * util/grub-editenv.c (options): Unify "verbose" message.
1135 * util/grub-fstest.c (read_file): Unify error message.
1136 (fstest): Add quotes around commands.
1137 (options): Unify "verbose" message.
1138 * util/grub-install.in: Add quotes around variable name.
1139 * util/grub-kbdcomp.in: Unify error message.
1140 * util/grub-mkfont.c (main): Likewise.
1141 * util/grub-mkrescue.in: Likewise.
1142 * util/grub-mklayout.c (options): Unify "verbose" message.
1143 * util/grub-mkstandalone.in: Unify help and verbose messages.
1144 * util/grub-mount.c (options): Unify "verbose" message.
1145 * util/grub-probe.c (options): Likewise.
1146 * util/grub-script-check.c (options): Likewise.
1147 * util/grub-setup.c (setup): Unify no-terminator message.
1148 (options): Use DEVICE and not DEV.
1149 Unify "verbose" message.
1150 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1151
0ae70393
VS
11522012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 Improve and unify messages.
1155
1156 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1157 name. All users updated.
1158 Print filename in error.
1159 (read_device_map): Print filename in error.
1160 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1161 (grub_util_get_os_disk): Likewise.
1162 (grub_util_biosdisk_get_grub_dev): Likewise.
1163 (grub_util_check_block_device): Likewise.
1164 (grub_util_check_char_device): Likewise.
1165 (grub_make_system_path_relative_to_its_root): Likewise.
1166 * util/grub-editenv.c (create_envblk_file): Likewise.
1167 (open_envblk_file): Likewise.
1168 (write_envblk): Likewise.
1169 * util/grub-fstest.c (cmd_cp): Likewise.
1170 (cmd_cat): Likewise.
1171 (cmd_cmp): Likewise.
1172 * util/grub-menulst2cfg.c (main): Likewise.
1173 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1174 (write_font_width_spec): Likewise.
1175 (write_font_pf2): Likewise.
1176 * util/grub-mkimage.c (generate_image): New argument outname.
1177 All users updated.
1178 Remove unreacheable message.
1179 (options): Unify messages.
1180 (help_filter): Likewise.
1181 * util/grub-mklayout.c (usage): Removed (unused).
1182 (main): Print filename in error.
1183 * util/grub-mkrescue.in: Fix wrong quoting.
1184 * util/grub-setup.c (setup): Print filename in error.
1185 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1186 (check_sas): Likewise.
1187 * util/misc.c (grub_util_get_fp_size): Removed.
1188 (grub_util_get_image_size): Print filename in error.
1189 (grub_util_read_at): Removed.
1190 (grub_util_read_image): Print filename in error.
1191 (grub_util_load_image): Likewise.
1192 (grub_util_write_image_at): New argument filename. All users updated.
1193 Print filename in error.
1194 (grub_util_write_image): New argument filename. All users updated.
1195 Print filename in error.
1196 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1197 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1198
0a96117d
VS
11992012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/Makefile.core.def (pxechain): New module.
1202 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1203 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1204 function.
1205 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1206 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1207
aca002f7
VS
12082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1211 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1212 * include/grub/err.h (grub_error_saved): New struct.
1213 (grub_errmsg): Make array size explicit.
1214 * include/grub/misc.h (grub_error_save): New function.
1215 (grub_error_load): Likewise.
1216 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1217 (grub_error_push): Update `errno' member name.
1218 (grub_error_pop): Likewise
1219 * grub-core/net/tftp.c (tftp_data): New member save_err.
1220 (tftp_receive): Save error.
1221 (tftp_open): Restore error.
1222
a51dab13
VS
12232012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1226 to real mode down to execute A20-related code in protected mode as
1227 intended.
1228
eb6e6649
GS
12292012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1230
1231 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1232 NULL when the argument `level' has an unexpected value.
1233
92cd0f6e
VS
12342012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 Move platform-dependent files from $prefix to $prefix/$platform.
1237
1238 * config.h.in (GRUB_TARGET_CPU): New definition.
1239 (GRUB_PLATFORM): Likewise.
1240 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1241 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1242 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1243 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1244 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1245 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1246 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1247 * grub-core/normal/term.c (read_terminal_list): Likewise.
1248 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1249 $prefix/locale.
1250 (grub_gettext_init_ext): Likewise.
1251 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1252 grub_platform.
1253 * util/grub-install.in: Update directories.
1254 * util/grub-mknetdir.in: Likewise.
1255 * util/grub-mkrescue.in: Likewise.
1256
db606889
VS
12572012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1260 grub_error framework. All users updated.
1261
c39992a4
VS
12622012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1265 lists (by always binsearching), improve caching (cache strings
1266 used for binsearch, not only results), improve
1267 maintainability (by using more structured binary search) and correct
1268 error handling.
1269
1e5ec32f
VS
12702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/script/execute.c (grub_script_return): Fix warning.
1273
ac576cde
VS
12742012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/script/execute.c (grub_script_return): Fix potential
1277 NULL-dereference.
1278 Reported by: Jim Meyering.
1279
498453f6
VS
12802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * po/POTFILES.in: Regenerate.
1283 * util/grub-install.in: Gettextize the strings missed in first pass.
1284
8be63f2e
VS
12852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * Makefile.util.def (grub-mkdevicemap): Removed.
1288 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1289 * include/grub/util/deviceiter.h: Removed.
1290 * util/deviceiter.c: Likewise.
1291 * util/getroot.c (grub_util_get_os_disk): New function.
1292 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1293 replacement for EFI.
1294 * util/grub-mkdevicemap.c: Removed.
1295 * util/grub-probe.c (probe): Handle PRINT_DISK.
1296 (argp_parser): Handle -t disk.
1297
8e1e4e39
VS
12982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * util/grub-mkfont.c: Migrate to argp.
1301 * util/grub-mklayout.c: Likewise.
1302 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1303 * util/grub-mkrelpath.c: Likewise.
1304 * util/grub-probe.c: Likewise.
1305 * util/grub-script-check.c: Likewise.
1306
4459819a
VS
13072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * util/grub-reboot.in: Add missing datarootdir.
1310 Add missing newline.
1311 * util/grub-set-default.in: Add missing datarootdir.
1312 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1313 * util/grub-mkrescue.in: Likewise.
1314
f65741c7
VS
13152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1318
c1a33466
VS
13192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * util/grub-kbdcomp.in: Add decent help and gettextize.
1322 * docs/man/grub-kbdcomp.h2m: New file.
1323
c76899a0
VS
13242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 Migrate grub-mkimage.c to argp.
1327
1328 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1329 (grub-setup): Likewise.
1330 * util/grub-setup.c (print_version): Move to ...
1331 * util/argp_common.c (print_version): ... here.
1332 * util/grub-setup.c (argp_program_version_hook): Move to ...
1333 * util/argp_common.c (argp_program_version_hook): ... here.
1334 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1335 safety.
1336 * util/grub-mkimage.c (main): Migrate to argp.
1337
57db0757
VS
13382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * util/grub-mkrescue.in: Use same message as
1341 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1342 for better translations.
1343
18534ad9
VS
13442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1347 options with generic grub-mkrescue.in with the goal of future
1348 merge.
1349
c84ba308
VS
13502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/kern/mm.c: Add missing include of i18n.h
1353 * grub-core/lib/relocator.c: Likewise.
1354
347998c2
VS
13552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1358 error.
1359 (allocate_pages): Check return value.
1360 Replace fatal with error.
1361 (grub_linux_boot): Replace printf with dprintf.
1362 Check find_mmap_size return value.
1363 Replace fatal with error.
1364 Don't call grub_machine_fini.
1365 (grub_load_elf64): Replace printf with dprintf.
1366 (grub_cmd_linux): Likewise.
1367 (grub_cmd_initrd): Likewise.
1368 (grub_cmd_payload): Likewise.
1369
c779226e
VS
13702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1373 message.
1374 * grub-core/video/radeon_fuloong2e.c
1375 (grub_video_radeon_fuloong2e_setup): Likewise.
1376 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1377 * grub-core/video/video.c (grub_video_set_mode): Don't override
1378 standard out of memory message.
1379
dc87d45a
GS
13802012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1381
1382 NetBSD disk wedge support.
1383
1384 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1385 [__NetBSD__]: Handle NetBSD disk wedges.
1386 * util/getroot.c (convert_system_partition_to_system_disk)
1387 [__NetBSD__]: Likewise.
1388
055f856f
MW
13892012-02-03 Mark Wooding <mdw@distorted.org.uk>
1390
1391 * util/grub-mkconfig.in: Use umask rather than chmod to create
1392 grub.cfg.new to avoid insecure grub.cfg.
1393
4a9f8346
VS
13942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/commands/ls.c: Gettextize.
1397 * grub-core/commands/setpci.c: Likewise.
1398 * grub-core/commands/videotest.c: Likewise.
1399 * grub-core/disk/geli.c: Likewise.
1400 * grub-core/kern/mm.c: Likewise.
1401 * grub-core/lib/relocator.c: Likewise.
1402 * grub-core/loader/efi/appleloader.c: Likewise.
1403 * grub-core/loader/i386/xnu.c: Likewise.
1404 * grub-core/loader/ia64/efi/linux.c: Likewise.
1405 * grub-core/loader/xnu.c: Likewise.
1406 * grub-core/net/dns.c: Likewise.
1407 * grub-core/net/net.c: Likewise.
1408 * grub-core/script/lexer.c: Likewise.
1409 * grub-core/script/parser.y: Likewise.
1410 * grub-core/script/yylex.l: Likewise.
1411 * util/getroot.c: Likewise.
1412 * util/grub-setup.c: Likewise.
1413
a646a366
VS
14142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1417 number.
1418
54e2be26
VS
14192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1422
f7c71e68
VS
14232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1426 macro.
1427 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1428 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1429
a32d5c71
VS
14302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1433 * util/grub-install.in: Gettextize.
1434 * util/grub-mkconfig.in: Likewise.
1435 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1436 if not available.
1437 (grub_warn): Gettextize.
1438 * util/grub-mknetdir.in: Gettextize.
1439 * util/grub-mkrescue.in: Likewise.
1440 * util/grub-mkstandalone.in: Likewise.
1441 * util/grub-reboot.in: Likewise.
1442 * util/grub-set-default.in: Likewise.
1443 * util/grub.d/00_header.in: Likewise.
1444 * util/grub.d/10_hurd.in: Likewise.
1445 * util/grub.d/10_kfreebsd.in: Likewise.
1446 * util/grub.d/10_linux.in: Likewise.
1447 * util/grub.d/10_netbsd.in: Likewise.
1448 * util/grub.d/10_windows.in: Likewise.
1449 * util/grub.d/20_linux_xen.in: Likewise.
1450 * util/grub.d/30_os-prober.in: Likewise.
1451 * po/POTFILES-shell.in: Regenerate.
1452
69edd81a
RL
14532012-02-03 Richard Laager <rlaager@wiktel.com>
1454
1455 * util/grub-mkimage.c (main): Fix format-security warning.
1456 * util/grub-mkrelpath.c (main): Likewise.
1457 * util/grub-probe.c (main): Likewise.
1458
65f08dbf
RL
14592012-02-03 Richard Laager <rlaager@wiktel.com>
1460
1461 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1462 failure.
1463 Put back lost PRINT_DRIVE.
1464
e9084abe
RL
14652012-02-03 Richard Laager <rlaager@wiktel.com>
1466
1467 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1468 (grub_guess_root_devices): Replace strlen with sizeof.
1469 Avoid crash.
1470 (find_root_devices_from_poolname): Remove unused variable.
1471 Handle raidzN.
1472
cf5f7ee7
VS
14732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 Support install on multi-device filesystems.
1476
1477 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1478 (grub_guess_root_devices): ...this. Return char **. All users updated.
1479 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1480 Removed.
1481 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1482 (find_root_devices_from_poolname): ... here.
1483 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1484 Support zfs-fuse.
1485 (grub_guess_root_device): Rename to ...
1486 (grub_guess_root_devices): ... this. Return char **. All users updated.
1487 * util/grub-install.in: Handle multi-device filesystems.
1488 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1489 argument. All users updated.
1490 Handle multi-device filesystems.
1491 Use 'delim' as separator.
1492 Remove device check to allow filesystems on file.
1493 (main): Support -0 argument. Handle multi-device.
1494 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1495 Fix a cross-device check while on it.
1496 (arguments): Remove root_dev.
1497 (argp_parser): Remove -r.
1498 (main): Remove root_dev.
1499
2f53a9ed
VS
15002012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1503
17e1d934
VS
15042012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1507 symbol.
1508 Reported by: NODA, Kai <nodakai>.
1509
d3e3fab5
VS
15102012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 Fix ehci on amd64.
1513
1514 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1515 pointers.
1516 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1517 (grub_ehci_setup_qh): Likewise.
1518 (grub_ehci_find_qh): Likewise.
1519 (grub_ehci_transaction): Likewise.
1520 (grub_ehci_setup_transfer): Likewise.
1521 (grub_ehci_check_transfer): Likewise.
1522 (grub_ehci_portstatus): Likewise.
1523 (grub_ehci_detect_dev): Likewise.
1524 (grub_ehci_transfer_controller_data): New field td_last_phys.
1525 (grub_ehci_setup_transfer): Fill td_last_phys.
1526 (grub_ehci_check_transfer): Use td_last_phys.
1527
3008675b
SG
15282012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1529
1530 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1531 if no submenu is present.
1532
fc9b5652
AN
15332012-02-01 Aleš Nesrsta <starous@volny.cz>
1534
1535 CBI support.
1536
1537 * include/grub/usb.h (grub_usbms_protocol_t): New values
1538 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1539 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1540 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1541 (grub_usbms_dev): Add subclass, protocol and intrpt.
1542 Remove in_maxsz and out_maxsz.
1543 (grub_usbms_reset): Rename to ...
1544 (grub_usbms_bo_reset): .. this.
1545 (grub_usbms_cbi_cmd): New function.
1546 (grub_usbms_cbi_reset): Likewise.
1547 (grub_usbms_reset): Likewise.
1548 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1549 (grub_usbms_transfer): Rename to ...
1550 (grub_usbms_transfer_bo): ... this.
1551 (grub_usbms_transfer_cbi): Likewise.
1552 (grub_usbms_transfer): Likewise.
1553
a2b81d53
AN
15542012-02-01 Aleš Nesrsta <starous@volny.cz>
15552012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1558 the support for the CS5536 modification thereos and few bugfixes.
1559
1560 * grub-core/Makefile.core.def (ehci): New module.
1561 * grub-core/bus/usb/ehci.c: New file.
1562 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1563 port and hubaddr. All users updated.
1564 Save port and hubaddr into dev structure.
1565 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1566 define.
1567 * include/grub/pci.h (grub_dma_phys2virt): New function.
1568 (grub_dma_virt2phys): Likewise.
1569 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1570
b1d51f02
VS
15712012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1574 check as some mkfs implementations omit it.
1575
fc694106
VS
15762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1579
6c0920e3
VS
15802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1583 Add new member volname2.
1584 (grub_jfs_label): Use volname2 if available.
1585
d1a46f9a
VS
15862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1589 over last_mounted as seen in image generated by mkfs.nilfs2.
1590 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1591
dec8ed14
VS
15922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1595 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1596 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1597
7397c69b
VS
15982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1601 over the sector.
1602
b3fe42ad
VS
16032012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1606 subvolume name (by removing a bogus and useless check).
1607
10476bb0
VS
16082012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1611 sizeof while on it.
1612
9c08ad87
VS
16132012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1616 (grub_scsi_read_capacity10): ... this.
1617 (grub_scsi_read_capacity16): New function.
1618 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1619 0xffffffff.
1620 Fix off-by-one error.
1621 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1622 64-bit unsigned.
1623 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1624 (grub_scsi_read_capacity10): ... this.
1625 (grub_scsi_read_capacity_data): Rename to ...
1626 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1627 (grub_scsi_read_capacity16): New struct.
1628 (grub_scsi_read_capacity16_data): Likewise.
1629 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1630 grub_scsi_cmd_read_capacity10.
1631 New command grub_scsi_cmd_read_capacity16.
1632
bc8d0f45
VS
16332012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 SCSI >2TiB support.
1636
1637 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1638 (grub_scsi_write16): Likewise.
1639 (grub_scsi_read): Use read16 when necessary.
1640 (grub_scsi_write): Likewise.
1641 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1642 (grub_scsi_write16): Likewise.
1643 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1644
cc774926
VS
16452012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 SCSI write support (for usbms mainly).
1648
1649 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1650 a const pointer.
1651 (grub_scsi_write): Implement.
1652 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1653
67639fd7
VS
16542012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1657 variable.
1658
9079d3ed
VS
16592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1662
c6a6f204
VS
16632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * po/POTFILES.in: Regenerate.
1666
ecbf8cd1
VS
16672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1670 with grub_printf to avoid unnecessary fatal failure.
1671
0b3b3b38
VS
16722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1675 (INT_MAX): Likewise.
1676 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1677 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1678 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1679 (strcpy): Likewise.
1680 (strstr): Likewise.
1681 (strchr): Likewise.
1682 (strncpy): Likewise.
1683 (strcat): Likewise.
1684 (strncat): Likewise.
1685 (strcoll): Likewise.
1686 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1687 (GRUB_INT_MAX): Likewise.
1688
db7337a3
VS
16892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1692 unexpected error.
1693 (optimize_utf8): Likewise.
1694 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1695
f37c87e1
VS
16962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/boot/i386/pc/lnxboot.S: Use
1699 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1700 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1701 location.
1702 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1703 definition.
1704 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1705
63fe43f3
VS
17062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1709 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1710 now to avoid double free.
1711 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1712 hostdisk.
1713 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1714 * util/grub-probe.c (escape_of_path): Always return a new copy.
1715 (print_full_name): Escape path.
1716 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1717 Fix hints on abstractions.
1718
ebe2c961
VS
17192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1722 Don't add "root" line if no compatibility hont is available.
1723 Suggested by: Seth Goldberg.
1724
2b5336a2
VS
17252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1728 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1729 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1730 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1731
74310bd8
VS
17322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1735
c30582ba
VS
17362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * util/grub-pe2elf.c (ehdr): Make static.
1739 (shdr): Likewise.
1740 (num_sections): Likewise.
1741 (offset): Likewise.
1742
5f47782c
VS
17432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 Eliminate ofpath limits and possible overflows.
1746
1747 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1748 (OF_PATH_MAX): Removed.
1749 (MAX_DISK_CAT): New const.
1750 (find_obppath): Use allocated rather than preallocated buffer.
1751 Return result. Argument of_path removed. All users updated.
1752 Add missing fdstat.
1753 (xrealpath): New function.
1754 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1755 Allocate rather than use preallocated buffer. All users updated.
1756 (__of_path_common): Use allocated rather than preallocatecd buffer.
1757 Return result. Argument of_path removed. All users updated.
1758 (vendor_is_ATA): Read only needed part form the file.
1759 (check_sas): Allocate depending on contents rather than fixed.
1760 (main) [STANDALONE]: Handle NULL result.
1761
f990cbf9
VS
17622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1765
9c6e84b8
VS
17662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 Cryptodisk write support.
1769
1770 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1771 (grub_cryptodisk_decrypt): Moved logic to ...
1772 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1773 (grub_cryptodisk_write): Implement.
1774 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1775 (grub_util_fd_write): ... this. Make global.
1776 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1777
87cf9744
VS
17782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * include/grub/list.h (grub_list_remove): Don't crash if element is
1781 removed twice.
1782
ca8c0baf
VS
17832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 Rename ofconsole to console.
1786
1787 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1788 as sysnonym to console.
1789 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1790 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1791 Rename grub_ofconsole_ to grub_console_. All users updated
1792 (grub_console_term_output): Rename "ofconsole" to "console".
1793 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1794 as "console".
1795
64c8b8f6
VS
17962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1799 handling.
1800 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1801 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1802 GRUB_DISK_DEVICE_FILE_ID.
1803
f6c434d5
VS
18042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1807 and improve performance.
1808
5858b42d
VS
18092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1812 missing ieee1275/ prefix on whole disk.
1813
4ed3c26b
VS
18142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1817 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1818
df71143e
VS
18192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1822
076e7c0f
VS
18232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 Merge common RAID and LVM logic to an abstract diskfilter.
1826 Add LDM support using the same framework.
1827
1828 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1829 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1830 (libgrubmods): Remove grub-core/disk/raid.c and
1831 grub-core/partmap/gpt.c.
1832 * grub-core/Makefile.core.def (ldm): New module.
1833 (raid): Renamed to diskfilter. All users updated.
1834 * grub-core/disk/raid.c: Moved to ...
1835 * grub-core/disk/diskfilter.c: ... here.
1836 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1837 (lv_num): New var.
1838 (find_array): Renamed to ...
1839 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1840 (grub_is_array_readable): Renamed to ...
1841 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1842 (insert_array): New argument id.
1843 (is_node_readable): New function.
1844 (scan_device): Rename to ...
1845 (scan_disk): .. this. Restrict to one disk.
1846 (scan_devices): New function.
1847 (grub_diskfilter_iterate): Support multi-LV.
1848 Skip invisible and nameless LVs.
1849 (grub_diskfilter_memberlist): Support multi-LV.
1850 (grub_diskfilter_read_node): New function.
1851 (grub_raid_read): Most of logic moved to ...
1852 (read_segment): ... here
1853 (read_lv): New function.
1854 (grub_diskfilter_get_vg_by_uuid): New function.
1855 (grub_diskfilter_make_raid): Likewise.
1856 * grub-core/disk/ldm.c: New file.
1857 * grub-core/disk/lvm.c (vg_list): Removed.
1858 (lv_count): Likewise.
1859 (scan_depth): Likewise.
1860 (is_lv_readable): Likewise.
1861 (grub_lvm_getvalue): Advance pointer past the number.
1862 (find_lv): Removed.
1863 (do_lvm_scan): Refactored into ...
1864 (grub_lvm_detect): ... this. Support raid.
1865 (grub_lvm_iterate): Removed.
1866 (grub_lvm_memberlist): Likewise.
1867 (grub_lvm_open): Likewise.
1868 (grub_lvm_close): Likewise.
1869 (read_lv): Likewise.
1870 (read_node): Likewise.
1871 (is_node_readable): Likewise.
1872 (is_lv_readable): Likewise.
1873 (grub_lvm_read): Likewise.
1874 (grub_lvm_write): Likewise.
1875 (grub_lvm_dev): Use diskfilter
1876 (GRUB_MOD_INIT): Likewise.
1877 (GRUB_MOD_FINI): Likewise.
1878 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1879 new interface.
1880 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1881 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1882 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1883 grub_diskfilter_read_node.
1884 Fix a bug with xor.
1885 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1886 grub_diskfilter_read_node.
1887 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1888 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1889 (grub_disk_dev_iterate): Move from here...
1890 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1891 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1892 Make global.
1893 (grub_hostdisk_find_partition_start): Likewise.
1894 (grub_hostdisk_os_dev_to_grub_drive): New function.
1895 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1896 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1897 * util/getroot.c (make_device_name): ... here.
1898 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1899 Move to ...
1900 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1901 * grub-core/kern/emu/hostdisk.c
1902 (convert_system_partition_to_system_disk): Move to ...
1903 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1904 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1905 * util/getroot.c (device_is_wholedisk): ... here.
1906 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1907 * util/getroot.c (find_system_device): ... here.
1908 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1909 Move to ...
1910 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1911 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1912 Move to ...
1913 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1914 Handle LDM.
1915 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1916 Move to ...
1917 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1918 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1919 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1920 DISKFILTER.
1921 * include/grub/raid.h: Renamed to ...
1922 * include/grub/diskfilter.h: ... this.
1923 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1924 (GRUB_RAID_LAYOUT_*): Make into array.
1925 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1926 (grub_diskfilter_vg): New struct.
1927 (grub_diskfilter_pv_id): Likewise.
1928 (grub_raid_member): Removed.
1929 (grub_raid_array): Likewise.
1930 (grub_diskfilter_pv): New struct.
1931 (grub_diskfilter_lv): Likewise.
1932 (grub_diskfilter_segment): Likewise.
1933 (grub_diskfilter_node): Likewise.
1934 (grub_diskfilter_get_vg_by_uuid): New proto.
1935 (grub_raid_register): Inline.
1936 (grub_diskfilter_unregister): Likewise.
1937 (grub_diskfilter_make_raid): New proto.
1938 (grub_diskfilter_vg_register): Likewise.
1939 (grub_diskfilter_read_node): Likewise.
1940 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1941 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1942 (grub_util_is_ldm): Likewise.
1943 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1944 (grub_hostdisk_find_partition_start): Likewise.
1945 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1946 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1947 New definition.
1948 (grub_gpt_partition_map_iterate): New proto.
1949 * include/grub/lvm.h (grub_lvm_vg): Removed.
1950 (grub_lvm_pv): Likewise.
1951 (grub_lvm_lv): Likewise.
1952 (grub_lvm_segment): Likewise.
1953 (grub_lvm_node): Likewise.
1954 * util/getroot.c [...]
1955 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1956 (probe_abstraction): Likewise.
1957 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1958 (main): Remove dead logic.
1959
8a7f9b9c
VS
19602012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 Simplify root device discover and don't fail when trying to open
1963 incorrect devices.
1964
1965 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1966 function.
1967 (get_diskname_from_path): Likewise.
1968 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1969 of iterating.
1970
30545b85
VS
19712012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1974
28ea58cf
VS
19752012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1978 pastthe end.
1979
692dabca
VS
19802012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * util/grub-install.in: Add missing \.
1983 Reported by: gentoofan
1984
f6e4ea70
VS
19852012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
1988 (direct_read): Use correct compressed size.
1989 (grub_squash_read_data): Likewise.
1990
19912012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
1992
1993 * docs/grub.texi (Platform limitations): New section.
1994 (Platform-specific operations): Likewise.
1995 * docs/grub-dev.texi (Porting): Likewise.
1996
76261110
VS
19972012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 IEEE1275 disk write support.
2000
2001 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
2002 const void *.
2003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
2004 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
2005 and seek loginc to ...
2006 (grub_ofdisk_prepare): ... here.
2007 (grub_ofdisk_write): Implement.
2008
fc36d603
VS
20092012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 ARC disk write support.
2012
2013 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
2014 (reopen): New argument writable. All users updated.
2015 Handle required access mode.
2016 (grub_arcdisk_write): Implement.
2017 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
2018 (grub_arc_firmware_vector): Make buffer to write a const buffer.
2019
e06c2e7a
VS
20202012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
2023 (read_sblock): Don't attempt to read superblocks outside the disk size.
2024
ff447958
VS
20252012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
2028 first superblock to find the second one when possible.
2029
9e88df39
VS
20302012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * util/grub-install.in: Fix an ARC bug.
2033 Print a warning if no platform-specific setup is available.
2034
bb26e4ff
VS
20352012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 Use static allocation rather than scratch pointer in reed_solomon.
2038 It decreases its size significantly and avoids a variable in .text.
2039
2040 * grub-core/lib/reed_solomon.c (scratch): Removed.
2041 (chosenstat): New const or static array.
2042 (sigma): Likewise.
2043 (errpot): Likewise.
2044 (errpos): Likewise.
2045 (sy): Likewise.
2046 (mstat): Likewise.
2047 (errvals): Likewise.
2048 (eqstat): Likewise.
2049 (pol_evaluate): Replace x with log_x argument. All users updated.
2050 (syndroms): Removed.
2051 (gauss_solve): Use statically allocated arrays.
2052 (rs_recover): Likewise.
2053 Calculate syndroms directly.
2054 (decode_block): Use statically allocated arrays.
2055 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
2056 (main) [TEST]: Allow -DTEST -DSTANDALONE.
2057
2e13ede5
VS
20582012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Eliminate fixed limit on reed solomon decoder length.
2061
2062 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
2063 rather than hardcoding the address.
2064 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
2065 no_reed_solomon_length.
2066 Move gate_a20 to no-reed-solomon part.
2067 Don't force a particular size of no reed-solomon part.
2068 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2069 Removed.
2070 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
2071 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
2072
f8a9ab12
VS
20732012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/commands/wildcard.c (match_files): Handle filenames
2076 without explicit device.
2077 (wildcard_expand): Don't add explicit device if not already present.
2078 * tests/grub_script_echo1.in: Add a new expansion test.
2079
87edb894
VS
20802012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 Replace single-linked with double-linked lists. It results in more
2083 compact and more efficient code.
2084
2085 * grub-core/kern/list.c (grub_list_push): Moved from here ...
2086 * include/grub/list.h (grub_list_push): ... to here. Set prev.
2087 (grub_list_remove): Moved from here ...
2088 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
2089 (grub_prio_list_insert): Set prev.
2090 * include/grub/list.h (grub_list): Add prev. All users updated.
2091
48b391e9
VS
20922012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Handle newer autotools. Add some missing quotes while on it.
2095
2096 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
2097 (pkglib_DATA): Move grub-mkconfig_lib from here ...
2098 (pkgdata_DATA): ... here.
2099 * Makefile.util.def (update-grub_lib): Removed.
2100 * conf/Makefile.common (pkglib_DATA): Removed.
2101 (pkglib_SCRIPTS): Likewise.
2102 (pkgdata_DATA): New variable.
2103 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
2104 needed.
2105 Add missing quotes.
2106 Remove unused variable while on it.
2107 * tests/util/grub-shell.in: Likewise.
2108 * util/grub-install.in: Likewise.
2109 * util/grub-mkconfig.in: Likewise.
2110 * util/grub-mknetdir.in: Likewise.
2111 * util/grub-mkrescue.in: Likewise.
2112 * util/grub-mkstandalone.in: Likewise.
2113 * util/grub.d/00_header.in: Likewise.
2114 * util/grub.d/10_hurd.in: Likewise.
2115 * util/grub.d/10_illumos.in: Likewise.
2116 * util/grub.d/10_kfreebsd.in: Likewise.
2117 * util/grub.d/10_linux.in: Likewise.
2118 * util/grub.d/10_netbsd.in: Likewise.
2119 * util/grub.d/10_windows.in: Likewise.
2120 * util/grub.d/20_linux_xen.in: Likewise.
2121 * util/grub.d/30_os-prober.in: Likewise.
2122 * util/update-grub_lib.in: Removed.
2123
21242012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
2125
2126 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2127 a workaround for intel problem.
2128
66832792
PRP
21292012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
21302012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21312012-01-23 pfsmorigo
2132
2133 * util/grub-install.in: Support dd'in into PreP partition.
2134 * util/grub-probe.c (probe): Support discovering partition type.
2135 (main): Support -t msdos_parttype.
2136
7816a17e
VS
21372012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2140 infinite recursion using counter.
2141 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2142 init to skip it if the magic check fails.
2143 (dec_stream_header): Init s->crc32.
2144
8f9d3a8c
ZB
21452012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21462012-01-22 Zachary Bedell <pendorbound@gmail.com>
21472012-01-22 Richard Laager <rlaager@wiktel.com>
2148
2149 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2150 All users updated.
2151 (find_bestub): Determine correct size.
2152 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2153 (scan_disk): Align the size down.
2154 Call check pool before find_bestub to have ashift.
2155
b055dd32
VS
21562012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2159 dprintf in no-malloc zone.
2160
d779e9bd
ML
21612012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2162
2163 * configure.ac: Add back in test for limits.h.
2164
b508af69
VS
21652012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 Support 4K-sector NTFS.
2168
2169 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2170 (grub_ntfs_data): Remove blocksize.
2171 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2172 Remove data argument. All users updated.
2173
dad9c8b5
VS
21742012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2177 being in .text to avoid dprel references.
2178 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2179 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2180 (grub_arch_highmemsize): Likewise.
2181 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2182 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2183 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2184
d43a777e
VS
21852012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2188
2189 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2190 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2191
34e4208f
VS
21922012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2195 GRUB_UTIL.
2196 (grub_set_datetime_cmos): Likewise.
2197
3ec0fc1c
VS
21982012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 Make XZ compression parameters dependent on target and not host CPU.
2201
2202 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2203 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2204
22489834
VS
22052012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2208 set but not used variable.
2209
8502fbca
VS
22102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2213 created when no uuid support is compiled into mkfs.reiser.
2214
76df2068
VS
22152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2218 (utf8_to_macroman): Do the opposite.
2219 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2220
64e3f8f6
VS
22212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * configure.ac: Refise build qemu_mips w/o unifont.
2224
9c271078
VS
22252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 Eliminate grub_min/grub_max prone to overflow usage.
2228
2229 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2230 (poll_nonroot_hub): Likewise.
2231 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2232 (grub_affs_label): Likewise.
2233 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2234 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2235 (grub_hfs_label): Likewise.
2236 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2237 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2238 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2239 (zap_leaf_array_get): Likewise.
2240 (dnode_get_path): Likewise.
2241 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2242 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2243 * grub-core/script/execute.c (grub_script_break): Likewise.
2244 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2245 grub_max.
2246 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2247 * include/grub/misc.h (grub_min): Removed.
2248 (grub_max): Likewise.
2249
80662dbc
VS
22502012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2251
2252 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2253 direct.inode = 0.
2254
e6da1467
VS
22552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2258
b1ac4cb1
VS
22592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2262
b4bf7c3b
VS
22632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2266 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2267
8ee1101a
VS
22682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2271 rather than a hack for grub_strncasemap.
2272
22732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Support multiple initrds
2276 Note: part of this was accidently committed in r3739.
2277
2278 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2279 initrd.
2280 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2281 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2282 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2283 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2284 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2285
4d1e2bc9
VS
22862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2289 disks with unknown size.
2290 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2291
75b49ebe
VS
22922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Remove defines pertaining to arbitrary limits not affecting GRUB
2295 anymore.
2296
2297 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2298 (EXT2_MAX_SYMLINKCNT): Likewise.
2299 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2300 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2301 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2302 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2303 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2304 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2305 (DN_MAX_OBJECT_SHIFT): Likewise.
2306 (DN_MAX_OFFSET_SHIFT): Likewise.
2307 (DN_MAX_OBJECT): Likewise.
2308 (DNODES_PER_LEVEL_SHIFT): Likewise.
2309 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2310 (SPA_MAXBLOCKSIZE): Likewise.
2311 (SPA_BLOCKSIZES): Likewise.
2312 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2313 (MZAP_MAX_BLKSZ): Likewise.
2314
74a1dce7
VS
23152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2318 handle NULL appropriately.
2319 Remove MIN.
2320
30c7d3ce
VS
23212012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 Fix efiemu.
2324
2325 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2326 cpu/types.h.
2327 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2328 * configure.ac: Fix efiemu check.
2329
3c76ea0c
VS
23302012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2333 grub_probe.
2334 Reported by: adamwill
2335
7e532280
SG
23362012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2337
2338 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2339
30492374
VS
23402012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 Fix handling of wide characters in gfxterm.
2343
2344 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2345 (clear_char): Likewise.
2346 (paint_char): Skip code == NULL chars.
2347 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2348
e70cb72f
VS
23492012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/normal/charset.c: Move comment to right place.
2352
5c827cf9
VS
23532012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2356 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2357 (grub_affs_mount): Revert the correct version checking.
2358
53603892
VS
23592012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * docs/grub.texi (Unicode): Mention several other unsupported features.
2362
ff094b9b
VS
23632011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2366 case statements as compile-time one.
2367 (direct_read): Prevent spurious warnings.
2368 (grub_squash_read_data): Likewise.
2369
c029da8a
VS
23702011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 Various squash4 fixes and LZO and XZ support.
2373
2374 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2375 Add xzembed source files.
2376 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2377 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2378 (grub_squash_inode): New subtype long_dir.
2379 (SQUASH_TYPE_LONG_DIR): New inode type.
2380 (COMPRESSION): New enum.
2381 (XZBUFSIZ): New const.
2382 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2383 (read_chunk): Use data->decompress.
2384 (zlib_decompress): New function.
2385 (lzo_decompress): Likewise.
2386 (xz_decompress): Likewise.
2387 (squash_mount): Set new data fields.
2388 (grub_squash_iterate_dir): Handle long dir.
2389 (squash_unmount): Free xzdec and xzbuf.
2390 (grub_squash_open): Check ino type.
2391 (direct_read): Stylistic fixes. Use data->decompress.
2392 (grub_squash_read_data): Likewise.
2393 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2394 (get_byte): Likewise.
2395 (grub_zlib_disk_read): Removed.
2396 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2397 (GRUB_POSIX_BOOL_DEFINED): New define.
2398 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2399 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2400 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2401 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2402
7a45a539
VS
24032011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 Don't override more informative errors.
2406
2407 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2408 * grub-core/font/font.c (open_section): Likewise.
2409 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2410 filename. Don't override errors.
2411 (grub_cmd_openbsd_ramdisk): Don't override errors.
2412 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2413 (grub_cmd_initrd): Likewise.
2414 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2415 (grub_cmd_initrd): Likewise.
2416 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2417 (grub_cmd_linux): Likewise.
2418 (grub_cmd_initrd): Likewise.
2419 (grub_cmd_payload): Likewise.
2420 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2421 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2422 (grub_cmd_module): Likewise.
2423 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2424 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2425 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2426 (grub_cmd_xnu_mkext): Likewise.
2427 (grub_cmd_xnu_ramdisk): Likewise.
2428 (grub_xnu_check_os_bundle_required): Likewise.
2429 (grub_xnu_load_kext_from_dir): Likewise.
2430 (grub_cmd_xnu_kextdir): Likewise.
2431 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2432
b2d004db
VS
24332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2436 as 1024 in block size field. Found on one of my test images.
2437 Small optimisation while on it.
2438
ec000eac
VS
24392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2442 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2443 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2444 performance fixes while on it.
2445 (grub_sfs_close): Fix memory leak while on it.
2446 (grub_sfs_label): Convert Latin1 to UTF-8.
2447
f50e1165
VS
24482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2451 space to avoid overflows.
2452 (grub_hfs_label): Convert from macroman to UTF-8.
2453
2ae254de
VS
24542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2457
0108f491
VS
24582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2461
f45f5f89
VS
24622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * unicode: Import Unicode 6.0 data.
2465
4d8c4765
VS
24662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2467
63fa8ef9
VS
2468 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2469 outside of range.
2470
24712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
2474
2475 * include/grub/charset.h (grub_getend): New function.
2476 * grub-core/script/function.c (grub_script_function_find): Use
2477 grub_getend.
2478 * grub-core/normal/completion.c (add_completion): Likewise.
2479
f3cb4a4e
VS
24802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2483 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2484 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2485 (GRUB_UNICODE_TAG_END): Likewise.
2486 (GRUB_UNICODE_LAST_VALID): Likewise.
2487
5da8dbc5
VS
24882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2491 len and make it smaller. All users updated.
2492 * util/import_unicode.py: Put length and not end character.
2493 Check length.
2494
8569f13d
VS
24952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 Make better Unicode-compliant and unify some UTF-8 code pathes.
2498
2499 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2500 valid character.
2501 (grub_is_valid_utf8): Use grub_utf8_process.
2502 Check resulting code range.
2503 (grub_utf8_to_ucs4): Use grub_utf8_process.
2504 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2505 valid character.
2506
cc4fddf5
VS
25072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2510
bbc47747
VS
25112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * docs/grub.texi (Filesystems): Mention AFS.
2514
f63d6bf4
VS
25152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * docs/grub.texi (Filesystems): Clarify restrictions.
2518 (Regexp): Mention non-Unicode regexp behaviour.
2519 (Other): Mention non-Unicode matching behaviour.
2520
74bbf0db
VS
25212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2522
f63d6bf4 2523 Make HFS implementation use MacRoman.
74bbf0db
VS
2524
2525 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2526 (macroman): New const array.
2527 (macroman_to_utf8): New function.
2528 (utf8_to_macroman): Likewise.
2529 (grub_hfs_find_dir): Use utf8_to_macroman.
2530 (grub_hfs_dir): Use macroman_to_utf8.
2531 Set case_insensitive.
2532
4ea0316e
VS
25332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2536
d3c13cbd
VS
25372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 Integrate hints into autogeneration scripts.
2540
2541 * docs/grub.texi (Filesystems): Add a hostdisk example.
2542 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2543 (grub-probe): Add ofpath.
2544 * gentpl.py: Remove group nosparc64.
2545 * grub-core/commands/search.c (cache_entry): New struct.
2546 (cache): New var.
2547 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2548 * grub-core/commands/search_wrap.c (options): Add platform-specific
2549 hint options.
2550 (grub_cmd_search): Handle platform-specific hints.
2551 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2552 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2553 (grub_util_biosdisk_data): Likewise.
2554 (grub_util_biosdisk_open): Set device_map.
2555 (read_device_map): Handle "" as indication of no map.
2556 Set device_map.
2557 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2558 (grub_util_biosdisk_get_compatibility_hint): New function.
2559 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2560 * include/grub/emu/hostdisk.h
2561 (grub_util_biosdisk_get_compatibility_hint): New proto.
2562 * util/grub-install.in: Don't call grub-mkdevicemap.
2563 Add platform-specific hint to load.cfg.
2564 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2565 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2566 hints. Set root preliminary to compatibility hint, not to OS name.
2567 * util/grub-probe.c (PRINT_*): Add hints.
2568 (print): Make static.
2569 (escape_of_path): New function.
2570 (guess_bios_drive): Likewise.
2571 (guess_efi_drive): Likewise.
2572 (guess_baremetal_drive): Likewise.
2573 (print_full_name): Likewise.
2574 (probe): Handle hints.
2575 (main): Likewise.
2576 * util/ieee1275/devicemap.c: Removed.
2577 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2578 updated.
2579 (grub_util_devname_to_ofpath): Return NULL on failure.
2580
2581 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2582 resource leak.
2583 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2584
2585 * po/POTFILES.in: Regenerated.
2586
2587 Allow purely long options
2588
2589 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2590 (SHORT_ARG_USAGE): Likewise.
2591 (grub_arg_show_help): Compare opt with help_options.
2592 (parse_option): Receive opt as argument. If makes big simplificatons.
2593 All users updated
2594
00ce2df3
VS
25952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2598 Restructure to avoid warning.
2599
e77e325f
VS
26002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * util/grub-install.in: Account for possible escaped comma in device
2603 name.
2604
165099ea
VS
26052011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2608 channel.
2609
ce4a999d
VS
26102011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2613 allocation and zero-setting.
2614 (grub_ieee1275_get_devname): Check that alias is complete.
2615
379586ad
VS
26162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2619 unaligned segments.
2620
9197b0ad
VS
26212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2624 prefix.
2625 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2626 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2627 Add ieee1275 prefix.
2628
edddb7f9
VS
26292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * docs/grub.texi (Filesystems): Update.
2632
a1a8b1b9
VS
26332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 Support odc, newc and bigendian cpio formats.
2636
2637 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2638 * grub-core/Makefile.core.def (newc): New module.
2639 (odc): Likewise.
2640 (cpio_be): Likewise.
2641 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2642 (MAGIC): Likewise.
2643 (MAGIC2): Likewise.
2644 (head) [MODE_ODC]: Adapt for the format.
2645 (head) [MODE_NEWC]: Likewise.
2646 (head) [!MODE_*]: Write fields of interest as arrays.
2647 (MAGIC_USTAR): Removed.
2648 (read_number) [MODE_NEWC]: Change to hex.
2649 (read_number) [!MODE_*]: Parse binary arrays.
2650 (grub_cpio_find_file): Factor out the code for better structure and
2651 always use read_number.
2652 (grub_cpio_mount): Use MAGIC and MAGIC2.
2653 (grub_cpio_dir): Exit on first hook non-0 return.
2654 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2655 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2656 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2657 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2658 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2659 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2660 * grub-core/fs/newc.c: New file.
2661 * grub-core/fs/odc.c: Likewise.
2662 * grub-core/fs/cpio_be.c: Likewise.
2663
58eba9ee
VS
26642011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Fix handling of tar numbers occupying the whole field.
2667
2668 * grub-core/fs/cpio.c (read_number): New function.
2669 (grub_cpio_find_file): Use read_number instead of strtoull.
2670
a54a0e12
VS
26712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2674 occupying the whole field size.
2675
a6120aca
LA
26762011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2677
2678 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2679
a93964ce
VS
26802011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2683
3ea1ca46
SG
26842011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2685
2686 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2687 TARGET_IMG_LDFLAGS.
2688
b87f7ef2
VS
26892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2692 (mountinfo_entry): Increase the field size to take escaping into
2693 account.
2694 (find_root_device_from_libzfs): Add one byte to size of strings for
2695 security.
2696
62092395
VS
26972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2700 an assert.
2701 * util/grub-setup.c (setup): Likewise.
2702
1f0b1a77
VS
27032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2706 _LzmaDecodeA.
2707
8eba9997
VS
27082011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * docs/grub.texi (Internationalisation): New section.
2711
dd0c91e9
VS
27122011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * docs/grub.texi (Loopback booting): New section.
2715
27162011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
2717
2718 * util/grub-mkstandalone.in: Fix minor typo errors.
2719
198e150a
VS
27202011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2723
2724 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2725 net/icmp.c and net/icmp6.c.
2726 (http): New module.
2727 (priority_queue): Likewise.
2728 * grub-core/io/bufio.c: Rewritten.
2729 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2730 TYPE_WITH_CONFIGFILE_OPTION.
2731 (legacy_commands): Add bootp and dhcp.
2732 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2733 (grub_legacy_parse): Likewise.
2734 * grub-core/lib/priority_queue.c: New file.
2735 * grub-core/net/arp.c: Add missing license header.
2736 (arp_find_entry): Removed.
2737 (arp_find_entry): Likewise.
2738 (grub_net_arp_resolve): Rename to ...
2739 (grub_net_arp_send_request): ...this.
2740 (grub_net_arp_receive): New card argument.
2741 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2742 Set router and DNS server.
2743 (grub_net_configure_by_dhcp_ack): Handle routing information.
2744 (grub_cmd_bootp): Set checksum.
2745 (grub_bootp_init): Remove net_dhcp.
2746 * grub-core/net/dns.c: New file.
2747 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2748 completion.
2749 (get_card_packet): Handle allocation.
2750 (grub_efinet_findcards): Set mtu.
2751 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2752 (get_card_packet): Handle allocation.
2753 (emucard): Set mtu.
2754 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2755 (GRUB_MOD_INIT): Set mtu.
2756 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2757 mtu.
2758 (get_card_packet): Handle allocation.
2759 (grub_ofnet_findcards): Set mtu.
2760 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2761 assert.
2762 (grub_net_recv_ethernet_packet): Handle IPv6.
2763 * grub-core/net/http.c: New file.
2764 * grub-core/net/icmp.c: Likewise.
2765 * grub-core/net/icmp6.c: Likewise.
2766 * grub-core/net/ip.c (ip6addr): New type.
2767 (ip6hdr): Likewise.
2768 (reassemble): Likewise.
2769 (cmp): New function.
2770 (reassembles): New variable.
2771 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2772 (id): New variable.
2773 (send_fragmented): New function.
2774 (grub_net_send_ip_packet): Rename to ...
2775 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2776 Handle non-UDP.
2777 (grub_net_recv_ip_packets): Rename to ...
2778 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2779 (free_rsm): New function.
2780 (free_old_fragments): Likewise.
2781 (grub_net_recv_ip4_packets): New function.
2782 (grub_net_send_ip6_packet): Likewise.
2783 (grub_net_send_ip_packet): Likewise.
2784 (grub_net_recv_ip6_packets): Likewise.
2785 (grub_net_recv_ip_packets): Likewise.
2786 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2787 (LINK_LAYER_CACHE_SIZE): New const.
2788 (link_layer_find_entry): New function.
2789 (grub_net_link_layer_add_address): Likewise.
2790 (grub_net_link_layer_resolve_check): Likewise.
2791 (grub_net_link_layer_resolve): Likewise.
2792 (grub_net_ipv6_get_slaac): Likewise.
2793 (grub_net_ipv6_get_link_local): Likewise.
2794 (grub_cmd_ipv6_autoconf): Likewise.
2795 (parse_ip): Handle one number representation.
2796 (parse_ip6): New functoion.
2797 (match_net): Handle IPv6.
2798 (grub_net_resolve_address): Handle IPv6 and DNS.
2799 (grub_net_resolve_net_address): Handle IPv6.
2800 (route_cmp): New function.
2801 (grub_net_route_address): Find best route.
2802 (grub_net_addr_to_str): Handle IPv6.
2803 (grub_net_addr_cmp): New function.
2804 (grub_net_add_addr): Register local route.
2805 (print_net_address): Handle net address.
2806 (grub_net_poll_cards): Retransmit TCP.
2807 (grub_net_poll_cards_idle_real): Likewise.
2808 (have_ahead): New function.
2809 (grub_net_seek_real): Use underlying seek.
2810 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2811 * grub-core/net/tcp.c: New file.
2812 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2813 (cmp): New function.
2814 (ack): Likewise.
2815 (tftp_receive): Handle unordered input.
2816 (destroy_pq): New function.
2817 (tftp_close): Close pq.
2818 * grub-core/net/udp.c: Put missing license header.
2819 (grub_net_udp_socket): New function.
2820 (udp_socket_register): Likewise.
2821 (grub_net_udp_close): Likewise.
2822 (grub_net_recv_udp_packet): Check checksum.
2823 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2824 * include/grub/misc.h (grub_memchr): New function.
2825 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2826 (grub_net_card_driver): Return buf in recv.
2827 (grub_net_slaac_mac_list): New struct.
2828 (grub_network_level_protocol_id): Add ipv6.
2829 (grub_net_network_level_addr): Likewise.
2830 (grub_net_network_level_net_addr): Likewise.
2831 (grub_net_app_protocol): Add seek.
2832 (grub_net_socket): Removed.
2833 (grub_net_sockets): Likewise.
2834 (grub_net_socket_register): Likewise.
2835 (grub_net_socket_unregister): Likewise.
2836 (FOR_NET_SOCKETS): Likewise.
2837 (grub_net_add_addr): Add const.
2838 (GRUB_NET_BOOTP_*): New enum.
2839 (grub_net_addr_cmp): New proto.
2840 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2841 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2842 (grub_net_hwaddr_to_str): NEw proto.
2843 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2844 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2845 (grub_dns_init): New proto.
2846 (grub_dns_fini): Likewise.
2847 (grub_net_tcp_retransmit): Likewise.
2848 (grub_net_link_layer_add_address): Likewise.
2849 (grub_net_link_layer_resolve_check): Likewise.
2850 (grub_net_link_layer_resolve): Likewise.
2851 (grub_net_dns_lookup): Likewise.
2852 (grub_net_add_dns_server): Likewise.
2853 (grub_net_remove_dns_server): Likewise.
2854 (GRUB_NET_TRIES): New const.
2855 (GRUB_NET_INTERVAL): Likewise.
2856 * include/grub/net/arp.h: Mostly rewritten.
2857 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2858 * include/grub/net/ip.h: Mostly rewritten.
2859 * include/grub/net/netbuff.h: Indent.
2860 * include/grub/net/tcp.h: New file.
2861 * include/grub/net/udp.h: Mostly rewritten.
2862 * include/grub/priority_queue.h: New file.
2863 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2864 (grub_swap_bytes64_compile_time): Likewise.
2865 (grub_cpu_to_be16_compile_time): Likewise.
2866 (grub_cpu_to_be32_compile_time): Likewise.
2867 (grub_cpu_to_be64_compile_time): Likewise.
2868 (grub_be_to_cpu64_compile_time): Likewise.
2869
215c1800
VS
28702011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2873 UINT_TO_PTR with cast.
2874
c17e546c
VS
28752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2878 don't use them.
2879
ff6b18b6
VS
28802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2883 already there.
2884
70ffcc93
VS
28852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2888 confusing ipxe.
2889
e5f4d260
VS
28902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2893 Add missing const attribute.
2894 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2895 Likewise.
2896 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2897 Likewise.
2898
8e54b4b7
VS
28992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2902 misaligned access.
2903 (serpent_setkey): Likewise.
2904 (serpent_encrypt_internal): Likewise.
2905 (serpent_decrypt_internal): Likewise.
2906 (serpent_encrypt): Don't put an alignment-increasing cast.
2907 (serpent_decrypt): Likewise.
2908 (serpent_test): Likewise.
2909
813c0a2b
VS
29102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2913
f2b60fbd
VS
29142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2917
2918 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2919 grub_addr_t casts.
2920 (PTR_TO_UINT64): Likewise.
2921 (PTR_TO_UINT32): Likewise.
2922
5ef5c511
VS
29232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2926 because of stack.
2927 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2928 limit.
2929
c476e6df
VS
29302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2933 text_width > available width a bit more gracefully.
2934
384ad7cc
VS
29352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2938 current address calculation.
2939
96f8caf8
VS
29402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2943 stack.
2944 (encode_block): Likewise.
2945
276b7a8b
VS
29462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2949 certainety.
2950
e3fd394a
VS
29512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2954 non-RS part to avoid RS messing with GDT.
2955 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2956 Increase to suit in realmode routines.
2957
29582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/kern/i386/realmode.S: Increase alignment.
2961 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2962
ee9c2e7a
VS
29632011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2966 be deterministic.
2967 (syndroms): Compute 0 syndrom.
2968 (rs_recover): Use 0 syndrom.
2969
7a7f7cc9
VS
29702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2973
a14b16d1
VS
29742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2977 brackets.
2978
9f59e9fc
VS
29792011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2980
ca1b552c
VS
2981 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2982 account.
2983 (get_top_pad): Likewise.
2984 (get_right_pad): Likewise.
2985 (get_bottom_pad): Likewise.
2986
29872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 2990
e739d698
VS
29912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
2994 attribute as the structure isn't guaranteed to be properly aligned.
2995 (grub_efi_pci_device_path): Likewise.
2996 (grub_efi_pccard_device_path): Likewise.
2997 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
2998 specify the size of `memory_type'.
2999 (grub_efi_vendor_device_path): Likewise.
3000 (grub_efi_controller_device_path): Likewise.
3001 (grub_efi_acpi_device_path): Likewise.
3002 (grub_efi_expanded_acpi_device_path): Likewise.
3003 (grub_efi_atapi_device_path): Likewise.
3004 (grub_efi_scsi_device_path): Likewise.
3005 (grub_efi_fibre_channel_device_path): Likewise.
3006 (grub_efi_1394_device_path): Likewise.
3007 (grub_efi_usb_device_path): Likewise.
3008 (grub_efi_usb_class_device_path): Likewise.
3009 (grub_efi_i2o_device_path): Likewise.
3010 (grub_efi_mac_address_device_path): Likewise.
3011 (grub_efi_ipv4_device_path): Likewise.
3012 (grub_efi_ipv6_device_path): Likewise.
3013 (grub_efi_infiniband_device_path): Likewise.
3014 (grub_efi_uart_device_path): Likewise.
3015 (grub_efi_vendor_messaging_device_path): Likewise.
3016 (grub_efi_hard_drive_device_path): Likewise.
3017 (grub_efi_cdrom_device_path): Likewise.
3018 (grub_efi_vendor_media_device_path): Likewise.
3019 (grub_efi_file_path_device_path): Likewise.
3020 (grub_efi_protocol_device_path): Likewise.
3021 (grub_efi_piwg_device_path): Likewise.
3022 (grub_efi_bios_device_path): Likewise.
3023
cb8f88ea
VS
30242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
3027 (grub_ucs4_to_utf8_alloc): Likewise.
3028 (grub_ucs4_to_utf8): Likewise.
3029 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
3030 (grub_ucs4_to_utf8_alloc): Likewise.
3031
309e5352
VS
30322011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 AFFS never uses unicode.
3035
3036 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
3037 (grub_latin1_to_utf8): New inline function.
3038 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
3039
e7987e1b
VS
30402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
3043 overflow.
3044
efc2616e
VS
30452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
3048 (grub_squash_dirent_header): Likewise.
3049 (read_chunk): Don't double swap.
3050 (grub_squash_iterate_dir): Fix swap sizes.
3051
3c349f5a
VS
30522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
3055
b453412d
VS
30562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
3059 (grub_hfs_iterate_dir): Likewise.
3060
12e9d4d1
VS
30612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 Fix video on platforms where unaligned access is forbidden.
3064 Make several optimisations while on it.
3065
3066 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
3067 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3068 (grub_video_fbblit_replace_32bit_1bit): Likewise.
3069 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3070 Disable.
3071 (grub_video_fbblit_replace_16bit_1bit):
3072 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3073 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3074 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
3075 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
3076 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3077 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3078 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
3079 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
3080 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
3081 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
3082 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
3083 (grub_video_fbblit_replace_index_RGB888): Likewise.
3084 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
3085 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
3086 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
3087 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3088 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
3089 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3090 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3091 Disable.
3092 (grub_video_fbblit_blend_XXX565_1bit):
3093 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3094 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
3095 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
3096 void *.
3097 * grub-core/video/fb/video_fb.c (common_blitter)
3098 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
3099 (grub_video_fb_create_render_target_from_pointer)
3100 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3101 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
3102 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
3103 definition.
3104 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
3105
ace96609
VS
31062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3109 HH22 and HM10 relocations.
3110
fd261d73
VS
31112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3114
e59b7857
VS
31152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3118 allocation succeeded.
3119
9b4baaa4
VS
31202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3123 argument a u8 pointer. All users updated.
3124 Handle unaligned buffers.
3125
dc713193
VS
31262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3129 add_part to workaround compiler bug.
3130
30dd48c2
VS
31312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3134
0c6087a8
VS
31352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3138 Reserve alignment invariants.
3139 (grub_multiboot_load): Likewise.
3140 (retrieve_video_parameters): Likewise.
3141 (grub_multiboot_make_mbi): Likewise.
3142
c2e77777
VS
31432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3146 incorrect pointer.
3147
b70b6d11
VS
31482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3151 (grub_pata_pio_write): Likewise.
3152
02a2bf83
VS
31532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 Add noreturn attributes and remove unreachable code.
3156
3157 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3158 code.
3159 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3160 code. Mark as noreturn.
3161 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3162 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3163 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3164 unreachable code.
3165 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3166 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3167 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3168 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3169 * include/grub/kernel.h (grub_main): Mark as noreturn.
3170 * include/grub/reader.h (grub_rescue_run): Likewise.
3171
2019d09e
VS
31722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3175 redundant declaration.
3176
d1c501ee
VS
31772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3180 redundant declaration.
3181 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3182
61664420
VS
31832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3186 to ensure alignment.
3187 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3188 alignment. Ensure tmp alignment.
3189 (grub_cmd_hdparm): Ensure buf alignment.
3190 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3191 to ensure alignment.
3192 (grub_ata_dumpinfo): Ensure text alignment.
3193 (grub_atapi_identify): Preserve alignment invariant.
3194 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3195
0d51ee20
VS
31962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3199 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3200 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3201 * include/grub/misc.h (grub_reboot)
3202 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3203 (grub_halt) [__mips__]: Likewise.
3204
753ef8c1
VS
32052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3208 Remove redundant declaration.
3209 (grub_mmap_get_post64): Likewise.
3210 (grub_mmap_get_upper): Likewise.
3211 (grub_mmap_get_lower): Likewise.
3212
85c85365
VS
32132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3216 uint32_t * to ensure alignment.
3217 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3218
a23f2cc4
VS
32192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3220
93018f64
VS
3221 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3222 uint16_t * to ensure alignment.
3223 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3224 alignment.
3225
32262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
3229 to ensure alignment.
3230 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3231
58acccd6
VS
32322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3235 Handle unaligned pointers.
3236 (u32at): Likewise.
3237 (u64at): Likewise.
3238 (fixup): Use byte access instead of v16at.
3239 (find_attr): Fix imporper usage of v32at.
3240 (read_data): Likewise.
3241 (list_file): Handle byte-swapping and unaligned strings.
3242 (grub_ntfs_label): Likewise.
3243
9b05cad7
VS
32442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3247 as it's not necessarily aligned.
3248
b3950b84
VS
32492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3252 redundant declaration.
3253 (grub_serial_init): Likewise.
3254 (grub_terminfo_init): Likewise.
3255
fcd232b7
VS
32562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3259 function.
3260 (ZAP_HASH_IDX): Likewise.
3261 (ZAP_LEAF_HASH_SHIFT): Likewise.
3262 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3263 (LEAF_HASH): Likewise.
3264 (ZAP_LEAF_NUMCHUNKS): Likewise.
3265 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3266 alignment invariants. Return pointer. All users updated.
3267 (ZAP_LEAF_ENTRY): Make into inline function.
3268 (NBBY): Removed.
3269 (xor): LIkewise.
3270 (xor_out): Use grub_crypto_xor.
3271 (dnode_get_path): Use grub_get_unaligned.
3272 (nvlist_find_value): Likewise.
3273 (grub_zfs_nvlist_lookup_uint64): Likewise.
3274 (grub_zfs_nvlist_lookup_string): Likewise.
3275 (get_nvlist_size): Likewise.
3276 (grub_zfs_open): Likewise.
3277 (fill_fs_info): Likewise.
3278 (grub_zfs_dir): Likewise.
3279 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3280 alignment invariants.
3281 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3282 necessarily aligned.
3283
f138623a
VS
32842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3287
564840dc
VS
32882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3291 arithmetic to conserve alignment invariants.
3292
9b40df20
VS
32932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3296 redundant declaration.
3297 (grub_efiemu_mm_obtain_request): Likewise.
3298 (grub_efiemu_prepare): Likewise.
3299
d1c930f9
VS
33002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3303 to match types.
3304
4c5f3056
VS
33052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3308 case of aunaligned recptr.
3309 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3310 alignment.
3311 (grub_hfsplus_btree_search): Handle unaligned index.
3312
728cba91
VS
33132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3316 to get freetag and skip.
3317
eb561f31
VS
33182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3321 array.
3322 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3323 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3324
20993fbb
VS
33252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3328 name for checksum and fix allocation algorithm.
3329
1f313b94
VS
33302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * include/grub/types.h (grub_properly_aligned_t): New type.
3333 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3334 (grub_get_unaligned16): Add explicit casts.
3335 (grub_get_unaligned32): Likewise.
3336 (grub_get_unaligned64): Likewise.
3337 (grub_set_unaligned16): New function.
3338 (grub_set_unaligned32): Likewise.
3339
47ae27ec
VS
33402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3343
78c2cd1c
VS
33442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3347 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3348 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3349
53072f9b
VS
33502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3353 conditionals.
3354
055dc239
VS
33552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3358 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3359
496bd074
VS
33602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 Unify and improve RAID and crypto xor.
3363
3364 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3365 changed to grub_crypto_xor
3366 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3367 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3368 Use bigger types when possible.
3369
ef6e4335
VS
33702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * grub-core/disk/raid.c (scan_devices): Fix condition.
3373
5d048bf2
VS
33742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3377 Make name a const ptr.
3378
ee533335
VS
33792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3382 first argument a const pointer.
3383 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3384 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3385 proto.
3386 (grub_children_iterate): Likewise.
3387 (grub_machine_mmap_iterate): Remove redundant declaration.
3388
cc8f3668
VS
33892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3392 (grub_cmd_acpi) [!x86]: Disable EBDA.
3393
c5fc563a
VS
33942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 Enable UTF8 in gnulib regexp.
3397
3398 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3399 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3400 (isupper): Use grub_isupper.
3401 (isascii): New inline function.
3402 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3403 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3404 * grub-core/normal/charset.c (grub_utf8_process): New function.
3405 (grub_utf8_to_utf16): Use grub_utf8_process.
3406 (grub_encode_utf8_character): New function.
3407 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3408 * include/grub/charset.h (grub_utf8_process): New declaration.
3409 (grub_encode_utf8_character): Likewise.
3410 * include/grub/misc.h (grub_islower): New inline function.
3411 (grub_isupper): Likewise.
3412 (grub_strchrsub): Moved down to fix the definitions.
3413
0af2346f
VS
34142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3417 specification.
3418
74dbd244
VS
34192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * include/grub/loader.h (grub_loader_register_preboot_hook):
3422 Use struct preboot * and not void * for handle. All users updated.
3423 (grub_loader_unregister_preboot_hook): Likewise.
3424
1bc8f60d
VS
34252011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3428 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3429 UTF-16-BE. All users updated.
3430 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3431 (grub_hfsplus_iterate_dir): Likewise.
3432 (grub_hfsplus_label): Likewise.
3433
48d6e456
VS
34342011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3437
bf3a3857
VS
34382011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 Add missing const qualifiers.
3441
3442 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3443 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3444 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3445 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3446 (grub_lvm_check_flag): Likewise.
3447 * grub-core/efiemu/i386/coredetect.c
3448 (grub_efiemu_get_default_core_name): Likewise
3449 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3450 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3451 * grub-core/fs/ntfs.c (fixup): Likewise.
3452 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3453 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3454 (fzap_lookup): Likewise.
3455 (zap_lookup): Likewise.
3456 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3457 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3458 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3459 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3460 (grub_freebsd_add_meta_module): Likewise.
3461 (grub_cmd_freebsd_module): Likewise.
3462 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3463 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3464 (grub_xnu_writetree_get_size): Likewise.
3465 (grub_xnu_writetree_toheap_real): Likewise.
3466 (grub_xnu_find_key): Likewise.
3467 (grub_xnu_create_key): Likewise.
3468 (grub_xnu_create_value): Likewise.
3469 (grub_xnu_register_memory): Likewise.
3470 (grub_xnu_check_os_bundle_required): Likewise.
3471 (grub_xnu_scan_dir_for_kexts): Likewise.
3472 (grub_xnu_load_kext_from_dir): Likewise.
3473 * grub-core/normal/color.c (color_list): Likewise.
3474 * grub-core/normal/completion.c (current_word): Likewise.
3475 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3476 * grub-core/term/serial.c (grub_serial_find): Likewise.
3477 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3478 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3479 Likewise.
3480 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3481 (grub_freebsd_add_meta_module): Likewise.
3482 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3483 * include/grub/net.h (grub_net_card_driver): Likewise.
3484 (grub_net_card): Likewise.
3485 (grub_net_app_protocol): Likewise.
3486 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3487 * include/grub/serial.h (grub_serial_find): Likewise.
3488 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3489 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3490 (grub_xnu_create_value): Likewise.
3491 (grub_xnu_find_key): Likewise.
3492 (grub_xnu_scan_dir_for_kexts): Likewise.
3493 (grub_xnu_load_kext_from_dir): Likewise.
3494
3495 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3496 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3497 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3498 Moved from here ...
3499 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3500
112b4837
CW
35012011-11-28 Colin Watson <cjwatson@ubuntu.com>
3502
3503 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3504
49e891ac
VS
35052011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3508 (read_device): Fix size calculation.
3509
fd258e5c
RM
35102011-11-25 Robert Millan <rmh@gnu.org>
3511
3512 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3513 (find_root_device_from_libzfs): Add zpool output parser to be used
3514 as fallback when libzfs isn't available.
3515
78845dc2
SG
35162011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3517
3518 * po/Makefile.in.in: Add missing escape-continuation.
3519
adac5211
VS
35202011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3523
10b64f1c
VS
35242011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3527
bb416954
VS
35282011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3531
bdfe9eeb
VS
35322011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3535
581ffa8a
VS
35362011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/lib/adler32.c: Add missing license specification.
3539 * grub-core/lib/crc64.c: Likewise.
3540 * grub-core/loader/i386/pc/plan9.c: Likewise.
3541 * grub-core/partmap/plan.c: Likewise.
3542
2536cf64
LK
35432011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3544
3545 Add facility to debug GRUB with gdb under qemu.
3546
3547 * grub-core/gdb_grub.in: New file.
3548 * grub-core/gmodule.pl.in: Likewise.
3549 * grub-core/Makefile.core.def (gmodule.pl): New script.
3550 (gdb_grub): Likewise.
3551
bc108a4a
VS
35522011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * util/grub-mount.c (argp_parser): Accept relative pathes.
3555 * util/grub-fstest.c (argp_parser): Likewise.
3556
111c1778
VS
35572011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 Plan9 support.
3560
3561 * Makefile.util.def (libgrubmods): Add
3562 grub-core/partmap/plan.c.
3563 * docs/grub.texi: Notice Plan9 support.
3564 * grub-core/Makefile.core.def (plan9): New module.
3565 (part_plan): Likewise.
3566 * grub-core/loader/i386/pc/plan9.c: New file.
3567 * grub-core/partmap/plan.c: Likewise.
3568 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3569 define.
3570 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3571 * include/grub/mm.h (grub_extend_alloc): New inline function.
3572
c30be3b6
VS
35732011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 Make Reed-Solomon faster by using power of generator representation of
3576 GF(256)*.
3577
3578 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3579 (gf_double_t): Likewise.
3580 (gf_invert): Removed.
3581 (gf_powx): New array.
3582 (gf_powx_inv): Likewise.
3583 (scratch): Move higher.
3584 (gf_reduce): Removed.
3585 (gf_mul): Use powx.
3586 (gf_invert): Likewise.
3587 (init_inverts): Replaced with ...
3588 (init_powx): ...this. All users updated.
3589 (pol_evaluate): Replace multiplications with additions.
3590 (rs_encode): Likewise.
3591 (gauss_eliminate): Call gf_invert.
3592 (grub_reed_solomon_add_redundancy): Call init_powx.
3593 (grub_reed_solomon_recover): Call init_powx unconditionally.
3594
fa5aeffc
VS
35952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3598
a346b81c
VS
35992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3602 disk->partiton for safety.
3603
d89ee414
VS
36042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3607 Fix a memory leak.
3608 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3609
91ee7b6d
VS
36102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3613
91e5a33d
VS
36142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3617
9edd7be2
VS
36182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 Fix spaces handling in proc/self/mountinfo.
3621
3622 * util/getroot.c (unescape): New function.
3623 (grub_find_root_device_from_mountinfo): Use unescape.
3624
ba102053
VS
36252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 Support ZFS embedding.
3628
3629 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3630 (grub_zfs_fs): Register grub_zfs_embed.
3631
aa94b870
VS
36322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 Fix MIPS compilation.
3635
3636 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3637 * include/grub/offsets.h: Rename decompressor fields from
3638 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3639 * util/grub-mkimage.c (image_targets): Use new names.
3640
5fbdac14
VS
36412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 Defer multiboot device parsing until we're in compressed part.
3644
3645 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3646 bsd_part. setdevice has fallen into disuse.
3647 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3648 (bsd_part): Likewise.
3649 (boot_dev): New variable.
3650 (multiboot_trampoline): Don't parse multiboot device.
3651 Pass multiboot device in %edx.
3652 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3653 grub_boot_device.
3654 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3655 Likewise.
3656 * grub-core/kern/i386/pc/startup.S: Save edx.
3657 (grub_boot_drive): Removed.
3658 (grub_install_dos_part): Likewise.
3659 (grub_install_bsd_part): Likewise.
3660 (grub_boot_device): New variable.
3661 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3662 (grub_install_bsd_part): Likewise.
3663 (grub_boot_drive): Likewise.
3664 (grub_boot_device): New variable.
3665 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3666 Removed.
3667 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3668 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3669 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3670 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3671 * util/grub-install.in: Remove redundant condition.
3672
691cbb58
VS
36732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 Fix bug introduced by previous commit.
3676
3677 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3678
60240b8b
VS
36792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Use decompressors framework on i386-pc. It increases core size
3682 by 46 bytes but improves compatibility and maintainability.
3683
3684 * grub-core/Makefile.core.def (lzma_decompress): New image.
3685 (kernel): Add i386_pc_ldflags.
3686 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3687 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3688 to real_to_prot, prot_to_real and device info.
3689 * include/grub/offsets.h: Renamed decompressor offsets.
3690 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3691 (image_target_desc): Remove raw_size and rename decompressor fields.
3692 (compress_kernel): Handle lzma.
3693 (generate_image): Handle decompressors on i386-pc.
3694
e9d3421c
VS
36952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * configure.ac: Add -fno-asynchronous-unwind-tables.
3698
2b23074a
VS
36992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 Move assembly code to C by using intwrap. It increases core size
3702 by 88 bytes but improves compatibility and maintainability.
3703
3704 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3705 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3706 ... here. Translated to C.
3707 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3708 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3709 ... here. Translated to C.
3710 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3711 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3712 ... here. Translated to C.
3713 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3714 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3715 ... here. Translated to C.
3716 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3717 * grub-core/term/i386/pc/console.c (grub_console_cls):
3718 ... here. Translated to C.
3719 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3720 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3721 ... here. Translated to C.
3722 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3723 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3724 Translated to C.
3725 * grub-core/term/i386/pc/console.c (int10_9): New function.
3726 (grub_console_putchar): Likewise.
3727 * include/grub/i386/pc/console.h: Removed the not anymore shared
3728 functions.
3729
678f4b67
VS
37302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 Move grub_chainloader_real_boot out of the kernel.
3733
3734 * grub-core/Makefile.am: Remove machine/loader.h.
3735 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3736 Removed.
3737 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3738 variable.
3739 (grub_relocator16_keep_a20_enabled): Likewise.
3740 (grub_relocator16_boot): Fill new variables.
3741 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3742 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3743 relocator.
3744 (grub_chainloader_unload): Likewise.
3745 (grub_chainloader_cmd): Likewise.
3746 * include/grub/i386/pc/loader.h: Removed.
3747 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3748 and esi. All initialisers updated.
3749
4626edf6
VS
37502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
37512011-11-12 Colin Watson <cjwatson@ubuntu.com>
3752
3753 * Makefile.util.def (grub-mount): New util.
3754 * .bzrignore: Add grub-mount.
3755 * configure.ac: Check for fuse and enable grub-mount if available.
3756 * docs/man/grub-mount.h2m: New file.
3757 * util/grub-mount.c: Likewise.
3758
10f0117b
VS
37592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/commands/efi/fixvideo.c: Gettextize.
3762 * grub-core/commands/hashsum.c: Likewise.
3763 * grub-core/commands/i386/cmostest.c: Likewise.
3764 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3765 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3766 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3767 * grub-core/commands/lsmmap.c: Likewise.
3768 * grub-core/commands/menuentry.c: Likewise.
3769 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3770 * grub-core/commands/setpci.c: Likewise.
3771 * grub-core/loader/i386/bsd.c: Likewise.
3772 * grub-core/loader/i386/linux.c: Likewise.
3773 * util/getroot.c: Likewise.
3774 * util/grub-editenv.c: Likewise.
3775 * util/grub-fstest.c: Likewise.
3776 * util/grub-mkfont.c: Likewise.
3777 * util/grub-mkimage.c: Likewise.
3778 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3779 * util/grub-pe2elf.c: Likewise.
3780 * util/grub-probe.c: Likewise.
3781 * util/grub-setup.c: Likewise.
3782 * util/ieee1275/ofpath.c: Likewise.
3783 * util/misc.c: Likewise.
3784 * util/raid.c: Likewise.
3785
566f779b
RM
37862011-11-11 Robert Millan <rmh@gnu.org>
3787
3788 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3789 __attribute__((unused)) from `os_dev', which *is* being used.
3790
b50787de
VS
37912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3794 forgotten define.
3795 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3796 GRUB_IA64_DL_GOT_ALIGN.
3797 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3798 GRUB_IA64_DL_TRAMP_ALIGN.
3799
119d11c8
VS
38002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 Replace grub_fatal with normal errors in i386 linux loader.
3803
3804 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3805 (allocate_pages): Check find_efi_mmap_size return value.
3806 (grub_e820_add_region): Return error.
3807 (grub_linux_boot): Check mmap return value.
3808
6e0632e2
VS
38092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/commands/acpihalt.c: Gettextized.
3812 * grub-core/commands/cacheinfo.c: Likewise.
3813 * grub-core/commands/cmp.c: Likewise.
3814 * grub-core/commands/efi/loadbios.c: Likewise.
3815 * grub-core/commands/gptsync.c: Likewise.
3816 * grub-core/commands/ieee1275/suspend.c: Likewise.
3817 * grub-core/commands/legacycfg.c: Likewise.
3818 * grub-core/commands/memrw.c: Likewise.
3819 * grub-core/commands/minicmd.c: Likewise.
3820 * grub-core/commands/parttool.c: Likewise.
3821 * grub-core/commands/time.c: Likewise.
3822 * grub-core/commands/videoinfo.c: Likewise.
3823 * grub-core/disk/geli.c: Likewise.
3824 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3825 * grub-core/disk/luks.c: Likewise.
3826 * grub-core/disk/lvm.c: Likewise.
3827 * grub-core/font/font_cmd.c: Likewise.
3828 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3829 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3830 * grub-core/gfxmenu/view.c: Likewise.
3831 * grub-core/kern/emu/hostdisk.c: Likewise.
3832 * grub-core/kern/emu/main.c: Likewise.
3833 * grub-core/kern/emu/misc.c: Likewise.
3834 * grub-core/kern/emu/mm.c: Likewise.
3835 * grub-core/kern/mips/arc/init.c: Likewise.
3836 * grub-core/kern/mips/loongson/init.c: Likewise.
3837 * grub-core/kern/partition.c: Likewise.
3838 * grub-core/lib/i386/halt.c: Likewise.
3839 * grub-core/lib/mips/arc/reboot.c: Likewise.
3840 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3841 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3842 * grub-core/loader/i386/xnu.c: Likewise.
3843 * grub-core/loader/multiboot.c: Likewise.
3844 * grub-core/net/bootp.c: Likewise.
3845 * grub-core/net/net.c: Likewise.
3846 * grub-core/normal/term.c: Likewise.
3847 * grub-core/partmap/bsdlabel.c: Likewise.
3848 * grub-core/parttool/msdospart.c: Likewise.
3849 * grub-core/term/gfxterm.c: Likewise.
3850 * grub-core/term/terminfo.c: Likewise.
3851 * grub-core/video/i386/pc/vbe.c: Likewise.
3852 * util/grub-menulst2cfg.c: Likewise.
3853 * util/grub-mkdevicemap.c: Likewise.
3854 * util/grub-mklayout.c: Likewise.
3855 * util/grub-mkrelpath.c: Likewise.
3856 * util/grub-script-check.c: Likewise.
3857 * util/ieee1275/grub-ofpathname.c: Likewise.
3858 * util/resolve.c: Likewise.
3859
073aa7a9
VS
38602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 Support %1$d syntax.
3863
3864 * tests/printf_unit_test.c: New file.
3865 * Makefile.util.def (printf_test): New test.
3866 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3867
c76b5417
VS
38682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3871 fix.
3872
df067ad1
VS
38732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3876 dprintf.
3877 * grub-core/font/font.c (grub_font_load): Likewise.
3878
5b289bc5
VS
38792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * util/grub-macho2img.c: Add comment concerning gettext.
3882 * grub-core/lib/legacy_parse.c: Likewise.
3883
c1860f87
VS
38842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3887 (grub_xvasprintf): Likewise.
3888
d35d0d37
VS
38892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 Add const keyword to grub_env_get and gettextize week days.
3892
3893 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3894 (grub_read_hook_datetime): Return const char *.
3895 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3896 updated.
3897 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3898 Mark for gettext.
3899 (grub_get_weekday_name): Return const char *. Call gettext.
3900 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3901 char * and len as the argument. All users updated.
3902 (grub_script_argv_split_append): Receive const char *.
3903 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3904 * include/grub/env.h (grub_env_get): Likewise.
3905 (grub_env_read_hook_t): Return const char *.
3906 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3907 (grub_script_argv_split_append): Likewise.
3908
9aed8a71
VS
39092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3912
067fdf00
VS
39132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3916 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3917
a8bd9d39
VS
39182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3921 Fix prototype.
3922
f7ce5baf
VS
39232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 Fix mips compilation.
3926
3927 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3928 normal decoder.
3929 (hashes): Use in embed decoder as well (for sizes).
3930 (dec_stream_header): Fix embed decompressor logic.
3931 (dec_stream_footer): Likewise.
3932
9bb182f3
VS
39332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3936 an error and not a fatal on unrecognised relocation types.
3937
63a9e6f6
VS
39382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3941 Issue error rather than printf on unknown arguments.
3942
4c458569
VS
39432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3946 Make buf a const.
3947
e2d22baf
VS
39482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3951 Fix module name.
3952
53dc8590
VS
39532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3956 leftover debug printf.
3957
6c189294
VS
39582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3961
f7688369
VS
39622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3965 A stylistic fix.
3966
11a775a3
VS
39672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3970
33f784e8
SL
39712011-11-10 Shea Levy <slevy@tieronedesign.com>
3972
3973 Allow all modules to perform serial IO
3974
3975 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3976 * include/grub/serial.h (grub_serial_port_configure): New inline
3977 function.
3978 (grub_serial_port_fetch): Likewise.
3979 (grub_serial_port_put): Likewise.
3980 (grub_serial_port_fini): Likewise.
3981 (grub_serial_find): New proto.
3982
f6276525
VS
39832011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 Put symlink at the end of the node and fix a potential
3986 memory corruption.
3987
3988 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
3989 Make symlink into an array.
3990 (set_rockridge): Set have_symlink and alloc_dirents.
3991 (grub_iso9660_read_symlink): Use new layout.
3992 (grub_iso9660_iterate_dir): Fix memory corruption.
3993 Use new layout.
3994 (grub_iso9660_dir): Set have_symlink.
3995 (grub_iso9660_open): Likewise.
3996
c3591189
VS
39972011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 Remove local keyword.
4000
4001 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
4002 (version_test_gt): Likewise.
4003 (version_find_latest): Likewise.
4004 (gettext_printf): Likewise.
4005 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
4006
cb544caa
VS
40072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
4010
45bd824d
VS
40112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 Fix ZFS memory and resource leaks.
4014
4015 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
4016 All users updated.
4017 Free type on exit.
4018 (fill_vdev_info): New parameter inserted. All users updated.
4019 (check_pool_label): Likewise.
4020 (scan_disk): Likewise.
4021 (scan_devices): Close non-inserted disks.
4022 (fzap_iterate): Free l.
4023 (unmount_device): Free children descripto memory.
4024
ad9a2f44
VS
40252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
4028 argument (access out of bounds).
4029
6b68db81
VS
40302011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
4033 >= 6 drives.
4034
28840fda
VS
40352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
4038 Fix declaration.
4039
8a5a3a5b
VS
40402011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 Fix several memory leaks.
4043
4044 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
4045 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
4046 (grub_cpio_dir): Likewise.
4047 * grub-core/fs/fat.c (grub_fat_label): Likewise.
4048 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
4049 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
4050 (grub_romfs_label): Likewise.
4051 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
4052 (squash_unmount): New function.
4053 (grub_squash_dir): Fix memory leak.
4054 (grub_squash_open): Likewise.
4055 (grub_squash_read): Likewise.
4056 (grub_squash_mtime): Likewise.
4057 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
4058 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
4059 * util/grub-fstest.c (fstest): Likewise.
4060
57b01250
VS
40612011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
4064 avoid accessing beyond the array.
4065
19e81ba7
VS
40662011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
4069
52b656c0
VS
40702011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Several AFFS fixes.
4073
4074 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
4075 (GRUB_AFFS_FLAG_FFS): Removed.
4076 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
4077 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
4078 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
4079 (grub_fshelp_node): Make block 32-bit.
4080 Add block_cache and last_block_cache.
4081 (grub_affs_read_block): Fill and use block cache.
4082 (grub_affs_read_file): Removed.
4083 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
4084 boot block.
4085 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
4086 safety.
4087 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
4088 space.
4089 (grub_affs_close): Free block cache.
4090 (grub_affs_read): Use grub_fshelp_read_file directly.
4091
438a746a
VS
40922011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
4095 with no error set.
4096
49a45021
VS
40972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
4100 used variable.
4101 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4102 Likewise.
4103
3ae17eb8
VS
41042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4107
4108 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4109 byteswap when needed.
4110
27610c38
VS
41112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 Fix FreeBSD compilation.
4114
4115 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4116 to avoid circular dependency.
4117 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4118 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4119 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4120
4a19b601
VS
41212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 Fix ZFS crypto error types.
4124
4125 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4126 (grub_gcm_decrypt): Likewise.
4127 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4128 from PBKDF2.
4129
958ee221
VS
41302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 Illumos support.
4133
4134 * Makefile.util.def (10_illumos): New script.
4135 * configure.ac: Set COND_HOST_ILLUMOS.
4136 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4137 Support Illumos calls.
4138 (find_partition_start) [__sun__]: Likewise.
4139 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4140 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4141 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4142 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4143 device.
4144 * util/grub-probe.c (probe) [__sun__]: Do character check.
4145 * util/grub.d/10_illumos.in: New file.
4146
cac14fb6
VS
41472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 Support escaped commas in hostdisk.
4150
4151 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4152 (find_grub_drive): Use unescape_cmp.
4153 (make_device_name): Escape commas.
4154
78e08dc3
VS
41552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4158
9f421dd1
VS
41592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4162 variable.
4163
ed64e9e2
VS
41642011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 Support trampoline jumps on powerpc.
4167
4168 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4169 __ia64__ path.
4170 (grub_dl_load_segments): Set mod->sz.
4171 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4172 segments.
4173 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4174 (jump): Likewise.
4175 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4176 function.
4177 (trampoline): New struct.
4178 (trampoline_template): New const.
4179 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4180 * include/grub/dl.h (grub_dl): Add sz element.
4181 [__powerpc__]: Follow __ia64__.
4182 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4183 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4184 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4185 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4186
3084ede4
VS
41872011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 ZFS crypto support.
4190
4191 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4192 * grub-core/Makefile.core.def (zfscrypt): New module.
4193 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4194 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4195 it. All users updated.
4196 (grub_zfs_decrypt): New var.
4197 (grub_zfs_load_key): Likewise.
4198 (zio_checksum_functions): Add SHA256+MAC.
4199 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4200 (zio_read): Handle encrypted blocks.
4201 (zap_verify): Remove incorrect check.
4202 (fzap_iterate): Handle non-standard fzap.
4203 (zap_iterate): Likewise.
4204 (zap_iterate_u64): New function.
4205 (dnode_get_fullpath): Load keys.
4206 * grub-core/fs/zfs/zfscrypt.c: New file.
4207 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4208 (grub_crypto_ecb_encrypt): Make input const.
4209 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4210 (grub_crypto_ecb_encrypt): Make input const.
4211 (GRUB_CIPHER_AES): New macro.
4212 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4213 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4214 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4215 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4216 prefix. All users updated.
4217 (grub_zfs_add_key): New proto.
4218 (grub_zfs_decrypt): Likewise.
4219 (grub_zfs_load_key): Likewise.
4220 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4221 * util/grub-fstest.c (options): Add -K option.
4222 (argp_parser): Likewise.
4223
b632b404
VS
42242011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 Support zle compression on ZFS.
4227
4228 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4229 (decomp_table): Add zle.
4230 * include/grub/zfs/zio.h (zio_compress): Add zle.
4231
c7ba4f69
VS
42322011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 Support BtrFS embedding.
4235
4236 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4237 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4238 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4239 * util/grub-setup.c (setup): Use fs embedding if available.
4240 Add additional sanity check.
4241
455377d9
VS
42422011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * util/grub-install.in: Fix condition for config_opt.
4245
c2fd16ca
VS
42462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 Support third redundancy strip on raidz3.
4249
4250 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4251 Return error on singularity. All users updated.
4252 (read_device): Don't stop on 3rd failure on raidz3.
4253
8622923b
VS
42542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 Support case-insensitive ZFS subvolumes.
4257
4258 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4259 All users updated.
4260 (zap_hash): Likewise.
4261 (name_cmp): New function.
4262 (zap_leaf_array_equal): New parameter case_insensitive.
4263 All users updated.
4264 (zap_leaf_lookup): Likewise.
4265 (fzap_lookup): Likewise.
4266 (zap_lookup): Likewise.
4267 (dnode_get_path): New parameter case_insensitive. Retrieve case
4268 sensitiviness of a volume. All users updated.
4269 (dnode_get_fullpath): New parameter case_insensitive.
4270 All users updated.
4271 (grub_zfs_dir): Set info.case_insensitiveness.
4272
95f2e860
VS
42732011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 Support second redundancy strip on raidz(2,3).
4276
4277 * grub-core/fs/zfs/zfs.c (powx): New array.
4278 (powx_inv): Likewise.
4279 (poly): New const.
4280 (xor_out): New function.
4281 (gf_mul): Likewise.
4282 (recovery): Likewise.
4283 (read_device): Use second redundancy strip.
4284
11ee4389
VS
42852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 Use a power of generator representation of GF(256) multiplication group
4288 to save space time and complexity.
4289
4290 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4291 (raid6_table2): Likewise.
4292 (powx): New array.
4293 (powx_inv): Likewise.
4294 (poly): New const.
4295 (grub_raid_block_mul): Replace with ...
4296 (grub_raid_block_mulx): ...this.
4297 (grub_raid6_init_table): Rewritten.
4298 (grub_raid6_recover): Use power of generator representation.
4299
09e2763f
VS
43002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4303 for the right device.
4304
8bec9a28
VS
43052011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4308 expected by grub-mkimage and it's more clear since there is no implicit
4309 padding.
4310
dbd3a32e
VS
43112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4314 disk.
4315 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4316
182c872a
PMH
43172011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4318
4319 * util/grub-mkrescue.in: Fix handling xorriso option.
4320
1e51cabd
VS
43212011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4324 NULL.
4325
9cc3581d 43262011-11-03 crocket <crockabiscuit@gmail.com>
4327
4328 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4329
158dc1ea
VS
43302011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 XZ CRC64 and SHA256 support.
4333
4334 * Makefile.util.def (libgrubmods): Add crc64.c.
4335 * grub-core/Makefile.core.def (crc64): New module.
4336 * grub-core/lib/crc64.c: New file.
4337 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4338 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4339 Fix the type.
4340 (MAX_HASH_SIZE): New define.
4341 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4342 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4343 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4344 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4345 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4346 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4347 Handle non-crc32 hashes.
4348 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4349 (dec_stream_header): Handle non-crc32 hashes.
4350 (dec_stream_footer): Likewise.
4351 (dec_block_header): Likewise.
4352 (dec_main): Likewise.
4353 (xz_dec_init): Likewise.
4354 (xz_dec_reset): Likewise.
4355 (xz_dec_end): Likewise.
4356 * util/import_gcry.py: Add CRC64 line.
4357
9d9b3d2f
VS
43582011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4361 as well.
4362
7d0ac931
VS
43632011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 Make reiserfs label retrieval similar to other *_label functions.
4366
4367 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4368 (REISERFS_MAX_LABEL_LENGTH): Removed.
4369 (REISERFS_LABEL_OFFSET): Likewise.
4370 (grub_reiserfs_label): Rewritten.
4371
43722011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4375 field.
4376
cf5ba824
VS
43772011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4380
17744004
VS
43812011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4384 drive failure on both raidz and raidz2.
4385
aca5aefc
VS
43862011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Fix RAIDZ(2) for >= 5 devices.
4389
4390 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4391 asize argument. All users updated.
4392
ce8ca56e
VS
43932011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 Fix RAIDZ(2).
4396
4397 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4398 (fill_vdev_info_real): Set ashift.
4399 (read_device): Rewrite RAIDZ part based on reverse engineering.
4400
7c01e783
VS
44012011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4404 don't report potentially unavialiable fields in debug output.
4405 (find_path): Fix double-free and memory leak.
4406
ce109e84
VS
44072011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 Read label on UFS1.
4410
4411 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4412 (grub_ufs_fs): Always set .label.
4413
87661123
VS
44142011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 Use shifts in UFS.
4417
4418 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4419 (grub_ufs_data): New field log2_blksz.
4420 (grub_ufs_read_file): Use shifts.
4421 (grub_ufs_mount): Check block size and logarithm it.
4422
46bc1dc2
VS
44232011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4426 long symlinks.
4427
19ee2987
VS
44282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 Handle symlinks and long names on tar and cpio.
4431
4432 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4433 (ATTR_FILE): Likewise.
4434 (ATTR_DIR): Likewise.
4435 (ATTR_LNK): Likewise.
4436 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4437 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4438 L and K entries.
4439 (grub_cpio_mount): Zero-fill data.
4440 (handle_symlink): New function.
46bc1dc2
VS
4441 (grub_cpio_dir): Handle symlinks.
4442 (grub_cpio_open): Likewise.
4443 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 4444
c83a08d8
VS
44452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 Fix iso9660 filename limitations and fix memory leaks.
4448
4449 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4450 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4451
45cdd3ea
VS
44522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 Fix JFS file name length limitations.
4455
4456 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4457 (grub_jfs_diropen): Fix maximum filename length.
4458 (grub_jfs_getent): Fix filename length.
4459 (grub_jfs_lookup_symlink): Fix size checks.
4460
94ef05c2
VS
44612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4464 string.
4465
785ab8c7
VS
44662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4467
eb0b6b45
VS
4468 Leverage BFS implementation to read AFS.
4469
4470 * Makefile.util.def (libgrubmods): Add afs.c.
4471 * grub-core/Makefile.core.def (afs): New module
4472 * grub-core/fs/afs.c: New file.
4473 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4474
44752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 4478
c4a1628f
VS
44792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * grub-core/fs/bfs.c: Run indent.
4482
5825b379
VS
44832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 BFS implementation based on the specification.
4486
4487 * grub-core/fs/bfs.c: New file.
4488 * Makefile.util.def (libgrubmods): Add bfs.c.
4489 * grub-core/Makefile.core.def (bfs): New module.
4490
42b2a706
VS
44912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * util/grub-fstest.c (cmd_cp): Clarify error message.
4494 (cmd_cmp): Likewise.
4495
61b99bfc
YB
44962011-10-30 Yves Blusseau <blusseau@zetam.org>
4497
4498 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4499 and befs_be.
4500
faba3d16
VS
45012011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 Remove afs and befs because of copyright problem.
4504
4505 * grub-core/fs/afs.c: Removed.
4506 * grub-core/fs/afs_be.c: Removed.
4507 * grub-core/fs/befs.c: Removed.
4508 * grub-core/fs/befs_be.c: Removed.
4509 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4510 * grub-core/Makefile.core.def (afs): Removed.
4511 (afs_be): Likewise.
4512 (befs): Likewise.
4513 (befs_be): Likewise.
4514
c39224b0
VS
45152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Prefer rockridge over Joliet.
4518
4519 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4520 to ...
4521 (set_rockridge): ... here.
4522 (grub_iso9660_mount): Check rockridge on the primary label when
4523 discovering. Ignore Joliet if Rockridge is present.
4524
e551115a
VS
45252011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Use shifts in nilfs2.
4528
4529 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4530 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4531 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4532 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4533 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4534 (grub_nilfs2_entries_per_block): Replaced with ...
4535 (grub_nilfs2_log_entries_per_block_log): ... this.
4536 (grub_nilfs2_blocks_per_group): Replaced with ...
4537 (grub_nilfs2_blocks_per_group_log): ... this.
4538 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4539 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4540 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4541 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4542 (grub_nilfs2_palloc_entry_offset): Replaced ...
4543 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4544 (grub_nilfs2_dat_translate): Use shifts.
4545 (grub_nilfs2_read_inode): Likewise.
4546 (GRUB_MOD_INIT): Ensure that logs are correct.
4547
564dd58c
VS
45482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 Use shifts in minix filesystem.
4551
4552 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4553 (GRUB_MINIX_ZONE2SECT): Likewise.
4554 (grub_minix_data): Replace block_size with log_block_size.
4555 (grub_minix_read_file): Use shifts.
4556 (grub_minix_mount): Check block size and take a logarithm.
4557
ed9ba06d
VS
45582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 Use shifts in squash4.
4561
4562 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4563 (squash_mount): Check block size and take logarithm.
4564 (direct_read): Use shifts.
4565
ad03fe76
VS
45662011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Correct befs block counting logic.
4569
4570 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4571 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4572 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4573 (grub_afs_read_inode): Use block_shift.
4574 (RANGE_SHIFT): New definition.
4575 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4576 unexpected conditions, use shifts and appropriate types.
4577 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4578
6563f63d
VS
45792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/disk/raid.c (scan_devices): Check partition.
4582 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4583
5b1ae25f
VS
45842011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 Support BFS (befs) UUID.
4587
4588 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4589 (grub_afs_small_data_element_header): New struct.
4590 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4591 (grub_afs_read_attribute) [MODE_BFS]: New function.
4592 (grub_afs_iterate_dir): Allocate for complete inode.
4593 (grub_afs_mount): Likewise.
4594 (grub_afs_uuid) [MODE_BFS]: New function.
4595 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4596
f8d82408
VS
45972011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4600 (zfs_unmount): Fix memory leak.
4601
5773fb64
VS
46022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 Support NTFS reparse points.
4605
4606 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4607 (symlink_descriptor): New struct.
4608 (grub_ntfs_read_symlink): New function.
4609 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4610 (grub_ntfs_open): Likewise.
4611
91c3fdde
VS
46122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4615
3be82e10
VS
46162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 fstest xnu_uuid subcommand.
4619
4620 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4621 grub-core/commands/xnu_uuid.c.
4622 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4623 (fstest): Handle xnu_uuid.
4624 (options): Document xnu_uuid.
4625 (argp_parser): Parse xnu_uuid.
4626
8e32442e
VS
46272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4630 -l argument. Add newline at the end if printing.
4631 (GRUB_MOD_INIT): Document -l.
4632
52a05075
VS
46332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4636
1869edb5
VS
46372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 ZFS multi-device and version 33 support.
4640
4641 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4642 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4643 (grub_zfs_data): Add multidev-ice-related fields.
4644 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4645 (dva_get_offset): Make dva const.
4646 (zfs_fetch_nvlist): New function.
4647 (fill_vdev_info_real): Likewise.
4648 (fill_vdev_info): Likewise.
4649 (check_pool_label): Likewise.
4650 (scan_disk): Likewise.
4651 (scan_devices): Likewise.
4652 (read_device): Likewise.
4653 (read_dva): Likewise.
4654 (zio_read_gang): Use read_dva.
4655 (zio_read_data): Likewise.
4656 (zap_leaf_lookup): Add missing endian conversion.
4657 (zap_verify): Add missing endian conversion. All users updated.
4658 (fzap_lookup): Likewise.
4659 (fzap_iterate): Likewise.
4660 (dnode_get_path): Handle SA bonus.
4661 (nvlist_find_value): Make input const. All users updated.
4662 (unmount_device): New function.
4663 (zfs_unmount): Use unmount_device.
4664 (zfs_mount): Use scan_disk.
4665 (zfs_mtime): New function.
4666 (grub_zfs_open): Handle system attributes.
4667 (fill_fs_info): Likewise.
4668 (grub_zfs_dir): Likewise.
4669 (grub_zfs_fs): Add mtime.
4670 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4671 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4672 (SA_MTIME_OFFSET): Likewise.
4673 (SA_SYMLINK_OFFSET): Likewise.
4674 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4675 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4676 (fstest): Support zfsinfo.
4677 (argp_parser): Likewise.
4678
186b4028
VS
46792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4682 error.
4683
46842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
4685
4686 ZFS fixes.
4687
4688 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4689 sharing the same block. Iterate over correct number of indices.
4690 (dnode_get_path): Handle symlinks correctly.
4691
c0584900
VS
46922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4695
67e2bd71
VS
46962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 Read label on HFS+.
4699
4700 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4701 (grub_hfsplus_btree_search): Fix types.
4702 (grub_hfsplus_label): Implement.
4703
e9cc6b7b
VS
47042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4707
19832ddb
VS
47082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4711
66b40850
VS
47122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 Fix symlink handling on iso9660.
4715
4716 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4717 All users updated.
4718 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4719 (grub_iso9660_read_symlink): Moved most of code ...
4720 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4721
db821363
VS
47222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4725 Use union to avoid breaking strict-aliasing rules.
4726
e1211949
VS
47272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 Support multi-extent iso files.
4730
4731 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4732 Add node.
4733 (grub_fshelp_node): Revamp. All users updated.
4734 (FLAG_*): New enum.
4735 (read_node): New function.
4736 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4737 All users updated.
4738 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4739 (get_node_size): New function.
4740 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4741 entries.
4742 Fix memory leak on . and ..
4743 (grub_iso9660_read): Use read_node.
4744 (grub_iso9660_close): Free node.
4745
d4888031
VS
47462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 Fix tar 4G limit and handle paths containing dot.
4749
4750 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4751 (canonicalize): New function.
4752 (grub_cpio_find_file): Use canonicalize. Store offs in
4753 grub_disk_addr_t.
4754 (grub_cpio_dir): Use grub_disk_addr_t.
4755 (grub_cpio_open): Likewise.
4756
9f12e664
VS
47572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4760
4761 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4762 unused flags.
4763 (grub_squash_inode): Add long_file and block_size.
4764 (grub_squash_cache_inode): New struct.
4765 (grub_squash_dirent): Make types into enum.
4766 (SQUASH_TYPE_LONG_REGULAR): New type.
4767 (grub_squash_frag_desc): Add field size.
4768 (SQUASH_BLOCK_FLAGS): New enum.
4769 (grub_squash_data): Use grub_squash_cache_inode.
4770 (grub_fshelp_node): Make ino_chunk 64-bit.
4771 (read_chunk): Minor argument change. All users updated.
4772 (squash_mount): Use correct le_to_cpu.
4773 (grub_squash_open): Handle LONG_REGULAR.
4774 (direct_read): New function.
4775 (grub_squash_read_data): Handle blocks correctly.
4776
9f326fba
VS
47772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4780
f4d9b64b
VS
47812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4784
5bbd28b8
VS
47852011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 Fix 2G limit on ZFS.
4788
4789 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4790 types.
4791 (uberblock_verify): Likewise.
4792 (dmu_read): Likewise.
4793 (grub_zfs_read): Likewise. Remove invalid cast.
4794
68c72069
VS
47952011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4798 (grub_jfs_blkno): Fix incorrect shift.
4799 (grub_jfs_read_file): Use more appropriate types.
4800
6e536dc8
VS
48012011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 Support triple indirect on minix2 and minix3.
4804
4805 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4806 Declare triple_indir_zone.
4807 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4808 indirect.
4809
e0864e7a
VS
48102011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 Minix FS fixes.
4813
4814 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4815 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4816 Rename ctime to mtime. All users updated.
4817 (grub_minix_get_file_block): Fix types and double indirect computations.
4818
89481cab
VS
48192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4822 if no label is found.
4823 (grub_fat_iterate_dir): Fix file size type.
4824 (grub_fat_iterate_dir): Likewise.
4825
f646e143
VS
48262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4829 save some space.
4830 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4831 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4832
534d769e
VS
48332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4836
e084ba18
VS
48372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * util/import_gcry.py: Accept space between # and include.
4840
3471ecdf
VS
48412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4844
124df5f6
VS
48452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4848
4849 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4850 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4851 yylex_strncpy.
4852 * grub-core/script/yylex.l: Add fine-grained #pragma.
4853
4defb8d5
VS
48542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4857 New inline function.
4858 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4859 Likewise.
4860 (memset) [GRUB_UTIL]: Likewise.
4861 (memcmp) [GRUB_UTIL]: Likewise.
4862
4e94ae65
VS
48632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4866 inline function rather than a define.
4867
18c575e5
VS
48682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * util/grub-setup.c: Add missing include.
4871
f8bc22a8
VS
48722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * util/ieee1275/grub-ofpathname.c: Add missing include.
4875
3ce69fc9
VS
48762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4879 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4880 Likewise.
4881
d1e293bb
VS
48822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4885 grub_memcmp usage.
4886
7a5c54a4
VS
48872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * util/grub-install.in: Add datarootdir as per automake manual
4890 suggestion.
4891 * util/grub-mknetdir.in: Likewise.
4892
48932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
4894
4895 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4896 suggestion.
4897 * util/grub.d/10_kfreebsd.in: Likewise.
4898 * util/grub.d/10_linux.in: Likewise.
4899 * util/grub.d/10_netbsd.in: Likewise.
4900 * util/grub.d/10_windows.in: Likewise.
4901 * util/grub.d/20_linux_xen.in: Likewise.
4902
766f7d08
VS
49032011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 Remove redundant grub_kernel_image_size.
4906
4907 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4908 _edata and _start.
4909 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4910 the small code. It moves it only by few bytes but simplifies the code.
4911 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4912 _start.
4913 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4914 (grub_kernel_image_size): Removed.
4915 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4916 (grub_kernel_image_size): Removed.
4917 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4918 compiled with Apple toolchain.
4919 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4920 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4921 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4922 (grub_total_module_size): Likewise.
4923 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4924 Removed.
4925 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4926 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4927 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4928 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4929 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4930 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4931 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4932 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4933 Removed.
4934 (grub_total_module_size): Removed.
4935 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4936 (image_targets): Likewise.
4937 Set .compressed_size to no field on sparc.
4938 (generate_image): Remove kernel_image_size handling.
4939
fcf1d672
SJ
49402011-10-19 Szymon Janc <szymon@janc.net.pl>
4941
4942 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4943 NULL pointer dereference.
4944
de9c615e
VS
49452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4948 done with a dedicated section.
4949
4950 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4951 Ensure the correct position of boot_path.
4952 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4953 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4954 other fields.
4955 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4956 * include/grub/boot.h: Removed. All references removed.
4957 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4958 Removed.
4959 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4960
e55599dc
VS
49612011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4964 name.
4965
36dd20ad
VS
49662011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4969
f8f72eb8
VS
49702011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4973 Don't add the bogus brackets.
4974
a374751b
VS
49752011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 ExFAT support.
4978
4979 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4980 * grub-core/Makefile.core.def (exfat): New module.
4981 * grub-core/fs/exfat.c: New file.
4982 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4983 (GRUB_FAT_ATTR_*): Make into an enum.
4984 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4985 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4986 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
4987 (GRUB_FAT_MAXFILE): Removed.
4988 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
4989 (grub_current_fat_bpb_t): New type.
4990 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
4991 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
4992 (grub_fat_dir_node_t): New type.
4993 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
4994 (fat_log2) [MODE_EXFAT]: Removed.
4995 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
4996 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
4997 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
4998 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
4999 (grub_fat_label) [MODE_EXFAT]: New function.
5000 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
5001 reserved_first_sector to 0.
5002
544c2487
VS
50032011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 Move grub_reboot out of the kernel.
5006
5007 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
5008 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
5009 * grub-core/lib/efi/reboot.c: ... here.
5010 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
5011 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5012 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
5013 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
5014 * grub-core/lib/i386/reboot_trampoline.S: ... here.
5015 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
5016 * grub-core/lib/ieee1275/reboot.c: ... here.
5017 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
5018 * grub-core/lib/mips/arc/reboot.c: ... here.
5019 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
5020 * grub-core/lib/mips/loongson/reboot.c: ...here.
5021 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
5022 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
5023 * include/grub/emu/misc.h (grub_reboot): New function declaration.
5024 * include/grub/i386/reboot.h: New file.
5025 * include/grub/mips/loongson/ec.h: Fix includes.
5026 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
5027 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
5028 * grub-core/lib/i386/reboot.c: New file.
5029
a97501d2
VS
50302011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 Make grub_prefix into module to fix the arbitrary limit and save
5033 some space.
5034
5035 * grub-core/kern/emu/main.c (grub_prefix): Removed.
5036 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
5037 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
5038 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
5039 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
5040 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
5041 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
5042 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
5043 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5044 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
5045 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
5046 * include/grub/ia64/efi/kernel.h: Removed.
5047 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
5048 (grub_prefix): Removed.
5049 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
5050 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
5051 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
5052 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
5053 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
5054 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
5055 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
5056 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
5057 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
5058 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
5059 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5060 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5061 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5062 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5063 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
5064 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
5065 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
5066 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5067 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
5068 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
5069 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
5070 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
5071 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
5072 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
5073 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
5074 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
5075 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
5076 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
5077 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
5078 from module.
5079 * util/grub-mkimage.c (image_target_desc): Removed prefix and
5080 prefix_end.
5081 (image_targets): Likewise.
5082 (generate_image): Put prefix as a module.
5083
39705fad
VS
50842011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 Replace grub_module_iterate with FOR_MODULES.
5087
5088 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
5089 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
5090 (grub_efi_modules_addr): ...this.
5091 * grub-core/kern/efi/init.c (grub_modbase): New variable.
5092 (grub_efi_init): Set grub_modbase.
5093 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
5094 (grub_modbase): New variable.
5095 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
5096 (grub_modbase): New variable.
5097 (grub_machine_init): Set grub_modbase.
5098 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
5099 (grub_modbase): New variable.
5100 (grub_machine_init): Set grub_modbase.
5101 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
5102 (grub_modbase): New variable.
5103 (grub_machine_init): Set grub_modbase.
5104 * grub-core/kern/main.c (grub_module_iterate): Remove.
5105 (grub_modules_get_end): Use grub_modbase.
5106 (grub_load_modules): Use FOR_MODULES.
5107 (grub_load_config): Likewise.
5108 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5109 (grub_modbase): New variable.
5110 (grub_machine_init): Set grub_modbase.
5111 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5112 (grub_modbase): New variable.
5113 (grub_machine_init): Set grub_modbase.
5114 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5115 Removed.
5116 (grub_modbase): New variable.
5117 (grub_machine_init): Set grub_modbase.
5118 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5119 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5120 (grub_module_iterate): Likewise.
5121 (grub_modbase): New variable declaration.
5122 (FOR_MODULES): New macro.
5123
2afb7f6c
VS
51242011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5127 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5128
366e34fa
VS
51292011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 Fix few obvious type discrepancies.
5132
5133 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5134 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5135 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5136 variable.
5137 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5138 and connected types.
5139 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5140 offset.
5141 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5142 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5143 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5144 and connected types.
5145
177b960e
VS
51462011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 Fix python 3.x incompatibilities.
5149
5150 * gentpl.py: Put brackets around print strings.
5151 * util/import_gcry.py: Open explicitly as utf-8.
5152 Use in instead of has_key.
5153
3b619ae1
VS
51542011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5157 (GRUB_XFS_INO_AGBITS): Make into inline function.
5158 (GRUB_XFS_INO_INOINAG): Likewise.
5159 (GRUB_XFS_INO_AG): Likewise.
5160 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5161 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5162 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5163 (GRUB_XFS_EXTENT_SIZE): Likewise.
5164 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5165 (GRUB_XFS_NEXT_DIRENT): Likewise.
5166 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5167 (grub_xfs_read_file): Fix offset type.
5168
8bcebcb8
RM
51692011-10-15 Robert Millan <rmh@gnu.org>
5170
5171 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5172
0017e5ef
RM
51732011-10-15 Robert Millan <rmh@gnu.org>
5174
5175 Fix build problem on FreeBSD and GNU/kFreeBSD.
5176
5177 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5178
d8919552
VS
51792011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5182
5183 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5184 types.
5185 (grub_hfsplus_btree_recoffset): Likewise.
5186 (grub_hfsplus_btree_recptr): Likewise.
5187 (grub_hfsplus_find_block): Likewise.
5188 (grub_hfsplus_btree_search): Likewise.
5189 (grub_hfsplus_read_block): Likewise.
5190 (grub_hfsplus_read_file): Likewise.
5191 (grub_hfsplus_mount): Likewise.
5192 (grub_hfsplus_btree_iterate_node): Likewise.
5193 (grub_hfsplus_btree_search): Likewise.
5194 (grub_hfsplus_iterate_dir): Likewise.
5195 (grub_hfsplus_read): A small code simplification.
5196
c81296b6
VS
51972011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * grub-core/kern/emu/hostdisk.c
5200 (convert_system_partition_to_system_disk): Don't assume that children
5201 of mapper nodes are mapper nodes.
5202
0eb8ffb1
VS
52032011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5206 * include/grub/misc.h (grub_isxdigit): New function.
5207 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5208 switched to grub_isxdigit.
5209 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5210 number starting with a letter.
5211
a98f4a08
RM
52122011-10-09 Robert Millan <rmh@gnu.org>
5213
5214 LVM support for FreeBSD and GNU/kFreeBSD.
5215
5216 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5217 GNU/kFreeBSD.
5218 (LVM_DEV_MAPPER_STRING): Move from here ...
5219 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5220 * util/getroot.c: Include `<grub/util/lvm.h>'.
5221 (grub_util_get_dev_abstraction): Enable
5222 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5223 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5224 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5225 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5226 support it.
5227 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5228 GNU/kFreeBSD.
5229 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5230 when LVM abstraction is required for ${GRUB_DEVICE}.
5231
050e8e90
SJ
52322011-10-06 Szymon Janc <szymon@janc.net.pl>
5233
5234 Add support for LZO compression in GRUB:
5235 - import of minilzo library,
5236 - LZO decompression for btrfs,
5237 - lzop files decompression.
5238
5239 * grub-core/io/lzopio.c: New file.
5240 * grub-core/lib/adler32.c: Likewise.
5241 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5242 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5243 * grub-core/lib/minilzo/minilzo.c: Likewise.
5244 * grub-core/lib/minilzo/minilzo.h: Likewise.
5245 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5246 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5247 grub-core/lib/minilzo/minilzo.c to common.
5248 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5249 cflags in cppflags.
5250 * grub-core/Makefile.core.def (btrfs): Likewise.
5251 * grub-core/Makefile.core.def (lzopio): New module.
5252 (adler32): Likewise.
5253 * grub-core/fs/btrfs.c: Include minilzo.h.
5254 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5255 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5256 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5257 (grub_btrfs_lzo_decompress): New function.
5258 (grub_btrfs_extent_read): Add support for LZO compression type.
5259 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5260 (GRUB_USHRT_MAX): Likewise.
5261 (GRUB_UINT_MAX): Likewise.
5262 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5263 (UINT_MAX): Likewise.
5264 (CHAR_BIT): Likewise.
5265 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5266 grub-core/lib/posix_wrap/limits.h
5267 (UCHAR_MAX): Likewise.
5268 * include/grub/file.h (grub_file_filter_id): New compression filter
5269 GRUB_FILE_FILTER_LZOPIO.
5270 * include/grub/file.h (grub_file_filter_id): Set
5271 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5272 * include/grub/types.h (grub_get_unaligned16): New function.
5273 (grub_get_unaligned32): Likewise.
5274 (grub_get_unaligned64): Likewise.
5275 * util/import_gcry.py (cryptolist): Add adler32.
5276
0eb8ffb1
VS
52772011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5280 in perspective decreases the complexity of build system and fixes
5281 compilation right now.
5282
ce79cc99 52832011-10-01 Ales Nesrsta <starous@volny.cz>
5284
5285 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5286 (fixed problem related to using UHCI with coreboot).
5287
8667a314
BC
52882011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5289
5290 * gentpl.py: Use Autogen macros so that the output template file
5291 (Makefile.tpl) size is reduced.
5292
fc5efcc0
MK
52932011-09-29 Mads Kiilerich <mads@kiilerich.com>
5294
5295 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5296 extra_dist.
5297
d1ab689d
ML
52982011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5299
5300 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5301 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5302
c05de032
ML
53032011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5304
5305 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5306 _fullpath.
5307
cca7ccd8
ML
53082011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5309
5310 Remove extra declaration of sleep for mingw32.
5311
5312 * util/misc.c (sleep) [__MINGW32__]: Removed.
5313 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5314
e0b0dc83
GS
53152011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5316
5317 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5318 type and packname.
5319 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5320 Resurrected.
5321 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5322 (grub_netbsd_btinfo_bootwedge): New struct.
5323 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5324 New function.
5325 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5326
91a1a164
TH
53272011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5328
5329 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5330 loader.
5331
2ded951e
AB
53322011-09-28 Andreas Born <futur.andy@googlemail.com>
5333
5334 Fix incorrect identifiers in bash-completion.
5335
5336 * util/bash-completion.d/grub-completion.bash.in
5337 (_grub_mkpasswd-pbkdf2): Rename to ...
5338 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5339 (_grub_script-check): Rename to ...
5340 (_grub_script_check): ... this. All users updated.
5341
69915030
VS
53422011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5345 Return 0 if disk isn't biosdisk.
5346
20fd15f9
GS
53472011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5348
5349 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5350 on NetBSD.
5351 * Makefile.util.def (grub-fstest): Likewise.
5352
1a7d7db9
GS
53532011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5354
5355 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5356 Get sector size from disk label.
5357
2221ab6c
CW
53582011-09-05 Colin Watson <cjwatson@ubuntu.com>
5359
5360 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5361 */README* as well as README*.
5362 Reported by: Axel Beckert.
5363
ca51c4a0
VS
53642011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5367 case of less than 256 MiB of RAM.
5368
ab80f326
VS
53692011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * grub-core/commands/wildcard.c (make_regex): Handle @.
5372
4155e697
VS
53732011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5376
ab178c08
SJ
53772011-08-21 Szymon Janc <szymon@janc.net.pl>
5378
5379 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5380 AC_LANG_CONFTEST macros.
5381
7dc3c686
SJ
53822011-08-20 Szymon Janc <szymon@janc.net.pl>
5383
5384 Add grub-fstest option to uncompress data for commands.
5385
5386 * util/grub-fstest.c (uncompress): New var.
5387 (options): New option -u.
5388
fe8d4a7b
SJ
53892011-08-20 Szymon Janc <szymon@janc.net.pl>
5390
5391 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5392 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5393
a5219af1
SJ
53942011-08-20 Szymon Janc <szymon@janc.net.pl>
5395
5396 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5397 file type was not recognized correctly (not gzip or corrupted).
5398
f87abff5
VS
53992011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5402 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5403
d94497ea
VS
54042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5407 loongson.
5408 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5409 video_radeon_fuloong2e.
5410 * grub-core/video/radeon_fuloong2e.c: New file.
5411 * include/grub/video.h (grub_video_id_t): Add new ID
5412 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5413
0d1fd011
VS
54142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5417 define.
5418 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5419 that PRID matches the detected subplatform and reset the subplatform
5420 if it doesn't.
5421
84beb0ee
VS
54222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5425
1227c133
VS
54262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 Fix PCI iterating on functions >= 4.
5429
5430 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5431 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5432 Removed.
5433 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5434 (grub_pci_read): Fix bitmask.
5435 (grub_pci_read_word): Likewise.
5436 (grub_pci_read_byte): Likewise.
5437 (grub_pci_write): Likewise.
5438 (grub_pci_write_word): Likewise.
5439 (grub_pci_write_byte): Likewise.
5440
9594c689
VS
54412011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5444 can still be specified in TARGET_CFLAGS)
5445
14a2562c
VS
54462011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5449
5450 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5451 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5452 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5453 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5454 (FULOONG): Rename to ...
5455 (FULOONG2F): ... this. All users updated.
5456 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5457 (machtype_fuloong2f_str): ... this.
5458 (machtype_fuloong2e_str): New string.
5459 Check for machtype_fuloong2e_str.
5460 * grub-core/loader/mips/linux.c (loongson_machtypes)
5461 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5462 * grub-core/term/serial.c (loongson_defserial)
5463 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5464 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5465 loongson_defserial.
5466 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5467 Rename to ...
5468 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5469 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5470 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5471 to IMAGE_FULOONG2F_FLASH. All users updated.
5472 (image_targets): Rename images.
5473 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5474
b526cbb6
SJ
54752011-08-19 Szymon Janc <szymon@janc.net.pl>
5476
5477 Make enable of disk cache statistics code configurable.
5478
5479 * configure.ac: --enable-cache-stats added.
5480 * config.h.in (DISK_CACHE_STATS): New define.
5481 * grub-core/Makefile.core.def (cacheinfo): New command.
5482 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5483 * grub-core/commands/cacheinfo.c: New file.
5484 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5485 moved to cacheinfo.c.
5486 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5487 debug code.
5488 * include/grub/disk.h: Likewise.
5489
fb739ccd
SJ
54902011-08-19 Szymon Janc <szymon@janc.net.pl>
5491
5492 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5493 * grub-core/Makefile.am: Likewise.
5494
2bba8cfd
VS
54952011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5498 non-zero pull.
5499
43526629
VS
55002011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5503 All users updated.
5504 (grub_jfs_lookup_symlink): Use correct starting inode.
5505
5c144cc8
VS
55062011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * util/grub-setup.c (main): Add missing gcry initialisation.
5509
b1257f65
VS
55102011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Don't accept text modes on EFI when booting Linux.
5513
5514 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5515 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5516
828bc390
ML
55172011-08-15 Mario Limonciello <mario_limonciello@dell.com>
55182011-08-15 Colin Watson <cjwatson@ubuntu.com>
5519
5520 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5521 use of "/path/.." as in grub-install for EFI as well as handling
5522 symlinks correctly.
5523 Fixes Debian bug #637768.
5524
5f60ccac
CW
55252011-08-15 Colin Watson <cjwatson@ubuntu.com>
5526
5527 * util/grub-probe.c: Remove duplicate #include.
5528
6dc212f9
RM
55292011-08-10 Robert Millan <rmh@gnu.org>
5530
5531 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5532
5533 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5534 function.
5535 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5536 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5537
66816d85
RM
55382011-08-03 Robert Millan <rmh@gnu.org>
5539
5540 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5541 la_array as packed.
5542 Reported by: Zachary Bedell
5543
20168fca
CW
55442011-07-26 Colin Watson <cjwatson@ubuntu.com>
5545
5546 * configure.ac: The Loongson port requires grub-mkfont due to its
5547 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5548 be built.
5549
303b6246
CW
55502011-07-26 Colin Watson <cjwatson@ubuntu.com>
5551
5552 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5553 processing arguments (otherwise help2man fails when GRUB has not yet
5554 been installed).
5555
6795300e
VS
55562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5557
41aa28ea
VS
5558 New script grub-mkstandalone.
5559
5560 * Makefile.util.def (grub-mkstandalone): New script.
5561 * docs/man/grub-mkstandalone.h2m: New file.
5562 * util/grub-mkstandalone.in: Likewise.
5563
55642011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 Support ATA disks with 4K sectors.
6795300e
VS
5567
5568 * include/grub/ata.h (grub_ata): New member log_sector_size.
5569 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5570 (grub_ata_identify): Read sector size.
5571 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5572
92227597
VS
55732011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * util/grub-install.in: Don't use uhci outside of x86.
5576
c77069f5
VS
55772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * util/grub-mkrescue.in: Add missing quotes.
5580
55812011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
5582
5583 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5584 dereference.
5585
583168a2
VS
55862011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5589
6be1c01f
VS
55902011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * include/grub/video.h: add missing EXPORT_FUND on
5593 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5594
a1167439
VS
55952011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * include/grub/mips/kernel.h: Fix define conflict.
5598
bf66054f
VS
55992011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5602 all four ways.
5603
8fc4fa45
CW
56042011-07-21 Colin Watson <cjwatson@ubuntu.com>
5605
5606 Preferred resolution detection for VBE.
5607
5608 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5609 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5610 the Flat Panel extension, in line with the X.org VESA driver.
5611 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5612 New function.
5613 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5614 (grub_vbe_bios_read_edid): Likewise.
5615 (grub_vbe_get_preferred_mode): Likewise.
5616 (grub_video_vbe_setup): When the mode is "auto", try to get the
5617 preferred mode from VBE, and use the largest mode that is no larger
5618 than the preferred mode (some BIOSes expose a preferred mode that is
5619 not in their mode list!). If this fails, fall back to 640x480 as a
5620 safe conservative choice.
5621 (grub_video_vbe_get_edid): New function.
5622 (grub_video_vbe_adapter): Add get_edid.
5623 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5624 (struct grub_video_adapter): Add get_edid.
5625 (grub_video_edid_checksum): Add prototype.
5626 (grub_video_edid_preferred_mode): Likewise.
5627 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5628 structure.
5629
5630 * grub-core/commands/videoinfo.c (print_edid): New function.
5631 (grub_cmd_videoinfo): Print EDID if available.
5632
5633 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5634 is more appropriate on a wider range of platforms than 640x480.
5635 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5636 documentation.
5637
ca5572a9
VS
56382011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5641
e4bcf625
VS
56422011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * po/POTFILES.in: Regenerate.
5645
c4edd548
VS
56462011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5649 incorrect memory usage.
5650
16a2bab0
VS
56512011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * util/grub-install.in: Source grub-mkconfig_lib.
5654
2e418de6
VS
56552011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 Remove getroot.c from core on emu platform.
5658
5659 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5660 kern/emu/raid.c.
5661 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5662 useless.
5663 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5664 * util/getroot.c (get_win32_path): ... here.
5665 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5666 * util/getroot.c (fini_libzfs): ... here.
5667 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5668 * util/getroot.c (grub_get_libzfs_handle): ... here.
5669 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5670 Moved from here...
5671 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5672 * grub-core/kern/emu/misc.c
5673 (grub_make_system_path_relative_to_its_root): Moved from here...
5674 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5675 * grub-core/kern/emu/getroot.c: Moved from here ...
5676 * util/getroot.c: ... here. All users updated.
5677 * grub-core/kern/emu/raid.c: Moved from here ...
5678 * util/raid.c: ... here. All users updated.
5679
def9832a
VS
56802011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * po/POTFILES.in: Regenerate.
5683
cd8fe79a
VS
56842011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 Fix compilation on GNU/Linux.
5687
5688 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5689 Disable geli.
5690 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5691 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5692 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5693
a251b719
VS
56942011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
56952011-07-07 Michael Gorven <michael@gorven.za.net>
56962011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5697
5698 LUKS and GELI support.
5699
5700 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5701 grub-core/disk/luks.c, grub-core/disk/geli.c,
5702 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5703 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5704 grub-core/lib/arg.c.
5705 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5706 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5707 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5708 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5709 (grub-bin2h): Add libgcry.a.
5710 (grub-mkimage): Likewise.
5711 (grub-mkrelpath): Likewise.
5712 (grub-script-check): Likewise.
5713 (grub-editenv): Likewise.
5714 (grub-mkpasswd-pbkdf2): Likewise.
5715 (grub-pe2elf): Likewise.
5716 (grub-fstest): Likewise.
5717 (grub-mkfont): Likewise.
5718 (grub-mkdevicemap): Likewise.
5719 (grub-probe): Likewise.
5720 (grub-ofpath): Likewise.
5721 (grub-mklayout): Likewise.
5722 (example_unit_test): Likewise.
5723 (grub-menulst2cfg): Likewise.
5724 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5725 * grub-core/Makefile.core.def (cryptodisk): New module.
5726 (luks): Likewise.
5727 (geli): Likewise.
5728 * grub-core/disk/AFSplitter.c: New file.
5729 * grub-core/disk/cryptodisk.c: Likewise.
5730 * grub-core/disk/geli.c: Likewise.
5731 * grub-core/disk/luks.c: Likewise.
5732 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5733 grub_util_is_lvm.
5734 (grub_util_get_dm_abstraction): New function.
5735 (grub_util_follow_gpart_up): Likewise.
5736 (grub_util_get_geom_abstraction): Likewise.
5737 (grub_util_get_dev_abstraction): Use new functions.
5738 (grub_util_pull_device): Pull GELI and LUKS.
5739 (grub_util_get_grub_dev): Handle LUKS and GELI.
5740 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5741 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5742 (follow_geom_up): Removed.
5743 (grub_util_fd_seek): New function.
5744 (open_device): Use grub_util_fd_seek.
5745 (nread): Rename to ..
5746 (grub_util_fd_read): ... this. All users updated.
5747 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5748 (grub_crypto_cbc_decrypt): Likewise.
5749 (grub_crypto_hmac_write): Likewise.
5750 (grub_crypto_hmac_buffer): Likewise.
5751 (grub_password_get): Extend to util.
5752 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5753 New member modname.
5754 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5755 * include/grub/cryptodisk.h: New file.
5756 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5757 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5758 LUKS and GELI.
5759 (grub_util_follow_gpart_up): New proto.
5760 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5761 (grub_util_fd_read): Likewise.
5762 (grub_cryptodisk_cheat_mount): Likewise.
5763 (grub_util_cryptodisk_print_uuid): Likewise.
5764 (grub_util_get_fd_sectors): Likewise.
5765 * util/grub-fstest.c (mount_crypt): New var.
5766 (fstest): Mount crypto if requested.
5767 (options): New option -C.
5768 (argp_parser): Parse -C.
5769 (main): Init and fini gcry.
5770 * util/grub-install.in: Support cryptodisk install.
5771 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5772 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5773 cryptodisk.
5774 (prepare_grub_to_access_device): Likewise.
5775 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5776 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5777 (probe_cryptodisk_uuid): New function.
5778 (probe_abstraction): Likewise.
5779 (probe): Use new functions.
5780 * util/import_gcry.py: Create Makefile.utilgcry.def.
5781 Add modname member.
5782
9bfdcbbc
VS
57832011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 Lazy device scanning.
5786
5787 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5788 (grub-setup): Remove util/raid.c.
5789 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5790 * grub-core/disk/lvm.c (scan_depth): New variable.
5791 (grub_lvm_iterate): Rescan if necessary.
5792 (find_lv): New function based on grub_lvm_open.
5793 (grub_lvm_open): Use find_lv. Rescan on error.
5794 (is_node_readable): New function.
5795 (is_lv_readable): Likewise.
5796 (grub_lvm_scan_device): Skip already found disks.
5797 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5798 Stop if searched device is found and readable.
5799 * grub-core/disk/raid.c (inscnt): New variable.
5800 (scan_depth): Likewise.
5801 (scan_devices): New function based on grub_raid_register. Abort if
5802 looked for device is found.
5803 (grub_raid_iterate): Rescan if needed.
5804 (find_array): NEw function based on -grub_raid_open.
5805 (grub_raid_open): Use find_array and rescan.
5806 (insert_array): Set became_readable_at.
5807 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5808 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5809 New function.
5810 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5811 (grub_util_pull_device): New function.
5812 (grub_util_get_grub_dev): Call grub_util_pull_device.
5813 * util/raid.c: Moved to ..
5814 * grub-core/kern/emu/raid.c: ... here.
5815 (grub_util_raid_getmembers): New parameter "bootable".
5816 All users updated. Support 1.x.
5817 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5818 All users updated.
5819 * include/grub/disk.h (grub_disk_pull_t): New enum.
5820 (grub_disk_dev): Change iterate prototype.
5821 All users updated.
5822 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5823 New proto.
5824 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5825 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5826 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5827 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5828 All users updated.
5829 * include/grub/util/raid.h: Removed.
5830
1c358e59
VS
58312011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * po/POTFILES.in: Regenerate.
5834
abee94ed
VS
58352011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 Unify sparc init with other ieee1275.
5838
5839 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5840 instead of kern/sparc64/ieee1275/init.c.
5841 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5842 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5843 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5844 grub/machine/kernel.h.
5845 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5846 (grub_claim_heap) [__sparc__]: Use sparc version.
5847 (grub_machine_init): Moved args parsing to
5848 (grub_parse_cmdline): ...this.
5849 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5850 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5851 New definition.
5852 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5853
5854 Move BOOTP to separate file.
5855
5856 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5857 * grub-core/net/net.c: Move all BOOTP functions to
5858 * grub-core/net/bootp.c: ... here.
5859
5860 Use frame interface on PXE.
5861
5862 * grub-core/Makefile.core.def (pxecmd): Removed.
5863 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5864 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5865 * grub-core/i386/pc/pxe.c: Moved from here ...
5866 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5867 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5868 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5869
5870 EFI network support.
5871
5872 * grub-core/Makefile.core.def (efinet): New module.
5873 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5874 here...
5875 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5876 All users updated.
5877 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5878 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5879 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5880 * grub-core/net/drivers/efi/efinet.c: New file.
5881 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5882 (grub_efi_net_config): New extern var.
5883
5884 Various cleanups and bugfixes.
5885
5886 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5887 error.
5888 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5889 disk declared as partition.
5890 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5891 leak on failure.
5892 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5893 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5894 (grub_debug_zalloc): Likewise.
5895 (grub_debug_realloc): Likewise.
5896 (grub_debug_memalign): Likewise.
5897 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5898 Check that target is IPv4.
5899 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5900 local-mac-address as fallback.
5901 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5902 memory leak.
5903 * grub-core/net/ip.c (ipchksum): Rename to ...
5904 (grub_net_ip_chksum): ... this. All users updated.
5905 (grub_net_recv_ip_packets): Special handling for DHCP.
5906 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5907
5908 Unify prefix handling
5909
5910 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5911 (grub_machine_get_bootlocation): ... this.
5912 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5913 (grub_machine_get_bootlocation): ... this.
5914 (grub_prefix): New variable.
5915 (prefix): Removed.
5916 (root_dev): New variable.
5917 (dir): Likewise.
5918 (main): Use new variables.
5919 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5920 Revamped into ...
5921 (grub_machine_get_bootlocation): ... this.
5922 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5923 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5924 (grub_machine_get_bootlocation): ... this.
5925 (grub_machine_set_prefix): Removed.
5926 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5927 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5928 Revamped into ...
5929 (grub_machine_get_bootlocation): ... this.
5930 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5931 (grub_set_prefix_and_root): ... this. All users updated.
5932 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5933 Revamped into ...
5934 (grub_machine_get_bootlocation): ... this.
5935 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5936 (grub_machine_get_bootlocation): New proto.
5937 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5938
5939 Less intrusive and more reliable seek on network implementation.
5940
5941 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5942 (grub_file_seek): Don't call grub_file_net_seek.
5943 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5944 (grub_net_fs_read_real): .. this.
5945 (grub_net_seek_real): Use net->offset.
5946 (grub_net_fs_read): Seek if necessary.
5947
5948 Unify IEEE1275 netwotk config with the other platforms.
5949
5950 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5951 New variable.
5952 (grub_machine_get_bootlocation): Support network.
5953 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5954 Support type and device parsing.
5955 (grub_ieee1275_get_device_type): New function.
5956 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5957 into ...
5958 (grub_ieee1275_net_config_real): ... this.
5959 (grub_ofnet_probecards): Removed.
5960 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5961 * include/grub/ieee1275/ofnet.h: Removed.
5962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5963 extern var.
5964 (grub_ieee1275_get_device_type): New function.
5965
5966 Unify network device closing across platforms and make more robust.
5967
5968 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5969 grub_grubnet_fini.
5970 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5971 already.
5972 * grub-core/net/net.c (grub_net_network_level_interface_register):
5973 Update num_ifaces.
5974 (grub_net_card_unregister): Close all interfaces.
5975 (receive_packets): Don't poll if no iterfaces are registered.
5976 Open if necessary.
5977 (grub_net_fini_hw): New function.
5978 (grub_net_restore_hw): Likewise.
5979 (fini_hnd): New variable.
5980 (GRUB_MOD_INIT): Register preboot hook.
5981 (GRUB_MOD_FINI): Run and unregister preboot hook.
5982
5983 Poll network cards when idle.
5984
5985 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5986 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
5987 * grub-core/net/net.c (receive_packets): Save last poll time.
5988 (grub_net_poll_cards_idle_real): New function.
5989 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
5990 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
5991 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
5992
5993 Rename ofnet interfaces.
5994
5995 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
5996 (grub_ofnet_findcards): Use ofnet_%s names.
5997
5998 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
5999
6000 Cleanup socket opening.
6001
6002 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
6003 (grub_net_fs_close): Likewise.
6004 (grub_net_fs_read_real): Use eof member.
6005 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
6006 (+grub_net_udp_close): New inline function.
6007
6008 * include/grub/net/tftp.h: Moved to the top of ...
6009 * grub-core/net/tftp.c: ... here.
6010 * include/grub/net/ip.h: Moved mostly to the top of ...
6011 * grub-core/net/ip.c: ... here.
6012 * include/grub/net/ethernet.h: Moved mostly to the top of ...
6013 * grub-core/net/ethernet.c: ... here.
6014
6015 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
6016
6017 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
6018 FS name.
6019
6020 * include/grub/net/ip.h (ipv4_ini): Removed.
6021 (ipv4_fini): Likewise.
6022
6023 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
6024 (grub_net_send_ip_packets): Likewise.
6025
cf1337aa
VS
60262011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
6029 grub_read_cmos prototype.
6030
93c06ff9
VS
60312011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 VGA text support in qemu-mips
6034
6035 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
6036 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
6037 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
6038 text.
6039 * grub-core/kern/i386/qemu/init.c: Renamed to ...
6040 * grub-core/kern/vga_init.c: ... this.
6041 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
6042 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
6043 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
6044 Adjust.
6045 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
6046 GRUB_MACHINE_PCI_IO_BASE.
6047
748ccabe
VS
60482011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 MIPS qemu flash support.
6051
6052 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
6053 magic.
6054 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
6055 (grub_machine_init): Probe memory if its size isn't known.
6056 * util/grub-mkimage.c (image_targets): Add flash targets.
6057 (generate_image): Handle flash targets.
6058
d7345994
VS
60592011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 MIPS qemu at_keyboard support.
6062
6063 * gentpl.py (videoinkernel): Add qemu-mips.
6064 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
6065 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
6066 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
6067 modules.
6068 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
6069 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
6070 * grub-core/term/serial.c (grub_serial_register)
6071 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
6072
a07a81b3
VS
60732011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 CMOS support on sparc.
6076
6077 * gentpl.py (cmos): Add powerpc and sparc.
6078 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
6079 powerpc and sparc.
6080 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
6081 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
6082 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
6083 grub_set_datetime_cmos.
6084 * grub-core/lib/ieee1275/cmos.c: New file.
6085 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
6086 (find_rtc): Set no_ieee1275_rtc on error.
6087 (grub_get_datetime): Call grub_get_datetime_cmos on error.
6088 (grub_set_datetime): Call grub_set_datetime_cmos on error.
6089 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
6090 fail. Move value to argument. All users updated
6091 (grub_cmos_write): Likewise.
6092 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
6093 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
6094 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
6095 grub_get_datetime_cmos and grub_set_datetime_cmos.
6096
77546584
GS
60972011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6098
6099 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
6100 sourcing grub-mkconfig_lib.
6101 * util/update-grub_lib.in: Likewise.
6102 * util/grub.d/00_header.in: Likewise.
6103 * util/grub.d/10_hurd.in: Likewise.
6104 * util/grub.d/10_kfreebsd.in: Likewise.
6105 * util/grub.d/10_linux.in: Likewise.
6106 * util/grub.d/10_netbsd.in: Likewise.
6107 * util/grub.d/10_windows.in: Likewise.
6108 * util/grub.d/20_linux_xen.in: Likewise.
6109 * util/grub.d/30_os-prober.in: Likewise.
6110
54894791
CW
61112011-06-28 Colin Watson <cjwatson@ubuntu.com>
6112
6113 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6114 default_bg_color rather than black.
6115 (grub_gfxterm_fullscreen): Likewise.
6116 (grub_gfxterm_background_color_cmd): Save new background color in
6117 default_bg_color.
6118
8d5d8444
VS
61192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6122
5afeb5bd
VS
61232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6126 mismerge.
6127
ba7df45e
VS
61282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 Chainloading on coreboot support.
6131
6132 * grub-core/Makefile.core.def (chain): Add coreboot.
6133 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6134
d0b526b2
VS
61352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6138 if it happens.
6139
5ff1d945
VS
61402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 Implement time command.
6143
6144 * grub-core/Makefile.core.def (time): New module.
6145 * grub-core/commands/time.c: New file.
6146 * grub-core/script/parser.y: Remove "time" keyword.
6147 * grub-core/script/yylex.l: Likewise.
6148
5ebaad7e
VS
61492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6152
bdea3798
VS
61532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6156 when handling leftovers.
6157
b28c5655
VS
61582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6161 so that help2man doesn't fail.
6162
b6f945dc
VS
61632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6166 type in pointers on sparc64.
6167 (get_card_packet): Likewise.
6168
f9b75e8a
CW
61692011-06-27 Colin Watson <cjwatson@ubuntu.com>
6170
6171 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6172 with `*'.
6173 (grub_cmd_videoinfo): Fetch current video mode.
6174
1e3d9b86
VS
61752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6178 because of underlying system restrictions.
6179
efff4b1c
VS
61802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6183 necessary.
6184
9fc9ce37
VS
61852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 Coreboot video support.
6188
6189 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6190 (vbe): Likewise.
6191 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6192 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6193 here ...
6194 * grub-core/kern/i386/int.S: ... here.
6195 * grub-core/video/i386/pc/vbe.c: Updated includes.
6196 * grub-core/video/i386/pc/vga.c: Likewise.
6197 * include/grub/i386/coreboot/memory.h
6198 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6199 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6200 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6201 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6202 Disable interrupts.
6203 * include/grub/i386/pc/vga.h: Removed. All users updated.
6204
41bec7fe
VS
62052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6208 definitions for dprintf.
6209 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6210
ca80309d
VS
62112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6214 prototype.
6215 (get_card_packet): Likewise.
6216
9e322ce8
YB
62172011-06-26 Yves Blusseau <blusseau@zetam.org>
6218
6219 Display the path of the file when file is not found
6220
6221 * grub-core/fs/fat.c: Display the filename when file is not found.
6222 * grub-core/fs/fshelp.c: Likewise.
6223 * grub-core/fs/hfs.c: Likewise.
6224 * grub-core/fs/jfs.c: Likewise.
6225 * grub-core/fs/minix.c: Likewise.
6226 * grub-core/fs/ufs.c: Likewise.
6227 * grub-core/fs/btrfs.c: Likewise.
6228 * grub-core/commands/i386/pc/play.c: Likewise.
6229
cbf597af
SJ
62302011-06-26 Szymon Janc <szymon@janc.net.pl>
6231
6232 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6233 pointer checks before calling grub_free().
6234 * grub-core/commands/wildcard.c (match_devices): Likewise.
6235 * grub-core/commands/wildcard.c (match_files): Likewise.
6236 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6237 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6238 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6239 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6240 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6241 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6242 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6243 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6244 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6245
6295b32f
P
62462011-06-25 Patrick <p55@mailinator.com>
6247
6248 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6249
77c0840b
VS
62502011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6253 (grub_pxe_send): Likewise.
6254 (GRUB_MOD_INIT): Fix types.
6255
40ea05de
SJ
62562011-06-24 Szymon Janc <szymon@janc.net.pl>
6257
6258 * grub-core/io/xzio.c: Fix code style issues
6259
90162423
MRA
62602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
62612011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
6262
6263 Network infrastructure.
6264 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6265
6266 * include/grub/net/arp.h: New file.
90162423
MRA
6267 * include/grub/net/device.h: Likewise.
6268 * include/grub/net/ethernet.h: Likewise.
6269 * include/grub/net/ip.h: Likewise.
6270 * include/grub/net/netbuff.h: Likewise.
6271 * include/grub/net/tftp.h: Likewise.
6272 * include/grub/net/udp.h: Likewise.
6273 * include/grub/ieee1275/ofnet.h: Likewise.
6274 * include/grub/emu/export.h: Likewise.
6275 * include/grub/net.h: Likewise.
6276 * grub-core/net/arp.c: Likewise.
6277 * grub-core/net/ethernet.c: Likewise.
6278 * grub-core/net/ip.c: Likewise.
6279 * grub-core/net/udp.c: Likewise.
6280 * grub-core/net/tftp.c: Likewise.
6281 * grub-core/net/netbuff.c: Likewise.
6282 * grub-core/net/net.c: Likewise.
6283 * grub-core/net/drivers/emu/emunet.c: Likewise.
6284 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6285 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6286 export.h.
6287 * grub-core/Makefile.core.def (net): New module.
6288 (tftp): Likewise.
6289 (ofnet): Likewise.
6290 (emunet): Likewise.
6291 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6292 network protocols.
6293 * grub-core/kern/device.c (grub_net_open) : New variable.
6294 (grub_device_open): Handle network device.
6295 (grub_device_close): Likewise.
6296 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6297 (grub_grubnet_fini): Likewise.
6298 (grub_file_seek): Seek in network device.
6299 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6300 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6301 network root.
6302 (grub_machine_fini): Call grub_grubnet_fini.
6303 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6304 network.
6305 (grub_ieee1275_get_aliasdevname): New function.
6306 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6307 Add unofficial Solaris network info.
6308 (grub_multiboot_make_mbi): Likewise.
6309 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6310 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6311 * include/grub/device.h (grub_fs): Removed.
6312 * include/grub/err.h (grub_err_t): Add network-related values.
6313 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6314 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6315 (grub_ieee1275_get_aliasdevname): New proto.
6316 * include/grub/net.h: Rewritten.
423a1849 6317
031f22a0
VS
63182011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6321 names.
6322
4388ca72
VS
63232011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6326 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6327 it truncates the output.
6328 Reported by: Ximin Luo.
6329
98e2f506
VS
63302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6333
2a5e94d8
VS
63342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6337 partmap before abstraction.
6338
535c1910
AK
63392011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6340
6341 * util/grub-mkconfig_lib.in: Add missing quotes.
6342
bc09e1a2
VS
63432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6346 old method if mountinfo would return /dev/root and /dev/root doesn't
6347 exist.
6348
290766fb
VS
63492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 ZFS zlib support
6352
6353 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6354 (decomp_table): Add zlib entries.
6355 (zio_read): USe 8 bits for compression function rather than 3.
6356 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6357
63582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/disk/ahci.c: Add missing license statements.
6361 * grub-core/fs/romfs.c: Likewise.
6362 * grub-core/lib/ia64/setjmp.S: Likewise.
6363 * grub-core/loader/i386/pc/freedos.c: Likewise.
6364 * grub-core/loader/ia64/efi/linux.c: Likewise.
6365 * grub-core/video/colors.c: Likewise.
6366 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6367
5ab3f48a
VS
63682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 AHCI support.
6371
6372 * grub-core/Makefile.core.def (ata_pthru): Removed.
6373 (ahci): New module.
6374 (pata): Likewise.
6375 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6376 on unload.
6377 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6378 readwrite.
6379 (grub_hdparm_do_check_powermode_cmd): Likewise.
6380 (grub_hdparm_do_smart_cmd): Likewise.
6381 (grub_hdparm_set_val_cmd): Likewise.
6382 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6383 * grub-core/disk/ahci.c: New file.
6384 * grub-core/disk/ata.c: Factor out the low-level part into ...
6385 * grub-core/disk/pata.c: ... here.
6386 * grub-core/disk/ata_pthru.c: Contents moved to ...
6387 * grub-core/disk/pata.c: ... here.
6388 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6389 (grub_scsi_iterate): Use grub_scsi_names.
6390 (grub_scsi_open): Likewise.
6391 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6392 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6393 (grub_ata_regs_t): New struct.
6394 (grub_disk_ata_pass_through_parms): Likewise.
6395 (grub_ata_device): Renamed to ...
6396 (grub_ata): ... this.
6397 (grub_ata_dev): New struct.
6398 Removed all low-level inline functions.
6399 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6400 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6401 iterate hooks and open. All users updated.
6402 * util/grub-install.in: Handle AHCI disk module.
6403
c31dc5f5
SJ
64042011-06-23 Szymon Janc <szymon@janc.net.pl>
6405
6406 Add support for DRI and RSTn markers in JPEG files.
6407
6408 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6409 (JPEG_MARKER_RST0): Likewise.
6410 (JPEG_MARKER_RST1): Likewise.
6411 (JPEG_MARKER_RST2): Likewise.
6412 (JPEG_MARKER_RST3): Likewise.
6413 (JPEG_MARKER_RST4): Likewise.
6414 (JPEG_MARKER_RST5): Likewise.
6415 (JPEG_MARKER_RST6): Likewise.
6416 (JPEG_MARKER_RST7): Likewise.
6417 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6418 (grub_jpeg_decode_dri): New function.
6419 (grub_jpeg_decode_sos): Move image data related part into
6420 grub_jpeg_decode_data function.
6421 (grub_jpeg_decode_data): New function.
6422 (grub_jpeg_reset): New function.
6423 (grub_jpeg_decode_jpeg): Handle new markers.
6424
fe12fd5b
VS
64252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * util/ieee1275/ofpath.c (check_sas): Close fd.
6428 (main): Free of_path.
6429 Reported by: David Volgyes <dvolgyes>.
6430
03147f46
VS
64312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6434 Reported by: David Volgyes <dvolgyes>.
6435
cad3237f
VS
64362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6439 file after stat.
6440 Reported by: David Volgyes <dvolgyes>.
6441
13548d26
VS
64422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6445
6446 Reported by: David Volgyes <dvolgyes>.
6447
e061a1b5
VS
64482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6451 Prevent memory leak.
6452
1abe47dc
VS
64532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6456 (main): Close file.
e061a1b5 6457 Reported by: David Volgyes <dvolgyes>.
1abe47dc 6458
fbc62666
VS
64592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6462 to continue if allocation is failed.
6463
6464 Reported by: David Volgyes <dvolgyes>.
6465
e98c83e9
DV
64662011-06-23 David Volgyes <dvolgyes>
6467
6468 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6469 dereference.
6470
a199a8cd
VS
64712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 Fix spurious warning.
6474
6475 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6476 (acorn_partition_map_find): Use .bin member.
6477
e2d1dba0
VS
64782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6481 /dev/root as a valid device.
6482
8a5d6919
JM
64832011-06-23 Jim Meyering <meyering@redhat.com>
6484
e2d1dba0
VS
6485 Avoid NULL deref in grub_device_open.
6486
8a5d6919
JM
6487 * grub-core/kern/device.c (grub_device_open): Don't dereference
6488 a NULL pointer upon failed grub_env_get.
6489
f7db6f4a
VS
64902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 Support non-512B sectors and agglomerate reads.
6493
6494 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6495 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6496 (disk_io_guid): Removed.
6497 (make_devices): Locate solely by BlockIO.
6498 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6499 (grub_efidisk_read): Use read_blocks.
6500 (grub_efidisk_write): Use write_blocks.
6501 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6502 log_sector_size.
6503 (get_safe_sectors): Handle non-512B sectors.
6504 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6505 sectors.
6506 (grub_biosdisk_write): Handle non-512B sectors.
6507 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6508 (grub_scsi_read): Remove special non-512B block handling (now handled
6509 one level up).
6510 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6511 and do sanity checks.
6512 (grub_disk_adjust_range): Handle non-512B sectors.
6513 (transform_sector): New function.
6514 (grub_disk_read_small): Likewise.
6515 (grub_disk_read): Rewritten.
6516 (grub_disk_write): Handle non-512B sectors.
6517 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6518 log_sector_size.
6519 (open_device): Use log_sector_size.
6520 (grub_util_biosdisk_read): Likewise.
6521 (grub_util_biosdisk_write): Likewise.
6522 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6523 non-512B sectors.
6524 (pc_partition_map_embed): Likewise.
6525 * include/grub/disk.h (grub_disk): New field log_sector_size.
6526 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6527 (GRUB_DISK_CACHE_BITS): Increased to 6.
6528 * util/grub-fstest.c (fstest): New command testload.
6529 (argp_parser): Likewise.
6530
881ac815
RM
65312011-06-16 Robert Millan <rmh@gnu.org>
6532
6533 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6534 `ata' driver on kernel of FreeBSD 9.
6535
6536 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6537 (get_ataraid_disk_name): New functions.
6538 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6539 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6540 get_ataraid_disk_name() and get_ada_disk_name().
6541
1e9aef7d
CW
65422011-06-13 Colin Watson <cjwatson@ubuntu.com>
6543
6544 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6545 input format.
6546
351c7c8a
CW
65472011-05-29 Colin Watson <cjwatson@ubuntu.com>
6548
6549 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6550 `ftp.gnu.org' for `alpha.gnu.org'.
6551
6b4e6430
CW
65522011-05-27 Colin Watson <cjwatson@ubuntu.com>
6553
6554 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6555 partitions under /dev/disk/by-id/.
6556
c64db050
CW
65572011-05-27 Colin Watson <cjwatson@ubuntu.com>
6558
6559 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6560 after ten consecutive open failures. Scanning all the way up to
6561 10000 is excessive and can cause serious performance problems in
6562 some configurations.
6563 Fixes Ubuntu bug #787461.
6564
245f4aba
VS
65652011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6568 opening new one.
6569
f767c929
VS
65702011-05-21 Colin Watson <cjwatson@ubuntu.com>
65712011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 Don't stat devices unless we have to.
6574
6575 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6576 dir == /dev/mapper.
6577 (grub_guess_root_device): Use already known os_dev if possible.
6578 * grub-core/kern/emu/hostdisk.c
6579 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6580 if device is known to be a dm one.
6581
f35fa3a6
CW
65822011-05-20 Colin Watson <cjwatson@ubuntu.com>
6583
6584 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6585 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6586 Reported by: Pawel Tecza.
6587
9a79fcf2
VS
65882011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6591 (lsefisystab): Likewise.
6592 (lssal): Likewise.
6593 (lsefimmap): Likewise.
6594 (hdparm): Enable on qemu-mips.
6595 (setjmp): Add ia64 nodist.
6596 (serial): Simplify tags.
6597
63e3eea9
CW
65982011-05-18 Colin Watson <cjwatson@ubuntu.com>
6599
6600 * Makefile.util.def (grub-ofpathname): Install manual page.
6601
09728256
CW
66022011-05-18 Colin Watson <cjwatson@ubuntu.com>
6603
6604 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6605
8b63a142
CW
66062011-05-18 Colin Watson <cjwatson@ubuntu.com>
6607
6608 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6609
e775d8ed
VS
66102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6613 into dprintf.
6614
bf947d36
VS
66152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 Use full 64-bit division.
6618
6619 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6620 (grub_divmod64): ... this.
6621 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6622 version.
6623
b84f26c5
CW
66242011-05-18 Colin Watson <cjwatson@ubuntu.com>
6625
6626 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6627 `source'.
6628
5626056f
CW
66292011-05-18 Colin Watson <cjwatson@ubuntu.com>
6630
6631 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6632 to avoid accidents when debugging with 'sh -x'.
6633 * grub-core/gensyminfo.sh.in: Likewise.
6634 * tests/example_scripted_test.in: Likewise.
6635 * tests/grub_cmd_regexp.in: Likewise.
6636 * tests/grub_script_blanklines.in: Likewise.
6637 * tests/grub_script_dollar.in: Likewise.
6638 * tests/grub_script_expansion.in: Likewise.
6639 * tests/grub_script_final_semicolon.in: Likewise.
6640 * tests/partmap_test.in: Likewise.
6641 * tests/util/grub-shell-tester.in: Likewise.
6642 * tests/util/grub-shell.in: Likewise.
6643
e2965f4a
CW
66442011-05-18 Colin Watson <cjwatson@ubuntu.com>
6645
6646 Move gfxmenu color handling to video, so that gfxterm can use it
6647 too.
6648
6649 * grub-core/gfxmenu/named_colors.c: Move to ...
6650 * grub-core/video/colors.c: ... here. Rename
6651 grub_gui_get_named_color to grub_video_get_named_color.
6652 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6653 * grub-core/video/colors.c (my_isxdigit): ... here.
6654 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6655 Move to ...
6656 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6657 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6658 to ...
6659 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6660
6661 * include/grub/gui.h (grub_gui_color_t): Move to ...
6662 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6663 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6664 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6665 * include/grub/gui.h (grub_gui_map_color): Move to ...
6666 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6667 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6668 to ...
6669 * include/grub/video.h (grub_video_get_named_color): ... here.
6670 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6671 * include/grub/video.h (grub_video_parse_color): ... here.
6672
6673 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6674 video/colors.c.
6675 (gfxmenu): Remove gfxmenu/named_colors.c.
6676 (video) [videomodules]: Add video/colors.c.
6677
6678 Add a background_color command.
6679
6680 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6681 function.
6682 (GRUB_MOD_INIT): Register background_color command.
6683 (GRUB_MOD_FINI): Unregister background_color command.
6684 (redraw_screen_rect): Allow blend/replace of text layer to be
6685 controlled independently from whether there is a background bitmap.
6686 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6687 changing bitmap.
6688
1e4b4390
VS
66892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6690
26618ff0
VS
6691 Patch BPB in ntldr and chainloader --bpb.
6692
1e4b4390
VS
6693 * grub-core/fs/fat.c: Include grub/fat.h.
6694 (grub_fat_bpb): Moved to ...
6695 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6696 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6697 grub/ntfs.h.
6698 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6699 Moved from here...
6700 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6701 here.
6702 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6703 New function.
6704 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6705 (GRUB_MOD_INIT): Show --bpb.
6706 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6707 * grub-core/normal/main.c (features): New variable.
6708 (GRUB_MOD_INIT): Set feature_* variables.
6709 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6710 proto.
6711 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6712
cf02731e
VS
67132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6716 for cleanness.
6717
e3a1073f
VS
67182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 FreeDOS direct loading support.
6721
6722 * docs/grub.texi (Supported OS): Add FreeDOS.
6723 * grub-core/Makefile.core.def (freedos): New module.
6724 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6725 variable.
6726 (grub_relocator16_boot): Handle %ebx.
6727 * grub-core/lib/i386/relocator16.S: Likewise.
6728 * grub-core/loader/i386/pc/freedos.c: New file.
6729
05caa461
VS
67302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 Long Linux command line support.
6733
6734 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6735 (maximal_cmdline_size): New variable.
6736 (allocate_pages): Use maximal_cmdline_size.
6737 (grub_cmd_linux): Set and use maximal_cmdline_size.
6738 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6739 (allocate_pages): Use maximal_cmdline_size.
6740 (grub_cmd_linux): Set and use maximal_cmdline_size.
6741 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6742 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6743 and cmdline_size.
6744
a2491e23
VS
67452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
67462011-05-18 Colin Watson <cjwatson@ubuntu.com>
6747
6748 Improve devmapper support
6749
6750 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6751 (grub_util_is_lvm): New function.
6752 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6753 than lvm if not dmraid.
6754 Handle mapped md nodes.
6755 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6756 (grub_util_device_is_mapped): ... this. Make always available. All users
6757 updated.
6758 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6759 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6760 dmraid nodes.
6761 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6762
6ad6223e
VS
67632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6766
6767 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6768 * grub-core/modinfo.sh.in: New file.
6769 * grub-core/Makefile.core.def (modinfo.sh): New script.
6770 * util/grub-mknetdir.in: Use modinfo.sh.
6771 * util/grub-mkrescue.in: Likewise.
6772
543a8f6e
VS
67732011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6776 Fix potential usage of Elf32 instead of Elf64 when compiling on
6777 32-bit architecture. Add endianness macros while on it.
6778
4959e111
VS
67792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 Use mipsel- rather than mips- in directories involving mipsel ports to
6782 allow both endiannesses coexist.
6783
6784 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6785 mips. All conditions adjusted.
6786 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6787 variable.
6788 * util/grub-install.in: Adjust conditions to take renaming into account.
6789 * util/grub-mkimage.c (image_targets): Likewise. New target
6790 mips-qemu_mips-elf for bigendian mips.
6791
35341bbc
VS
67922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Avoid unnecessary copying on MIPS.
6795
6796 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6797 early if src == dest.
6798 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6799 compression is none.
6800
b772baed
VS
68012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 Reduce memory footprint on SGI by putting modules before the kernel
6804 as opposed to after.
6805
6806 * grub-core/Makefile.core.def (kernel): Increase linking address.
6807 (none_decompress): Likewise.
6808 (xz_decompress): Likewise.
6809 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6810 address.
6811 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6812 layout change.
6813 (grub_arch_modules_addr): New function.
6814 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6815 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6816 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6817 here.
6818 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6819 (grub_total_modules_size): ... this. Make global.
6820 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6821 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6822 New definition.
6823 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6824 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6825 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6826 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6827 * util/grub-mkimage.c (image_target_desc): New flag
6828 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6829 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6830 (generate_image): Handle images with modules before kernel.
6831
566a1917
VS
68322011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 Prevent potential loss of memory map by overwrite on qemu-mips.
6835
6836 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6837 Save ram size in $s4.
6838 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6839 All users changed to grub_arch_memsize.
6840 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6841 Loongson.
6842 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6843 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6844 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6845 external variable.
6846
5d420cd9
CW
68472011-05-17 Colin Watson <cjwatson@ubuntu.com>
6848
6849 * .bzrignore: Remove grub-dumpbios.
6850
d064b830
CW
68512011-05-17 Colin Watson <cjwatson@ubuntu.com>
6852
6853 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6854 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6855 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6856 existing options which append).
6857 * docs/grub.texi (Simple configuration): Document new options.
6858 Reported by: Ian Jackson. Fixes Debian bug #617538.
6859
3ca2b466
CW
68602011-05-17 Colin Watson <cjwatson@ubuntu.com>
6861
6862 * util/grub-fstest.c (cmd_cat): New function.
6863 (fstest): Handle CMD_CAT.
6864 (options): Add cat.
6865 (argp_parser): Handle cat.
6866
24c9143a
CW
68672011-05-17 Colin Watson <cjwatson@ubuntu.com>
6868
6869 * Makefile.util.def (grub-bin2h): Don't install.
6870 * docs/man/grub-bin2h.h2m: Remove.
6871
90f7ac19
VS
68722011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6875 place.
6876
8d4a5178
VS
68772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Reenable qemu-mips port.
6880
6881 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6882 Fix small arc bug while on it.
6883 * gentpl.py: Handle qemu_mips.
6884 * grub-core/Makefile.am: Likewise.
6885 * grub-core/Makefile.core.def: Likewise.
6886 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6887 inappropriate includes.
6888 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6889 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6890 * grub-core/kern/main.c (grub_modules_get_end)
6891 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6892 * grub-core/kern/mips/qemu-mips: Moved to ..
6893 * grub-core/kern/mips/qemu_mips: ... this.
6894 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6895 (grub_machine_init): Call terminfo_init and serial_init.
6896 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6897 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6898 New variable.
6899 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6900 parameter passing.
6901 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6902 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6903 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6904 * include/grub/mips/qemu_mips/cmos.h: New file.
6905 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6906 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6907 Removed.
6908 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6909 Use correct mips-style address.
6910 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6911 (GRUB_TICKS_PER_SECOND): Removed.
6912 (grub_get_rtc): Likewise.
6913 (grub_cpu_idle): Likewise.
6914 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6915 New definition.
6916 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6917 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6918 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6919 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6920 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6921 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6922 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6923 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6924
400b9371
VS
69252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 SGI ARCS port.
6928
6929 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6930 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6931 platforms.
6932 * configure.ac: New target mips-arc.
6933 * gentpl.py: Likewise.
6934 * grub-core/Makefile.am: Likewise.
6935 * grub-core/Makefile.core.def: Likewise.
6936 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6937 (none_decompress): Likewise.
6938 (lsdev): New module.
6939 (datetime): Use lib/arc/datetime.c on ARC.
6940 (part_dvh): New module.
6941 * grub-core/commands/arc/lsdev.c: New file.
6942 * grub-core/disk/arc/arcdisk.c: Likewise.
6943 * grub-core/kern/mips/arc/init.c: Likewise.
6944 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6945 aligned addresses.
6946 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6947 support.
6948 (grub_arch_dl_relocate_symbols): Likewise.
6949 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6950 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6951 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6952 platforms.
6953 * grub-core/lib/arc/datetime.c: New file.
6954 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6955 pci.h on non-loongson.
6956 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6957 (grub_linux_boot): Set unused registers to 0.
6958 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6959 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6960 * grub-core/mmap/mips/uppermem.c: ...here.
6961 * grub-core/partmap/dvh.c: New file.
6962 * grub-core/term/arc/console.c: Likewise.
6963 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6964 (grub_terminfo_set_current): Add terminal "arc".
6965 (grub_terminfo_readkey): Support ARC sequences.
6966 * include/grub/arc/arc.h: New file.
6967 * include/grub/arc/console.h: Likewise.
6968 * include/grub/disk.h (grub_disk_dev_id): Add
6969 GRUB_DISK_DEVICE_ARCDISK_ID.
6970 * include/grub/mips/arc/kernel.h: New file.
6971 * include/grub/mips/arc/memory.h: Likewise.
6972 * include/grub/mips/arc/time.h: Likewise.
6973 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6974 * include/grub/mips/kernel.h (grub_halt): ... here.
6975 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6976 here...
6977 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6978 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6979 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6980 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6981 proto.
6982 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6983 from here ...
6984 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6985 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6986 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
6987 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
6988 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
6989 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
6990 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
6991 (grub_phys_addr_t): Moved from here ...
6992 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
6993 (grub_vtop): Moved from here ...
6994 * include/grub/mips/memory.h (grub_vtop): ... here.
6995 (grub_map_memory): Moved from here ...
6996 * include/grub/mips/memory.h (grub_map_memory): ... here.
6997 (grub_unmap_memory): Moved from here ...
6998 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
6999 (grub_machine_mmap_iterate): Moved from here ...
7000 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
7001 (grub_mmap_get_lower): Moved from here ...
7002 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
7003 (grub_mmap_get_upper): Moved from here ...
7004 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
7005 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7006 here ...
7007 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7008 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
7009 here ...
7010 * include/grub/mips/time.h (grub_get_rtc): ... here.
7011 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7012 here ...
7013 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7014 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
7015 here ...
7016 * include/grub/mips/time.h (grub_cpu_idle): ... here.
7017 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
7018 definition.
7019 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
7020 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
7021 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
7022 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
7023 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7024 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7025 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
7026 (GRUB_MACHINE_LINK_ADDR): Likewise.
7027 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
7028 to 6.
7029 * util/grub-install.in: Run dvhtool on ARC.
7030 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 7031 (generate_image): Handle ECOFF output for mips-arc.
400b9371 7032
c8ecc840
VS
70332011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
7036 blocks.
7037
153a4b55
VS
70382011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
7041 after enabling port.
7042
ff44d107
VS
70432011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 Skip incorrect USB devices.
7046
7047 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
7048 configcnt == 0.
7049 * include/grub/usb.h (grub_usb_err_t): New enum value
7050 GRUB_USB_ERR_BADDEVICE.
7051
638dbe4f
VS
70522011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 Fuloong video init support.
7055
7056 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
7057 well.
7058 (grub_vga_read_arx): New function.
7059 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
7060 definition.
7061 (framebuffer): New members io, mmioptr and mmiobase.
7062 (read_sis_cmd): New function.
7063 (write_sis_cmd): Likewise.
7064 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
7065 rather than 640x400.
7066 * grub-core/video/sis315_init.c: New file.
7067
c3fc520c
VS
70682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
7071 non-loongson.
7072 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
7073 to grub_dl_register_symbol.
7074
67b1e5c9
VS
70752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 Fix compilation errors.
7078
7079 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
7080 potentially unused.
7081 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
7082 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
7083 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
7084 to loongson machines.
7085
b756f75f
VS
70862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 Several FS mtime support.
7089
7090 * grub-core/fs/affs.c (grub_affs_time): New struct.
7091 (grub_affs_file): New field mtime.
7092 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
7093 type. Removed 'size'. New field 'di'. All users updated.
7094 (grub_affs_mount): Simplify checsum checking.
7095 (grub_affs_iterate_dir): New helper grub_affs_create_node.
7096 (grub_affs_dir): Handle mtime.
7097 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
7098 (grub_cpio_dir): Likewise.
7099 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
7100 (grub_hfs_filerec): New field mtime.
7101 (grub_hfs_dir): Handle mtime.
7102 (grub_hfs_mtime): New function.
7103 (grub_hfs_fs): Register grub_hfs_mtime.
7104 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
7105 (grub_iso9660_dir): New field mtime.
7106 (grub_fshelp_node): New field dirent.
7107 (iso9660_to_unixtime): New function.
7108 (iso9660_to_unixtime2): Likewise.
7109 (grub_iso9660_read_symlink): Use node->dirent.
7110 (grub_iso9660_iterate_dir): Likewise.
7111 (grub_iso9660_dir): Set mtime.
7112 (grub_iso9660_mtime): New function.
7113 (grub_iso9660_fs): Register grub_iso9660_mtime.
7114 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7115 (grub_jfs_inode): New fields atime, ctime and mtime.
7116 (grub_jfs_dir): Set mtime.
7117 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7118 * grub-core/fs/ntfs.c (list_file): Set mtime.
7119 (grub_ntfs_dir): Likewise.
7120 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7121 (grub_reiserfs_iterate_dir): Set mtime.
7122 (grub_reiserfs_dir): Likewise.
7123 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7124 (grub_fshelp_node): Likewise.
7125 (grub_sfs_iterate_dir): Set mtime.
7126 (grub_sfs_dir): Likewise.
7127 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7128 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7129 (grub_xfs_inode): New fields atime, mtime, ctime.
7130 (grub_xfs_dir): Set mtime.
7131 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7132 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7133 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7134
7135 Support UDF symlinks.
7136
7137 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7138 (grub_ufs_read_symlink): New function. All users updated.
7139
7140 Check amiga partmap checksum.
7141
7142 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7143 (grub_amiga_partition): Likewise.
7144 (amiga_partition_map_checksum): New function.
7145 (amiga_partition_map_iterate): Check checksum.
7146
5470225d
VS
71472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 ROMFS support.
7150
7151 * Makefile.util.def (libgrubmods.a): Add romfs.
7152 * grub-core/Makefile.core.def (romfs): New module.
7153 * grub-core/fs/romfs.c: New file.
7154
d4680a35
VS
71552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 Squashfs v4 support.
7158
7159 * Makefile.util.def (libgrubmods.a): Add squash4.
7160 * grub-core/Makefile.core.def (squash4): New module.
7161 * grub-core/fs/squash4.c: New file.
7162 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7163 disk_input_start, disk_input.
7164 (get_byte): Handle disk_input.
7165 (grub_zlib_disk_read): New function.
7166 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7167
bcb18e74
FZ
71682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
71692011-05-15 Feiran Zheng <famcool@gmail.com>
7170
7171 * Makefile.util.def (libgrubmods.a): Add minix3.
7172 * grub-core/Makefile.core.def (minix3): New module.
7173 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7174 (GRUB_MINIX_BSIZE): Removed.
7175 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7176 (grub_minix_ino_t): New type.
7177 (grub_minix_le_to_cpu_ino): New macro.
7178 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7179 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7180 (grub_minix_data): New field block_size.
7181 (grub_minix_read_file): Handle 64-bit correctly.
7182 * grub-core/fs/minix3.c: New file.
7183
32297d5f
TG
71842011-05-15 Tristan Gingold <gingold@free.fr>
71852011-05-15 Robert Millan <rmh.grub@aybabtu.com>
71862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 IA64 support.
7189
7190 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7191 * configure.ac: Add ia64-efi target.
7192 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7193 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7194 * gentpl.py: Add ia64_efi platform.
7195 Rename x86_efi to efi and Add ia64-efi. All users updated.
7196 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7197 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7198 Remove kern/generic/rtc_get_time_ms.c on EFI.
7199 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7200 kern/ia64/dl_helper.c on ia64-efi.
7201 Add kern/emu/cache.c on emu.
7202 (linux): Use on loader/ia64/efi/linux.c on ia64.
7203 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7204 whether symbol is a function.
7205 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7206 (grub_symbol): New field 'isfunc'.
7207 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7208 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7209 (grub_dl_load_segments): Place all sections into the same region.
7210 [__ia64__]: Create trampolines and got.
7211 [GRUB_MACHINE_EMU]: Call mprotect.
7212 (grub_dl_resolve_symbols): Resolve symbol type as well.
7213 [__ia64__]: Create function descriptors.
7214 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7215 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7216 (grub_get_rtc): New function.
7217 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7218 * grub-core/kern/emu/cache.S: Renamed to ...
7219 * grub-core/kern/emu/cache_s.S: ... this.
7220 [__ia64__]: Add a nop.
7221 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7222 [__ia64__]: New function.
7223 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7224 * grub-core/kern/ia64/dl.c: New file.
7225 * grub-core/kern/ia64/dl_helper.c: Likewise.
7226 * grub-core/kern/ia64/efi/init.c: New file.
7227 * grub-core/kern/ia64/efi/startup.S: Likewise.
7228 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7229 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7230 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7231 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7232 * grub-core/loader/ia64/efi/linux.c: New file.
7233 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7234 (GRUB_MOD_DEP): Likewise.
7235 (grub_dl) [__ia64__]: New fields got and tramp.
7236 (grub_dl): New field 'base'.
7237 (grub_dl_register_symbol): New argument isfunc. All users updated.
7238 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7239 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7240 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7241 (grub_ia64_dl_get_tramp_got_size): New proto.
7242 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7243 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7244 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7245 * include/grub/efi/api.h: Skip call wrappers on ia64.
7246 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7247 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7248 * include/grub/elf.h (ELF_ST_INFO): New definition.
7249 * include/grub/ia64/efi/kernel.h: New file.
7250 * include/grub/ia64/efi/memory.h: Likewise.
7251 * include/grub/ia64/efi/time.h: Likewise.
7252 * include/grub/ia64/kernel.h: Likewise.
7253 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7254 * include/grub/ia64/time.h: New file.
7255 * include/grub/ia64/types.h: Likewise.
7256 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7257 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7258 New protos.
7259 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7260 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7261 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7262 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7263 All users updated.
7264 (EFI64_HEADER_SIZE): New definition. All users updated.
7265 (image_targets): Add ia64-efi.
7266 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7267 jumpers_addr. All users updated.
7268 Create function descriptors.
7269 (count_funcs): New function.
7270 (unaligned_uint32): New struct.
7271 (MASK20): New definition.
7272 (MASK19): Likewise.
7273 (MASKF21): Likewise.
7274 (add_value_to_slot_20b): New function.
7275 (add_value_to_slot_21_real): Likewise.
7276 (add_value_to_slot_21): Likewise.
7277 (ia64_kernel_trampoline): New struct.
7278 (nopm): New variable.
7279 (jump): Likewise.
7280 (make_trampoline): New function.
7281 (relocate_addresses): Handle ia64.
7282 (make_reloc_section): Likewise.
7283 (load_image): Likewise.
7284
983b414d
VS
72852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7288 warning. Move variables before code while on it.
7289
5d063cdc
VS
72902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Fuloong support.
7293
7294 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7295 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7296 * grub-core/boot/mips/loongson/fuloong.S: New file.
7297 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7298 Explicitly init CS5536.
7299 [FULOONG]: Don't use serial until CS5536 is available.
7300 Set GPIO based on dumps.
7301 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7302 [FULOONG]: Handle GPIO and memory controller differences.
7303 Parse machine type in $a2.
7304 * grub-core/boot/mips/startup_raw.S: Determine and save the
7305 architecture.
7306 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7307 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7308 init on architecture type.
7309 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7310 SIS315E. Don't init at_keyboard on fuloong.
7311 (grub_halt): Support Fuloong.
7312 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7313 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7314 (loongson_machtypes): New array.
7315 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7316 type.
7317 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7318 config. All users updated. Handle CS5536 serial.
7319 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7320 default port on machine type. Register serial as inactive.
7321 * grub-core/video/sis315pro.c: New file.
7322 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7323 definition.
7324 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7325 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7326 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7327 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7328 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7329 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7330 to ...
7331 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7332 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7333 definition.
7334 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7335 (grub_arch_machine): New extern var.
7336 * include/grub/mips/loongson/serial.h
7337 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7338 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7339 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7340 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7341 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7342 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7343 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7344 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7345 * include/grub/term.h (grub_term_register_input_inactive): New inline
7346 function.
7347 (grub_term_register_output_inactive): Likewise.
7348 * include/grub/video.h (grub_video_driver_id): New value
7349 GRUB_VIDEO_DRIVER_SIS315PRO.
7350 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7351 New field "names". All users updated.
7352 New field value IMAGE_FULOONG_FLASH.
7353 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7354
6ada82d1
JU
73552011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7356
7357 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7358 and add some clarification.
7359
90c571a4
VS
73602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7363 platforms if kernel is compressed.
7364
de04eecf
VS
73652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7368 unused modules since currently referrence counter isn't reliable and
7369 there isn't much memory to recover there anyway.
7370
57688121
VS
73712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7374 rather than resetting it to allow modules to reference themselves
7375 in init.
7376
3d2c7e35
VS
73772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7380 counter on dependencies since grub_dl_unref already handles this.
7381
b25db218
VS
73822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7385 on error if not already done.
7386
25a45338
VS
73872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 Fix few potential memory misusage.
7390
7391 * grub-core/font/font.c (load_font_index): Don't free char_index to
7392 avoid double free.
b25db218
VS
7393 (grub_font_load): Zero-fill font at alloc for safety.
7394 Close file on error.
7395 (free_font): Free bmp_idx.
25a45338 7396
0cac83df
VS
73972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * docs/grub.texi (Installation): Fix several outdated claims.
7400
2217a143
VS
74012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 Handle module_license on windows.
7404
7405 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7406 sections shifted.
7407 (insert_string): Make argument const char * instead of char *.
7408 (write_section_data): Handle long section names.
7409 Handle module_license.
7410
d4de6b01
VS
74112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7414 handle class-free menuentries.
7415 (grub_normal_add_menu_entry): Add a check to be sure.
7416
4c2a3b43
VS
74172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7420 PgUp and PgDown.
7421
85c6210f
VS
74222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * configure.ac: Bump version to 1.99.
7425
36084912
VS
74262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 Give ATA device a bit more time on first try in order to allow disks
7429 to spin up.
7430
7431 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7432 if dev->present is 1. Reset dev->present on failure.
7433 (grub_ata_device_initialize): Set dev->present to 1.
7434 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7435 (grub_ata_device): New member 'present'.
7436
bda0e219
VS
74372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * util/grub-mkimage.c (generate_image): Update hash.
7440
19e1c41b
VS
74412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 Flush caches on DMA memory.
7444
7445 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7446 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7447 (grub_dma_free): Likewise.
7448 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7449
91bbcc0c
VS
74502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7453 to avoid asm treating ld and sd as macros.
7454
60ddfad3
VS
74552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7458 decompressor.
7459
a298aa04
VS
74602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7463 grub_decompress_core since later would fail if grub_decompress_core
7464 is too far.
7465
9b44feca
VS
74662011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7469 R_MIPS_JALR since it's used by newer compiler.
7470
56dbe7b4
VS
74712011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7474
52856af2
VS
74752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7478 file_path to 0 for surety.
7479 (grub_chainloader_boot): Set exit_data to NULL.
7480 Unset the loader once done.
7481 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7482
9c9bfc6d
VS
74832011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7486 unknown key into a dprintf.
7487
dd94a3df
VS
74882011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7491 on first non-existant partition.
7492
fa68d99c
VS
74932011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7496 openning fails.
7497 Reported by: Mark Korenberg.
7498
157effb7
VS
74992011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7502 overflow.
7503
ea75312f
VS
75042011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7507 before closing to ensure that it will be readable by grub-setup.
7508
072b5d31
VS
75092011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7512 (devpath_1): Use MAKE_PIWG_PATH.
7513 (devpath_2): Likewise.
7514 (devpath_3): Likewise.
7515 (devpath_4): Likewise.
7516 (devpath_5): Likewise.
7517 (devpath_6): Likewise.
7518
7519 The appleldr.mod was checked that to be binary identical to previous
7520 version.
7521
7fae0051
Z
75222011-05-05 Zach <mikezackles>
7523
7524 Support 2010 Macbooks.
7525
7526 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7527 (devs): Add devpath_6.
7528
7c515bee
VS
75292011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7532 /dev/random. /dev/urandom is good enough for our purposes (salting).
7533
ed660bd8
VS
75342011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7537
ee5614b7
VS
75382011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7541 hexadecimal.
7542
664889a6
VS
75432011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7546 and not 0 on failure.
7547
bd405bbc
CW
75482011-05-03 Colin Watson <cjwatson@ubuntu.com>
7549
7550 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7551 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7552 disk; otherwise grub_fs_probe will not fall back to the next
7553 filesystem.
7554 (grub_pxefs_open): Likewise, for consistency.
7555 Reported and tested by: Ezekiel Grave.
7556
4ebff753
CW
75572011-05-03 Colin Watson <cjwatson@ubuntu.com>
7558
7559 * tests/partmap_test.in: Don't hardcode path to parted.
7560 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7561
8f942553
CW
75622011-05-01 Colin Watson <cjwatson@ubuntu.com>
7563
7564 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7565 of `ls' to find out which devices are available.
7566
3c62402d
VS
75672011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7570 than source address for efi mmap buffer.
7571
723f63f2
VS
75722011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7575 wrong action on non-detecting the magic.
7576
68797f92
VS
75772011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7580 already supplied by another part of the module (fixes compilation on
7581 FreeBSD).
7582
6be8715d
VS
75832011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7586 match the one used by mdadm.
7587
e91dba5b
CW
75882011-04-21 Colin Watson <cjwatson@ubuntu.com>
7589
7590 * po/README: Add instructions for creating po/LINGUAS.
7591
c85140b3
CW
75922011-04-21 Colin Watson <cjwatson@ubuntu.com>
7593
7594 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7595 #551428.
7596
7597 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7598 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7599 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7600 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7601 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7602 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7603 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7604 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7605 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7606 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7607 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7608 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7609 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7610 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7611 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7612 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7613 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7614 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7615 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7616 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7617 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7618 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7619
92051871
CW
76202011-04-21 Colin Watson <cjwatson@ubuntu.com>
7621
7622 * grub-core/kern/emu/getroot.c
7623 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7624 test that was incorrectly reintroduced in r3214.
7625 Reported by: Ian Dall. Fixes Savannah bug #33133.
7626
b13f79a4
CW
76272011-04-21 Colin Watson <cjwatson@ubuntu.com>
7628
7629 Fix stack pointer handling in 16-bit relocator.
7630
7631 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7632 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7633 Fixes Ubuntu bug #683904.
7634
9b710a88
VS
76352011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * configure.ac: Bump version to 1.99~rc2.
7638
d97e7b59
VS
76392011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7642 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7643 * grub-core/lib/x86_64/setjmp.S: Likewise.
7644 * grub-core/lib/mips/setjmp.S: Likewise.
7645 * grub-core/lib/powerpc/setjmp.S: Likewise.
7646 * grub-core/lib/sparc64/setjmp.S: Likewise.
7647
0624551c
VS
76482011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7651 * grub-core/lib/efi/datetime.c: Likewise.
7652
e8f28d4c
VS
76532011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7656 New function.
7657 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7658 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7659 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7660
bba79a15
VS
76612011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7664 bitmap.
7665 (grub_gfxterm_term_init): Likewise.
7666
abc474ef
VS
76672011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 Take into account the decorations the computing menu entry width.
7670
7671 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7672 (grub_gfxmenu_create_box): Register get_border_width.
7673 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7674 if available.
7675 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7676 get_border_width.
7677
e74b3947
EP
76782011-04-18 Endres Puschner <code@e7p.de>
7679
7680 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7681 Don't skip first class.
7682
34faa595
VS
76832011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7686 chunks.
7687 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7688
93a777e3
VS
76892011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 Complete 64-bit division support.
7692
7693 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7694 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7695 * include/grub/misc.h (grub_divmod64): Rename to ...
7696 (grub_divmod64_full): ... this.
7697 (grub_divmod64): New inline function.
7698
a5102d94
VS
76992011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7702
f3fb7b36
VS
77032011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7706 performing the necessary test.
7707
9ac718b0
VS
77082011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7711 (kfreebsd.elf): Likewise.
7712 (pc-chainloader.elf): Likewise.
7713 (ntldr.elf): Likewise.
7714
50d2cc5a
VS
77152011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 Identify RAID by its UUID rather than (guessed) name.
7718
7719 * grub-core/disk/raid.c (ascii2hex): New function.
7720 (grub_raid_open): Accept mduuid/%s specification.
7721 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7722 (get_mdadm_uuid): ... this.
7723 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7724
e03f7bea
VS
77252011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7728 to negative size.
7729
e74c3112
CW
77302011-04-13 Colin Watson <cjwatson@ubuntu.com>
7731
7732 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7733 btrfs subvolume.
7734 * util/grub.d/20_linux_xen.in: Likewise.
7735
78fa584f
CW
77362011-04-13 Colin Watson <cjwatson@ubuntu.com>
7737
7738 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7739 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7740
7741 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7742 Build a list of relevant visible mounts using the mnt_id and
7743 parent_mnt_id fields, and then scan that list at the end.
7744
9d5f8162
CW
77452011-04-12 Colin Watson <cjwatson@ubuntu.com>
7746
7747 * docs/grub.texi (normal): New section.
7748 (normal_exit): New section.
7749 (Embedded configuration): Add reference to normal.
7750 (GRUB only offers a rescue shell): Likewise.
7751 * docs/grub-dev.texi (Error Handling): Fix typo.
7752
09a9d66f
CW
77532011-04-12 Colin Watson <cjwatson@ubuntu.com>
7754
7755 * NEWS: Drop obsolete entry about probe-only btrfs support.
7756
0c676933
CW
77572011-04-12 Colin Watson <cjwatson@ubuntu.com>
7758
7759 * util/import_gcry.py: Fix typo.
7760
ec9f5e0d
VS
77612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * NEWS: Add btrfs support.
7764
fe6b2cba
VS
77652011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
77662011-04-11 Colin Watson <cjwatson@ubuntu.com>
7767
7768 BtrFS support. Written by me (Vladimir) with important bugfixes and
7769 even more important testing by Colin.
7770
7771 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7772 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7773 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7774 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7775 mem_input_off and mem_input. All users updated to accept in-RAM input.
7776 (gzio_seek): New function.
7777 (test_zlib_header): Likewise.
7778 (grub_gzio_read): Likewise.
7779 (grub_zlib_decompress): Likewise.
7780 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7781 Accept partial and non-virtual mounts.
7782 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7783 avoid receiving /dev/dm-X as device.
7784 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7785 Handle bind and partial mounts.
7786 * grub-core/lib/crc.c: New file.
7787 * include/grub/deflate.h: Likewise.
7788 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7789 proto.
7790 * include/grub/lib/crc.h: New file.
7791
e745cf0c
VS
77922011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 Implement automatic module license checking according to new GNU
7795 guidelines.
7796
7797 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7798 (grub_dl_load_core): Use grub_dl_check_license.
7799 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7800 (GRUB_MOD_LICENSE): Likewise.
7801 (GRUB_MOD_DUAL_LICENSE): Likewise.
7802 All modules updated.
7803
2a9bc016
CW
78042011-04-11 Colin Watson <cjwatson@ubuntu.com>
7805
7806 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7807 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7808 loaders.
7809 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7810
8a3bc88e
VS
78112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7814
af869a4a
VS
78152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7818 failed.
7819
9ee8d94f
VS
78202011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7823 parenthesis in the middle of the filename.
7824
b01abe3e
VS
78252011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7828 rather than trying to put initrd way too high.
7829 Reported by: Ryan Lortie <desrt@desrt.ca>
7830
335bda1e
VS
78312011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7834 improperly removed string.
7835
5ca1a64d
VS
78362011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7839 is_disk.
7840 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7841 (open_device) Likewise.
7842 (grub_util_biosdisk_close): Likewise.
d8ce9995 7843 Reported by: Mark Korenberg.
5ca1a64d 7844
cbac5b1e
AK
78452011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7846
7847 * util/grub-mkconfig_lib.in: Add missing quotes.
7848
088cdb65
CW
78492011-04-10 Colin Watson <cjwatson@ubuntu.com>
7850
7851 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7852 is NULL.
7853
8b8a81fa
VS
78542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 Dynamically count the number of lines for the lower banner.
7857
7858 * grub-core/normal/menu_entry.c (per_term_screen): New member
7859 num_entries.
7860 (print_down): Use num_entries.
7861 (update_screen): Likewise.
7862 (grub_menu_entry_run): Set num_entries.
7863 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7864 num_entries.
7865 (grub_print_message_indented): Move real part to ...
7866 (grub_print_message_indented_real): ... here. Additional argument
7867 dry_run.
7868 (draw_border): Additional argument num_entries.
7869 (print_message): Additional argument dry_run.
7870 (print_entries): Receive menu viewer data.
7871 (grub_menu_init_page): New argment num_entries.
7872 (menu_text_set_chosen_entry): Use num_entries.
7873 (grub_menu_try_text): Likewise.
7874 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7875 All users updated.
7876 (grub_ucs4_count_lines): New function.
7877 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7878 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7879 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7880 (grub_term_border_height): Likewise.
7881 (grub_term_num_entries): Likewise.
7882
277f955b
VS
78832011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7886 Remove now unused string.
7887
536ce85a
CW
78882011-04-09 Colin Watson <cjwatson@ubuntu.com>
7889
7890 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7891 build system.
7892 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7893
7894 (Comment): Fix typo.
7895 (Getting started): General copy-editing.
7896 (Typical Development Experience): Likewise.
7897 (Error Handling): Likewise.
7898 (Video API): Likewise.
7899
2cf09e32
CW
79002011-04-09 Colin Watson <cjwatson@ubuntu.com>
7901
7902 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7903 throughout.
7904
1ec652f4
VS
79052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7908 directory.
7909
2c583728
CW
79102011-04-08 Colin Watson <cjwatson@ubuntu.com>
7911
7912 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7913 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7914 "development".
7915
d7a565e9
VS
79162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7919 grub_strcpy since the lines aren't necessarily 0-terminated.
7920
7c2e4909
VS
79212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7924 root on legacy.
7925
34c09785
VS
79262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7929 (GRUB_MOD_INIT): DEVICE isn't optional.
7930
6a6f8058
VS
79312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7934 word on new line if it's too long anyway. Fixes a hang.
7935
2e335e90
VS
79362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7939 const.
7940 * util/grub-setup.c (main): Reuse md device name if available.
7941 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7942 not GRUB name as argument.
7943 Based on patch by: Florian Wagner <fwagner>.
7944
10a7a867
VS
79452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7948 Place mbi on low memory for better compatibility.
7949
7a3d6cd9
VS
79502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7953
18dd6b47
VS
79542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
79552011-04-08 Colin Watson <cjwatson@ubuntu.com>
7956
7957 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 7958 * conf/Makefile.common: Likewise.
18dd6b47 7959
3c0e3f14
VS
79602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7961
f7148863
VS
7962 * grub-core/normal/menu.c: Add missing include.
7963
79642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 7967
6d1fa41f
MZ
79682011-04-08 Martin Zuther <mzuther@mzuther.de>
7969
7970 * util/grub-mkconfig.in: Ignore emacsen backup.
7971
478182a8
VS
79722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7975 on open.
7976 (grub_util_biosdisk_close): Likewise.
7977
72a89a54
VS
79782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7981 const attribute and use grub_isdigit.
7982
b5ebecfa
A
79832011-04-06 Andrey <dev_null@ukr.net>
7984
7985 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7986 gcc warning.
7987
7755f66e
VS
79882011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
7991 useful grub_dprintf's.
7992
461121ff
VS
79932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
7996
2a961775
VS
79972011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
8000
adf594cc
VS
80012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 Output errors if theme loading failed.
8004
8005 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
8006 grub_gfxterm_fullscreen on error paths to ...
8007 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
8008 theme loading error.
8009
665900a3
VS
80102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
8013 space for older compilers.
8014 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8015
a562b479
VS
80162011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
8019 and report them as not RAID members since they are useless for GRUB.
8020 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8021
850e9373
VS
80222011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 Increase LVM implementation robustness in order not to crash on
8025 configurations like pvmove. Previously code assumed that in some places
8026 only lvs or only pvs are used whereas it seems that they are used
8027 interchangeably.
8028
8029 * grub-core/disk/lvm.c (read_node): New function.
8030 (read_lv): Use read_node.
8031 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
8032 Match volumes only at the end when all lvs are found. Take both
8033 pvs (first) and lvs (second) into account.
8034 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
8035 mirror_* into node_*. All users updated.
8036 (grub_lvm_stripe): Merge this ...
8037 (grub_lvm_mirror): ... and this ...
8038 (grub_lvm_node): ... into this. All users updated.
8039
6f332153
VS
80402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
8043 of function to allow further scanning for LVMs.
8044
829ea451
VS
80452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
8048 on failed seek as it breaks open fd reusage.
8049
09ceb9a5
VS
80502011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * util/grub-install.in: Add a recommendation to use --recheck before
8053 reporting bugs.
8054
67e11623
VS
80552011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
8058 are obtained.
8059
caee5efd
VS
80602011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 GRUB developper manual based on existing Internals section and
8063 contributions by the various authors with active copyright assignment.
8064
8065 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
8066 * docs/font_char_metrics.png: New file.
8067 * docs/font_char_metrics.txt: Likewise.
8068 * docs/grub-dev.texi: Likewise.
8069 * docs/grub.texi (Internals): Move from here ...
8070 * docs/grub-dev.texi: ... here.
8071
2cccc747
CW
80722011-04-01 Colin Watson <cjwatson@ubuntu.com>
8073
8074 Store the loopback device as data on loopback grub_disk structures,
8075 rather than the file it points to. This fixes use of freed memory
8076 if an existing loopback device is replaced.
8077
8078 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
8079 disk->data, not dev->file.
8080 (grub_loopback_read): Adjust file assignment to match.
8081 Fixes Ubuntu bug #742967.
8082
186ae367
CW
80832011-04-01 Colin Watson <cjwatson@ubuntu.com>
8084
8085 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
8086 when replacing an existing device.
8087
cfed2ad0
VS
80882011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
8091 memory corruptions.
8092
8093 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
8094 unsigned.
8095 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
8096 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
8097 (grub_jfs_read_inode): Likewise.
8098 (grub_jfs_opendir): Likewise. Remove now useless casts.
8099 (grub_jfs_getent): Likewise.
8100 Make ino a grub_uint32_t rather than int.
8101 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
8102 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
8103 division and module with bit operations.
8104 (grub_jfs_find_file): Make ino a grub_uint32_t.
8105 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8106
05d2ed32
CW
81072011-04-01 Colin Watson <cjwatson@ubuntu.com>
8108
8109 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8110 warning. (This was in fact always initialised before use, but GCC
8111 wasn't smart enough to prove that.)
8112 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8113
91dc6073
VS
81142011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8117 stack alignment.
8118 (efi_wrap_1): Likewise.
8119 (efi_wrap_2): Likewise.
8120 (efi_wrap_3): Likewise.
8121 (efi_wrap_4): Likewise.
8122 (efi_wrap_5): Likewise.
8123 (efi_wrap_6): Likewise.
8124 (efi_wrap_10): Likewise.
8125 Based on information by: Red Hat/Peter Jones.
8126
a8afc1d1
CW
81272011-03-31 Colin Watson <cjwatson@ubuntu.com>
8128
8129 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8130 set-but-not-used variable.
8131
a826cc7d
CW
81322011-03-31 Colin Watson <cjwatson@ubuntu.com>
8133
8134 * docs/grub.texi (Simple configuration): Be more explicit about
8135 GRUB_DEFAULT, and add an example.
8136 Reported by: Leslie Rhorer.
8137
875b67ba
CW
81382011-03-30 Colin Watson <cjwatson@ubuntu.com>
8139
8140 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8141 shell".
8142
fd7cd914
AS
81432011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8144
8145 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8146 * util/grub.d/20_linux_xen.in: Likewise.
8147
090b1b6a
VS
81482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * util/grub.d/10_linux.in: Try alternative config filenames where
8151 we parse config file.
8152 * util/grub.d/20_linux_xen.in: Likewise.
8153
baad885c
AS
81542011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8155
8156 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8157 * util/grub.d/20_linux_xen.in: Likewise.
8158
241e41f5
VS
81592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/disk/raid.c (insert_array): Add few potentially
8162 useful grub_util_info.
8163 (grub_raid_register): Likewise.
8164
56445fb2
VS
81652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8168 Preserve partition number in mdadm code path.
8169
c871b1c6
VS
81702011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8173 few potentially useful grub_util_info.
8174
5e631b4f
CW
81752011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8178
2d5d0333
CW
81792011-03-30 Colin Watson <cjwatson@ubuntu.com>
8180
8181 * docs/grub.texi (default): Use @example rather than nested
8182 itemized lists to avoid breaking gendocs.
8183
3d7ed04e
CW
81842011-03-30 Colin Watson <cjwatson@ubuntu.com>
8185
8186 * docs/grub.texi (Future): Update.
8187
abf04200 81882011-03-30 Colin Watson <cjwatson@ubuntu.com>
8189
8190 * docs/grub.texi (Environment): New chapter.
8191 (Changes from GRUB Legacy): Link to "Environment block" section for
8192 details of limitations.
8193 (Simple configuration): Likewise. Link to documentation of gfxmode
8194 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8195 respectively.
8196 (Shell-like scripting): Note that normal variables are stored in the
8197 environment.
8198 (gettext): Link to documentation of lang and locale_dir.
8199 (list_env): New section.
8200 (load_env): New section.
8201 (save_env): New section.
8202
8203 (Reporting bugs): Fix typo.
8204
e1ad0edd
VS
82052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8208 the example.
8209
5d803174
VS
82102011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * grub-core/term/at_keyboard.c (set_scancodes)
8213 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8214
2a2da1d0
CW
82152011-03-30 Colin Watson <cjwatson@ubuntu.com>
8216
8217 * docs/grub.texi (Menu-specific commands): Remove some semantics
8218 that were true in GRUB Legacy but not in GRUB 2.
8219 (submenu): New section.
8220 (false): New section.
8221 (read): New section.
8222 (true): New section.
8223
a7527639
CW
82242011-03-30 Colin Watson <cjwatson@ubuntu.com>
8225
8226 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8227
82282011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
8229
8230 * docs/grub.texi (Simple configuration): Explain some of the
8231 current limitations of grub-mkconfig.
8a748df2 8232 Reported by: Leslie Rhorer.
e30af029 8233
fc858482
VS
82342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Old macs search for boot.efi rather than for bootia32.efi.
8237
8238 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8239 * util/grub-mkrescue.in: Likewise.
8240 Suggested by: Peter Jones.
8241
e1eb511d
VS
82422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8245
70e75364
VS
82462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8249 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8250 (grub_lvm_mirror): New struct.
8251 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8252 (grub_lvm_iterate): Iterate only visible volumes.
8253 (grub_lvm_read): Factor out to ..
8254 (read_lv): ... this. Support mirrors.
8255 (grub_lvm_read): New wrapper function.
8256 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8257 stripped or mirrored.
8258
fc18f6a3
VS
82592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8262
5c650f4c
CW
82632011-03-29 Colin Watson <cjwatson@ubuntu.com>
8264
8265 * docs/grub.texi (loopback): New section.
8266
61d7156b
CW
82672011-03-29 Colin Watson <cjwatson@ubuntu.com>
8268
8269 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8270 removed -p option.
8271
994b8264
CW
82722011-03-29 Colin Watson <cjwatson@ubuntu.com>
8273
8274 * docs/grub.texi (BIOS installation): New section, partly based on
8275 previous text in other sections.
8276 (Installing GRUB using grub-install): Replace BIOS discussion with a
8277 cross-reference.
8278 (Images): Likewise.
8279
9e4d19e0
VS
82802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8283 [HAVE_DIOCGDINFO]: Add safety checks.
8284
a307c0b2
VS
82852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8288 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8289
b4db4f39
CW
82902011-03-29 Colin Watson <cjwatson@ubuntu.com>
8291
8292 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8293 real_sb->size is zero (e.g. RAID-0), get the disk size from
8294 real_sb->data_size instead.
8295 Fixes Ubuntu bug #743136.
8296
35e5f84c
VS
82972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8300 printf clauses for printing size and start.
8301
d2e29d81
VS
83022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8305 Reported and tested by: Timothy Nikkel.
8306
ed5587af
VS
83072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8310 (dirty_region_add_real): ... this.
8311 (dirty_region_add): Don't discard margin refresh when performing
8312 scheduled repaint.
8313
a1dc717c
VS
83142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * grub-core/lib/relocator.c (allocate_regstart)
8317 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8318 terminals are capabple of malloc-free operation.
8319 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8320 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8321
9f3677d3
VS
83222011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8323
8324 * util/grub-setup.c: Copy the partition table zone if floppy support
8325 is disabled, even if no partition table is found.
8326
8327 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8328 during POST if an invalid partition table is contained in the PBR
8329 of the active partition when GRUB is installed to a partition.
8330
24148725
CW
83312011-03-28 Colin Watson <cjwatson@debian.org>
8332
8333 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8334 comment.
8335
f329eda7
CW
83362011-03-28 Colin Watson <cjwatson@debian.org>
8337
8338 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8339 to be specific about what kind of RAID device we're scanning for.
8340
c482ad98
SG
83412011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8342
8343 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8344 return freed string.
8345
5ee04984
VS
83462011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8349
f4727da9
VS
83502011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 Use libgeom on FreeBSD to detect partitions.
8353
8354 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8355 (grub-mkrelpath): Likewise.
8356 (grub-script-check): Likewise.
8357 (grub-editenv): Likewise.
8358 (grub-mkpasswd-pbkdf2): Likewise.
8359 (grub-fstest): Likewise.
8360 (grub-mkfont): Likewise.
8361 (grub-mkdevicemap): Likewise.
8362 (grub-probe): Likewise.
8363 (grub-setup): Likewise.
8364 (grub-ofpathname): Likewise.
8365 (grub-mklayout): Likewise.
8366 (example_unit_test): Likewise.
8367 (grub-menulst2cfg): Likewise.
8368 * grub-core/Makefile.core.def (grub-emu): Likewise.
8369 (grub-emu-lite): Likewise.
8370 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8371 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8372 define HAVE_DIOCGDINFO.
8373 (follow_geom_up) [FreeBSD]: New function.
8374 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8375 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8376 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8377 unconditionally of HAVE_DIOCGDINFO.
8378
82fe6c75
VS
83792011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 Fix FreeBSD compilation problem.
8382
8383 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8384 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8385
4c6c9431
CW
83862011-03-24 Colin Watson <cjwatson@ubuntu.com>
8387
8388 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8389 Switch back to page zero before loading a kernel, since some kernel
8390 drivers expect that.
8391 Thanks to: Felix Kuehling.
8392
c7064d94
VS
83932011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8396 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8397 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8398
3f71cded
VS
83992011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8402 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8403
ef6de21a
VS
84042011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8407 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8408 malloc is disabled.
8409
8bc66a2c
VS
84102011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8413 for modules headers when counting the needed allocation size.
8414
5657722c
VS
84152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8418 if no ASCII character is found to prevent crash.
8419
41a85f55
AK
84202011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8421
8422 * grub-core/video/bitmap.c (match_extension): Ignore case.
8423
59e1e5f1
VS
84242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8427
bd4d051a
VS
84282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/script/parser.y: Declare "time" as valid argument.
8431
bae7fcc1
PJ
84322011-03-23 Peter Jones <pjones@redhat.com>
8433
8434 Fix incorrect assert failure reporting.
8435
8436 * grub-core/tests/example_functional_test.c (example_test): Add
8437 a failure comment.
8438 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8439 (failure_start): ...this. Check that malloc succeeded.
8440 Don't call xvasprintf. Return failure struct.
8441 (failure_append_vtext): New function.
8442 (failure_append_text): Likewise.
8443 (add_failure): Likewise.
8444 (grub_test_assert_helper): Likewise.
8445 * include/grub/test.h (grub_test_assert_helper): New declaration.
8446 (grub_test_assert): Macro rewritten.
8447
537dc9be
VS
84482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8451
fa3e01bf
VS
84522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8455
b1d28404
VS
84562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8459 into GRUB-style one.
8460
2e3e2e09
VS
84612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8464 error and not grub_errno.
8465 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8466
ed57e557
VS
84672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8470 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8471
d1611f01
VS
84722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/efiemu/i386/pc/cfgtables.c
8475 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8476 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8477 (grub_xnu_unlock): Likewise.
8478 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8479
7d4e39d6
VS
84802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8483 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8484 * grub-core/commands/hashsum.c (aliases): Likewise.
8485 * grub-core/commands/setpci.c (pci_registers): Likewise.
8486 * grub-core/disk/usbms.c (attach_hook): Likewise.
8487 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8488 (zio_checksum_table): Likewise.
8489 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8490 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8491 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8492 * grub-core/lib/relocator.c (leftovers): Likewise.
8493 (extra_blocks): Likewise.
8494 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8495 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8496 (modules_last): Likewise.
8497 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8498 (devices): Likewise.
8499 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8500 (modules_last): Likewise.
8501 * grub-core/normal/auth.c (users): Likewise.
8502 * grub-core/normal/context.c (initial_menu): Likewise.
8503 (current_menu): Likewise.
8504 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8505 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8506 (grub_serial_terminfo_input_template): Likewise.
8507 (grub_serial_terminfo_output_template): Likewise.
8508 (grub_serial_terminfo_input): Likewise.
8509 (grub_serial_terminfo_output): Likewise.
8510 (registered): Likewise.
8511 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8512
40fc4659
VS
85132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8516 grub_video_mode_type_t.
8517 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8518 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8519 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8520
2da48d28
VS
85212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * util/grub-install.in: Correct the x86-64 name as x86_64.
8524
9b43bf39
CW
85252011-03-11 Colin Watson <cjwatson@ubuntu.com>
8526
8527 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8528 initial chunk read from the kernel always includes GRUB's multiboot
8529 header, which is now outside the first sector.
8530
be1a7ce0
CW
85312011-03-09 Colin Watson <cjwatson@ubuntu.com>
8532
8533 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8534 cached mmap_size, so that this works correctly when called multiple
8535 times.
8536 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8537
83a3c48d
CW
85382011-03-09 Colin Watson <cjwatson@ubuntu.com>
8539
8540 * docs/grub.texi (Simple configuration): Tidy up formatting.
8541
57d75699
SJ
85422011-03-07 Szymon Janc <szymon@janc.net.pl>
8543
8544 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8545 Set-but-not-used variable removed.
8546
028501a0
VS
85472011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 Workaround yet another IEEE1275 bug.
8550
8551 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8552 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8553 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8554 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8555 is set.
8556 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8557 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8558
d998657d
VS
85592011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8562 error.
8563
fee7cdd4
CW
85642011-02-11 Colin Watson <cjwatson@ubuntu.com>
8565
8566 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8567 empty, since in that case we can only generate either nothing or a
8568 syntactically invalid configuration file.
8569 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8570
97286eb5
CW
85712011-02-09 Colin Watson <cjwatson@ubuntu.com>
8572
8573 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8574 (Making a GRUB bootable CD-ROM): Likewise.
8575 (Invoking grub-mkrescue): New section.
8576 Reported by: Yann Dirson. Fixes Debian bug #612585.
8577
22b28eb3
CW
85782011-02-09 Colin Watson <cjwatson@ubuntu.com>
8579
8580 * util/grub-install.in: Remove unnecessary brackets from tr
8581 arguments.
8582 * util/grub.d/10_hurd.in: Likewise.
8583 * util/grub.d/10_kfreebsd.in: Likewise.
8584 * util/grub.d/10_linux.in: Likewise.
8585 * util/grub.d/20_linux_xen.in: Likewise.
8586 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8587
7e735e43
CW
85882011-02-08 Colin Watson <cjwatson@ubuntu.com>
8589
8590 * include/grub/file.h (not_easly_seekable): Rename to ...
8591 (not_easily_seekable): ... this. Update all users.
8592
800f1881
CW
85932011-01-28 Colin Watson <cjwatson@ubuntu.com>
8594
8595 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8596 grub-mkrescue.
8597
3281d3d6
VS
85982011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * util/grub-mkimage.c (generate_image): Refuse to create the images
8601 bigger than the actual flash (512K) in Loongson machines. 512K is also
8602 the biggest chip supported by them.
8603
3533413c
VS
86042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8607
73ae4f4f
VS
86082011-01-22 Anthony DeRobertis <anthony@derobert.net>
8609
8610 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8611 super_offset field.
8612
37f4f608
VS
86132011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * util/grub-install.in: Ignore install device on platforms
8616 where it doesn't make sense. Always use UUIDs except on pc, efi and
8617 sparc64.
8618 Reported by: Daniel Kahn Gillmor.
8619
03a4ccb5
VS
86202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8623
ffc8f4d8
VS
86242011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8627 (iterate_real): Don't rely on partition being non-NULL.
8628
80f23be7
VS
86292011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8632 supported platforms. Put a compile time assert for this rather than
8633 generate a warning with 32-bit shift.
8634
5d4f4dd5
VS
86352011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8638 logical expression more readable.
8639
e489601a
VS
86402011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8643 even if some elements have a name.
8644 Reported by: Alexander GQ Gerasiov.
8645
96e0a6ea
CW
86462011-01-22 Colin Watson <cjwatson@ubuntu.com>
8647
8648 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8649 path unreadable if `grub-probe -t abstraction' fails, for example if
8650 memberlist fails on an LVM volume group.
8651 Reported by: Darius Jahandarie.
8652
81431e2b
CW
86532011-01-22 Colin Watson <cjwatson@ubuntu.com>
8654
8655 * docs/grub.texi (Simple configuration): Document
8656 GRUB_PRELOAD_MODULES.
8657
5e79d66a
CW
86582011-01-17 Colin Watson <cjwatson@ubuntu.com>
8659
8660 * .bzrignore: Remove nonexistent grub-pbkdf2.
8661
646ada34
VS
86622011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * configure.ac: Bump version to 1.99~rc1.
8665
04360337
VS
86662011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8669 for safety.
8670
46c9db88
VS
86712011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8674 module.
8675
86762011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
8677
8678 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8679
4fbf1852
VS
86802011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8683 diskdevid.
8684
f1632d4d
VS
86852011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 Fix compilation on cygwin.
8688
8689 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8690 -R .drectve on cygwin.
8691 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8692 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8693 (COND_CYGWIN): New condition.
8694 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8695 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8696 not @TARGET_OBJ2ELF@.
8697 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8698 type to determine whether aux is to be used.
8699
0b5e127b
VS
87002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8703 realpath'ed device string.
8704 Handle floppy (somewhat).
8705 Issue error in unknown case rather than garbage.
8706 Reported by: Axel Beckert.
8707
173b71e9
VS
87082011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * util/grub.d/00_header.in (load_video): Handle the case when no video
8711 drivers available.
8712 Thanks to: Axel Beckert.
8713
f8f479db
VS
87142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8717 variable. Fixes problem on big endian platforms.
8718
8fc0a245
VS
87192011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8722 It doesn't work well there.
8723
b8494fbe
VS
87242011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8727 warning.
8728 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8729 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8730 counter.
8731
b44a558c
VS
87322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 Use alias->path rather than buggy "canon".
8735
8736 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8737 (ofdisk_hash_add): New argument curcan. All users updated.
8738
51fa856c
CW
87392011-01-11 Colin Watson <cjwatson@ubuntu.com>
8740
8741 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8742
9da068a5
VS
87432011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8746 loadmask before doing any calculations. Use correct type for offset.
8747 (grub_linux_load64): Likewise.
8748
86205c94
CW
87492011-01-11 Colin Watson <cjwatson@ubuntu.com>
8750
8751 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8752 with NULL.
8753 (console_grub_equivalences_unshift): Likewise.
8754 Reported by: Daniel Dehennin.
8755
4531a206
VS
87562011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8759 (set_env_limn_ro): Likewise.
8760 (GRUB_MOD_INIT): Likewise.
8761 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8762 ARRAY_SIZE while on it.
8763 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8764 * grub-core/normal/context.c (grub_env_export): Move from here ...
8765 * grub-core/kern/env.c (grub_env_export): ... here.
8766 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8767 prefix.
8768 * grub-core/kern/main.c (grub_main): Export root and prefix.
8769 * include/grub/env.h (grub_env_export): Export.
8770 Reported by: Seth Goldberg.
8771
45146057
VS
87722011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8775 Take into account space used by ELF sections and multiboot palette.
8776 Reported by: Grégoire Sutre.
8777
f093110b
VS
87782011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * BUGS: New file.
8781
3395fe52
VS
87822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 Pass more appropriate video id to Linux.
8785
8786 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8787 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8788 fill have_vga.
8789 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8790 shift params->lfb_size.
8791 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8792
c2fa6cbb
VS
87932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8796
b3ff6ff0
VS
87972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8800 separator and pass bootpath/devid even if only one of them is available.
8801 Reported by: Seth Goldberg.
8802
ae67942e
VS
88032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8806 implementations bug on them.
8807
8808 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8809 memory.
8810 (filter_memory_map): Likewise.
8811
d570097a
VS
88122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8815 Reported by: nebuchadnezzar.
8816
a508e776
VS
88172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8820 Reported by: nebuchadnezzar.
8821
dcb883b1
VS
88222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 Submenu default support.
8825
8826 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8827 auto_boot. All users updated.
8828 Declared static.
8829 Handle chosen and default with submenus.
8830 (grub_menu_execute_with_fallback): Declared static.
8831 Don't notify failure if autobooted. Upper level does it.
8832 (menuentry_eq): New function.
8833 (get_entry_number): Use menuentry_eq.
8834 (show_menu): New parameter "autobooted". All users updated.
8835 (grub_show_menu): Likewise.
8836 * include/grub/normal.h (grub_show_menu): Likewise.
8837 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8838 (grub_menu_execute_with_fallback): Likewise.
8839
6fef99b4
VS
88402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * util/grub-mklayout.c (usage): Update help text.
8843
47a77af5
VS
88442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8847
ce6bb3ee
VS
88482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * util/grub-menulst2cfg.c (main): Trim the line.
8851
db87be2a
VS
88522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8855 (grub_machine_init): Don't check amount of low memory as reportedly
8856 INT 12h can be broken and if low memory is too low we wouldn't have
8857 gotten into grub_machine_init anyway.
8858
c49849cc
VS
88592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8862 (grub_machine_mmap_iterate): Take low memory into account
8863
b1969b30
VS
88642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8867 badfs.
8868 Reported by: TiCPU.
8869
cf0eaf13
VS
88702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8873 members errors.
8874
1f060f39
GS
88752011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8876
8877 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8878 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8879
a21e5672
GS
88802011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8881
8882 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8883 openbsd and netbsd types being in part_bsd module.
8884
c88172fa
VS
88852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8886
8887 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8888 (_FILE_OFFSET_BITS): Likewise.
8889 Reported by: Seth Goldberg.
8890
53798c4b
GS
88912011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8892
8893 * configure.ac: Check for libdevmapper header.
8894
e7121b69
VS
88952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8898 avoid aliasing.
8899 (fzap_lookup): Likewise.
8900 (dnode_get): Likewise.
8901 (make_mdn): Likewise.
8902 (zfs_mount): Likewise.
8903 (fzap_iterate): Use temporary pointer to avoid aliasing.
8904 (grub_zfs_read): Likewise.
8905 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8906 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8907 pointers to avoid aliasing.
8908 (grub_cmd_xnu_kernel64): Likewise.
8909 (grub_xnu_load_driver): Likewise.
8910
fc836af9
VS
89112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8914 aliasing warning.
8915 (grub_cmd_terminal_output): Likewise.
8916 Reported and tested by: Grégoire Sutre.
8917
f9f37648
VS
89182011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8921 warning.
8922 Reported and tested by: Grégoire Sutre.
8923
ec1dfd63
VS
89242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * configure.ac: Do CPU substitution even if it's specified explicitly.
8927 Reported and tested by: Alain Greppin.
8928
9462775a
VS
89292011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8932 Reported and tested by: Alain Greppin.
8933
0fd48e35
VS
89342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 Satisfy some bison versions need for inttypes.h.
8937
8938 * grub-core/lib/posix_wrap/inttypes.h: New file.
8939 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8940 (int16_t): Likewise.
8941 (int32_t): Likewise.
8942 (int64_t): Likewise.
8943 Reported and tested by: Alain Greppin.
8944
43f1bc83
VS
89452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8948 Silence spurious warning.
8949 Reported and tested by: Alain Greppin.
8950
64d1f041
SJ
89512011-01-07 Szymon Janc <szymon@janc.net.pl>
8952
8953 * docs/grub.texi (Support automatic decompression): Update with xz
8954 decompression support.
8955
25953e10
SJ
89562011-01-07 Szymon Janc <szymon@janc.net.pl>
8957
8958 Improve loaders' kernel command line handling.
8959
8960 * grub-core/lib/cmdline.c: New file.
8961 * include/grub/lib/cmdline.h: Likewise.
8962 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8963 grub_create_loader_cmdline to create kernel command line.
8964 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8965 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8966 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8967 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8968 (linux): Add lib/cmdline.c on common.
8969
e72d259f
VS
89702011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8973 inopos might be unaligned.
8974
c0cf26da
VS
89752011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8978 endian transformations.
8979 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8980 Based on report by: Doug Nazar.
8981
0ca09e6c
DN
89822011-01-07 Doug Nazar <nazard.michi@gmail.com>
8983
8984 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8985 array->members[i].start_sector.
8986 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8987
014b6806
VS
89882011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
8991 Reported and tested by: Grégoire Sutre.
8992
415502c2
CW
89932011-01-06 Colin Watson <cjwatson@ubuntu.com>
8994
8995 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
8996 avoid causing test failures by clearing the screen.
8997
71b6a2b7
CW
89982011-01-06 Colin Watson <cjwatson@ubuntu.com>
8999
9000 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9001 Fix prefix check to handle the case where dir ends with a slash
9002 (most significantly, "/" itself).
9003 Reported by: Michael Vogt.
9004
b3f8d28a
VS
90052011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 Run terminfo_cls on initing terminfo output to clear the screen and
9008 move the cursor to (0,0).
9009
9010 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
9011 Call grub_terminfo_output_init.
9012 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
9013 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
9014 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
9015
4c3e4f37
VS
90162011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
9019 only when needed.
9020
488f71f1
VS
90212011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
9024 CTRL.
9025
18a38098
VS
90262011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 The E820 type 5 is BADRAM, not EXEC_CODE.
9029
9030 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9031 (GRUB_E820_BADRAM): New define.
9032 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
9033 into reserved. Propagate BADRAM.
9034 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9035 (GRUB_E820_BADRAM): New define.
9036
9eae2084
VS
90372011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
9040 Ignore the memory post-4G.
9041 (grub_relocator_firmware_alloc_region): Additional debug statement.
9042
ebc71d28
VS
90432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
9046 names.
9047 Reported by: David Pravec.
9048
446fa400
VS
90492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
9052 BIOSes.
9053
a0159f37
VS
90542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
9057 Prevent overflow.
9058 (grub_reed_solomon_recover): Likewise.
9059
e5146ca1
VS
90602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
9063
90642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
9065
9066 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
9067 variable.
9068
5b1bdf12
CW
90692011-01-04 Colin Watson <cjwatson@ubuntu.com>
9070
9071 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
9072 descriptions of extract_legacy_entries_source and
9073 extract_legacy_entries_configfile.
9074 Reported by: Seung Soo, Ha.
9075
99d925aa
CW
90762011-01-03 Colin Watson <cjwatson@ubuntu.com>
9077
9078 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
9079 on devices that do not implement function 0.
9080
4af0504b
DV
90812011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
9082
9083 * grub-core/fs/hfsplus.c: Make parent unsigned.
9084 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
9085 overflows.
9086 (grub_hfsplus_cmp_extkey): Likewise
9087
469ee10a
VS
90882011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * util/grub-install.in: Correctly use bootloader_id and not
9091 GRUB_DISTRIBUTOR on efibootmgr line.
9092
323a8e9c
VS
90932011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
9096
1b394975
IC
90972010-12-31 Ian Campbell <ijc@hellion.org.uk>
9098
9099 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
9100 Xen and reorder menu item wording to make it clearer that this entry
9101 will launch Xen. Print separate messages when loading Xen and
9102 Linux.
9103
275bff5f
VS
91042010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9107 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9108 loop in case of incorrect amiga partmap.
9109
307806cb
VS
91102010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9113 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9114 Reported by:EHeM.
9115
b12b923e
VS
91162010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9119 spurious warning.
9120 Reported by: crocket
9121
14b48a19
VS
91222010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9125 Preload EFIemu.
9126 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9127
693db2df
VS
91282010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9131 is loaded
9132 (grub_cmd_xnu_kextdir): Likewise.
9133 (grub_cmd_xnu_splash): Likewise.
9134
c7638645
VS
91352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 Avoid using Reed-Solomon with 0 redundancy.
9138
9139 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9140 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9141 or 0 redundancy.
9142 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9143 (grub_reed_solomon_recover): Likewise.
9144
25dd4780
VS
91452010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 Don't use disk subsystem in freebsd_boot.
9148
9149 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9150 (freebsd_biosdev): Likewise.
9151 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9152 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9153
0b2db943
VS
91542010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 Handling of files of unknown size is currently limited. They can't be
9157 used e.g. for initrd or modules. Moreover gzip handling of not
9158 easily seekable files is buggy. Disable unknown file size for now. May
9159 be inefficient but works.
9160
9161 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9162 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9163
5c408d0f
MP
91642010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9165
9166 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9167 floppy probe.
9168
190a011a
JD
91692010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9170
9171 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9172
022d01b8
SL
91732010-12-25 Shea Levy <shlevy>
9174
9175 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9176
c4855fdc
VS
91772010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9180 Windows Server 2008.
9181 Reported by: Devin Giddings.
9182
0354b867
VS
91832010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9186 writing an error message because of async power management.
9187 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9188 (grub_reboot): Likewise.
9189
ab66c69f
JU
91902010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9191
9192 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9193 keep unit tests from failing when they shouldn't.
9194
1426ef35
CW
91952010-12-21 Colin Watson <cjwatson@ubuntu.com>
9196
9197 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9198 previous patch increased the size of the RS code by 20 bytes (at
9199 least with gcc-4.4), so increase this by 20 bytes to match.
9200 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9201
20641b6b
CW
92022010-12-21 Colin Watson <cjwatson@ubuntu.com>
9203
9204 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9205 scratch area. Make sure to initialise chosen in standalone mode as
9206 well as non-standalone.
9207 Reported by: Robert Hooker and Andy Whitcroft.
9208 Tested by: Andy Whitcroft.
9209
d060ad60
CW
92102010-12-21 Colin Watson <cjwatson@ubuntu.com>
9211
9212 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9213 constructing a new unescaped string and passing it to grub_xputs in
9214 one go, rather than passing characters to grub_printf one at a time.
9215
b889cfad
CW
92162010-12-21 Colin Watson <cjwatson@ubuntu.com>
9217
9218 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9219 initialising utf16.
9220
4e01b6c8
CW
92212010-12-21 Colin Watson <cjwatson@ubuntu.com>
9222
9223 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9224 comment. Add an extra layer of quotation, requiring the output of
9225 this function to be used in a printf format string.
9226 (gettext_printf): New function.
9227 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9228 Extract translatable strings from here-documents and use a temporary
9229 variable instead, so that xgettext can find them.
9230 * util/grub.d/10_kfreebsd.in: Likewise.
9231 * util/grub.d/10_linux.in: Likewise.
9232 * util/grub.d/20_linux_xen.in: Likewise.
9233
9234 * po/grub.d.sed: New file.
9235 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9236 arguments. Set c-format flags on all strings extracted from
9237 util/grub.d/ (xgettext refuses to include these itself for strings
9238 it extracted from a shell file, but these really are c-format).
9239
5318fe98
VS
92402010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9243 Avoid next pointing to nowhere.
9244
6c85b743
VS
92452010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9248 rather than assuming than rootblock is exactly in the middle.
9249 (grub_affs_label): Likewise.
9250
a2a08a35
VS
92512010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9254 reserved_first_sector to 0.
9255 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9256 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9257 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9258
7059d1ec
VS
92592010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 Fix handling of UTF-16 UDF labels.
9262
9263 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9264 (read_string): .. here.
9265 (grub_udf_label): Use read_string.
9266
30aff4cb
BC
92672010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9268
9269 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9270 editor under argument scope.
9271 Reported by: Jordan Uggla
9272
5cf86f4b
VS
92732010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9276
32570200
CW
92772010-12-18 Colin Watson <cjwatson@ubuntu.com>
9278
9279 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9280 line, and other keys scroll an entire page (previous handling was
9281 for \r and \n to scroll a page and other keys to scroll two lines).
9282
e1dffcf2
VS
92832010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9286 Set ptrdest to correct get_physical_target_address rather than
9287 incorrect get_virtual_current_address.
9288
b04298cf 92892010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9290
9291 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9292 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9293
5367ecd3
CW
92942010-12-10 Colin Watson <cjwatson@ubuntu.com>
9295
9296 * .bzrignore: Ignore grub-core/rs_decoder.S.
9297
1fb430f8
CW
92982010-12-10 Colin Watson <cjwatson@ubuntu.com>
9299
9300 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9301 .mo/.mo.gz opening sequence to ...
9302 (grub_mofile_open_lang): ... here.
9303 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9304 * util/grub.d/00_header.in (grub_lang): Include country part of
9305 locale.
9306 Reported by: Mario Limonciello.
9307
a94a6671
RM
93082010-12-09 Robert Millan <rmh@gnu.org>
9309
9310 * NEWS: Document addition of ZFS support.
9311
24b7938b
CW
93122010-12-04 Colin Watson <cjwatson@ubuntu.com>
9313
9314 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9315 rather than `/ 2', as the latter requires -Wa,--divide which would
9316 require bumping our minimum binutils version.
9317
bddc3ef6
BC
93182010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9319
9320 * util/grub-script-check.c (main): Print script line number on
9321 error.
9322
bf78d5b2
RM
93232010-12-01 Robert Millan <rmh@gnu.org>
9324
9325 * grub-core/fs/zfs/zfs.c: New file.
9326 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9327 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9328 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9329 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9330
9331 * include/grub/zfs/dmu.h: Likewise.
9332 * include/grub/zfs/dmu_objset.h: Likewise.
9333 * include/grub/zfs/dnode.h: Likewise.
9334 * include/grub/zfs/dsl_dataset.h: Likewise.
9335 * include/grub/zfs/dsl_dir.h: Likewise.
9336 * include/grub/zfs/sa_impl.h: Likewise.
9337 * include/grub/zfs/spa.h: Likewise.
9338 * include/grub/zfs/uberblock_impl.h: Likewise.
9339 * include/grub/zfs/vdev_impl.h: Likewise.
9340 * include/grub/zfs/zap_impl.h: Likewise.
9341 * include/grub/zfs/zap_leaf.h: Likewise.
9342 * include/grub/zfs/zfs.h: Likewise.
9343 * include/grub/zfs/zfs_acl.h: Likewise.
9344 * include/grub/zfs/zfs_znode.h: Likewise.
9345 * include/grub/zfs/zil.h: Likewise.
9346 * include/grub/zfs/zio.h: Likewise.
9347 * include/grub/zfs/zio_checksum.h: Likewise.
9348
9349 * Makefile.util.def: Build ZFS into libgrubmods.
9350 * grub-core/Makefile.core.def: Build zfs.mod.
9351
3f0f3831
SJ
93522010-11-30 Szymon Janc <szymon@janc.net.pl>
9353
9354 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9355 variable.
9356 * grub-core/commands/wildcard.c (match_files): Likewise.
9357
3a4253b2
RM
93582010-11-30 Robert Millan <rmh@gnu.org>
9359
9360 * grub-core/loader/i386/bsd.c
9361 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9362 whether kernel is loaded using grub_loader_is_loaded(), rather
9363 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9364 certain error conditions.
9365
8c317b27
RM
93662010-11-30 Robert Millan <rmh@gnu.org>
9367
c5c9cd3e
RM
9368 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9369 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 9370
49d3ab46
VS
93712010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 Avoid using tricks for initialising endian variables.
9374
9375 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9376 Make const.
9377 (GRUB_MOD_INIT): Don't byte-swap.
9378 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9379 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9380 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9381 (grub_swap_bytes32_compile_time): Likewise.
9382 (grub_cpu_to_le32_compile_time): Likewise.
9383 (grub_cpu_to_le16_compile_time): Likewise.
9384
f420a804
VS
93852010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * util/grub-setup.c (setup): Stop recommending --force. People who
9388 understand the dangers of blocklists are able to find this option
9389 anyway and the ones who don't shouldn't use it anyway.
9390
4e7db17b
RM
93912010-11-26 Robert Millan <rmh@gnu.org>
9392
9393 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9394 Update all users.
9395
9be57a0d
CW
93962010-11-26 Colin Watson <cjwatson@ubuntu.com>
9397
9398 Fix LVM-on-RAID probing.
9399
9400 * util/grub-probe.c (probe): Remember which disk was detected as
9401 RAID (perhaps an LVM physical volume). Use that disk's raidname
9402 rather than that of the top-level disk.
9403
2c7859b3 94042010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 9405
d7647bb6
BC
9406 Fix cmdline argument quotes for setparams command of menuentry
9407 definitions.
7e623b0d
BC
9408
9409 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9410 quotes for arguments.
f866fe80 9411 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 9412 grub_strchrsub function instead.
f866fe80 9413
7955bea0 9414 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 9415
74f72a64
CW
94162010-11-24 Colin Watson <cjwatson@ubuntu.com>
9417
9418 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9419 effort by skipping "." and ".." entries up-front.
9420 Suggested by: Michael Lazarev.
9421
5a407278
CW
94222010-11-24 Colin Watson <cjwatson@ubuntu.com>
9423
9424 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9425 ldflags to ldadd, to fix link line ordering.
9426 (none_decompress): Likewise.
9427
3030d8ec
CW
94282010-11-24 Colin Watson <cjwatson@ubuntu.com>
9429
9430 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9431 platforms.
9432 (grub-emu-lite): Remove kern/emu/cache.S.
9433
b7fbac12
CW
94342010-11-23 Colin Watson <cjwatson@ubuntu.com>
9435
9436 * util/deviceiter.c (compare_devices): If the by-id link for a
9437 device couldn't be resolved, fall back to sorting by the by-id link
9438 rather than segfaulting.
9439 Reported and tested by: Daniel Mierswa.
9440
5225f328
CW
94412010-11-23 Colin Watson <cjwatson@ubuntu.com>
9442
9443 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9444 ldflags, to fix link line ordering.
9445
038b3ce8
CW
94462010-11-23 Colin Watson <cjwatson@ubuntu.com>
9447
9448 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9449 linkers are picky about this.
9450
bf16e98e
CW
94512010-11-23 Colin Watson <cjwatson@ubuntu.com>
9452
9453 * grub-core/Makefile.am (command.lst): Adjust sed expression
9454 ordering so that extended and priority commands aren't treated as
9455 ordinary commands.
9456
7242bab6
CW
94572010-11-23 Colin Watson <cjwatson@ubuntu.com>
9458
9459 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9460 Remove byte-swapping function calls, which are not valid in
9461 structure initialisers.
9462 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9463 non-const.
9464 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9465 grub_gpt_partition_type_bios_boot.
9466
14e8b279
CW
94672010-11-22 Colin Watson <cjwatson@ubuntu.com>
9468
9469 Fix test program build on GNU/kFreeBSD.
9470
9471 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9472 $(LIBNVPAIR)' library dependencies.
9473
e6f63338 94742010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
9475
9476 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9477
cf8ffc38
CW
94782010-11-22 Colin Watson <cjwatson@ubuntu.com>
9479
9480 * util/grub-install.in: Remove excessive quoting that broke
9481 installations to RAID devices.
9482
7f8b0fd7
VS
94832010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9486 bootloader version instead of 0.
9487
dfd240b1
VS
94882010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9491 warning.
9492
7b61e609
VS
94932010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9496 retrieve the metadat sector if size isn't known.
9497 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9498
9dfe92d0
RM
94992010-11-18 Robert Millan <rmh@gnu.org>
9500
9501 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9502 with grub_memcmp().
9503
41cc919e
VS
95042010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9507 arrow.
9508 Reported by: Jordan Uggla.
9509
1afcc914
VS
95102010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 Make better UTF compliant.
9513
9514 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9515 sequences as incorrect.
9516 (grub_is_valid_utf8): Likewise.
9517 (grub_utf8_to_ucs4): Likewise.
9518 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9519 (grub_ucs4_to_utf8_alloc): Likewise.
9520 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9521
f1808884
VS
95222010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 Make legacy_source behave like source.
9525
9526 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9527 grub_show_menu.
9528 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9529
24ec575b
CW
95302010-11-16 Colin Watson <cjwatson@debian.org>
9531
9532 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9533 (-Wunused implies -Wunused-parameter, but not vice versa).
9534
72b7c7aa
CW
95352010-11-16 Colin Watson <cjwatson@ubuntu.com>
9536
9537 * configure.ac: Make error messages less confusing by testing for
9538 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9539 accepted, but produces a diagnostic if something else is wrong).
9540
e98937aa
VS
95412010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9544 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9545 (now unused).
9546 (grub_keyboard_controller_init)
9547 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9548 read the initial state since controller isn't inited yet.
9549
f6bbabc3
VS
95502010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9553 allocate_regbeg may need to create new chunk header.
9554
22e7dbb2
VS
95552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 Fix quoting in legacy parser.
9558
9559 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9560 single quotes.
9561 (grub_legacy_parse): Likewise.
9562 Reported by: Jordan Uggla.
9563 Tested by: Jordan Uggla.
9564
03f80960
VS
95652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 Don't add -lgcc on i386 and x86_64.
9568
9569 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9570 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9571 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9572
779dc15b
VS
95732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * configure.ac: Add -Wno-trampolines when supported.
9576
d20a3b37
MV
95772010-11-14 Modestas Vainius <modax@debian.org>
9578
9579 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9580 fakeraid.
9581
e5360933
GC
95822010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9583
9584 Add generic logical block size support for UDF.
9585
9586 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9587 (GRUB_UDF_BLKSZ): Removed.
9588 (struct grub_udf_data): New field "lbshift" to hold the logical block
9589 size of the file system in log2 format. All users updated.
9590 (sblocklist): Change type to unsigned.
9591 (grub_udf_mount): Change type of "sblklist" to unsigned.
9592 Move AVDP search before VRS recognition, because the latter requires
9593 knowledge of the logical block size, which is detected during the
9594 former.
9595 Detect and validate logical block size during AVDP search, adding
9596 support for block sizes 512, 1024 and 4096.
9597 Make VRS recognition independent of block size.
9598
cb0229c5
GC
95992010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9600
9601 Properly handle deleted files on UDF.
9602
9603 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9604 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9605 set.
9606
406858a8
GC
96072010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9608
9609 Support reading files larger than 2 GiB.
9610
9611 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9612 "offset" to grub_off_t.
9613 (grub_udf_read_file): Likewise for parameter "pos".
9614
130da6a7
VS
96152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9618 unavailable.
9619 (Simple configuration): Refer to Changes from GRUB Legacy about
9620 save_env availability.
9621
65e93f6b
VS
96222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * util/grub-install.in: Ignore empty partition table detection
9625 instead of trying to include part_ module.
9626
1fd08bf1
VS
96272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9630 LVM on RAID support.
9631
de1a024f
VS
96322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 Properly define WORDS_BIGENDIAN in wrapped environments.
9635
9636 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9637 definition.
9638 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9639
9640 Reported by: Manoel Rebelo Abranches.
9641 Tested by: Manoel Rebelo Abranches.
9642
bc5dd0b9
VS
96432010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * util/grub-mkconfig.in: Fix quoting.
9646
58c184be
VS
96472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 Support big ext2 files.
9650
9651 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9652 (grub_ext2_read_block): Support triple indirect blocks.
9653 (grub_ext2_read_file): Use 64-bit types and read size_high.
9654 (grub_ext2_open): Read size_high.
9655 Reported by: Ximin Luo.
9656 Tested by: Manoel Rebelo Abranches.
9657
5f0c02b3
VS
96582010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * util/grub-install.in: Handle filenames containing spaces.
9661 Reported by: Jordan Uggla.
9662 Tested by: Jordan Uggla.
9663
4417aae6
VS
96642010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * util/grub-mkconfig.in (grub_script_check): New variable.
9667 Use grub_script_check instead of grub-script-check.
9668 Reported by: Barry Jackson.
9669
7625a68e
VS
96702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * docs/grub.texi (menu): Correct the order.
9673 Reported by: D. Hugh Redelmeier.
9674
10001ac5
VS
96752010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9678 jump.
9679
9c4cf53b
MRA
96802010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9681
10001ac5
VS
9682 * include/grub/elfload.h (grub_elf32_size): New parameter.
9683 All users updated.
9c4cf53b
MRA
9684 Return maximum segments alignment.
9685 (grub_elf64_size): Likewise.
9686 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9687 Return maximum segments alignment.
9688 (grub_elf64_size): Likewise.
9689 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
9690 (grub_linux_claimmap_iterate): New function. Uses the
9691 "available" property in the "memory" node for memory allocation
9692 for kernel in the PowerPC loader.
9c4cf53b
MRA
9693 (grub_linux_load32): Correctly find linux entry point offset.
9694 (grub_linux_load64): Likewise.
9695
d2bf06bf
RM
96962010-11-07 Robert Millan <rmh@gnu.org>
9697
9698 On mips-yeeloong, build with -march=loongson2f when this flag is
9699 available (GCC >= 4.4).
9700 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9701 `-march=mips3'.
9702 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9703 or otherwise add -march=mips3.
9704
898c99a2
BC
97052010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9706
87220a68
BC
9707 Suppress shell expansion on echo '*' and echo "*" like cases.
9708 Reported by: Jordan Uggla.
898c99a2
BC
9709
9710 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9711 string arguments before shell expansion.
9712 * tests/grub_cmd_echo.in: New testcases.
9713
4f9b406a
RM
97142010-11-07 Robert Millan <rmh@gnu.org>
9715
9716 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9717 transition.
9718
80c6d25e
VS
97192010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * grub-core/kern/emu/hostdisk.c
9722 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9723
4a1a0153
VS
97242010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9727 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9728 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9729
34706ddc
VS
97302010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9733
6972dea9
VS
97342010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * util/grub-install.in: Replace useless recomendation to pass
9737 --modules with a recomendation to report a bug.
9738
9c693bd6
VS
97392010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 Properly register serial terminfo.
9742 Reported by: Jordan Uggla
9743
9744 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9745 const.
9746 (grub_serial_terminfo_output_template): Likewise.
9747 (grub_cmd_serial): Register "serial" with terminfo.
9748 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9749 grub_serial_terminfo_output.
9750
6c9e4c0c
RM
97512010-11-05 Robert Millan <rmh@gnu.org>
9752
9753 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9754 needed).
9755
b9b3839f
RM
97562010-11-05 Robert Millan <rmh@gnu.org>
9757
9758 On Yeeloong, pass machine type information to Linux.
9759
9760 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9761 (LOONGSON_MACHTYPE): New macro, set to
9762 "machtype=lemote-yeeloong-2f-8.9inches".
9763 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9764 additional argument to Linux.
9765
1a3aaff4
RM
97662010-11-04 Robert Millan <rmh@gnu.org>
9767
9768 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9769 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9770 (its SATA disks are detected as slaveless IDE master drives on
9771 kFreeBSD).
9772 Reported by Carsten Aulbert.
9773
a75f4f62
CW
97742010-11-02 Colin Watson <cjwatson@ubuntu.com>
9775
9776 * util/bin2h.c (main): Fix spelling error in generated output.
9777
33b4b0c6
GS
97782010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9779
9780 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9781
2b36fbf4
VS
97822010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9785 vga= option is supplied.
9786
74aaf558
VS
97872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9790 * util/grub.d/10_kfreebsd.in: Likewise.
9791 * util/grub.d/10_linux.in: Likewise.
9792 * util/grub.d/20_linux_xen.in: Likewise.
9793
6428dec3
VS
97942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9797 argument as an argument to no-argument option.
9798
f8729d98
VS
97992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * util/grub.d/10_linux.in: Add missing load_video with explicit
9802 GRUB_GFXPAYLOAD_LINUX.
9803
89d68fa6
VS
98042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9807
3a1197cd
VS
98082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9811 elements with invlid index.
9812 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9813 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9814 members.
9815 * include/grub/raid.h (grub_raid_member): New struct.
9816 (grub_raid_array): Transform devices and start_sector into usage of
9817 grub_raid_member. All users updated
9818 (allocated_devs): New member.
9819
71574288
VS
98202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9823 is modified
9824
8d40ec65
BC
98252010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9826
9827 NetBSD build fix for getline function conflict from gnulib.
9828
9829 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9830 components that depend on gnulib headers.
9831 (libgrubmods.a): Renamed from earlier libgrub.a.
9832 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9833
95b9257e
VS
98342010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9837 install rather than creating a broken install.
9838
26c53dc6
VS
98392010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * util/grub-setup.c (argp): Remove misleading example of installing to
9842 a partition.
9843
4171b3c5
VS
98442010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * util/grub-setup.c (setup): Clarify the error message.
9847
18568d18
VS
98482010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9851
4f6a2e21
VS
98522010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/kern/emu/misc.c
9855 (grub_make_system_path_relative_to_its_root)
9856 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9857
98582010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
9859
9860 * grub-core/kern/emu/misc.c
9861 (grub_make_system_path_relative_to_its_root): Revert r2882.
9862
e138c458
VS
98632010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9866 useless field head. All users updated.
9867 (free_subchunk): Correct handling of IN_REGION subchunk.
9868
0cbcdf0e
CW
98692010-10-22 Colin Watson <cjwatson@ubuntu.com>
9870
9871 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9872 (Supported kernels): Likewise.
9873
b65ea155
GS
98742010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9875
9876 Make mktemp invocations portable.
9877
9878 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9879 exit if mktemp fails.
9880 * tests/grub_script_blockarg.in: Likewise.
9881 * tests/partmap_test.in: Likewise.
9882 * tests/util/grub-shell-tester.in: Likewise.
9883 * tests/util/grub-shell.in: Likewise.
9884 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9885 * Makefile.am: Likewise, and chain shell commands with `&&'
9886 instead of ';'.
9887 * util/grub-mkrescue.in: Use the same explicit template as above, and
9888 exit if mktemp fails.
9889
05f43cdd
BC
98902010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9891
9892 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9893 Linux kernel, reported by Dennis Schridde.
9894
800e6a9b
SJ
98952010-10-17 Szymon Janc <szymon@janc.net.pl>
9896
9897 * grub-core/normal/auth.c (grub_auth_check_authentication):
9898 Set-but-not-used variable removed.
9899
d82df574
VS
99002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9903 32-bit linux protocol.
9904
7bced458
VS
99052010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9908 cursor shape for sanity.
9909
5b027690
VS
99102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * docs/grub.texi (Installation): Document buggy BIOS install.
9913
ba5f65cf
VS
99142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * docs/grub.texi (Installation): Indent.
9917
fdf2ec9c
VS
99182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * util/grub-setup.c (setup): New parameter allow_floppy.
9921 (arguments): New member allow_floppy.
9922 (argp_parser): Handle --allow-floppy.
9923 (main): Pass allow_floppy.
9924 * util/grub-install.in: New option --allow-floppy passed though to
9925 grub-setup.
9926
861dfd4c
VS
99272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * util/grub-install.in: Handle partitionless disks.
9930
f77a8c24
VS
99312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * util/grub-setup.c (setup): Don't clean blocklists before readability
9934 verfification.
9935
27d9ee32
VS
99362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * docs/grub.texi (Installation): Document embedding zone. Remove
9939 obsolete grub-install example.
9940
6bdda8f8
SJ
99412010-10-16 Szymon Janc <szymon@janc.net.pl>
9942
9943 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9944 Set-but-not-used variable ifdef'ed.
9945 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9946 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9947 variable removed.
9948 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9949 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9950 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9951 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9952 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9953 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9954 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9955 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9956 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9957 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9958 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9959 Likewise.
9960
e19b016b
VS
99612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9964 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9965 enum value.
9966
6c8d3002
VS
99672010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9970 synonym to _S5_. Needed for some DSDTs.
9971
c32b51c9
VS
99722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 Userspace ACPI parser debugging.
9975
9976 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9977 headers and add relevant defines. Don't include standard headers.
9978 (main) [GRUB_DSDT_TEST]: New function.
9979 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9980 Don't declare functions.
9981
fbfbeb39
VS
99822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 Remove dead grub_efi_mm_fini.
9985
9986 * grub-core/kern/efi/mm.c (allocated_page): Removed.
9987 (ALLOCATED_PAGES_SIZE): Likewise.
9988 (MAX_ALLOCATED_PAGES): Likewise.
9989 (allocated_pages): Likewise.
9990 (grub_efi_allocate_pages): Don't record allocated pages.
9991 (grub_efi_free_pages): Likewise.
9992 (grub_efi_mm_init): Likewise.
9993 (grub_efi_mm_fini): Removed.
9994
65f7ed7c
VS
99952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
9998 (grub_efi_mm_init): Take into account the memory map size increase.
9999
24977b44
VS
100002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
10003 (serial_hw_put): Wait based on real time rather than port reads. Don't
10004 roken ports.
10005 * include/grub/serial.h (grub_serial_port): New field broken.
10006
1eb01cd2
RM
100072010-10-16 Robert Millan <rmh@gnu.org>
10008
10009 * grub-core/kern/emu/misc.c
10010 (grub_make_system_path_relative_to_its_root): Fix premature return
10011 when processing non-root ZFS filesystems.
5f8b440b 10012 Reported by Sergio Talens-Oliag.
1eb01cd2 10013
2d5fed60
RM
100142010-10-15 Robert Millan <rmh@gnu.org>
10015
10016 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
10017 guarantee compressed ones are processed first.
10018
d0f4c1ea
VS
100192010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
10022 grub_efiemu_autocore.
10023
d87c681f
VS
100242010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
10027 rather than 0x1b.
10028 (grub_console_getkey): Use correct jae opcode rather than ja.
10029
219b3564
RM
100302010-10-12 Robert Millan <rmh@gnu.org>
10031
10032 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
10033 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
10034 variable. All references updated.
10035
10036 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
10037
20c6bb7e
VS
100382010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 Correctly distinguish mdraid flavours.
10041
10042 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
10043 (insert_array): New argument raid.
10044 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
10045 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
10046 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
10047
74baff84
VS
100482010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
10051 handling of special keys.
10052
3ef068df 100532010-10-02 Aleš Nesrsta <starous@volny.cz>
10054
c7980ad9
VS
10055 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
10056 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 10057
a9455194 100582010-10-02 Aleš Nesrsta <starous@volny.cz>
10059
c7980ad9
VS
10060 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
10061 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
10062 users updated.
a9455194 10063 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 10064 Use right endpoint when querying descriptor.
a9455194 10065
441cfe65
VS
100662010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 Clear out 0x80 color bit on EFI.
10069 Tested by: decoder
10070 Reported by: decoder and meta tech.
10071
10072 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
10073 (grub_console_setcolorstate): Clear out 0x80 bit.
10074 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
10075 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
10076 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
10077
bf26bcc4
VS
100782010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
10081 Set to "auto".
10082
6e3c515d
VS
100832010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
10086 mo_file after freeing.
10087
e6d983ba
VS
100882010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
10091
74ccb5b5
VS
100922010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
10095 flags.
10096
17821956
VS
100972010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
10100 usage.
10101
ee74fa48
VS
101022010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 Put terminfo into core on ieee1275 and yeeloong (needed for console).
10105
10106 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10107 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10108 and terminfo.h when needed.
10109 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10110 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10111 (terminfo): Enable only on terminfokernel.
10112 (extcmd): Likewise.
10113 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10114 * include/grub/lib/arg.h: Likewise.
10115 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10116 incorrect usage of ->.
10117
aa438e68
VS
101182010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10121 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10122
57994012
VS
101232010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 Fix coreboot compilation.
10126
10127 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10128 Take VBE info into account even if only text is supported.
10129 (fill_vbe_info): Take into account the case when only VGA text
10130 is supported.
10131 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10132 on coreboot, multiboot and qemu.
10133
2a406611
VS
101342010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10137 debug messages.
10138 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10139
d33613fc
VS
101402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10143 parameters.
10144
44a1b432
VS
101452010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10148 if they were BSD-style.
10149
edde54e6
VS
101502010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 * grub-core/boot/i386/pc/lnxboot.S: Replace
10153 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10154 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10155
b65830fa
VS
101562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 Write embedding zone using Reed-Solomon.
10159
10160 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10161 * grub-core/Makefile.am (rs_decoder.S): New target.
10162 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10163 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10164 (multiboot): Move to RS part.
10165 (post_reed_solomon): New label.
10166 (grub_boot_drive): Move to non-RS part since it's modified in memory
10167 on boot.
10168 Include rs_decoder.S.
10169 * grub-core/lib/reed_solomon.c: New file.
10170 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10171 New definition.
10172 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10173 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10174 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10175 * include/grub/partition.h (grub_partition_map): Change prototype of
10176 embed to allow returning additional sectors.
10177 * include/grub/reed_solomon.h: New file.
10178 * util/grub-setup.c (setup): Handle Reed-Solomon.
10179
0b4b227f
CW
101802010-09-28 Colin Watson <cjwatson@ubuntu.com>
10181
10182 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10183 i386 and x86-64 definedness tests.
10184
f772623b
YB
101852010-09-27 Yves Blusseau <blusseau@zetam.org>
10186
10187 Fix generation of kernel_syms.lst
10188
10189 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10190 ASM_PREFIX
10191
8e57a6ca
RM
101922010-09-26 Robert Millan <rmh@gnu.org>
10193
10194 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10195
10196 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10197 the pool is an array of devices, iterate through it and return the
10198 first device that passes a stat() test (instead of blindly returning
10199 the first one).
10200
f9130836
RM
102012010-09-26 Robert Millan <rmh@gnu.org>
10202
10203 Build fixes for GNU/kFreeBSD.
10204
10205 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10206 to programs that require ZFS conversion.
10207 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10208 kernels that don't have FLOPPY_MAJOR.
10209
96510faf
BC
102102010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10211
10212 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10213
449333eb
BC
102142010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10215
10216 Fix grub-emu build.
10217
10218 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10219 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10220 mdraid09 and mdraid1x.
10221
e1fd1939
CW
102222010-09-24 Colin Watson <cjwatson@ubuntu.com>
10223
10224 Re-enable grub-extras.
10225
10226 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10227 avoid confusing Automake. Run autogen only twice, once for the top
10228 level and once for grub-core. Add Makefile.util.def and
10229 Makefile.core.def from extra modules to the appropriate autogen
10230 invocations. If Makefile.common exists in an extra module, include
10231 it in both Makefile.util.am and grub-core/Makefile.core.am;
10232 similarly, include any Makefile.util.common file in Makefile.util.am
10233 and any Makefile.core.common file in grub-core/Makefile.core.am.
10234 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10235 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10236 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10237 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10238
10239 * gentpl.py (gvar_add): Turn GVARS into a set.
10240 (global_variable_initializers): Sort global variables on output.
10241 (vars_init): New function.
10242 (first_time): Likewise.
10243 (library): Ensure that non-global variable initialisations are
10244 emitted before the first time we emit code for a library block.
10245 Append to variables rather than setting them. Only emit
10246 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10247 each conditional path.
10248 (program): installdir() emits an Autogen macro, so must be passed to
10249 var_add rather than gvar_add.
10250 (data): Likewise.
10251 (script): Likewise.
10252 (rules): New function, centralising handling for different target
10253 types. Set up Guile association lists for first_time and vars_init,
10254 and send most output to a diversion so that variable initialisations
10255 can be emitted first.
10256 (module_rules): Use new rules function.
10257 (kernel_rules): Likewise.
10258 (image_rules): Likewise.
10259 (library_rules): Likewise.
10260 (program_rules): Likewise.
10261 (script_rules): Likewise.
10262 (data_rules): Likewise.
10263
10264 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10265
10266 * .bzrignore: Add contrib and grub-core/contrib. Remove
10267 grub-core/Makefile.gcry.am.
10268
1d12cf29
YB
102692010-09-24 Yves Blusseau <blusseau@zetam.org>
10270
10271 * grub-core/lib/LzFind.c: Add missing include.
10272 * grub-core/lib/LzmaEnc.c: Likewise.
10273 * grub-core/script/lexer.c: Likewise.
10274 * grub-core/script/yylex.l: Likewise.
10275 * util/grub-macho2img.c: Likewise.
10276 * util/grub-menulst2cfg.c: Likewise.
10277 * util/grub-mklayout.c: Likewise.
10278 * util/grub-mkpasswd-pbkdf2.c
10279 * util/grub-mkrelpath.c: Likewise.
10280 * util/resolve.c: Likewise.
10281
dd363028
BC
102822010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10283
10284 * Makefile.util.def (example_unit_test): Add
10285 grub-core/gnulib/libgnu.a.
10286
f5a109e2
GS
102872010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10288
10289 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10290
6d0fa83c
VS
102912010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 Support xz compression on yeeloong.
10294
10295 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10296 * configure.ac: Check for LZMA.
10297 * grub-core/Makefile.core.def (xz_decompress): New target.
10298 (none_decompress): Likewise.
10299 * grub-core/boot/decompressor/minilib.c: New file.
10300 * grub-core/boot/decompressor/none.c: Likewise.
10301 * grub-core/boot/decompressor/xz.c: Likewise.
10302 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10303 * grub-core/kern/mips/cache_flush.S: Likewise.
10304 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10305 * grub-core/kern/mips/startup.S: Move first stage to ...
10306 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10307 nomacro.
10308 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10309 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10310 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10311 Allocate statically.
10312 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10313 Allocate statically or use scratch. Don't check CRC32.
10314 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10315 Allocate statically. Don't check CRC32.
10316 * include/grub/decompressor.h: New file.
10317 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10318 Removed.
10319 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10320 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10321 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10322 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10323 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10324 * util/grub-mkimage.c (grub_compression_t): New type.
10325 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10326 (image_target_desc): New field default_compression.
10327 (image_targets): Adjust yeeloong targets.
10328 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10329 (compress_kernel): New parameter comp.
10330 (generate_image): Likewise. Handle new compression case.
10331 (options): New option --compression
10332 (help): Likewise.
10333 (main): Handle new option.
10334
1b655af6
GS
103352010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10336
10337 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10338
8f03f0b5
CW
103392010-09-22 Colin Watson <cjwatson@ubuntu.com>
10340
10341 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10342 typo in __i386__ conditional.
10343
7835dfd3
VS
103442010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10347 include.
10348
e255597e
VS
103492010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10350
6d0fa83c 10351 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
10352
10353 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10354 new tags as supported.
10355 (acpiv2_size): New function.
10356 (grub_multiboot_get_mbi_size): Take new tags into account.
10357 (grub_multiboot_make_mbi): Add new tags.
10358 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 10359
6cc14051 103602010-09-21 Aleš Nesrsta <starous@volny.cz>
10361
10362 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10363 Added missing configuration of USB device.
10364
df7769d8
CW
103652010-09-21 Colin Watson <cjwatson@ubuntu.com>
10366
10367 * grub-core/normal/menu_entry.c (run): Make sure we always return
10368 a value.
10369
b031012d
CW
103702010-09-21 Colin Watson <cjwatson@ubuntu.com>
10371
10372 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10373 NumberOfPages is UINT64 according to the UEFI specification, not
10374 UINTN. Fix printf format.
10375
174de8f3
CW
103762010-09-21 Colin Watson <cjwatson@ubuntu.com>
10377
10378 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10379 `err' to grub_usb_err_t.
10380 Reported and tested by: KESHAV P.R.
10381
d7dbe923
CW
103822010-09-21 Colin Watson <cjwatson@ubuntu.com>
10383
10384 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10385 tpart non-const, so that we can assign to it. (Since this is a
10386 typedef, the constness refers to the pointer rather than what it
10387 points to.)
10388
8d5e2af3
CW
103892010-09-21 Colin Watson <cjwatson@ubuntu.com>
10390
10391 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10392 $(top_srcdir)/grub-core/gnulib as well as
10393 $(top_builddir)/grub-core/gnulib.
10394 Reported by: KESHAV P.R.
10395
5c527783
CW
103962010-09-21 Colin Watson <cjwatson@ubuntu.com>
10397
10398 * util/grub-install.in: Fix the bootloader ID option to be
10399 consistently --bootloader-id, not --bootloader_id.
10400 Reported by: KESHAV P.R.
10401
d309a16e
CW
104022010-09-21 Colin Watson <cjwatson@ubuntu.com>
10403
10404 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10405 check hash checksum." consistently translatable.
10406
b830cd16
YB
104072010-09-21 Yves Blusseau <blusseau@zetam.org>
10408
10409 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10410 $(top_builddir).
10411
c4fe27a8
CW
104122010-09-21 Colin Watson <cjwatson@ubuntu.com>
10413
10414 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10415 (GRUB_MOD_INIT): Register sha1sum command.
10416 (GRUB_MOD_FINI): Unregister sha1sum command.
10417
a4c1d277
YB
104182010-09-21 Yves Blusseau <blusseau@zetam.org>
10419
10420 Keep boot and grub directory names in sync with utils scripts
10421
10422 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10423 * config.h.in: Add previous macros.
10424 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10425 * util/grub-install.in: Use $bootdir and $grubdir variables.
10426
4eff79d2
CW
104272010-09-21 Colin Watson <cjwatson@ubuntu.com>
10428
10429 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10430 convert partition names to disk names if the new `convert' parameter
10431 is set.
10432 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10433 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10434 disk in its own right. This can happen with Xen disk images.
10435
934d7e44
YB
104362010-09-21 Yves Blusseau <blusseau@zetam.org>
10437
10438 * util/grub-editenv.c: Update strings to avoid warnings when generating
10439 grub.pot file.
10440 * util/grub-setup.c: Likewise.
934d7e44 10441
df3367cc
VS
104422010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * configure.ac: Change version to 1.99~beta0.
10445
77a94e98
VS
104462010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10449 Add BADRAM.
10450 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10451 Likewise.
10452 * include/multiboot.h: Resynced with specification.
10453 * include/multiboot2.h: Likewise.
10454
269004c1
CW
104552010-09-21 Colin Watson <cjwatson@ubuntu.com>
10456
10457 Fix po directory handling.
10458
10459 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10460 * grub-core/gnulib/Makefile.am: Import gettext module.
10461 * m4/gnulib-cache.m4: Likewise.
10462 * m4/gnulib-comp.m4: Likewise.
10463 * m4/gettext.m4: New file, from gnulib.
10464 * m4/glibc2.m4: Likewise.
10465 * m4/iconv.m4: Likewise.
10466 * m4/intdiv0.m4: Likewise.
10467 * m4/intl.m4: Likewise.
10468 * m4/intldir.m4: Likewise.
10469 * m4/intlmacosx.m4: Likewise.
10470 * m4/intmax.m4: Likewise.
10471 * m4/inttypes-pri.m4: Likewise.
10472 * m4/lcmessage.m4: Likewise.
10473 * m4/lib-ld.m4: Likewise.
10474 * m4/lib-link.m4: Likewise.
10475 * m4/lib-prefix.m4: Likewise.
10476 * m4/lock.m4: Likewise.
10477 * m4/nls.m4: Likewise.
10478 * m4/po.m4: Likewise.
10479 * m4/printf-posix.m4: Likewise.
10480 * m4/progtest.m4: Likewise.
10481 * m4/threadlib.m4: Likewise.
10482 * m4/uintmax_t.m4: Likewise.
10483 * m4/visibility.m4: Likewise.
10484 * po/Makefile.am: Remove.
10485 * po/Makefile.in.in: New file, from gettext.
10486 ($(DOMAIN).pot-update): Support POTFILES-shell.
10487 * po/Makevars: New file.
10488 * po/POTFILES-shell: Rename to ...
10489 * po/POTFILES-shell.in: ... this. Update.
10490 * po/POTFILES: Rename to ...
10491 * po/POTFILES.in: ... this. Update.
10492 * po/Rules-quot: New file, from gettext.
10493 * po/boldquot.sed: Likewise.
10494 * po/en@boldquot.header: Likewise.
10495 * po/en@quot.header: Likewise.
10496 * po/insert-header.sin: Likewise.
10497 * po/quot.sed: Likewise.
10498 * po/remove-potcdate.sin: Likewise.
10499
3e0fa5d0
VS
105002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10503
ade9bd66
VS
105042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * util/grub.d/20_linux_xen.in: Use submenus.
10507
fc55cc4c
VS
105082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 Support submenus.
10511
10512 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10513 parameter submenu. All users updated.
10514 * grub-core/normal/main.c (free_menu): Rename to ...
10515 (grub_normal_free_menu): ... this. Made global.
10516 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10517 if requested.
10518 * grub-core/normal/menu_entry.c (screen): New field submenu.
10519 (make_screen): Set submenu.
10520 (run): Open new context if requested.
10521 * include/grub/menu.h (grub_menu_entry): New field submenu.
10522 * include/grub/normal.h (grub_normal_free_menu): New proto.
10523
600cedf7
VS
105242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 Menu entries extractor.
10527
10528 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10529 variants.
10530 (GRUB_MOD_INIT): Register new variants.
10531 (GRUB_MOD_FINI): Unregister new variants.
10532 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10533 into grub_cmd_legacy_source.
10534 (grub_cmd_legacy_source): Implement extractor variants.
10535 (GRUB_MOD_INIT): Register new variants.
10536 (GRUB_MOD_FINI): Unregister new variants.
10537 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10538 as an extractor.
10539 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10540 search as an extractor.
10541 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10542 test as an extractor.
10543 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10544 as an extractor.
10545 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10546 (grub_env_new_context): New function.
10547 (grub_env_context_open): Likewise.
10548 (grub_env_extractor_open): Likewise.
10549 (grub_env_extractor_close): Likewise.
10550 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10551 grub_extractor_level.
10552 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10553 * include/grub/env.h (grub_env_extractor_open): New proto.
10554 (grub_env_extractor_close): Likewise.
10555 * include/grub/normal.h (grub_extractor_level): New external variable.
10556
7bda3a87
VS
105572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 Make cutmem accept a region specification.
10560 Suggested by: Samuel Thibault
10561
10562 * grub-core/mmap/mmap.c (parsemem): New function.
10563 (grub_cmd_cutmem): Handle new arguments.
10564
2ea57f88
VS
105652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 New command cutmem.
10568
10569 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10570 (GRUB_MOD_INIT): Register new command.
10571 (GRUB_MOD_FINI): Unregister new command.
10572
74342e31
VS
105732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 Support some annoying BSD and Minix subpartitions.
10576
10577 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10578 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10579 Properly handle concatenation.
10580 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10581 * grub-core/normal/completion.c (iterate_partition): Likewise.
10582 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10583 contain partition. All users updated.
10584 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10585 struct.
10586 (grub_openbsdlabel_partition_map): Likewise.
10587 (bsdlabel_partition_map_iterate): Rename to ..
10588 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10589 (bsdlabel_partition_map_iterate): New function.
10590 (netopenbsdlabel_partition_map_iterate): Likewise.
10591 (netbsdlabel_partition_map_iterate): Likewise.
10592 (openbsdlabel_partition_map_iterate): Likewise.
10593 (GRUB_MOD_INIT): Register new partmaps.
10594 (GRUB_MOD_FINI): Unregister new partmaps.
10595 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10596 (grub_partition_msdos_iterate): ... this. All users updated.
10597 Don't support embedding other than in a minix partition.
10598 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10599 proto.
10600 * include/grub/partition.h (grub_partition): New field msdostype.
10601 * util/grub-install.in: Handle openbsd and netbsd types being in
10602 part_bsd module.
10603
1e8d555b
VS
106042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10607
10608 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10609 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10610 (mdraid09): ... this.
10611 (mdraid1x): New module.
10612 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10613 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10614
899d8af4
VS
106152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10618 vsprintf.
10619
40901acd
CW
106202010-09-20 Colin Watson <cjwatson@ubuntu.com>
10621
10622 * grub-core/commands/efi/lsefimmap.c: Correct header.
10623 * NEWS: Update.
10624
dfe3b247
CW
106252010-09-20 Colin Watson <cjwatson@ubuntu.com>
10626
10627 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10628 as printf format strings; the translations might contain '%' which
10629 could cause a crash.
10630 (main): Likewise.
10631 * util/grub-fstest.c (argp_parser): Likewise.
10632 * util/grub-setup.c (argp_parser): Likewise.
10633 (main): Likewise.
10634
3286a4b4
VS
106352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 Use argp in grub-fstest.
10638
10639 * util/grub-fstest.c: Don't include getopt.h.
10640 Include argp.h.
10641 (root): New variable.
10642 (args_count): Likewise.
10643 (nparm): Likewise.
10644 (num_disks): Likewise.
10645 (images): Likewise.
10646 (cmd): Likewise.
10647 (debug_str): Likewise.
10648 (args): Likewise.
10649 (options): Transformed to argp.
10650 (usage): Removed.
10651 (main): Split argument parsing into ...
10652 (argp_parser): ... this. Changed to argp format.
10653 (argp): New variable.
10654 (main): Use argp_parse.
10655
3dccbe4b
TG
106562010-09-20 Tristan Gingold <gingold@free.fr>
106572010-09-20 Robert Millan <rmh.grub@aybabtu.com>
106582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/commands/efi/lsefimmap.c: New file.
10661 * grub-core/Makefile.core.def (lsefimmap): New module.
10662 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10663
38c259a7
VS
106642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 Pause the execution (10s max) if any errors are displayed so the user
10667 has a chance to see them.
10668
10669 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10670 (grub_print_error): Increment grub_err_printed_errors.
10671 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10672 execution if any errors were displayed.
10673 (show_menu): Remove old code for pause.
10674 * grub-core/normal/menu_entry.c (run): Likewise.
10675 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10676 users updated.
10677 (grub_normal_get_char_counter): Likewise.
10678 * include/grub/err.h (grub_err_printed_errors): New external variable.
10679 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10680
f218b09c
VS
106812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 Support multiboot VBE info.
10684
10685 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10686 Take VBE info into account.
10687 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10688 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10689 Call fill_vbe_info when appropriate.
10690 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10691 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10692 as supported.
10693 (grub_multiboot_get_mbi_size): Take new tags into account.
10694 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10695 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10696 Call fill_vbe_tag when appropriate.
10697 (grub_multiboot_make_mbi): Properly align tags.
10698 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10699 function.
10700 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10701 proto.
10702 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10703
a9cc5438
VS
107042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 Suport manual terminal geometry specification.
10707
10708 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10709 Save state in grub_ofconsole_terminfo_output.
10710 (grub_ofconsole_term): Use grub_terminfo_getwh.
10711 (grub_ofconsole_getwh): Removed.
10712 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10713 (grub_serial_term): Use grub_terminfo_getwh.
10714 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10715 (options): New struct.
10716 (OPTION_*): New enum.
10717 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10718 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10719 width and height.
10720 (grub_terminfo_getwh): New proto.
10721 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10722
1a8fed20
VS
107232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 Handle legacy "terminal" command.
10726
10727 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10728 and FLAG_TERMINAL.
10729 (legacy_commands): Add terminal and title.
10730 (grub_legacy_parse): Handle terminal. Simplify title handling.
10731
41e9c57d
VS
107322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10735 parameters overflow.
10736
61c874c5
CW
107372010-09-20 Colin Watson <cjwatson@ubuntu.com>
10738
10739 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10740 widthspec.h.
10741
10742 * docs/grub.texi (Shell-like scripting): Document `!'.
10743 (Network): Simplify using new i386-pc-pxe format. Mention
10744 grub-mknetdir.
10745
10746 * NEWS: Update.
10747
943682b4
CW
107482010-09-20 Colin Watson <cjwatson@ubuntu.com>
10749
10750 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10751 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10752 when needed.
10753
6d3d698d
CW
107542010-09-20 Colin Watson <cjwatson@ubuntu.com>
10755
10756 * grub-core/commands/efi/lsefisystab.c: Correct header.
10757 * grub-core/commands/efi/lssal.c: Likewise.
10758 * grub-core/commands/testload.c: Likewise.
10759
c982589f
CW
107602010-09-20 Colin Watson <cjwatson@ubuntu.com>
10761
10762 * util/grub-mkrescue.in: Add explicit root argument to --set to
10763 prevent the UUID being interpreted as an argument to --set (matches
10764 previous change to prepare_grub_to_access_device).
10765
a63c31b6
CW
107662010-09-20 Colin Watson <cjwatson@ubuntu.com>
10767
10768 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10769 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10770 the verbosity of later #ifs.
10771 (find_partition_start): Define this function on FreeBSD too.
10772 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10773 function.
10774 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10775 on FreeBSD.
10776
6439b8ee
YB
107772010-09-20 Yves Blusseau <blusseau@zetam.org>
10778
10779 * util/grub-editenv.c: Use argp instead of getopt.
10780
c5930ec8
YB
107812010-09-20 Yves Blusseau <blusseau@zetam.org>
10782
10783 * util/grub-setup.c: Use argp instead of getopt.
10784
15c69261
YB
107852010-09-20 Yves Blusseau <blusseau@zetam.org>
10786
10787 Use gnulib-tool to create gnulib source files.
10788
10789 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10790 grub-core/gnulib directories
10791 * .bzignore: Add **/.deps and autogenerated gnulib files
10792 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10793 of gnulib macros, add grub-core/gnulib/Makefile
10794 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10795 include m4 directory to aclocal.
10796 * Makefile.util.def: Remove direct compilation of gnulib source files
10797 and use the new grub-core/gnulib/libgnu.a.
10798 * build-aux/config.rpath: move config.rpath from top directory to
10799 build-aux
10800 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10801 in gnulib headers
10802 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10803 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10804 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10805 header.
10806 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10807 string.
10808
e511c9f5
YB
108092010-09-20 Yves Blusseau <blusseau@zetam.org>
10810
10811 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10812 grub-core/genmod.sh and grub-core/gensyminfo.sh
10813
c2dede05
BC
108142010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10815
10816 Add a test for echo command options.
10817
10818 * tests/grub_cmd_echo.in: New test.
10819 * Makefile.util.def: Rules for new test.
10820
c55f5018
SJ
108212010-09-20 Szymon Janc <szymon@janc.net.pl>
10822
10823 Remove crc.mod and move crc command to hashsum.mod.
10824 Remove lib/crc.c - users updated to use gcrypt implementation.
10825
10826 * grub-core/commands/crc.c: Removed.
10827 * grub-core/Makefile.core.def (crc): Module removed.
10828 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10829 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10830 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10831 * grub-core/lib/crc.c: Removed.
10832 * include/grub/lib/crc.h: Removed.
10833 * Makefile.util.def (crc): Remove lib/crc.c
10834 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10835 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10836 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10837 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10838 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10839 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10840
e0337366
VS
108412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10844
742f9232
VS
108452010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 Split config.h for util and core.
10848
10849 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10850 (ADDR32): Likewise.
10851 (DATA32): Likewise.
10852 (BSS_START_SYMBOL): Likewise.
10853 (END_SYMBOL): Likewise.
10854 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10855 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10856 * config.h.in: New file.
10857 * configure.ac: Use config-util.h as config define file.
10858 Rename MACHINE into GRUB_MACHINE. All users updated.
10859 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10860 updated.
10861 (NESTED_FUNC_ATTR): Likewise.
10862 Substitue new variables.
10863 (COND_HAVE_ASM_USCORE): New conditional.
10864 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10865 (kernel_syms.lst): Use ASM_PREFIX.
10866 * grub-core/kern/emu/console.c: Include config-util.h.
10867 * grub-core/kern/emu/misc.c: Likewise.
10868 * grub-core/kern/emu/mm.c: Likewise.
10869 * include/grub/emu/misc.h: Likewise.
10870 * include/grub/libgcc.h: Likewise.
10871
39feb0e8
VS
108722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10875 constants usage.
10876 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10877 Fix GRUB_TERM_KEY_* constants usage.
10878 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10879
9af6dac3
VS
108802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10883 print pointer.
10884 * grub-core/bus/usb/uhci.c: Remove empty define.
10885 (grub_uhci_check_transfer): Add missing cast.
10886 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10887 print pointer.
10888 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10889 PRIuGRUB_SIZE.
10890 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10891
d6d94820
VS
108922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/Makefile.core.def (legacycfg): Add
10895 lib/i386/pc/vesa_modes_table.c on emu.
10896
3572f2b6
BC
108972010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10898
10899 Reduce number of temporary files generated by build system.
10900
10901 * grub-core/gencmdlist.sh: Removed.
10902 * grub-core/genfslist.sh: Removed.
10903 * grub-core/genhandlerlist.sh: Removed.
10904 * grub-core/genmodsrc.sh: Removed.
10905 * grub-core/genpartmaplist.sh: Removed.
10906 * grub-core/genparttoollist.sh: Removed.
10907 * grub-core/gentermiinallist.sh: Removed.
10908 * grub-core/genvideolist.sh: Removed.
10909
10910 * grub-core/genmod.sh.in: New file.
10911 * grub-core/gensyminfo.sh.in: New file.
10912
10913 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10914 * conf/Makefile.extra-dist: Update with new files.
10915 * gentpl.py: Remove rules related to unnecessary temporary files.
10916 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10917 and und-* files.
10918 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10919 genmod.sh scripts.
10920 * grub-core/bus/usb/uhci.c: Remove empty #define.
10921 * grub-core/genmoddep.awk: Updated with new syminfo format.
10922 * util/bash-completion.d/Makefile.am: Add config.log to
10923 CLEANFILES.
10924
c836b030
YB
109252010-09-19 Yves Blusseau <blusseau@zetam.org>
10926
10927 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10928
2f4e8053
BC
109292010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10930
10931 * util/grub-mkconfig.in: Check the config script for syntax errors
10932 before saving.
10933
75831c34
CW
109342010-09-19 Colin Watson <cjwatson@ubuntu.com>
109352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10938 platforms.
10939 * util/grub-install.in: Add EFI and IEEE1275 support.
10940 * util/i386/efi/grub-install.in: Removed.
10941 * util/ieee1275/grub-install.in: Likewise.
10942
eaf41b25
VS
109432010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10946 (grub_cmd_cmosclean): Likewise.
10947 (GRUB_MOD_INIT): Register command cmosclean.
10948 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10949 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10950
1a9130dd
CPE
109512010-09-18 Carles Pina i Estany <carles@pina.cat>
109522010-09-18 Aleš Nesrsta <starous@volny.cz>
109532010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 Add keyboard layouts support.
10956
10957 * Makefile.util.def (grub-mklayout): New file.
10958 (grub-kbdcomp): New script.
10959 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10960 Add keyboard_layouts.h.
10961 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10962 commands/boot.c on yeeloong.
10963 (keylayouts): New module.
10964 * grub-core/bus/usb/ohci.c
10965 * grub-core/bus/usb/uhci.c
10966 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10967 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10968 (attach_root_port): Likewise.
10969 (poll_nonroot_hub): Likewise.
10970 (grub_usb_poll_devices): Likewise.
10971 (detach_device): Close transfer.
10972 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10973 function.
10974 (grub_usb_bulk_setup_readwrite): Likewise.
10975 (grub_usb_bulk_finish_readwrite): Likewise.
10976 * grub-core/commands/keylayouts.c: New file.
10977 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10978 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10979 aliases.
10980 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10981 support scancode 2.
10982 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10983 * include/grub/keyboard_layouts.h: New file.
10984 * util/grub-mklayout.c: New file.
10985 * util/grub-kbdcomp.in: Likewise.
10986
a1d84a5e
VS
109872010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 Unify memory types.
10990
10991 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
10992 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
10993 types.
10994 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
10995 (grub_upper_mem): Likewise.
10996 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
10997 * include/grub/memory.h (grub_memory_type_t): New enum.
10998 All users updated.
10999
9696382e
VS
110002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/Makefile.core.def (lsapm): New module.
11003 * grub-core/commands/i386/pc/lsapm.c: New file.
11004 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
11005 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
11006 Likewise.
11007 * include/grub/i386/pc/apm.h: New file.
11008 * include/multiboot.h (multiboot_apm_info): New struct.
11009
110102010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 GRUB-legacy configuration file support.
11013
11014 * Makefile.util.def (grub-menulst2cfg): New util.
11015 * docs/man/grub-menulst2cfg.h2m: New file.
11016 * grub-core/Makefile.core.def (legacycfg): New module.
11017 * grub-core/commands/legacycfg.c: New file.
11018 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
11019 (grub_normal_add_menu_entry): ... this.
11020 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
11021 (grub_normal_set_password): ...this.
11022 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
11023 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
11024 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
11025 * grub-core/lib/legacy_parse.c: New file.
11026 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
11027 * include/grub/i386/pc/vesa_modes_table.h: New file.
11028 * include/grub/legacy_parse.h: Likewise.
11029 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
11030 * util/grub-menulst2cfg.c: New file.
11031
bf8d1338
CW
110322010-09-17 Colin Watson <cjwatson@ubuntu.com>
11033
11034 * grub-core/kern/emu/hostdisk.c
11035 (convert_system_partition_to_system_disk): Initialise node.
11036
9c0bad2e
CW
110372010-09-17 Colin Watson <cjwatson@ubuntu.com>
11038
11039 * grub-core/kern/emu/hostdisk.c
11040 (convert_system_partition_to_system_disk): Fix devmapper memory pool
11041 leak.
11042 Reported and based on patch by: Modestas Vainius.
11043
a939d135
CW
110442010-09-17 Colin Watson <cjwatson@ubuntu.com>
11045
11046 Fix DM-RAID probing with recent versions of device-mapper udev
11047 rules.
11048
11049 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
11050 canonicalise device paths under /dev/mapper/.
11051 (convert_system_partition_to_system_disk): Compare the
11052 uncanonicalised path to /dev/mapper/ rather than the canonicalised
11053 path, since device nodes under /dev/mapper/ are often symlinks.
11054
0f7ee3c9
YB
110552010-09-17 Yves Blusseau <blusseau@zetam.org>
11056
11057 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
11058
10854d0d
YB
110592010-09-16 Yves Blusseau <blusseau@zetam.org>
11060
11061 * configure.ac: Avoid some annoying error messages if freetype-config
11062 program is not found.
11063
108538d8
CW
110642010-09-16 Colin Watson <cjwatson@ubuntu.com>
11065
11066 Support RAID on virtio devices, and others.
11067
11068 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
11069 Rename to ...
11070 [__MINGW32__] (grub_find_device): ... this.
11071 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
11072 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
11073 reasonable default if dir is NULL.
11074 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
11075 ...
11076 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
11077 (grub_guess_root_device): Update callers.
11078 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
11079
11080 * util/raid.c (grub_util_getdiskname): Remove.
11081 (grub_util_raid_getmembers): Use grub_find_device rather than
11082 grub_util_getdiskname.
11083
e5bfc130
CW
110842010-09-16 Colin Watson <cjwatson@ubuntu.com>
11085
11086 * docs/grub.texi (serial): Remove obsolete comment about GRUB
11087 needing to be compiled with serial support.
11088 (ls): Indicate that multiple files are accepted.
11089 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
11090 indicate that multiple files are accepted.
11091
be458ae2
CW
110922010-09-16 Colin Watson <cjwatson@ubuntu.com>
11093
11094 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
11095 libgrub_a_init.c, and util/bash-completion.d/grub.
11096
cb731b5e
VS
110972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * util/grub-setup.c (setup): Fix incorrect container semantics.
11100
35139e8a
VS
111012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
11104 misusage.
11105 Reported by: J. Nick Terry
11106
e50fca4a
VS
111072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 Move embedding routines to partmap sources files.
11110
11111 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11112 [GRUB_UTIL]: New variable.
11113 (gpt_partition_map_iterate): Set part.parent.
11114 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11115 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11116 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11117 New function.
11118 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11119 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11120 (grub_partition_map) [GRUB_UTIL]: New field embed.
11121 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11122 (setup): Use ->embed.
11123
f00478b7
VS
111242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11127 function.
11128 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11129 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11130
2b94e3ff
YB
111312010-09-15 Yves Blusseau <blusseau@zetam.org>
11132
11133 Add function to get completions from usage.
11134
11135 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11136 completions from usage. Use LC_ALL=C to get options properly.
11137
2e04a006
VS
111382010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 * grub-core/gnulib/basename-lgpl.c: Imported.
11141 * grub-core/gnulib/basename.c: Likewise.
11142 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11143 * grub-core/gnulib/dirname.c: Likewise.
11144 * grub-core/gnulib/dirname.h: Likewise.
11145 * grub-core/gnulib/stripslash.c: Likewise.
11146
5dcdf93a
VS
111472010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 * grub-core/gnulib/error.c: Resynced.
11150 * grub-core/gnulib/getopt.c: Likewise.
11151 * grub-core/gnulib/getopt_int.h: Likewise.
11152 * grub-core/gnulib/regex.h: Likewise.
11153 * grub-core/gnulib/regex_internal.c: Likewise.
11154 * grub-core/gnulib/regex_internal.h: Likewise.
11155
014f47b7
SJ
111562010-09-15 Szymon Janc <szymon@janc.net.pl>
11157
11158 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11159 CRC calculations and validity checks.
11160 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11161 calculations.
11162
dd521a4a
SJ
111632010-09-15 Szymon Janc <szymon@janc.net.pl>
11164
11165 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11166
79c4eeb9
VS
111672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 Fix incorrect echo options handling.
11170 Reported by: Yves Blusseau.
11171
11172 * include/grub/command.h (grub_command_flags_t): New flags
11173 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11174 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11175 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11176
ed80f7d5
VS
111772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11180 users updated.
11181 (GRUB_COMMAND_FLAG_MENU): Likewise.
11182 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11183 (GRUB_COMMAND_FLAG_TITLE): Removed.
11184 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11185 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11186 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11187 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11188 (grub_command_flags_t): New enum. All users updated.
11189
5fe7620a
SG
111902010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11191
11192 Fix solaris compilation.
11193
11194 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11195 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11196 (grub-emu-list): Likewise.
11197
545b752f
VS
111982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 Remove deprecated root command.
11201
11202 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11203 updated.
11204
6c1a338c
VS
112052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * util/i386/pc/grub-setup.c: Merge this ...
11208 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11209 * util/grub-setup.c: ... into this.
11210 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11211 New struct.
11212
112132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11216 possible.
11217
d2ea4551
VS
112182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11221 allocate p.
11222
3c3b5040
VS
112232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11226 explicit root argument to set to prevent UUID to be interpreted as
11227 argument to set.
11228
b71c3fae
VS
112292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11232
275433e6
VS
112332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 Don't export grub_gate_a20.
11236
11237 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11238 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11239 to ...
11240 (grub_gate_a20): ... this. All users updated.
11241 * include/grub/i386/pc/init.h: Removed. All users updated.
11242
a5dbb1f1
VS
112432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 Create euro.pf2 which supports most European languages.
11246
11247 * Makefile.am (grubdata_DATA): Add euro.pf2.
11248 (euro.pf2): New target.
11249 (CLEANFILES): Add euro.pf2.
11250
62a747cb
VS
112512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * configure.ac: Disable emu-usb by default to prevent inadvertent
11254 device takeover.
11255
608e43b1
VS
112562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 Disable usbserial on grub-emu since our libusb code isn't good enough
11259 yet.
11260
11261 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11262 (usbserial_pl2303): Likewise.
11263 (usbserial_ftdi): Likewise.
11264
94564f81
VS
112652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * include/grub/disk.h (grub_disk): Remove has_partitions.
11268 All users updated.
11269 * disk/loopback.c (grub_loopback): Remove has_partitions.
11270 All users updated.
11271 (options): Remove partitions. All users updated.
11272 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11273 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11274 actual partition table is found.
11275
3352800b
VS
112762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 Remove readability checks (too many false negatives).
11279
11280 * util/grub-install.in: Remove readability checks.
11281 * util/grub-mkconfig.in: Likewise.
11282 * util/grub.d/10_hurd.in: Likewise.
11283 * util/grub.d/10_kfreebsd.in: Likewise.
11284 * util/grub.d/10_linux.in: Likewise.
11285 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11286 way.
11287
2419f17a
VS
112882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 Enable acpi shutdown on all ACPI platforms.
11291
11292 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11293 on coreboo, multiboot and EFI.
11294 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11295 (grub_acpi_halt): Likewise.
11296 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11297 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11298 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11299 * grub-core/lib/i386/halt.c (grub_halt)
11300 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11301
0575c7c3
VS
113022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11305 context.
11306
54ac3cd1
VS
113072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11310 * grub-core/video/efi_uga.c: Likewise.
11311
b2a30ac5
VS
113122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 Filter devaliases and never open same device twice.
11315
11316 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11317 (last_ihandle): Likewise.
11318 (ofdisk_hash_ent): New member shortest.
11319 (ofdisk_hash_add): Add canonical path too.
11320 (scan): New function.
11321 (grub_ofdisk_iterate): Iterate over hashed entries.
11322 (compute_dev_path): Don't add :0.
11323 (grub_ofdisk_open): Don't really open the disk.
11324 (grub_ofdisk_close): Avoid closing unrelated disk.
11325 (grub_ofdisk_read): Implement reopen logic.
11326 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11327 New function.
11328 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11329 New proto.
11330
fb53b340
VS
113312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 Fix sparc64.
11334
11335 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11336 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11337 right address. Add sparc64_ieee1275_ldflags.
11338 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11339 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11340 to grub_host_to_target_addr
11341 (load_image): Likewise.
11342
f452b040
VS
113432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/normal/completion.c (complete_file): Handle device
11346 containing slash.
11347 Fix based on patch by Doug Nazar.
11348
9b5b2541
VS
113492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 grub-mknetdir script.
11352
11353 * Makefile.util.def (grub-mknetdir): New module.
11354 * tests/util/grub-shell.in: Support boot=net
11355 * util/grub-mknetdir.in: New file.
11356
9d2be652
VS
113572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 videoinfo on non-vbe.
11360
11361 * grub-core/Makefile.core.def (vbeinfo): Removed.
11362 (vbetest): Removed.
11363 (videoinfo): New module.
11364 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11365 * grub-core/commands/i386/pc/vbetest.c: Removed.
11366 * grub-core/commands/videoinfo.c: New file.
11367 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11368 specification.
11369 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11370 as vbetest.
11371 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11372 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11373 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11374 mode_number. New parameter mode. All users updated.
11375 (grub_video_gop_iterate): New function.
11376 (grub_video_efi_gop): New member iterate.
11377 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11378 (grub_vbe_set_video_mode): Remove setting useless fields.
11379 (vbe2videoinfo): New function.
11380 (grub_video_vbe_iterate): Likewise.
11381 (grub_video_vbe_setup): Use vbe2videoinfo.
11382 (grub_video_vbe_print_adapter_specific_info): New function.
11383 (grub_video_vbe_adapter): New fields iterate and
11384 print_adapter_specific_info.
11385 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11386 All users updated.
11387 (grub_video_mode_info): New field mode_number.
11388 (grub_video_adapter): New fields iterate and
11389 print_adapter_specific_info.
11390
179503f5
TG
113912010-09-13 Tristan Gingold <gingold@free.fr>
113922010-09-13 Robert Millan <rmh.grub@aybabtu.com>
113932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/commands/efi/lsefisystab.c: New file.
11396 * grub-core/commands/efi/lssal.c: Likewise.
11397 * grub-core/Makefile.core.def (lsacpi): New module.
11398 (lsefisystab): Likewise.
11399 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11400 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11401 (grub_efi_sal_system_table): New struct.
11402 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11403 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11404 (grub_efi_sal_system_table_platform_features): Likewise.
11405 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11406 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11407 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11408 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11409
cf9827de
VS
114102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 Support explicit user claim that a device is BIOS-visible.
11413
11414 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11415 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11416 * grub-core/kern/emu/hostdisk.c
11417 (convert_system_partition_to_system_disk): Support mdX.
11418 (find_system_device): New parameter add. All users updated.
11419 (grub_util_biosdisk_is_present): New function.
11420 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11421 proto.
11422
53f0eb1f
VS
114232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Search hints support.
11426
11427 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11428 All users updated.
11429
b23ffd70
YB
114302010-09-13 Yves Blusseau <blusseau@zetam.org>
11431
11432 Bash completion script for util commands
11433
11434 * Makefile.am: Add util/bash-completion.d directory
11435 * configure.ac: Likewise.
11436 * util/bash-completion.d/Makefile.am: New file.
11437 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11438
d547dc28
VS
114392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11442 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11443 Reported by: Yves Blusseau.
11444
2fc8ccb9
VS
114452010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11448 partition size and offset.
11449
d8a84076
VS
114502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11453
84fb3b3d
VS
114542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11455
11456 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11457
768ec2e2
VS
114582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11461 (grub_xvasprintf): Likewise.
11462
4870900f
VS
114632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11466
faca6bec
VS
114672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11470 args ending with NULL.
11471
114722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
11473
11474 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11475 pointer.
11476
3c70f225
SJ
114772010-09-11 Szymon Janc <szymon@janc.net.pl>
11478
11479 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11480
4df7996d
VS
114812010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 Shutdown using ACPI.
11484
11485 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11486 * grub-core/commands/acpihalt.c: New file.
11487 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11488 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11489 (grub_acpi_halt): New proto.
11490 (GRUB_ACPI_SLP_EN): New const.
11491 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11492 (GRUB_ACPI_OPCODE_*): New enum.
11493 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11494
126b4c32
TG
114952010-09-11 Tristan Gingold <gingold@free.fr>
114962010-09-11 Robert Millan <rmh.grub@aybabtu.com>
114972010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * commands/lsacpi.c: New file.
11500 * grub-core/Makefile.core.def (lsacpi): New module.
11501 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11502 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11503 (grub_acpi_madt_entry_header): New struct.
11504 (grub_acpi_madt): Likewise.
11505 (grub_acpi_madt_entry_interrupt_override): Likewise.
11506 (grub_acpi_madt_entry_sapic): Likewise.
11507 (grub_acpi_madt_entry_lsapic): Likewise.
11508 (grub_acpi_madt_entry_platform_int_source): Likewise.
11509 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11510 (PRIuGRUB_UINT32_T): Likewise.
11511 (PRIxGRUB_UINT64_T): Likewise.
11512
1aa4fe88
VS
115132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 Implement loading palette on ieee1275_fb.
11516
11517 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11518 (have_setcolors): Likewise.
11519 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11520 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11521 (grub_video_ieee1275_set_palette): Implement.
11522
25761e13
VS
115232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
115242010-09-11 Colin Watson <cjwatson@ubuntu.com>
11525
11526 * util/grub-install.in (grub_partition): New variable.
11527 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11528 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11529 Fixes a bug reported by Yves Blusseau.
11530
050abaea
VS
115312010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 Fix emu on mipsel.
11534
11535 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11536 =grub_cpu_flush_cache on all mips and not only yeeloong.
11537 * configure.ac (COND_mips): New conditional.
11538 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11539 platforms.
11540 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11541 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11542 [GRUB_LINKER_HAVE_INIT]: New function.
11543 (grub_emu_post_init): Likewise.
11544 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11545 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11546 * include/grub/cache.h (_mips): Include mips/cache.h.
11547 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11548 LVM and RAID prototypes.
11549 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11550 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11551 function.
11552
5ed7d816
CW
115532010-09-10 Colin Watson <cjwatson@ubuntu.com>
11554
11555 * util/grub-install.in: Don't try to verify core.img until after
11556 running grub-mkimage to create it.
11557
90367e04
RM
115582010-09-10 Robert Millan <rmh@gnu.org>
11559
11560 * util/grub.d/10_hurd.in: Add misc readability checks.
11561 * util/grub.d/10_kfreebsd.in: Likewise.
11562 * util/grub.d/10_linux.in: Likewise.
11563
c452fa66
CW
115642010-09-10 Colin Watson <cjwatson@ubuntu.com>
11565
11566 * util/grub-install.in: ${imgext} won't be defined here until the
11567 install branch is merged. For the meantime, only verify core.img on
11568 i386-pc and sparc64-ieee1275 platforms.
11569
c38fe9f4
RM
115702010-09-10 Robert Millan <rmh@gnu.org>
11571
11572 Solaris support in grub_find_zpool_from_dir(). Thanks
11573 Seth Goldberg for referring to getextmntent() facility.
11574
11575 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11576 `sys/mkdev.h'.
11577 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11578 `<sys/mnttab.h>'.
11579 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11580 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11581 method for finding zpool name.
11582
905f7773
CW
115832010-09-10 Colin Watson <cjwatson@ubuntu.com>
11584
11585 grub-fstest needs the host and hostfs modules while other utilities
11586 actively require those modules to be absent, so grub-fstest needs
11587 its own initialisation and finalisation code.
11588
11589 * Makefile.am (grub_fstest.pp): New target.
11590 (grub_fstest_init.lst): Likewise.
11591 (grub_fstest_init.c): Likewise.
11592 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11593
fb90b546
RM
115942010-09-10 Robert Millan <rmh@gnu.org>
11595
11596 * configure.ac: Check for `struct statfs.f_fstypename' and
11597 `struct statfs.f_mntfromname'.
11598
11599 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11600 kFreeBSD-specific code.
11601
66d4bea5
RM
116022010-09-10 Robert Millan <rmh@gnu.org>
11603
11604 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11605 on ZFS. Now non-main filesystems are supported as / too.
11606
b6a690ee
CW
116072010-09-09 Colin Watson <cjwatson@ubuntu.com>
11608
11609 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11610 and grub-core/disk/host.c to ...
11611 (grub-fstest): ... here. Having the host disk implementation
11612 present confuses grub-probe and other utility programs.
11613
11614 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11615 when writing to a file, not when writing to stdout.
11616
8901b00c 116172010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11618
11619 * tests/partmap_test.in: New test for partitions.
11620 * Makefile.util.def: Rules for new test.
11621
7bf45fdd
RM
116222010-09-09 Robert Millan <rmh@gnu.org>
11623
11624 * util/grub-probe.c (probe): Fix a pair of unhandled error
11625 conditions.
11626
4dfbc574
RM
116272010-09-09 Robert Millan <rmh@gnu.org>
11628
11629 Basic Btrfs support (detection and UUID).
11630
11631 * grub-core/fs/btrfs.c: New file.
11632 * Makefile.util.def (library): Register btrfs.c.
11633 * grub-core/Makefile.core.def: Likewise.
11634
6b8e78ae
RM
116352010-09-08 Robert Millan <rmh@gnu.org>
11636
11637 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11638 with (optional) parameters to specify device and relative path.
11639 * util/grub-install.in: Use is_path_readable_by_grub() to
11640 verify readability of a few critical files.
11641 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11642 verify readability of grub.cfg.new.
11643
27f21a8b
VS
116442010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 Split minix.mod into minix.mod and minix2.mod.
11647
11648 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11649 * grub-core/Makefile.core.def (minix2): New module.
11650 * grub-core/fs/minix.c: Use definitions instead of runtime version
11651 checking.
11652 * grub-core/fs/minix2.c: New file.
11653
c0e53ea5
YB
116542010-09-08 Yves Blusseau <blusseau@zetam.org>
11655
11656 Add new --boot-directory option to replace --root-directory
11657
11658 * util/grub-install.in: Add new --boot-directory option
11659 * util/grub-reboot.in: Likewise.
11660 * util/grub-set-default.in: Likewise.
11661
b9fe6ea2
YB
116622010-09-08 Yves Blusseau <blusseau@zetam.org>
11663
11664 * util/grub-mkconfig.in: Use new variable.
11665
d87aedff
YB
116662010-09-08 Yves Blusseau <blusseau@zetam.org>
11667
11668 * configure.ac: Define some useful variables.
11669
e55e8495
VS
116702010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11673 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11674 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11675 Use terminfo and don't use cursor-on/cursor-off unless it's known
11676 to work.
11677 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11678 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11679
6fa6d675
CW
116802010-09-08 Colin Watson <cjwatson@ubuntu.com>
11681
11682 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11683 starts with "(,", fill the drive containing the loaded image in
11684 between those two characters, but expect that a full partition
11685 specification including partition map names will follow.
11686
92f2aef0
RM
116872010-09-08 Robert Millan <rmh@gnu.org>
11688
11689 * configure.ac: Remove `--enable-grub-fstest' option.
11690 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11691
11692 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11693 `grub-fstest' instead of `grub-probe' for readability verification.
11694 * util/grub-probe.c (probe): Remove readability verification kludge.
11695
99fd620d
RM
116962010-09-08 Robert Millan <rmh@gnu.org>
11697
11698 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11699 initializing `GRUB_FS'.
11700
058e30ac 117012010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11702
11703 Not command (!) support to GRUB script.
11704
11705 * tests/grub_script_not.in: New test.
11706 * Makefile.util.def: Rules for new test.
11707
11708 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11709 ! command as a special case.
11710 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11711
b61d05ed 117122010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11713
058e30ac 11714 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11715 grub_free.
b61d05ed 11716
4d69c786 117172010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11718
11719 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11720
aa3119c4 117212010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11722
11723 * docs/grub.texi (Shell-like scripting): Documentation for break,
11724 continue, shift and return commands.
11725
db0f7e3d
VS
117262010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 Rename CD-ROM to cd on BIOS.
11729
11730 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11731 "cd".
11732 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11733
88b87c93
VS
117342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11737 * util/grub-probe.c (main): Likewise.
11738 * util/i386/pc/grub-setup.c (main): Likewise.
11739 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11740 Reported and debugged by: alexxy
11741
294f324d
VS
117422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11745 diagnostic info.
11746
d7ee3441
JS
117472010-09-05 Jo Shields <directhex@apebox.org>
11748
11749 * util/grub.d/30_os-prober.in: Add missing classes.
11750
d7e06c1f
VS
117512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * docs/grub.texi (Theme file format): Document new position format.
11754
fc157e53
VS
117552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11758 a table. Use @code instead of @verbatim.
11759
506e9a1c
CB
117602010-09-05 Colin D Bennett <colin@gibibit.com>
11761
11762 Gfxmenu documentation.
11763
11764 * docs/grub.texi (Theme file format): New chapter.
11765
f0aff67c
SJ
117662010-09-05 Szymon Janc <szymon@janc.net.pl>
11767
11768 * grub-core/Makefile.core.def (xzio): New module.
11769 * grub-core/io/xzio.c: New file.
11770 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11771 * grub-core/lib/xzembed/xz_config.h: Likewise.
11772 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11773 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11774 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11775 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11776 * grub-core/lib/xzembed/xz_private.h: Likewise.
11777 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11778 * include/grub/file.h (grub_file_filter_id): New compression filter
11779 GRUB_FILE_FILTER_XZIO.
11780
82a85062
VS
117812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11784 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11785 size.
11786
3579415d
VS
117872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11790 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11791
5124ae6d
VS
117922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 Uncompressed checksum support.
11795
11796 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11797 (check_list): New parameter uncompress.
11798 (grub_cmd_hashsum): Handle --uncompress.
11799
9aadb3d1
VS
118002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 Reintroduce testload.
11803
11804 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11805 from here ...
11806 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11807 (GRUB_MOD_INIT): New function.
11808 (GRUB_MOD_FINI): Likewise.
11809 * grub-core/Makefile.core.def (testload): New module.
11810
a17792c3
SJ
118112010-09-05 Szymon Janc <szymon@janc.net.pl>
11812
11813 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11814 (uint8_t): New type.
11815 (uint16_t): Likewise.
11816 (uint32_t): Likewise.
11817 (uint64_t): Likewise.
11818
b81e40a3
SJ
118192010-09-05 Szymon Janc <szymon@janc.net.pl>
11820
11821 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11822
fc2ef117
VS
118232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11826 Made static.
11827 (grub_gzfile_open): Removed. All users updated.
11828 (GRUB_MOD_INIT): New function.
11829 (GRUB_MOD_FINI): Likewise.
11830 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11831 (grub_file_filters_enabled): Likewise.
11832 (grub_file_open): Handle filters.
11833 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11834 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11835 * include/grub/file.h (grub_file_filter_id_t): New type.
11836 (grub_file_filter_t): Likewise.
11837 (grub_file_filters_all): New extern variable.
11838 (grub_file_filters_enabled): Likewise.
11839 (grub_file_filter_register): New inline function.
11840 (grub_file_filter_unregister): Likewise.
11841 (grub_file_filter_disable): Likewise.
11842 (grub_file_filter_disable_compression): Likewise.
11843 * include/grub/gzio.h: Removed.
11844
35ee15e0
BC
118452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11846
11847 Filename expansion support for wildcards in GRUB script.
11848
11849 * tests/grub_script_expansion.in: New test.
11850 * Makefile.util.def: Rule for new test.
11851
11852 * grub-core/commands/wildcard.c: New file, implements filename
11853 expansion support for GRUB script.
11854 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11855 * grub-core/script/argv.c: Cosmetic changes.
11856 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11857 Refactored to perform wildcard expansion on arguments.
11858 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11859 struct.
11860
11861 * tests/util/grub-shell.in: Fix quoting for read input.
11862
5f0c4aca
BC
118632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11864
11865 Support for updating environment variables with matched substrings
11866 of regexp.
11867
11868 * tests/grub_cmd_regexp.in: New test.
11869 * Makefile.util.def: Rule for new test.
11870
11871 * grub-core/commands/regexp.c: New option -s to update environment
11872 variables with regexp matches.
11873
3759a35f
SJ
118742010-09-04 Szymon Janc <szymon@janc.net.pl>
11875
11876 * include/grub/file.h (grub_file): New member not_easly_seekable.
11877 (grub_file_seekable): New inline function.
11878 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11879 easily seekable.
11880 (grub_gzio_open): Set not_easly_seekable.
11881 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11882 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11883
ed8c6dec
BC
118842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11885
11886 Support for options to appear multiple times on cmdline.
11887
11888 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11889 * grub-core/commands/extcmd.c: Support for repeatable option.
11890 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11891 repeatable option support.
11892
11893 Refactor menuentry into a regular command.
11894
11895 * grub-core/commands/menuentry.c: New file, menuentry command
11896 implementation.
11897 * grub-core/Makefile.core.def: Rule update for normal.mod.
11898 * grub-core/normal/main.c: Moved menuentry creation to
11899 grub-core/commands/menuentry.c.
11900 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11901 (grub_menu_execute_entry_real): Removed.
11902 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11903 function.
11904 (grub_script_execute_menuentry): Removed.
11905 * grub-core/script/parser.y (menuentry): Removed.
11906 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11907 * grub-core/script/yylex.l (menuentry): Removed.
11908 * include/grub/menu.h (grub_menu_init): New prototype.
11909 (grub_menu_fini): New prototype.
11910 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11911 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11912 (grub_script_execute_sourcecode): New prototype.
11913
dacd0cf0
BC
119142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11915
11916 "return" command for GRUB script functions.
11917
11918 * tests/grub_script_return.in: New test.
11919 * Makefile.util.def: Rules for new test.
11920
11921 * grub-core/script/execute.c (grub_script_return): New function.
11922 * grub-core/script/main.c: Register/unregister return commaond.
11923 * include/grub/script_sh.h (grub_script_return): New prototype.
11924
52e72f9d
BC
119252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11926
11927 "setparams" command to update positional parameters.
11928
11929 * tests/grub_script_setparams.in: New test.
11930 * Makefile.util.def: Rules for new test.
11931
11932 * grub-core/script/argv.c (grub_script_argv_make): New function.
11933 * grub-core/script/execute.c (replace_scope): New function.
11934 (grub_script_setparams): New function.
11935 * grub-core/script/lexer.c: Remove unused variables.
11936 * grub-core/script/main.c: Register/unregister setparams command.
11937 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11938 (grub_script_setparams): New prototype.
11939
25b60c91
BC
119402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11941
11942 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11943 grub_free order.
11944
37e7bf68
BC
119452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11946
11947 Support for passing block of commands as an argument to extcmds.
11948
11949 * Makefile.util.def: Rules for new test.
11950 * tests/grub_script_blockarg.in: New test.
11951 * grub-core/tests/test_blockarg.c: New file, block argument
11952 command used in the test.
11953
11954 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11955 (grub_register_extcmd_prio): New function prototype.
11956 (grub_extcmd_dispatcher): New function prototype.
11957 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11958 type.
11959 * include/grub/script_sh.h (struct grub_script): New members
11960 `children', `next_siblings' and `refcnt' for block arguments and
11961 reference counting.
11962 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11963 (grub_script_arg): New member `script' for block argument.
11964 (grub_script_argv): New member `script' for block argument.
11965 (grub_parser_param): New member `scripts' for block argument.
11966 (grub_script_mem_free): New extern function prototype.
11967 (grub_script_ref): New function prototype.
11968 (grub_script_unref): New function prototype.
11969
11970 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11971 extcmd form to support block arguments.
11972 * grub-core/script/argv.c: Block arguments support.
11973 * grub-core/script/execute.c: Likewise.
11974 * grub-core/script/lexer.c: Likewise.
11975 * grub-core/script/main.c: Likewise.
11976 * grub-core/script/script.c: Likewise.
11977 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11978 non-terminals.
11979
11980 * grub-core/commands/acpi.c: Update extcmd implementations with
11981 grub_extcmd_context_t.
11982 * grub-core/commands/cat.c: Likewise.
11983 * grub-core/commands/echo.c: Likewise.
11984 * grub-core/commands/extcmd.c: Likewise.
11985 * grub-core/commands/hashsum.c: Likewise.
11986 * grub-core/commands/hdparm.c: Likewise.
11987 * grub-core/commands/help.c: Likewise.
11988 * grub-core/commands/hexdump.c: Likewise.
11989 * grub-core/commands/i386/cpuid.c: Likewise.
11990 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11991 * grub-core/commands/i386/pc/halt.c: Likewise.
11992 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11993 * grub-core/commands/iorw.c: Likewise.
11994 * grub-core/commands/keystatus.c: Likewise.
11995 * grub-core/commands/loadenv.c: Likewise.
11996 * grub-core/commands/ls.c: Likewise.
11997 * grub-core/commands/lspci.c: Likewise.
11998 * grub-core/commands/memrw.c: Likewise.
11999 * grub-core/commands/probe.c: Likewise.
12000 * grub-core/commands/search_wrap.c: Likewise.
12001 * grub-core/commands/setpci.c: Likewise.
12002 * grub-core/commands/sleep.c: Likewise.
12003 * grub-core/disk/loopback.c: Likewise.
12004 * grub-core/hello/hello.c: Likewise.
12005 * grub-core/loader/i386/bsd.c: Likewise.
12006 * grub-core/loader/xnu.c: Likewise.
12007 * grub-core/term/gfxterm.c: Likewise.
12008 * grub-core/term/serial.c: Likewise.
12009 * grub-core/tests/lib/functional_test.c: Likewise.
12010
888d1500
BC
120112010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12012
12013 Multi-line quoted strings support.
12014
12015 * grub-core/script/lexer.c (append_newline): Removed.
12016 (grub_script_lexer_yywrap): Refactored.
12017 (grub_script_lexer_init): Refactored.
12018 * grub-core/script/yylex.l (yywrap): New function.
12019 (grub_lexer_resplit): New function.
12020 (grub_lexer_unput): New function.
12021 * include/grub/script_sh.h (grub_lexer_param): New members, unput
12022 and resplit.
12023 * tests/grub_script_echo1.in: Added few more testcases.
12024
dda060dd
VS
120252010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/kern/misc.c: Don't add abort alias in utils.
12028 Reported by: echoline.
12029
6556eba9
BC
120302010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
12031
12032 Add missing files into "make dist" tarball for other platforms.
12033
12034 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
12035 * conf/Makefile.common (dist_noinst_DATA): New variable.
12036 * conf/Makefile.extra-dist: Added missing make dist files.
12037 * grub-core/Makefile.core.def: Likewise.
12038
c8e7bf5f
VS
120392010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 Compress grub_prefix.
12042
12043 * grub-core/boot/i386/pc/lnxboot.S: Use
12044 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
12045 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
12046 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
12047 GRUB_MACHINE_PREFIX_END. All users updated.
12048 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
12049 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
12050 + 0x40.
12051 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12052 * util/grub-mkimage.c (image_target_desc): Change data_end to
12053 prefix_end. All users updated.
12054
a7c00cdb
VS
120552010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
12058 value.
12059 (grub_openbsd_boot): Likewise.
12060 (grub_netbsd_boot): Likewise.
12061 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
12062 (grub_xnu_boot): Likewise.
12063
9f915872
VS
120642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * configure.ac: Clean LIBS variable after tests.
12067
efa1bee7
CW
120682010-09-02 Colin Watson <cjwatson@ubuntu.com>
12069
12070 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
12071
61d720e5
VS
120722010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
12075 echo if libdevmapper will be used.
12076
ef8e0ec8
IT
120772010-09-02 Ian Turner <Ian.Turner@deshaw.com>
12078
12079 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
12080 constant for the same file.
12081
03e261d8
VS
120822010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
12085
c2a4eba6
CW
120862010-09-02 Colin Watson <cjwatson@ubuntu.com>
12087
12088 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
12089 grub-core/*.pp.
12090
9056cbf3
CW
120912010-09-02 Colin Watson <cjwatson@ubuntu.com>
12092
12093 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
12094 required by the boot protocol.
12095
12096 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
12097 ebp and edi members.
12098 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
12099 state.ebp and state.edi.
12100 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
12101 %ebp and %edi according to grub_relocator32_ebp and
12102 grub_relocator32_edi respectively.
12103 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
12104 and state.edi.
12105
529cc99a
VS
121062010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 Add i386-pc-pxe image target.
12109
12110 * util/grub-mkimage.c (image_target_desc): New enum value
12111 IMAGE_I386_PC_PXE.
12112 (image_targets): New target i386-pc-pxe.
12113 (generate_image): Handle i386-pc-pxe image.
12114
9a093920
VS
121152010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 Fix grub_pxe_scan.
12118
12119 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12120 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12121 All users updated.
12122 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12123 (grub_pxe_pxenv): Correct type.
12124
f9cefc4e
CW
121252010-09-01 Colin Watson <cjwatson@ubuntu.com>
12126
12127 * NEWS: Document most of the important changes since 1.98.
12128
4066f57f
CW
121292010-09-01 Colin Watson <cjwatson@ubuntu.com>
12130
12131 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12132 generated manual page) a little.
12133
da2891f9
CW
121342010-09-01 Colin Watson <cjwatson@ubuntu.com>
12135
12136 * docs/grub.texi: Add myself as an author.
12137
ad717fae
VS
121382010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 * Makefile.util.def (libgrub.a): Add missing sunpc.
12141 Reported by: Seth Goldberg.
12142
eefe8abd
VS
121432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 Interrupt wrapping and code simplifications.
12146
9494ef9a
VS
12147 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12148 x86_noieee1275 which are functionaly equivalent in this case.
12149 (grub-install): Make source on each platform explicit. Enable on
12150 all noemu.
12151 * gentpl.py (x86_efi_pc): Removed group.
12152 (x86_noefi): Likewise.
12153 (i386_noefi): Likewise.
12154 (x86_noieee1275): Likewise.
12155 (i386_noieee1275): Likewise.
12156 (i386_noefi_noieee1275): Likewise.
12157 (i386_pc_qemu_coreboot): Likewise.
12158 (i386_coreboot_multiboot): Likewise.
12159 (i386_pc_coreboot_multiboot_qemu): Likewise.
12160 (x86_noefi_mips): Likewise.
12161 (noieee1275): Likewise.
12162 (ieee1275_mips): Likewise.
12163 (noemu_noieee1275): Likewise.
12164 (cmos): New group.
12165 (usb): Likewise.
12166 (videoinkernel): Likewise.
12167 (videomodules): Likewise.
eefe8abd 12168 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
12169 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12170 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12171 include/grub/loader.h, include/grub/msdos_partition.h,
12172 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12173 include/grub/machine/console.h, include/grub/machine/vga.h,
12174 include/grub/machine/vbe.h, include/grub/machine/init.h,
12175 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12176 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 12177 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
12178 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12179 * grub-core/Makefile.core.def (kernel): Explicit the source for
12180 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12181 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12182 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12183 Use videoinkernel tag.
12184 (usb): Enable on all usb.
12185 (usbserial_common): Likewise.
12186 (usbserial_pl2303): Likewise.
12187 (usbserial_ftdi): Likewise.
12188 (uhci): Enable on all x86.
12189 (ohci): Enable on all pci.
12190 (cmostest): Enable on all CMOS.
12191 (acpi): Include commands/acpi.c on all platforms.
12192 (halt): Add relevant lib/*/halt.c.
12193 (hdparm): Enable on all pci.
12194 (lspci): Likewise.
12195 (usbtest): Enable on all usb.
12196 (ata): Enable on all pci.
12197 (ata_pthru): Likewise.
12198 (usbms): Enable on all usb.
12199 (usb_keyboard): Likewise.
12200 (font): Use tag videomodules.
12201 (bufio): Likewise.
12202 (datetime): Use tag cmos. Enable on all noemu.
12203 (mmap): Use tags common and x86.
12204 (gfxterm): Use tag videomodules.
12205 (bitmap): Likewise.
12206 (bitmap_scale): Likewise.
12207 (video_fb): Likewise.
12208 (video): Likewise.
12209 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12210 adjust padding accordingly. All users updated.
12211 (grub_ohci_transaction): Fix bad format specification.
12212 (GRUB_MOD_INIT): Add asserts for struct size.
12213 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12214 (grub_alloc_td): Likewise.
12215 (grub_free_queue): Likewise.
12216 (grub_uhci_transfer): Likewise.
12217 (grub_uhci_transaction): Fix bad format specification.
12218 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12219 (grub_usb_bulk_readwrite): Likewise.
12220 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12221 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12222 Made static.
12223 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12224 Made static.
12225 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12226 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12227 Transformed into C.
12228 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12229 Moved from here ...
12230 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12231 ... here. Transformed into C. Made static.
12232 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12233 Moved from here ...
12234 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12235 ... here. Transformed into C. Made static.
12236 * grub-core/kern/i386/pc/startup.S
12237 (grub_biosdisk_check_int13_extensions): Moved from here ...
12238 * grub-core/disk/i386/pc/biosdisk.c
12239 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12240 Made static.
12241 * grub-core/kern/i386/pc/startup.S
12242 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12243 * grub-core/disk/i386/pc/biosdisk.c
12244 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12245 Transformed into C. Made static.
12246 * grub-core/kern/i386/pc/startup.S
12247 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12248 * grub-core/disk/i386/pc/biosdisk.c
12249 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12250 Transformed into C. Made static.
12251 * grub-core/kern/i386/pc/startup.S
12252 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12253 * grub-core/disk/i386/pc/biosdisk.c
12254 (grub_biosdisk_get_diskinfo_standard): ... here.
12255 Transformed into C. Made static.
12256 * grub-core/kern/i386/pc/startup.S
12257 (grub_biosdisk_get_num_floppies): Moved from here ...
12258 * grub-core/disk/i386/pc/biosdisk.c
12259 (grub_biosdisk_get_num_floppies): ... here.
12260 Transformed into C. Made static.
12261 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12262 New function.
12263 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12264 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12265 Transformed into C. Made static.
12266 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12267 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12268 Transformed into C. Made static.
12269 * grub-core/kern/i386/ieee1275/init.c: Removed.
12270 * grub-core/kern/i386/misc.S: Likewise.
12271 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12272 Splitted from here ...
12273 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12274 Transformed into C. Made static. All users updated.
12275 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12276 Transformed into C. Made static. All users updated.
12277 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12278 Moved from here...
12279 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12280 Transformed into C. Made static. All users updated.
12281 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12282 Moved from here...
12283 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12284 Transformed into C. Made static. All users updated.
12285 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12286 Removed (replaced by C version).
12287 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12288 Moved from here...
12289 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12290 Transformed into C. Made static.
12291 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12292 Moved from here...
12293 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12294 ... here. Transformed into C.
12295 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12296 Moved from here...
12297 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12298 ... here. Transformed into C.
12299 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12300 Moved from here...
12301 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12302 ... here. Transformed into C. Made static.
12303 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12304 Moved from here...
12305 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12306 ... here. Transformed into C.
21ed554b
VS
12307 * grub-core/kern/i386/pc/startup.S
12308 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12309 * grub-core/video/i386/pc/vbe.c
12310 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
12311 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12312 Moved from here...
12313 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12314 ... here. Transformed into C.
12315 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12316 Moved from here...
12317 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12318 ... here. Transformed into C.
12319 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12320 Moved from here...
12321 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12322 ... here. Transformed into C.
12323 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12324 Moved from here...
12325 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12326 ... here. Transformed into C.
12327 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12328 Moved from here...
12329 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12330 ... here. Transformed into C. Made static.
12331 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12332 Moved from here...
12333 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12334 ... here. Transformed into C. Made static.
12335 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12336 Moved from here...
12337 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12338 ... here. Transformed into C. Made static.
12339 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12340 pxe_rm_entry as third argument.
12341 (grub_bios_interrupt): New function.
12342 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12343 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12344 of calling grub_stop.
12345 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12346 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12347 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12348 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12349 * grub-core/lib/i386/halt.c: Moved from here ...
12350 * grub-core/lib/i386/halt.c: ... here.
12351 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12352 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12353 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12354 grub_stop_floppy.
12355 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12356 * include/grub/i386/coreboot/init.h: Removed.
12357 * include/grub/i386/multiboot/init.h: Likewise.
12358 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12359 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12360 * include/grub/i386/pc/int.h: New file.
12361 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12362 (grub_pxe_scan): Removed.
12363 (grub_pxe_call): Update prototype.
12364 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12365 prototypes.
12366 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12367 * include/grub/i386/qemu/init.h: Removed.
12368 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12369 noreturn.
12370 (grub_halt): Likewise.
12371 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12372 (grub_reboot): Likewise.
12373 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12374 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
12375 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12376
215dd471
RM
123772010-08-30 Robert Millan <rmh@gnu.org>
12378
12379 * NEWS: Document addition of ZFS support in `grub-install' and
12380 `grub-mkconfig'.
12381
ebd65b82
BC
123822010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12383
12384 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12385 dprintf output.
12386
11721d19
VS
123872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 Remove leftover embedding of font objects.
12390
12391 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12392 * util/grub-install.in (font): Removed.
12393 * util/grub-mkimage.c (generate_image): Remove font support. All users
12394 updated.
12395
37837d4e
VS
123962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 Remove leftover embedding of font objects.
12399
12400 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12401 * util/grub-install.in (font): Removed.
12402 * util/grub-mkimage.c (generate_image): Remove font support. All users
12403 updated.
12404
b4c1aae0
VS
124052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 12408 Reported by: Ian Turner
b4c1aae0 12409
8920a08d
VS
124102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12413 timeout to avoid indefinite boot stalling.
12414
f21db033
VS
124152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12418 (grub_env_write_color_highlight): Likewise.
12419
9a9de209
VS
124202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * grub-core/normal/term.c (print_more): Return to normal and not
12423 to standard state after printing "---MORE---".
12424
3dca01d7
VS
124252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12428 Mask out the bit 0x80 since it has other meaning that specifiing color.
12429
0b986c40
VS
124302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 New relocator. Allows for more kernel support and more straightforward
12433 loader writing.
12434
12435 * Makefile.am (BOOTTARGET): New variable.
12436 (QEMU32): Likewise.
12437 (linux.init.x86_64): New target.
12438 (linux.init.i386): Likewise.
12439 (multiboot.elf): Likewise.
12440 (kfreebsd.elf): Likewise.
12441 (kfreebsd.aout): Likewise.
12442 (pc-chainloader.elf): Likewise.
12443 (pc-chainloader.bin): Likewise.
12444 (ntldr.elf): Likewise.
12445 (ntldr.bin): Likewise.
12446 (multiboot2.elf): Likewise.
12447 (kfreebsd.init.x86_64): Likewise.
12448 (kfreebsd.init.i386): Likewise.
12449 (knetbsd.init.i386): Likewise.
12450 (kopenbsd.init.i386): Likewise.
12451 (knetbsd.init.x86_64): Likewise.
12452 (kopenbsd.init.x86_64): Likewise.
12453 (linux-initramfs.i386): Likewise.
12454 (linux-initramfs.x86_64): Likewise.
12455 (kfreebsd-mfsroot.i386.img): Likewise.
12456 (knetbsd.image.i386): Likewise.
12457 (kopenbsd.image.i386): Likewise.
12458 (kopenbsd.image.x86_64): Likewise.
12459 (knetbsd.miniroot-image.i386.img): Likewise.
12460 (kfreebsd-mfsroot.x86_64.img): Likewise.
12461 (knetbsd.image.x86_64): Likewise.
12462 (knetbsd.miniroot-image.x86_64.img): Likewise.
12463 (kfreebsd-mfsroot.i386.gz): Likewise.
12464 (bootcheck-kfreebsd-i386): Likewise.
12465 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12466 (bootcheck-kfreebsd-x86_64): Likewise.
12467 (knetbsd.miniroot-image.i386.gz): Likewise.
12468 (bootcheck-knetbsd-i386): Likewise.
12469 (bootcheck-kopenbsd-i386): Likewise.
12470 (bootcheck-kopenbsd-x86_64): Likewise.
12471 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12472 (bootcheck-knetbsd-x86_64): Likewise.
12473 (bootcheck-linux-i386): Likewise.
12474 (bootcheck-linux-x86_64): Likewise.
12475 (bootcheck-linux16-i386): Likewise.
12476 (bootcheck-linux16-x86_64): Likewise.
12477 (bootcheck-multiboot): Likewise.
12478 (bootcheck-multiboot2): Likewise.
12479 (bootcheck-kfreebsd-aout): Likewise.
12480 (bootcheck-pc-chainloader): Likewise.
12481 (bootcheck-ntldr): Likewise.
12482 (CLEANFILES): Add new targets.
12483 (BOOTCHECKS): New variable.
12484 (.PHONY): Add bootchecks.
12485 (SUCCESSFUL_BOOT_STRING): New variable.
12486 (BOOTCHECK_TIMEOUT): Likewise.
12487 (bootcheck): New target
12488 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12489 * configure.ac: Correct efiemu excuse.
12490 * docs/grub.texi (Supported kernels): New chapter.
12491 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12492 include/grub/mm_private.h. Simplify inclusion of
12493 include/grub/boot.h, include/grub/loader.h
12494 and include/grub/msdos_partition.h
12495 (KERNEL_HEADER_FILES) [i386_coreboot]:
12496 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12497 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12498 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12499 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12500 include/grub/machine/loader.h.
12501 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12502 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12503 extra_dist.
12504 (pci.mod): Enable on i386-multiboot.
12505 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12506 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12507 i386-qemu.
12508 (relocator.mod): Rewritten.
12509 (aout.mod): Enable on all x86.
12510 (bsd.mod): Likewise.
12511 (ntldr.mod): New module.
12512 (linux.mod): Use loader/i386/linux.c on all x86.
12513 (xnu.mod): Enable on all x86.
12514 (vga_text.mod): disable on EFI and QEMU.
12515 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12516 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12517 * grub-core/efiemu/loadcore.c: Likewise.
12518 * grub-core/efiemu/main.c: Likewise.
12519 (grub_efiemu_exit_boot_services): Removed.
12520 (grub_efiemu_finish_boot_services): Likewise.
12521 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12522 function.
12523 * grub-core/efiemu/i386/nocfgtables.c: New file.
12524 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12525 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12526 (grub_efi_finish_boot_services): Moved from here ...
12527 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12528 Fille finish memory map and related data.
12529 (finish_mmap_buf): New variable.
12530 (grub_efi_uintn_t finish_mmap_size): Likewise.
12531 (grub_efi_uintn_t finish_key): Likewise.
12532 (grub_efi_uintn_t finish_desc_size): Likewise.
12533 (grub_efi_uint32_t finish_desc_version): Likewise.
12534 (grub_efi_is_finished): Likewise.
12535 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12536 finished.
12537 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12538 (grub_elf64_phdr_iterate): Likewise.
12539 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12540 (grub_os_area_size): Likewise.
12541 (grub_machine_init): Don't reserve os area.
12542 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12543 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12544 * grub-core/kern/i386/loader.S: Removed.
12545 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12546 (grub_os_area_size): Likewise.
12547 (grub_machine_init): Don't reserve os area.
12548 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12549 Don't call grub_dl_unload_all.
12550 Don't include loader.S.
12551 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12552 Declare the memory after _end as available.
12553 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 12554 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 12555 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
12556 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12557 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12558 * include/grub/mm_private.h (grub_mm_header): ... here.
12559 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12560 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
12561 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12562 (grub_mm_region): ..here. Removed addr. Added pre_size.
12563 All users updated.
12564 * grub-core/kern/mm.c (base): Renamed to ...
12565 (grub_mm_base): ... this. Made global.
12566 (grub_real_malloc): Alloc from end of region.
12567 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12568 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12569 * grub-core/kern/powerpc/cache_flush.S: ... here.
12570 * grub-core/lib/efi/relocator.c: New file.
12571 * grub-core/lib/i386/relocator.c: Rewritten.
12572 * grub-core/lib/i386/relocator16.S: New file.
12573 * grub-core/lib/i386/relocator32.S: Likewise.
12574 * grub-core/lib/i386/relocator64.S: Likewise.
12575 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12576 * grub-core/lib/i386/relocator_common.S: New file.
12577 * grub-core/lib/ieee1275/relocator.c: Likewise.
12578 * grub-core/lib/mips/relocator.c: Rewritten.
12579 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12580 stylistic adjustments.
12581 * grub-core/lib/powerpc/relocator.c: New file.
12582 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12583 * grub-core/lib/relocator.c: Rewritten.
12584 * grub-core/lib/x86_64/relocator_asm.S: New file.
12585 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12586 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12587 (bsd_tag): New struct.
12588 (tags): New variable.
12589 (tags_last): Likewise.
12590 (netbsd_module): New struct.
12591 (netbsd_mods): New variable.
12592 (netbsd_mods_last): Likewise.
12593 (openbsd_opts): New parameter "serial".
12594 (OPENBSD_SERIAL_ARG): New definition.
12595 (netbsd_opts): New parameter "serial".
12596 (NETBSD_SERIAL_ARG): New definition.
12597 (grub_freebsd_add_meta): Reorganised into ...
12598 (grub_bsd_add_meta): ...this. All users updated.
12599 (grub_freebsd_add_mmap): Reorganised into ...
12600 (generate_e820_mmap): ...this...
12601 (grub_bsd_add_mmap): ...and this. All users updated.
12602 (grub_freebsd_list_modules): Use tags.
12603 (grub_netbsd_add_meta_module): New function.
12604 (grub_netbsd_list_modules): Likewise.
12605 (grub_freebsd_boot): Use relocator and finish EFI.
12606 (grub_openbsd_boot): Likewise.
12607 (grub_netbsd_setup_video): New function.
12608 (grub_netbsd_add_modules): Likewise.
12609 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12610 and finish EFI.
12611 (grub_bsd_unload): Unload tags.
12612 (grub_bsd_load_aout): Use relocator.
12613 (grub_bsd_elf32_size_hook): New function.
12614 (grub_bsd_elf32_hook): Use relocator.
12615 (grub_bsd_elf64_size_hook): New function.
12616 (grub_bsd_elf64_hook): Use relocator.
12617 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12618 (grub_bsd_load): Zero-out openbsd_ramdisk.
12619 (grub_bsd_load): Use relocator.
12620 (grub_cmd_openbsd): Support serial.
12621 (grub_cmd_netbsd): Support modules.
12622 (grub_cmd_freebsd_module): Use relocator.
12623 (grub_netbsd_module_load): New function.
12624 (grub_cmd_netbsd_module): Likewise.
12625 (grub_cmd_openbsd_ramdisk): Likewise.
12626 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12627 kopenbsd_ramdisk.
12628 (GRUB_MOD_FINI): Unregister new commands.
12629 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12630 (grub_freebsd_load_elfmodule_obj): Use relocator.
12631 (grub_freebsd_load_elfmodule): Likewise.
12632 (grub_freebsd_load_elf_meta): Likewise.
12633 (grub_netbsd_load_elf_meta): New function.
12634 (grub_openbsd_find_ramdisk): Likewise.
12635 * grub-core/loader/i386/bsd_helper.S: Removed.
12636 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12637 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12638 * grub-core/loader/i386/efi/linux.c: Likewise.
12639 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12640 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12641 (DEFAULT_VIDEO_MODE): Likewise.
12642 (real_mode_target): New variable.
12643 (prot_mode_target): Likewise.
12644 (initrd_mem_target): Likewise.
12645 (relocator): Likewise.
12646 (efi_mmap_buf): Likewise.
12647 (efi_mmap_size): Likewise.
12648 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12649 (free_pages): Use relocator.
12650 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12651 (grub_linux_setup_video): Return error.
12652 (grub_linux_trampoline_start): Removed.
12653 (grub_linux_trampoline_end): Likewise.
12654 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12655 andd video parameters depending on firmware.
12656 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12657 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12658 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12659 (grub_cmd_initrd): Use relocator.
12660 * grub-core/loader/i386/linux_trampoline.S: Removed.
12661 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12662 (elf_sec_entsize): Likewise.
12663 (elf_sec_shstrndx): Likewise.
12664 (elf_sections): Likewise.
12665 (grub_multiboot_load): Use relocator.
12666 (grub_multiboot_get_mbi_size): Account for sections.
12667 (grub_multiboot_make_mbi): Use relocator and support sections.
12668 (grub_multiboot_add_elfsyms): New function.
12669 (grub_multiboot_free_mbi): Free sections.
12670 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12671 (grub_linux_real_target): Likewise.
12672 (grub_linux_real_chunk): Likewise.
12673 (grub_linux16_prot_size): Likewise.
12674 (grub_linux16_boot): Use relocator.
12675 (grub_linux_unload): Unload relocator.
12676 (grub_cmd_linux): Use relocator.
12677 (grub_cmd_initrd): Likewise.
12678 * grub-core/loader/i386/pc/ntldr.c: New file.
12679 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12680 Don't try to guess CPU frequency.
12681 (grub_xnu_set_video): Stretch bitmap.
12682 (grub_xnu_boot): Use relocator.
12683 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12684 (grub_linux_unload): Free relocator.
12685 (grub_linux_load32): Use relocator.
12686 (grub_linux_load64): Likewise.
12687 (grub_cmd_initrd): Likewise.
12688 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12689 (grub_multiboot_unload): Unload relocator.
12690 (grub_cmd_multiboot): Use relocator.
12691 (grub_cmd_module): Likewise.
12692 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12693 Use relocator and support sections.
12694 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12695 (elf_sec_entsize): Likewise.
12696 (elf_sec_shstrndx): Likewise.
12697 (elf_sections): Likewise.
12698 (grub_multiboot_load): Use relocator.
12699 (grub_multiboot_get_mbi_size): Account for sections.
12700 (grub_multiboot_make_mbi): Use relocator and support sections.
12701 (grub_multiboot_add_elfsyms): New function.
12702 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12703 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12704 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12705 Prototype changed. All users updated.
12706 (grub_xnu_align_heap): Simplified.
12707 (grub_xnu_writetree_toheap): Likewise.
12708 (grub_xnu_unload): Unload relocator.
12709 (grub_cmd_xnu_kernel): Use relocator.
12710 (grub_cmd_xnu_kernel64): Likewise.
12711 (grub_xnu_register_memory): Simplified.
12712 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
12713 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12714 EFI is finished.
12715 (grub_console_checkkey): Likewise.
12716 (grub_console_getkey): Likewise.
12717 (grub_console_getwh): Likewise.
12718 (grub_console_getxy): Likewise.
12719 (grub_console_gotoxy): Likewise.
12720 (grub_console_cls): Likewise.
12721 (grub_console_setcolorstate): Likewise.
12722 (grub_console_setcursor): Likewise.
12723 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12724 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12725 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12726 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12727 * grub-core/tests/boot/kernel-8086.S: Likewise.
12728 * grub-core/tests/boot/kernel-i386.S: Likewise.
12729 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12730 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12731 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12732 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12733 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12734 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12735 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12736 * grub-core/tests/boot/linux.cfg: Likewise.
12737 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12738 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12739 * grub-core/tests/boot/linux16.cfg: Likewise.
12740 * grub-core/tests/boot/multiboot.cfg: Likewise.
12741 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12742 * grub-core/tests/boot/ntldr.cfg: Likewise.
12743 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12744 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12745 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12746 New definition.
12747 * include/grub/dl.h (grub_dl_unload_all): Removed.
12748 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12749 (grub_efi_finish_boot_services): Change prototype.
12750 (grub_efi_is_finished): New variable.
12751 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12752 Changed prototype.
12753 (grub_efiemu_finish_boot_services): Removed.
12754 (grub_machine_efiemu_init_tables): New prototype.
12755 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12756 (grub_elf64_phdr_iterate): Likewise.
12757 * include/grub/i386/bsd.h: Include relocator.h.
12758 (freebsd_tag_header): New struct.
12759 (grub_openbsd_bios_mmap): Removed.
12760 (grub_unix_real_boot): Removed.
12761 (grub_freebsd_load_elfmodule32): Changed prototype.
12762 (grub_freebsd_load_elfmodule_obj64): Likewise.
12763 (grub_freebsd_load_elf_meta32): Likewise.
12764 (grub_freebsd_load_elf_meta64): Likewise.
12765 (grub_freebsd_add_meta): Removed.
12766 (grub_netbsd_load_elf_meta32): New prototype.
12767 (grub_netbsd_load_elf_meta64): Likewise.
12768 (grub_bsd_add_meta): Likewise.
12769 (grub_openbsd_ramdisk_descriptor): New struct.
12770 (grub_openbsd_find_ramdisk32): New prototype.
12771 (grub_openbsd_find_ramdisk64): Likewise.
12772 * include/grub/i386/coreboot/loader.h: Removed.
12773 * include/grub/i386/efi/loader.h: Likewise.
12774 * include/grub/i386/ieee1275/loader.h: Likewise.
12775 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12776 to grub_uint32_t.
12777 * include/grub/i386/loader.h: Removed.
12778 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12779 value.
12780 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12781 (grub_phys_addr_t): New type.
12782 (grub_vtop): New inline function.
12783 (grub_map_memory): Likewise.
12784 (grub_unmap_memory): Likewise.
12785 * include/grub/i386/multiboot/loader.h: Removed.
12786 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12787 (NETBSD_BTINFO_CONSOLE): New definition.
12788 (NETBSD_BTINFO_SYMTAB): Likewise.
12789 (NETBSD_BTINFO_MODULES): Likewise.
12790 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12791 (grub_netbsd_bootinfo): New struct.
12792 (grub_netbsd_btinfo_common): Use explicit bitsize.
12793 (grub_netbsd_btinfo_mmap_entry): Removed.
12794 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12795 (grub_netbsd_btinfo_bootdisk): New struct.
12796 (grub_netbsd_btinfo_symtab): Likewise.
12797 (grub_netbsd_btinfo_serial): Likewise.
12798 (grub_netbsd_btinfo_modules): Likewise.
12799 (grub_netbsd_btinfo_framebuf): Likewise.
12800 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12801 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12802 Likewise.
12803 (grub_openbsd_bootargs): Use explicit bitsize.
12804 (grub_openbsd_bootarg_console): New struct.
12805 (GRUB_OPENBSD_COM_MAJOR): New definition.
12806 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12807 * include/grub/i386/pc/efiemu.h: Removed.
12808 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12809 * include/grub/i386/qemu/loader.h: Removed.
12810 * include/grub/i386/relocator.h: Rewritten.
12811 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12812 * include/grub/mips/memory.h: New file.
12813 * include/grub/mips/multiboot.h: Rewritten.
12814 * include/grub/mips/relocator.h: Rewritten.
12815 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12816 (grub_vtop): New function.
12817 (grub_map_memory): Likewise.
12818 (grub_unmap_memory): Likewise.
12819 * include/grub/misc.h (ALIGN_DOWN): New definition.
12820 * include/grub/mm.h (grub_mm_check_real): New proto.
12821 (GRUB_MM_CHECK): New definition.
12822 * include/grub/mm_private.h: New file.
12823 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12824 (grub_multiboot_get_mbi_size): Removed.
12825 (grub_multiboot_make_mbi): Change prottype.
12826 (grub_multiboot_set_accepts_video): New proto.
12827 (grub_multiboot_add_elfsyms): Likewise.
12828 (grub_multiboot_payload_eip): New variable.
12829 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12830 New prototype.
12831 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12832 New definition.
12833 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12834 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12835 * include/grub/powerpc/ieee1275/loader.h: Removed.
12836 * include/grub/powerpc/memory.h: New file.
12837 * include/grub/powerpc/relocator.h: Likewise.
12838 * include/grub/relocator.h: Likewise.
12839 * include/grub/relocator_private.h: Likewise.
12840 * include/grub/sparc64/ieee1275/loader.h: Removed.
12841 * include/grub/x86_64/memory.h: New file.
12842 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12843 (grub_xnu_heap_malloc): Likewise.
12844 (grub_xnu_heap_real_start): Removed.
12845 (grub_xnu_heap_start): Likewise.
12846 (grub_xnu_relocator): New variable.
12847 (grub_xnu_heap_target_start): Likewise.
12848 * tests/util/grub-shell.in: Support non-pc.
12849 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 12850
5303b85d
VS
128512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12854 on malloc error.
12855 (grub_bidi_logical_to_visual): Check that malloc succeded.
12856 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12857 puts.
12858 (grub_xputs_normal): Likewise.
12859
d768d159
VS
128602010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12863 extra_dist.
12864
128652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12868
5bf84df4
VS
128692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12872
3626810e
VS
128732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12876 dprintf.
12877
a7363f53
BC
128782010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12879
12880 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12881
902f75f6
VS
128822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * grub-core/normal/term.c (print_more): Fix a memory leak.
12885 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12886 (grub_xputs_normal): Likewise.
12887
3c707967
VS
128882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12891 the begining of the string
12892
2053cc07
VS
128932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 * grub-core/script/script.c (grub_script_parse): Free parsed on
12896 failure.
12897
46422ebf
VS
128982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12901 on failure.
12902
9e0fa3f6
VS
129032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12906 return.
12907
3393cf16
VS
129082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12911 (scroll_up): Fix a memory leak.
12912
b17540cb
VS
129132010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12916 errors.
12917
67140446
VS
129182010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12919
12920 Handle USB pendrives exposed as floppies.
12921
12922 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12923 floppy.
12924 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12925 Check for partitions on all devices.
12926
e35e46fc
VS
129272010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12930 (readkey): Likewise.
12931
d24c6190
BC
129322010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12933
12934 Multiple variable names support to "export" command.
12935
12936 * normal/context.c (grub_cmd_export): "export" command supports
12937 multiple variable names.
12938
04ddcc6a
ST
129392010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12940
12941 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12942 --target=drive output to Mach device name.
12943
0c8b61d8
BC
129442010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12945
12946 New Automake based build system for GRUB.
12947
12948 * ABOUT-NLS: New file.
12949 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12950 in Makefile.util.def file.
12951 * Makefile.util.def: New file. Autogen build definitions file for
12952 GRUB host utils.
12953 * conf/Makefile.common: New file. Common variables for GRUB host
12954 utils and target modules.
12955 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12956 * docs/Makefile.am: New file. Automake file for docs.
12957 * gentpl.py: New file. Python script to generate Autogen
12958 template.
12959 * grub-core/Makefile.am: New file. GRUB target modules' rules
12960 that doesn't fit in Makefile.core.def file.
12961 * grub-core/Makefile.core.def: New file. Autogen build
12962 definitions file for GRUB target modules.
12963 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12964 specific setjmp.S file.
12965 * po/Makefile.am: New file.
12966
12967 * .bzrignore: New ignores.
12968 * INSTALL: New requirements, without Ruby.
12969 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12970 * autogen.sh: Updated to invoke autogen as necessary.
12971 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12972 and defines for Automake conditionals.
12973 * geninit.sh: Refactoring.
12974
12975 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12976 necessary.
12977 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12978 New prototype.
12979
12980 * include/grub/test.h: Fix functional test modules' naming.
12981 * grub-core/tests/example_functional_test.c: Fix test module name.
12982
12983 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12984 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12985 * util/grub-editenv.c: Likewise.
12986 * util/grub-fstest.c: Likewise.
12987 * util/grub-mkdevicemap.c: Likewise.
12988 * util/grub-mkfont.c: Likewise.
12989 * util/grub-mkimage.c: Likewise.
12990 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12991 * util/grub-probe.c: Likewise.
12992 * util/grub-script-check.c: Likewise.
12993 * util/i386/pc/grub-setup.c: Likewise.
12994 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12995
12996 * tests/util/grub-shell.in: Fix override directory path.
12997 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
12998 * util/import_gcry.py: Create Makefile.gcry.def file instead.
12999
13000 * util/lvm.c: Update #includes.
13001 * util/raid.c: Likewise.
13002 * util/resolve.c: Likewise.
13003 * grub-core/bus/emu/pci.c: Likewise.
13004 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
13005 * grub-core/lib/posix_wrap/string.h: Likewise.
13006 * grub-core/kern/emu/main.c: Likewise.
13007
13008 * grub-core/gensymlist.sh: New file. Script for generating kernel
13009 symbols file.
13010 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
13011
13012 * grub-core/gentrigtables.c: Fix unused variable warnings.
13013
13014 * Makefile.in: Removed.
13015 * conf/any-emu.rmk: Removed.
13016 * conf/common.rmk: Removed.
13017 * conf/i386-coreboot.rmk: Removed.
13018 * conf/i386-efi.rmk: Removed.
13019 * conf/i386-ieee1275.rmk: Removed.
13020 * conf/i386-multiboot.rmk: Removed.
13021 * conf/i386-pc.rmk: Removed.
13022 * conf/i386-qemu.rmk: Removed.
13023 * conf/i386.rmk: Removed.
13024 * conf/mips-yeeloong.rmk: Removed.
13025 * conf/mips.rmk: Removed.
13026 * conf/powerpc-ieee1275.rmk: Removed.
13027 * conf/sparc64-ieee1275.rmk: Removed.
13028 * conf/tests.rmk: Removed.
13029 * conf/x86-efi.rmk: Removed.
13030 * conf/x86_64-efi.rmk: Removed.
13031 * gendistlist.sh: Removed.
13032 * geninitheader.sh: Removed.
13033 * genkernsyms.sh.in: Removed.
13034 * genmk.rb: Removed.
13035 * gensymlist.sh.in: Removed.
13036 * mkinstalldirs: Removed.
13037 * boot: Moved ...
13038 * grub-core/boot: ... to here.
13039 * bus: Moved ...
13040 * grub-core/bus: ... to here.
13041 * commands: Moved ...
13042 * grub-core/commands: ... to here.
13043 * disk: Moved ...
13044 * grub-core/disk: ... to here.
13045 * efiemu: Moved ...
13046 * grub-core/efiemu: ... to here.
13047 * font: Moved ...
13048 * grub-core/font: ... to here.
13049 * fs: Moved ...
13050 * grub-core/fs: ... to here.
13051 * gencmdlist.sh: Moved ...
13052 * grub-core/gencmdlist.sh: ... to here.
13053 * genemuinit.sh: Moved ...
13054 * grub-core/genemuinit.sh: ... to here.
13055 * genemuinitheader.sh: Moved ...
13056 * grub-core/genemuinitheader.sh: ... to here.
13057 * genfslist.sh: Moved ...
13058 * grub-core/genfslist.sh: ... to here.
13059 * genhandlerlist.sh: Moved ...
13060 * grub-core/genhandlerlist.sh: ... to here.
13061 * genmoddep.awk: Moved ...
13062 * grub-core/genmoddep.awk: ... to here.
13063 * genmodsrc.sh: Moved ...
13064 * grub-core/genmodsrc.sh: ... to here.
13065 * genpartmaplist.sh: Moved ...
13066 * grub-core/genpartmaplist.sh: ... to here.
13067 * genparttoollist.sh: Moved ...
13068 * grub-core/genparttoollist.sh: ... to here.
13069 * genterminallist.sh: Moved ...
13070 * grub-core/genterminallist.sh: ... to here.
13071 * gentrigtables.c: Moved ...
13072 * grub-core/gentrigtables.c: ... to here.
13073 * genvideolist.sh: Moved ...
13074 * grub-core/genvideolist.sh: ... to here.
13075 * gettext: Moved ...
13076 * grub-core/gettext: ... to here.
13077 * gfxmenu: Moved ...
13078 * grub-core/gfxmenu: ... to here.
13079 * gnulib: Moved ...
13080 * grub-core/gnulib: ... to here.
13081 * hello: Moved ...
13082 * grub-core/hello: ... to here.
13083 * hook: Moved ...
13084 * grub-core/hook: ... to here.
13085 * io: Moved ...
13086 * grub-core/io: ... to here.
13087 * kern: Moved ...
13088 * grub-core/kern: ... to here.
13089 * lib: Moved ...
13090 * grub-core/lib: ... to here.
13091 * loader: Moved ...
13092 * grub-core/loader: ... to here.
13093 * mmap: Moved ...
13094 * grub-core/mmap: ... to here.
13095 * normal: Moved ...
13096 * grub-core/normal: ... to here.
13097 * partmap: Moved ...
13098 * grub-core/partmap: ... to here.
13099 * parttool: Moved ...
13100 * grub-core/parttool: ... to here.
13101 * script: Moved ...
13102 * grub-core/script: ... to here.
13103 * term: Moved ...
13104 * grub-core/term: ... to here
13105 * tests/example_functional_test.c: Moved ...
13106 * grub-core/tests/example_functional_test.c: ... to here.
13107 * tests/lib/functional_test.c: Moved ...
13108 * grub-core/tests/lib/functional_test.c: ... to here.
13109 * tests/lib/test.c: Moved ...
13110 * grub-core/tests/lib/test.c: ... to here.
13111 * video: Moved ...
13112 * grub-core/video: ... to here.
13113
645586e6
BC
131142010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13115
13116 Replace --enable-grub-emu-modules with grub-emu-lite.
13117
13118 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13119 cache.S.
13120
13121 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13122 * kern/emu/full.c: New file. For grub-emu specific initialization.
13123 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13124 * kern/emu/main.c: Call initialization function grub_emu_init.
13125
13126 * Makefile.in: Include grub-emu-lite in install.
13127 * commands/parttool.c: Use grub_no_autoload to differentiate
13128 between grub-emu and grub-emu-lite.
13129 * include/grub/misc.h: New variable grub_no_autoload.
13130
13131 * conf/any-emu.rmk: New rules for grub-emu-lite.
13132 * configure.ac: Remove --enable-grub-emu-modules.
13133 * genmk.rb: Cleanup unnecessary rules.
13134 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13135
13136 * normal/main.c: Don't load list files on grub-emu-lite.
13137 * util/misc.c (grub_arch_sync_caches): Removed.
13138
f86a4030
CW
131392010-08-23 Colin Watson <cjwatson@ubuntu.com>
13140
13141 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13142 grub-mkimage rather than grub-mkelfimage.
13143 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13144
06776944
VS
131452010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13148 a key after CapsLock or NumLock. It's just a qemu bug.
13149
df262419
VS
131502010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13153 needed by libusb wrapper.
13154
b40ea81b
ST
131552010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13156
13157 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13158
dee50575
VS
131592010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13162 --nounzip is passed.
13163
fb1d7b79
VS
131642010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 USB hotunplugging and USB serial support.
13167
13168 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13169 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13170 (grub_uhci_transfer): Respect timeout and set *actual.
13171 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13172 non-standard length.
13173 (grub_usb_device_attach): Autoload modules.
13174 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13175 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13176 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13177 users updated.
13178 (grub_usb_add_hub): Fill nports and children.
13179 (attach_root_port): Receive hub instead of controller.
13180 All users updated. Fill hub->devices.
13181 (grub_usb_root_hub): Allocate hub->devices.
13182 (detach_device): New function.
13183 (poll_nonroot_hub): Fill children and detach devices.
13184 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13185 actual arguments. All users updated.
13186 (grub_usb_bulk_read_extended): New function.
13187 * bus/usb/serial/common.c: New file.
13188 * bus/usb/serial/ftdi.c: Likewise.
13189 * bus/usb/serial/pl2303.c: Likewise.
13190 * commands/terminal.c (handle_command): Support wildcard.
13191 * commands/usbtest.c: Output "Unknown" instead of empty string.
13192 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13193 (usbserial_common_mod_SOURCES): New variable.
13194 (usbserial_common_mod_CFLAGS): Likewise.
13195 (usbserial_common_mod_LDFLAGS): Likewise.
13196 (pkglib_MODULES): Add usbserial_pl2303.mod.
13197 (usbserial_pl2303_mod_SOURCES): New variable.
13198 (usbserial_pl2303_mod_CFLAGS): Likewise.
13199 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13200 (pkglib_MODULES): Add usbserial_ftdi.mod.
13201 (usbserial_ftdi_mod_SOURCES): New variable.
13202 (usbserial_ftdi_mod_CFLAGS): Likewise.
13203 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13204 (pkglib_MODULES): Add serial.mod.
13205 (serial_mod_SOURCES): New variable.
13206 (serial_mod_CFLAGS): Likewise.
13207 (serial_mod_LDFLAGS): Likewise.
13208 * conf/i386-pc.rmk: Likewise.
13209 * conf/mips-yeeloong.rmk: Likewise.
13210 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13211 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13212 * disk/usbms.c (first_available_slot): New variable.
13213 (grub_usbms_attach): Don't reuse free slots due to potential cache
13214 problems.
13215 * include/grub/serial.h: Moved to ..
13216 * include/grub/ns8250.h: ...this.
13217 * include/grub/serial.h: New file.
13218 * include/grub/term.h (grub_term_poll_usb): New variable.
13219 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13220 readkey. All users updated.
13221 (grub_terminfo_output_state): Pass term to put.
13222 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13223 (grub_usb_controller_dev): Add timeout and actual arguments to
13224 transfer. All users updated.
13225 (grub_usb_interface): New field detach_data.
13226 (grub_usb_device): New fields children and nports.
13227 (grub_usb_ep_type_t): New type.
13228 (grub_usb_get_ep_type): New function.
13229 (grub_usb_bulk_read_extended): Likewise.
13230 * include/grub/usbdesc.h (grub_usb_desc): New type.
13231 * include/grub/usbserial.h: New file.
13232 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13233 * kern/term.c (grub_term_poll_usb): New variable.
13234 (grub_getkey): Call grub_term_poll_usb if set.
13235 (grub_checkkey): Likewise.
13236 (grub_getkeystatus): Likewise.
13237 * term/serial.c: Moved controller-specific parts to ...
13238 * term/ns8250.c: ... here.
13239 * term/serial.c: Mostly rewritten.
13240 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13241 according to spec.
13242
21a313de
RM
132432010-08-20 Robert Millan <rmh@gnu.org>
13244
13245 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13246 a separate module and maybe other interesting combinations.
13247
13248 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13249 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13250 (kfreebsd_entry): Add generic filesystem module load routine.
13251 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13252
63c734a6
CW
132532010-08-20 Colin Watson <cjwatson@ubuntu.com>
13254
13255 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13256 "numcenter" (I misunderstood the purpose of this entry).
13257 * docs/grub.texi (sendkey): Likewise.
13258
c4d16542
CW
132592010-08-20 Colin Watson <cjwatson@ubuntu.com>
13260
13261 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13262 status flag options; simply omitting the option is equivalent and
13263 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13264 (keysym_table): Rename "num5numlock" to "numlock".
13265 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13266 can uniformly say that only the last of multiple `sendkey'
13267 invocations has any effect.
13268 * docs/grub.texi (sendkey): New section.
13269
93541d66
CW
132702010-08-19 Colin Watson <cjwatson@ubuntu.com>
13271
13272 * commands/i386/pc/sendkey.c (options): Fix three typos.
13273
b4ece5e1
VS
132742010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 Implement sendkey support.
13277
13278 * commands/i386/pc/sendkey.c: New file.
13279 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13280 (sendkey_mod_SOURCES): New variable.
13281 (sendkey_mod_CFLAGS): Likewise.
13282 (sendkey_mod_LDFLAGS): Likewise.
13283
51f1f5af
CW
132842010-08-18 Colin Watson <cjwatson@ubuntu.com>
13285
13286 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13287 fix warnings from Autoconf.
13288
9da94e05
CW
132892010-08-18 Colin Watson <cjwatson@ubuntu.com>
13290
13291 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13292 to avoid false positives with some assemblers that output things
13293 like "someprefix_func" as part of their output.
13294
729a0f2e
RM
132952010-08-15 Robert Millan <rmh@gnu.org>
13296
13297 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13298 errors.
13299 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13300 grub_get_libzfs_handle() errors.
13301
f3710e08
RM
133022010-08-14 Robert Millan <rmh@gnu.org>
13303
13304 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13305 filesystem is not ZFS.
13306
7a3c13de
BC
133072010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13308
13309 Fix for misspelled color names defaulting to black/black (bug
13310 reported by Doug Nazar)
13311
13312 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13313 status to prototype.
13314 * normal/color.c (grub_parse_color_name_pair): Return failure
13315 status.
13316 (grub_env_write_color_normal): Ignore bad color names.
13317 (grub_env_write_color_highlight): Likewise.
13318 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13319
ab8ba50d
BC
133202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13321
13322 "shift" command support to GRUB script.
13323
13324 * include/grub/script_sh.h (grub_script_shift): New prototype.
13325 * script/execute.c (grub_script_shift): New function.
13326 * script/main.c (grub_script_init): Register shift command.
13327 (grub_script_fini): Unregister shift command.
13328 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13329
13330 * tests/grub_script_shift.in: New testcase.
13331 * conf/tests.rmk: Rules for new testcase.
13332
4d61999e
BC
133332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13334
13335 "continue" command support to GRUB script.
13336
13337 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13338 (grub_script_break): Continue support.
13339 * script/main.c (grub_script_init): Register continue command.
13340 (grub_script_fini): Unregister continue command.
13341
13342 * tests/grub_script_continue.in: New testcase.
13343 * conf/tests.rmk: Rules for new testcase.
13344
4df51e00
BC
133452010-08-12 BVK Chaitanya <bvk@dbook>
13346
13347 "break" command support to GRUB script.
13348
13349 * conf/common.rmk: Rule updates to grub-script-check.
13350 * include/grub/misc.h (grub_min): New function.
13351 * include/grub/script_sh.h (grub_script_init): New prototype.
13352 (grub_script_fini): New prototype.
13353 (grub_script_break): New prototype.
13354 * script/main.c (grub_script_init): New function.
13355 (grub_script_fini): New function.
13356 * script/execute.c (grub_script_break): New function.
13357 * normal/main.c: Calls to grub_script_{init,fini}.
13358 * util/grub-script-check.c (grub_script_break): New function.
13359
13360 * tests/grub_script_break.in: New testcase.
13361 * conf/tests.rmk: Rules for new test case.
13362
f12c8420
BC
133632010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13364
13365 Function parameters support to GRUB script.
13366
13367 * script/yylex.l (VARIABLE): Regular expression update.
13368 * script/function.c (grub_script_function_call): Moved ...
13369 * script/execute.c (grub_script_function_call): ... to here.
13370 (grub_script_execute_arglist_to_argv): Removed.
13371 (grub_script_arglist_to_argv): New function.
13372 * script/argv.c: New file.
13373 (grub_script_argv_free): New function.
13374 (grub_script_argv_next): Likewise.
13375 (grub_script_argv_append): Likewise.
13376 (grub_script_argv_split_append): Likewise.
13377 * include/grub/script_sh.h (grub_script_argv): New struct.
13378 (grub_script_argv_free): New function.
13379 (grub_script_argv_next): Likewise.
13380 (grub_script_argv_append): Likewise.
13381 (grub_script_argv_split_append): Likewise.
13382
13383 * conf/common.rmk (normal.mod): New source script/argv.c.
13384
13385 * tests/grub_script_echo1.in: More tests.
13386 * tests/grub_script_vars1.in: Likewise.
13387 * tests/grub_script_functions.in: New test case.
13388 * conf/tests.rmk: Rules for new testcase.
13389
8022b748
BC
133902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13391
13392 Remove grub_script_cmdblock struct.
13393
13394 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13395 * script/parser.y: Likewise.
13396 * script/execute.c: Rename cmdblock suffix to cmdlist.
13397 * script/script.c: Likewise.
13398 * util/grub-script-check.c: Likewise.
13399
79a6ba61
YB
134002010-08-11 Yves Blusseau <blusseau@zetam.org>
13401
13402 * .bzrignore: add grub-macho2img
13403
d04b9414
VS
134042010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13407
f947ab49
VS
134082010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 Remove the dump of sm712 initialisation sequence.
13411
13412 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13413 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13414 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13415 (GRUB_VGA_CR_*): Added many registers.
13416 (GRUB_VGA_SR_*): Likewise.
13417 (GRUB_VGA_GR_*): Likewise.
13418 (grub_vga_write_arx): New function.
13419 (grub_video_hw_config): New struct.
13420 (grub_vga_set_geometry): New function.
13421 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13422 GRUB_PCI_CLASS_SUBCLASS_VGA.
13423 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13424 * video/sm712.c (grub_sm712_write_reg): New function
13425 (grub_sm712_read_reg): Likewise.
13426 (grub_sm712_sr_write): Likewise.
13427 (grub_sm712_gr_write): Likewise.
13428 (grub_sm712_cr_write): Likewise.
13429 (grub_sm712_write_arx): Likewise.
13430 (grub_sm712_cr_shadow_write): Likewise.
13431 (grub_sm712_write_dda_lookup): Likewise.
13432 (grub_video_sm712_setup): Initialise the video rather then
13433 blindly replay the dump.
13434 (main) [TEST]: Add a routine to be able to compile as standalone for
13435 tests.
13436 * video/sm712_init.c (sm712_init): Removed.
13437 (sm712_sr_seq1): New array.
13438 (sm712_sr_seq2): Likewise.
13439
f0206638
VS
134402010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13441
13442 * include/grub/vga.h: Add missing grub/pci.h include.
13443
2764da3b
YB
134442010-08-10 Yves Blusseau <blusseau@zetam.org>
13445
13446 * util/grub-macho2img.c (main): fix typo
13447
cf0c775e
VS
134482010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13451 (grub_vga_gr_read): Likewise.
13452 (grub_vga_cr_write): Likewise.
13453 (grub_vga_cr_read): Likewise.
13454 (grub_vga_sr_write): Likewise.
13455 (grub_vga_sr_read): Likewise.
13456 (grub_vga_palette_read): Likewise.
13457 (grub_vga_palette_write): Likewise.
13458 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13459 (grub_sm712_sr_read): New function.
13460 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13461 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13462
07f360e9
RM
134632010-08-09 Robert Millan <rmh@gnu.org>
13464
13465 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13466 out unused variables on non-ZFS build.
13467
346c2072
RM
134682010-08-08 Robert Millan <rmh@gnu.org>
13469
13470 Fix path generation for sub-filesystems in ZFS.
13471
13472 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13473 missing slash.
13474
71175420
RM
134752010-08-08 Robert Millan <rmh@gnu.org>
13476
13477 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13478
0d8286f3
RM
134792010-08-08 Robert Millan <rmh@gnu.org>
13480
13481 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13482 exist, issue a proper error message (rely on `ls' for translated
13483 strings).
13484
55dd2924
RM
134852010-08-08 Robert Millan <rmh@gnu.org>
13486
13487 Fix grub-probe invocation.
13488
13489 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13490
d3dd9e80
RM
134912010-08-04 Robert Millan <rmh@gnu.org>
13492
13493 * configure.ac: Remove checks for getfsstat() and getmntany().
13494 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13495 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13496 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13497 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13498 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13499 function.
13500 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13501 via find_mount_point_from_dir() and getfsstat() / getmntany().
13502
0de22aa9
RM
135032010-08-04 Robert Millan <rmh@gnu.org>
13504
13505 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13506 (grub_find_zpool_from_mount_point): Merge into ...
13507 (grub_find_zpool_from_dir): ... this.
13508 * kern/emu/misc.c: Likewise.
13509
13510 * kern/emu/misc.c
13511 (grub_make_system_path_relative_to_its_root): Replace
13512 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13513 with grub_find_zpool_from_dir().
13514 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13515
62858144
RM
135162010-08-04 Robert Millan <rmh@gnu.org>
13517
13518 Support OpenSolaris in ZFS device resolution.
13519
13520 * configure.ac: Check for getmntany().
13521 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13522 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13523 support.
13524
9dd6fd50
RM
135252010-08-03 Robert Millan <rmh@gnu.org>
13526
13527 Fix grub-emu build.
13528
13529 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13530 * include/grub/emu/misc.h: ... here.
13531
13532 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13533 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13534
13535 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13536 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13537 (grub_get_libzfs_handle): Move to ...
13538 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13539 (grub_get_libzfs_handle): ... here.
13540
c9f7ff97
BC
135412010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13542
13543 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13544 as command name case.
13545
a870a783
CW
135462010-08-02 Colin Watson <cjwatson@ubuntu.com>
13547
13548 * disk/raid.c (insert_array): Select unique numbers for named arrays
13549 as well, for use as keys in the disk cache.
13550
c7db243b
RM
135512010-08-01 Robert Millan <rmh@gnu.org>
13552
13553 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13554 kFreeBSD device name, except on ZFS where the filesystem label is
13555 used.
13556 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13557 `/boot/zfs/zpool.cache'.
13558 Set mountfrom kernel variable using ${kfreebsd_device}.
13559
f7abdefb
RM
135602010-08-01 Robert Millan <rmh@gnu.org>
13561
13562 Make it even harder to use uninitialized `libzfs_handle' (and
13563 make the interface a bit simpler).
13564
13565 * include/grub/util/misc.h (grub_util_init_libzfs)
13566 (libzfs_handle): Remove.
13567 (grub_get_libzfs_handle): New prototype.
13568
13569 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13570 attribute.
13571 (grub_util_init_libzfs): Remove.
13572 (grub_get_libzfs_handle): New function.
13573
13574 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13575 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13576 accessing `libzfs_handle' directly.
13577
c882acc0
RM
135782010-08-01 Robert Millan <rmh@gnu.org>
13579
13580 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13581 (grub_find_zpool_from_mount_point): New function prototypes.
13582
13583 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13584 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13585
13586 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13587 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13588 `static' attribute.
13589
13590 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13591 finding zpool from mount point into ...
13592 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13593
13594 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13595 requested path is part of a ZFS pool, use
13596 grub_find_zpool_from_mount_point() to detect its filesystem name,
13597 and generate a path with `/fsname@path' syntax.
13598
8bfe31d8
CW
135992010-08-01 Colin Watson <cjwatson@ubuntu.com>
13600
13601 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13602 (void) rather than () so that this is a proper prototype.
13603
553df63d
VS
136042010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13607
8687cf07
VS
136082010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13611 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13612
ea9be8ea
CW
136132010-08-01 Colin Watson <cjwatson@ubuntu.com>
13614
13615 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13616
6eea041a
CW
136172010-08-01 Colin Watson <cjwatson@ubuntu.com>
13618
13619 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13620
2cfb45df
CW
136212010-08-01 Colin Watson <cjwatson@ubuntu.com>
13622
13623 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13624 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13625 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13626 disable gfxpayload.
13627 (Shell-like scripting): Add real content.
13628 (Serial terminal): Suggest `terminal_input serial; terminal_output
13629 serial' rather than putting the two commands on separate lines,
13630 since console input will be inoperative after the first command.
13631 (menuentry): Document --class, --users, and --hotkey options.
13632 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13633 Vladimir Serbinenko).
13634
7decd202
VS
136352010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
136362010-08-01 Colin Watson <cjwatson@ubuntu.com>
13637
13638 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13639
c882acc0
RM
136402010-08-01 Robert Millan <rmh@gnu.org>
13641
13642 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13643 (grub_find_zpool_from_mount_point): New function prototypes.
13644
13645 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13646 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13647
13648 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13649 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13650 `static' attribute.
13651
13652 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13653 finding zpool from mount point into ...
13654 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13655
13656 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13657 requested path is part of a ZFS pool, use
13658 grub_find_zpool_from_mount_point() to detect its filesystem name,
13659 and generate a path with `/fsname@path' syntax.
13660
deb0caa3
RM
136612010-08-01 Robert Millan <rmh@gnu.org>
13662
13663 Prevent accidental use of uninitialized libzfs_handle.
13664
13665 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13666 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13667 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13668
ce04ef47
CW
136692010-08-01 Colin Watson <cjwatson@ubuntu.com>
13670
13671 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13672 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13673
ebf53056
RM
136742010-08-01 Robert Millan <rmh@gnu.org>
13675
13676 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 13677
3710bb6b
RM
136782010-07-31 Robert Millan <rmh@gnu.org>
13679
13680 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13681
8072efeb
RM
136822010-07-31 Robert Millan <rmh@gnu.org>
13683
13684 * kern/emu/misc.c: Add missing license header.
13685
3169f4c7
RM
136862010-07-31 Robert Millan <rmh@gnu.org>
13687
13688 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13689
13690 * include/grub/util/libnvpair.h: Include `<config.h>'.
13691 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13692 declaring libnvpair prototypes ourselves.
13693 * include/grub/util/libzfs.h: Include `<config.h>'.
13694 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13695 declaring libzfs prototypes ourselves.
13696
13697 (libzfs_handle): Moved to ...
13698 * include/grub/util/misc.h (libzfs_handle): ... here.
13699 Include `<grub/util/libzfs.h>'.
13700
c9a00aee
RM
137012010-07-30 Robert Millan <rmh@gnu.org>
13702
13703 * include/grub/emu/misc.h: Add missing license header.
13704
a184f9c8
RM
137052010-07-30 Robert Millan <rmh@gnu.org>
13706
13707 Enable `grub-probe -t device' resolution on ZFS.
13708
13709 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13710 * include/grub/util/libnvpair.h: New file.
13711 * include/grub/util/libzfs.h: New file.
13712
13713 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13714 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13715 `<grub/util/libnvpair.h>'.
13716 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13717
13718 (find_mount_point_from_dir): New static function.
13719 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13720 function.
13721 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13722 find_root_device_from_libzfs() before ressorting to find_root_device().
13723
13724 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13725 prototype.
13726 * util/misc.c: Include `<grub/util/libzfs.h>'.
13727 (grub_util_init_libzfs): New function.
13728 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13729 [HAVE_LIBZFS] (fini_libzfs): New static function.
13730 (grub_util_init_libzfs): New function.
13731 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13732
f7790cdd
RM
137332010-07-30 Robert Millan <rmh@gnu.org>
13734
13735 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13736 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13737 `warn_unused_result' attribute.
13738 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13739 (grub_xasprintf, grub_xvasprintf): Likewise.
13740 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13741
0806b63c
RM
137422010-07-29 Robert Millan <rmh@gnu.org>
13743
13744 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13745 (probe): Handle `PRINT_FS_LABEL'.
13746 (main): Handle `-t fs_label'.
13747
9f841f5c
RM
137482010-07-29 Robert Millan <rmh@gnu.org>
13749
13750 * configure.ac: Remove grub-mkisofs checks.
13751
46371121
VS
137522010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13755 Reported by: Lennart Sorensen.
13756
137572010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13760 prior to terminal_input/terminal_output separation. It's been over 1.5
13761 years and those versions weren't widely deployed.
13762
a9600892
CW
137632010-07-22 Colin Watson <cjwatson@ubuntu.com>
13764
13765 * disk/raid.c (insert_array): Don't count named arrays when looking
13766 for unused array numbers.
697e053c 13767 Reported and tested by: Michael Guntsche.
a9600892 13768
c03507df
CW
137692010-07-20 Colin Watson <cjwatson@ubuntu.com>
13770
13771 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13772 implementation of this so that grub-emu links again, with a note
13773 that this should support hotplugging in the future.
13774
b26f1c11
CW
137752010-07-20 Colin Watson <cjwatson@ubuntu.com>
13776
13777 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13778
efc9d7f1
CW
137792010-07-20 Colin Watson <cjwatson@ubuntu.com>
13780
13781 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13782 handle on failure.
13783 (grub_loopback_close): Remove empty function.
13784 (grub_loopback_dev): Remove close method.
13785
dd8ff5c9
CW
137862010-07-20 Colin Watson <cjwatson@ubuntu.com>
13787
13788 Disable EFI cursor when the EFI console becomes inactive.
13789
13790 * term/efi/console.c (grub_efi_console_init): New function.
13791 (grub_efi_console_fini): New function.
13792 (grub_console_term_output): Register init and fini methods.
13793
5e3bec67
VS
137942010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13797 sh script.
13798
afaec079
VS
137992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * disk/loopback.c (grub_loopback): Replace filename with file.
13802 (delete_loopback): Handle new semantics.
13803 (grub_cmd_loopback): Likewise.
13804 (grub_loopback_iterate): Likewise.
13805 (grub_loopback_close): Likewise.
13806
a6a11f3c
VS
138072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13810 with -p "".
13811 Reported by: Tito Keitel.
13812
64a638b0
VS
138132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * docs/grub.texi (Naming convention): Document new naming convention.
13816
ab8ba957
VS
138172010-07-20 Vadim Solomin <vadic052@gmail.com>
138182010-07-20 Colin Watson <cjwatson@ubuntu.com>
13819
13820 Generate device.map in something closer to the old ordering.
13821
13822 * util/deviceiter.c (struct device): New declaration.
13823 (compare_file_names): Rename to ...
13824 (compare_devices): ... this. Sort by kernel name in preference to
13825 the stable by-id name, but keep the latter as a fallback comparison.
13826 Update header comment.
13827 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13828 of `struct device' rather than of plain file names.
13829
a29d6a4b
TF
138302010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13831
13832 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13833 on i386.
13834
39d824e8
VS
138352010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13836
13837 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13838 hardcoding size.
13839 (setv1table): Likewise.
13840
f058276b
FZ
138412010-07-20 Colin Watson <cjwatson@ubuntu.com>
13842
13843 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13844 removing the homehost if present.
13845 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13846 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13847 removing the homehost if present.
13848 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13849 if possible.
13850 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13851
13852 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13853 parameter. Set its pointer target to 0.
13854 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13855 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13856 `data_offset' value from the superblock for 1.x metadata.
13857 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13858 data on the device.
13859 (insert_array): Record the start sector of data on the device.
13860 (grub_raid_register): Pass start_sector parameters to
13861 grub_raid_list->detect and insert_array.
13862 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13863 member.
13864 (struct grub_raid): Add start_sector parameter to `detect'.
13865
13866 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13867 __attribute__ ((packed)), leaving a comment.
13868 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13869 (grub_mdraid_detect_09): ... here and ...
13870 (grub_mdraid_detect_1x): ... here.
13871
138722010-07-20 Peter Henn <peter.henn@web.de>
13873
13874 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13875 chunk size and disk size, which are already given as sector counts
13876 as distinct from the 0.90 units. Fetch the correct device number
13877 from the role table instead of using the table index.
13878
138792010-07-20 Felix Zielcke <fzielcke@z-51.de>
13880
13881 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13882 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13883 (WriteMostly1): New macro.
13884 Set array->name to NULL for metadata format 0.90. Add support for
13885 metadata 1.x. Fix some comments.
13886 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13887 few comments.
13888 * util/getroot.c (grub_util_get_grub_dev): Add support for
13889 /dev/md/name style devices.
13890
4b761da9
CW
138912010-07-20 Colin Watson <cjwatson@ubuntu.com>
13892
13893 * .bzrignore: Ignore 20_linux_xen.
13894
5771289a
CW
138952010-07-17 Colin Watson <cjwatson@ubuntu.com>
13896
13897 * util/import_unicode.py: Remove unnecessary imports.
13898
5dab68df
AN
138992010-07-17 Aleš Nesrsta <starous@volny.cz>
13900
13901 Hotplugging and USB hub support.
13902
13903 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13904 (grub_ohci): Likewise.
13905 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13906 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13907 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13908 (GRUB_OHCI_CTRL_EDS): Likewise.
13909 (GRUB_OHCI_BULK_EDS): Likewise.
13910 (GRUB_OHCI_TDS): Likewise.
13911 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13912 (grub_ohci_ed_phys2virt): New function.
13913 (grub_ohci_virt_to_phys): Likewise.
13914 (grub_ohci_td_phys2virt): Likewise.
13915 (grub_ohci_td_virt2phys): Likewise.
13916 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13917 attachment.
13918 (grub_ohci_find_ed): New function.
13919 (grub_ohci_alloc_td): Likewise.
13920 (grub_ohci_free_td): Likewise.
13921 (grub_ohci_free_tds): Likewise.
13922 (grub_ohci_transfer): Use previously allocated memory.
13923 (grub_ohci_portstatus): Reset status changed bit.
13924 (grub_ohci_detect_dev): Supply status changed.
13925 (grub_ohci_fini_hw): Free memory.
13926 (grub_ohci_restore_hw): Reallocate memory.
13927 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13928 Reset status change.
13929 (grub_uhci_detect_dev): Supply status_change.
13930 * bus/usb/usb.c (attach_hooks): New var.
13931 (grub_usb_device_attach): New function.
13932 (grub_usb_register_attach_hook_class): Likewise.
13933 (grub_usb_unregister_attach_hook_class): Likewise.
13934 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13935 (grub_usb_add_hub): Reset connection changed bit.
13936 (attach_root_port): New function.
13937 (grub_usb_root_hub): Likewise.
13938 (poll_nonroot_hub): Likewise.
13939 (grub_usb_poll_devices): Likewise.
13940 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13941 * disk/usbms.c (grub_usbms_open): Use device hooks.
13942 (grub_usbms_iterate) :Poll devices.
13943 (grub_usbms_finddevs): Split into ...
13944 (grub_usbms_attach): ... this ...
13945 (grub_usbms_attach): ... and this.
13946 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13947 in detect_dev.
13948 (grub_usb_interface): New fields attached and detach_hook.
13949 (grub_usb_attach_hook_class): New type.
13950 (grub_usb_attach_desc): New struct.
13951 (grub_usb_register_attach_hook_class): New function.
13952 (grub_usb_unregister_attach_hook_class): Likewise.
13953 (grub_usb_poll_devices): Likewise.
13954 (grub_usb_device_attach): Likewise.
13955 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13956 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13957
3222efaf
VS
139582010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13961 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13962 delta determination style. Works with most NetBSD partitions too.
13963
139b714a
VS
139642010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13967 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13968
986aad56
VS
139692010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13972
99be513c
AB
139732010-07-14 Anton Blanchard <anton@samba.org>
13974
13975 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13976 ET_DYN files.
13977
18075f62
GS
139782010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13979
13980 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13981
8d9a5b15
GS
139822010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13983
13984 * kern/partition.c (grub_partition_check_containment): New function to
13985 check that a partition is physically contained in a parent. Since
13986 offsets are relative (and non-negative), this reduces to checking that
13987 the partition ends before its parent.
13988 (grub_partition_map_probe): Discard out-of-range sub-partitions.
13989 (grub_partition_iterate): Likewise.
13990 * include/grub/partition.h (grub_partition_map): Slightly more detailed
13991 comments.
13992 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
13993 partitions that start before their parent, and add debug printfs.
13994
19563c25
CW
139952010-07-13 Colin Watson <cjwatson@ubuntu.com>
13996
13997 * Makefile.in (.SUFFIX): Spell correctly, as ...
13998 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
13999 bare module name without `.mod', e.g. `test') tried to invoke a
14000 Modula-2 compiler.
14001
1a1f1e67
CW
140022010-07-13 Colin Watson <cjwatson@ubuntu.com>
14003
14004 * README: Point to the Info manual.
14005
811b0dca
JS
140062010-07-13 Jiro SEKIBA <jir@unicus.jp>
14007
14008 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
14009 2nd superblock position from partition size.
14010
e4f4eafc
CW
140112010-07-10 Colin Watson <cjwatson@ubuntu.com>
14012
14013 * Makefile.in (MAINTAINER_CLEANFILES): Remove
14014 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
14015 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
14016 outputs.
14017
4274c30f
VS
140182010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 Restructure SCSI .id handling.
14021 Reported and tested by: Aleš Nesrsta.
14022
14023 * disk/ata.c (grub_atapi_close): Removed. All users updated.
14024 (grub_atapi_dev): Changed .name to "ata". New field .id.
14025 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
14026 (grub_usbms_dev): New field .id.
14027 * disk/scsi.c (grub_scsi_iterate): Generate name.
14028 (grub_scsi_open): Parse name.
14029 * include/grub/scsi.h (grub_make_scsi_id): New function.
14030 (grub_scsi_dev): Change iterate and open to number instead of naming
14031 busses. All users updated.
14032 (grub_scsi): Remove name. Add .bus.
14033
5bc24388
VS
140342010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 * commands/help.c (grub_cmd_help): Fix a typo.
14037
249975ba
VS
140382010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
14041 Reported and tested by: Colin Watson.
14042
3eaac1a1
VS
140432010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
14046 in this context.
14047
becce1b1
VS
140482010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
14051
f7bf0918
CW
140522010-07-07 Colin Watson <cjwatson@ubuntu.com>
14053
14054 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
14055 indentation.
14056
0b0f9620
CW
140572010-07-06 Colin Watson <cjwatson@ubuntu.com>
14058
14059 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
14060 and disk/raid6_recover.c.
14061 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14062 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14063
1e545469
CW
140642010-07-06 Colin Watson <cjwatson@ubuntu.com>
14065
14066 * term/gfxterm.c (repaint_schedulded): Rename to ...
14067 (repaint_scheduled): ... this. Update all callers.
14068 (repaint_was_schedulded): Rename to ...
14069 (repaint_was_scheduled): ... this. Update all callers.
14070
5357687a
CW
140712010-07-06 Colin Watson <cjwatson@ubuntu.com>
14072
14073 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
14074 which we expect to be handled by upper layers.
14075
29d7e783
BC
140762010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
14077
14078 * bus/usb/usbhub.c: #include time.h header.
14079
37582066
CW
140802010-07-06 Colin Watson <cjwatson@ubuntu.com>
14081
14082 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
14083 entry_name also for entries without stat blocks (e.g. ".."); fixes
14084 corruption of the first entry in a directory.
14085
c8c06953
CW
140862010-07-06 Colin Watson <cjwatson@ubuntu.com>
14087
14088 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
14089 after setting gfxterm as the active terminal. GRUB_BACKGROUND
14090 doesn't work otherwise.
14091
e75056f1
CW
140922010-07-05 Colin Watson <cjwatson@ubuntu.com>
14093
14094 * docs/grub.texi (Features): Update list of supported file systems.
14095 (GNU/Linux): Update for GRUB 2.
14096 (Serial terminal): Remove mention of --disable-serial, which was a
14097 GRUB Legacy configure option. Update instructions to use
14098 `terminal_input' and `terminal_output' rather than `terminal'.
14099 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
14100 configuration' and `Installing GRUB using grub-install'.
14101 (Menu entry editor): Update for GRUB 2.
14102 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
14103 Document new -a, -u, and -v options.
14104 (initrd): New section.
14105 (initrd16): New section.
14106 (linux): New section.
14107 (linux16): New section.
14108 (search): The `var' argument to `--set' is optional.
14109 (GRUB only offers a rescue shell): Go into a little more detail on
14110 drive ordering.
14111
5cf69151
CW
141122010-07-05 Colin Watson <cjwatson@ubuntu.com>
14113
14114 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14115
e3f90044
CW
141162010-07-05 Colin Watson <cjwatson@ubuntu.com>
14117
14118 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14119 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14120
38d8f4f3
CW
141212010-07-05 Colin Watson <cjwatson@ubuntu.com>
14122
14123 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14124 install_prefix, in line with install_dos_part and install_bsd_part.
14125 Add new prefix variable, which is copied to install_prefix after
14126 comparing core.img in memory with the one read from disk in the
14127 no-embedding case, and use that rather than overwriting
14128 install_prefix immediately when installing to a partition.
14129 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14130 Bicakci.
14131
57ebd41e
GS
141322010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14133
14134 * configure.ac: Avoid == in test command, it's not portable.
14135 * util/grub.d/30_os-prober.in: Likewise.
14136
cb7f64b2
CW
141372010-07-04 Colin Watson <cjwatson@ubuntu.com>
14138
14139 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14140
6b654bb0
GS
141412010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14142
14143 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14144 multiple (top-level) partmaps.
14145
72a2026d
VS
141462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 14149 Reported by: Tino Keitel.
72a2026d 14150
df3eb88f
VS
141512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 Bidi and diacritics support.
14154
14155 * Makefile.in (widthspec.bin): New target.
14156 (widthspec.h): Likewise.
14157 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14158 * autogen.sh: Generate unidata.c.
14159 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14160 * commands/ls.c (grub_ls_list_devices): Likewise.
14161 (grub_ls_list_files): Likewise.
14162 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14163 (grub_mini_cmd_lsmod): Likewise.
14164 * commands/read.c: Likewise.
14165 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14166 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14167 * lib/arg.c (grub_arg_show_help): Likewise.
14168 * lib/crypto.c (grub_password_get): Likewise.
14169 * normal/auth.c (grub_username_get): Likewise.
14170 * normal/misc.c (grub_normal_print_device_info): Likewise.
14171 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14172 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14173 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14174 (normal/charset.c_DEPENDENCIES): New variable.
14175 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14176 (pkglib_MODULES): Remove charset.mod.
14177 (charset_mod_SOURCES): Removed.
14178 (charset_mod_CFLAGS): Likewise.
14179 (charset_mod_LDFLAGS): Likewise.
14180 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14181 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14182 and term/tparm.c.
14183 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14184 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14185 (kernel_img_HEADERS): Add terminfo.h.
14186 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14187 Fill ->font. Reverse ascii bitmaps.
14188 (grub_font_get_xheight): New function.
14189 * font/font.c (grub_font_get_string_width): Moved from here ...
14190 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14191 * font/font.c (grub_font_draw_string): Moved from here ...
14192 * gfxmenu/font.c (grub_font_draw_string): ... here.
14193 * font/font.c (grub_font_dup_glyph): New function.
14194 (grub_font_blit_glyph): Likewise.
14195 (grub_font_blit_glyph_mirror): Likewise.
14196 (blit_comb): Likewise.
14197 (grub_font_construct_dry_run): Likewise.
14198 (grub_font_get_constructed_device_width): Likewise.
14199 (grub_font_construct_glyph): Likewise.
14200 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14201 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14202 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14203 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14204 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14205 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14206 (grub_font_get_xheight): New proto.
14207 (grub_font_get_constructed_device_width): Likewise.
14208 (grub_font_construct_glyph): Likewise.
14209 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14210 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14211 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14212 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14213 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14214 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14215 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14216 (grub_console_getcharwidth): Likewise.
14217 * include/grub/misc.h (grub_xputs): New proto.
14218 (grub_puts): Inlined.
14219 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14220 (grub_normal_get_line_counter): Removed.
14221 (grub_install_newline_hook): Likewise.
14222 (grub_normal_get_char_counter): New proto.
14223 (grub_normal_reset_more): Likewise.
14224 (grub_xputs_normal): Likewise.
14225 * include/grub/powerpc/ieee1275/console.h: Removed.
14226 * include/grub/sparc64/ieee1275/console.h: Likewise.
14227 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14228 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14229 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14230 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14231 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14232 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14233 (grub_term_input): Pass reference to self. All users updated.
14234 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14235 Pass reference to self. New fields normal_color, highlight_color and
14236 data. All users updated.
14237 (grub_putchar): Removed.
14238 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14239 (grub_unicode_estimate_width): New function.
14240 (grub_term_getcharwidth): Add defaults.
14241 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14242 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14243 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14244 (grub_cls): Remove EXPORT_FUNC.
14245 (grub_setcolorstate): Inline.
14246 (grub_newline_hook): Removed.
14247 * include/grub/terminfo.h: Rewritten. All users updated.
14248 * include/grub/unicode.h: New file.
14249 * include/grub/video.h (grub_video_signed_rect): New type.
14250 * kern/emu/console.c (grub_console_highlight_color): Removed.
14251 (grub_console_normal_color): Likewise.
14252 (grub_console_standard_color): Made static.
14253 (grub_ncurses_putchar): Remove mapping.
14254 (grub_ncurses_getcharwidth): Removed.
14255 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14256 (grub_ncurses_setcolor): Removed.
14257 (grub_ncurses_getcolor): Likewise.
14258 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14259 (grub_console_putchar): ... this.
14260 (grub_console_putchar): Handle argument difference.
14261 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14262 console_init_early and console_init_lately.
14263 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14264 * kern/misc.c (grub_puts): Removed.
14265 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14266 (grub_vsnprintf_real): Remove str = NULL support.
14267 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14268 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14269 * kern/term.c (grub_putcode): Renamed to ...
14270 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14271 (grub_putchar): Removed.
14272 (grub_xputs_dumb): New function.
14273 (grub_xputs): New variable.
14274 * lib/charset.c: Move from here ...
14275 * normal/charset.c: ... to here.
14276 (grub_ucs4_to_utf8): New function.
14277 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14278 (join_types): New variable.
14279 (unpack_join): New function.
14280 (bidi_types): New variable.
14281 (unpack_bidi): New function.
14282 (get_bidi_type): Likewise.
14283 (get_join_type): Likewise.
14284 (is_mirrored): Likewise.
14285 (grub_unicode_get_comb_type): Likewise.
14286 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14287 (is_type_after): Likewise.
14288 (grub_unicode_aglomerate_comb): Likewise.
14289 (bidi_line_wrap): Likewise.
14290 (grub_bidi_line_logical_to_visual): Likewise.
14291 (grub_bidi_logical_to_visual): Likewise.
14292 (grub_unicode_mirror_code): Likewise.
14293 (grub_unicode_shape_code): Likewise.
14294 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14295 Don't use grub_putchar.
14296 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14297 (grub_normal_reader_init): Likewise.
14298 (grub_xputs_saved): New variable.
14299 (GRUB_MOD_INIT): Set grub_xputs.
14300 (GRUB_MOD_FINI): Restore grub_xputs.
14301 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14302 (menu_init): Avoid printing gfxmenu error.
14303 (show_menu): Use grub_normal_get_char_counter.
14304 * normal/menu_entry.c (update_screen): Fix out-of-array.
14305 (complete): Avoid NULL dereferencing.
14306 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14307 * normal/menu_text.c (print_spaces): Removed.
14308 (grub_print_ucs4): Likewise.
14309 (grub_print_message_indented): Use grub_print_ucs4.
14310 (print_message): Use grub_putcode.
14311 (print_entry): Hanlde diacritics.
14312 * normal/term.c (term_state): New type.
14313 (grub_more_lines): Removed.
14314 (term_states): New variable.
14315 (grub_normal_line_counter): Renamed to ..
14316 (grub_normal_char_counter): ...this. All users updated.
14317 (grub_normal_get_line_counter): Renamed to ...
14318 (grub_normal_get_char_counter): ... this.
14319 (grub_normal_reset_more): New function.
14320 (process_newline): Removed.
14321 (print_more): New function.
14322 (grub_install_newline_hook): Removed.
14323 (map_code): New function.
14324 (grub_puts_terminal): Use grub_print_ucs4.
14325 (putglyph): New function.
14326 (putcode_real): Likewise.
14327 (grub_putcode): Use putcode_real.
14328 (get_maxwidth): New function.
14329 (get_startwidth): Likewise.
14330 (print_ucs4_terminal): Likewise.
14331 (find_term_state): Likewise.
14332 (put_glyphs_terminal): Likewise.
14333 (print_backlog): Likewise.
14334 (print_ucs4_real): Likewise.
14335 (grub_print_ucs4): Likewise.
14336 (grub_xputs_normal): Likewise.
14337 * term/efi/console.c (grub_console_putchar): Output diacritics.
14338 (grub_console_getcharwidth): Removed.
14339 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14340 * term/gfxterm.c (clear_char): Free chars.
14341 (scroll_up): Avoid leaking memory.
14342 (grub_gfxterm_putchar): Support diacritics.
14343 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14344 * term/i386/pc/console.c (grub_console_term_output): Declare as
14345 GRUB_TERM_CODE_TYPE_VGA.
14346 * term/i386/pc/vga.c (grub_vga_term): Declare as
14347 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14348 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14349 GRUB_TERM_CODE_TYPE_VGA.
14350 * term/i386/vga_common.c (map_char): Removed.
14351 (grub_console_putchar): Likewise.
14352 (grub_console_getcharwidth): Likewise.
14353 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14354 (colors): Reordered to match terminfo.
14355 (grub_ofconsole_normal_color): Removed.
14356 (grub_ofconsole_writeesc): Likewise.
14357 (grub_ofconsole_highlight_color): Likewise.
14358 (grub_ofconsole_getcharwidth): Likewise.
14359 (grub_ofconsole_setcolorstate): Likewise.
14360 (grub_ofconsole_setcolor): Likewise.
14361 (grub_ofconsole_getcolor): Likewise.
14362 (grub_ofconsole_readkey): Renamed to ...
14363 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14364 key.
14365 (grub_ofconsole_checkkey): Removed.
14366 (grub_ofconsole_getkey): Likewise.
14367 (grub_ofconsole_getxy): Likewise.
14368 (grub_ofconsole_gotoxy): Likewise.
14369 (grub_ofconsole_cls): Likewise.
14370 (grub_ofconsole_refresh): Likewise.
14371 (grub_ofconsole_terminfo_input): New struct.
14372 (grub_ofconsole_terminfo_output): Likewise.
14373 (grub_ofconsole_term_input): Use terminfo.
14374 (grub_ofconsole_term_output): Likewise.
14375 (grub_console_init): Split into ...
14376 (grub_console_init_early): ...this and ...
14377 (grub_console_init_lately): ...this. Use terminfo.
14378 (grub_ofconsole_putchar): Renamed to ...
14379 (put): ... this. Remove mapping.
14380 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14381 * term/serial.c: Simplify using terminfo.
14382 (xpos): Removed.
14383 (ypos): Likewise.
14384 (keep_track): Likewise.
14385 (registered): Likewise.
14386 (input_buf): Likewise.
14387 (npending): Likewise.
14388 (serial_translate_key_sequence): Likewise.
14389 (fill_input_buf): Likewise.
14390 (grub_serial_checkkey): Likewise.
14391 (grub_serial_getkey): Likewise.
14392 (grub_serial_getxy): Likewise.
14393 (grub_serial_gotoxy): Likewise.
14394 (grub_serial_putchar): Likewise.
14395 (grub_serial_cls): Likewise.
14396 (grub_serial_setcolorstate): Likewise.
14397 (grub_serial_setcursor): Likewise.
14398 (serial_hw_init): Use serial_hw_fetch.
14399 (grub_serial_terminfo_input): New variable.
14400 (grub_serial_terminfo_output): Likewise.
14401 (grub_serial_term_input): Use terminfo.
14402 (grub_serial_term_output): Likewise.
14403 * term/terminfo.c (putstr): Use put.
14404 (grub_terminfo_all_free): New function
14405 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14406 (grub_terminfo_output_register): New function.
14407 (grub_terminfo_output_unregister): Likewise.
14408 (grub_terminfo_getxy): Likewise.
14409 (grub_terminfo_readkey): Likewise.
14410 (grub_terminfo_checkkey): Likewise.
14411 (grub_terminfo_getkey): Likewise.
14412 (grub_terminfo_input_init): Likewise.
14413 (print_terminfo): Likewise.
14414 (grub_cmd_terminfo): Handle encoding.
14415 (grub_terminfo_gotoxy): Track position.
14416 (grub_terminfo_cls): Likewise.
14417 (grub_terminfo_putchar): Likewise.
14418 (grub_terminfo_setcolorstate): Handle colors
14419 (grub_terminfo_cursor_on): This ...
14420 (grub_terminfo_cursor_off): ... and this merged into ...
14421 (grub_terminfo_setcursor): ... this.
14422 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14423 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14424 * unicode/BidiMirroring.txt: Likewise.
14425 * unicode/UnicodeData.txt: Likewise.
14426 * unicode/COPYING: Likewise.
14427 * util/grub-editenv.c (grub_putchar): Removed.
14428 (grub_xputs_real): New function.
14429 (grub_xputs): New variable.
14430 * util/grub-fstest.c (grub_putchar): Removed.
14431 (grub_xputs_real): New function.
14432 (grub_xputs): New variable.
14433 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14434 (grub_xputs_real): New function.
14435 (grub_xputs): New variable.
14436 * util/grub-probe.c (grub_putchar): Removed.
14437 (grub_xputs_real): New function.
14438 (grub_xputs): New variable.
14439 * util/grub-script-check.c (grub_putchar): Removed.
14440 (grub_xputs_real): New function.
14441 (grub_xputs): New variable.
14442 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14443 (grub_xputs_real): New function.
14444 (grub_xputs): New variable.
14445 * util/import_unicode.py: New file.
14446 * util/grub-mkfont.c (ft_errmsgs): New array.
14447 (grub_glyph_info): Make bitmap a pointer.
14448 (file_formats): New type WIDTH_SPEC.
14449 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14450 (options): Add width-spec.
14451 (help): Likewise.
14452 (add_char): Renamed to ...
14453 (add_glyph): ... this.
14454 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14455 (glyph_replace): New type.
14456 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14457 (add_char): New function.
14458 (add_subst): Likewise.
14459 (process_cursive): Likewise.
14460 (add_font): Handle GSUB.
14461 (write_font_width_spec): New function.
14462 (main): Sort glyphs.
14463 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14464 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14465 * kern/term.c (grub_cls): Moved from here...
14466 * normal/term.c (grub_cls): ... here.
14467
50f0bcda
CW
144682010-07-02 Colin Watson <cjwatson@ubuntu.com>
14469
14470 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14471 suitable for using within the format argument of printf when
14472 converting grub_size_t.
14473 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14474 "x" to convert grub_size_t arguments.
14475
40372103
VS
144762010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14479 too long captions.
14480 (list_get_minimal_size): Take selection box into account.
14481
942a10c7
VS
144822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14485 NULL font.
14486
2bdb2892
CW
144872010-07-02 Colin Watson <cjwatson@ubuntu.com>
14488
14489 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14490 devices when iterating over /dev/disk/by-id; they will be handled
14491 later if appropriate, which they aren't always (e.g. LVM).
14492
e03ed6c1
CW
144932010-07-02 Colin Watson <cjwatson@ubuntu.com>
14494
14495 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14496 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14497 fails.
14498 (grub_halt): Likewise.
14499 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14500 reset-all fails.
14501 (grub_halt): Don't return, even if all of shut-down, power-off, and
14502 poweroff fail.
14503
47695765
CW
145042010-07-02 Colin Watson <cjwatson@ubuntu.com>
14505
14506 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14507 arguments, not three.
14508
507736c8
CW
145092010-07-02 Colin Watson <cjwatson@ubuntu.com>
14510
14511 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14512 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14513 LVM-on-RAID is handled correctly.
14514
e3c8cd37
CW
145152010-07-02 Colin Watson <cjwatson@ubuntu.com>
14516
14517 * docs/grub.texi (Changes from GRUB Legacy): New section.
14518 (Future): Fix typo.
14519
8d4a2fec
CW
145202010-07-02 Colin Watson <cjwatson@ubuntu.com>
14521
14522 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14523 grub.d/README accidentally ends up executable for one reason or
14524 another. Ignore it.
14525
1c4827be
VS
145262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14529 (gpt_partition_map_iterate): Support non-512B sectors.
14530
d9a0c941
VS
145312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14534 Tested by: Seth Goldberg.
14535
48f27e87
VS
145362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14539 Properly align mbi.
14540 Reported by: Seth Goldberg.
14541
b0c4f956
VS
145422010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * util/grub-mkrescue.in: Avoid module duplication.
14545
105a2e8c
SF
145462010-07-01 Sean Finney <seanius@seanius.net>
14547
14548 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14549
5944958c
SF
145502010-07-01 Sean Finney <seanius@seanius.net>
14551
14552 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14553
145542010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 * disk/lvm.c (grub_lvm_checkvalue): New function.
14557 (grub_lvm_check_flag): Likewise.
14558
b79889ba
RM
145592010-07-01 Robert Millan <rmh@gnu.org>
14560
14561 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14562 Support 'p' as partition separator on kernel of FreeBSD (used
14563 with GPT labels).
14564 (grub_util_biosdisk_get_grub_dev): Likewise.
14565
ec1d04f1
VS
145662010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 Yeeloong firmware port.
14569
14570 * boot/mips/yeeloong/fwstart.S: New file.
14571 * bus/cs5536.c (gpiodump): New const.
14572 (set_io_space): New function.
14573 (set_iod): Likewise.
14574 (set_p2d): Likewise.
14575 (grub_cs5536_init_geode): Likewise.
14576 * commands/mips/yeeloong/lsspd.c: New file.
14577 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14578 (serial_mod_SOURCES): New variable.
14579 (serial_mod_CFLAGS): Likewise.
14580 (serial_mod_LDFLAGS): Likewise.
14581 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14582 term/terminfo.c and term/tparm.c.
14583 (pkglib_IMAGES): Add fwstart.img.
14584 (fwstart_img_SOURCES): New variable.
14585 (fwstart_img_CFLAGS): Likewise.
14586 (fwstart_img_ASFLAGS): Likewise.
14587 (fwstart_img_LDFLAGS): Likewise.
14588 (fwstart_img_FORMAT): Likewise.
14589 (pkglib_MODULES): Add lsspd.mod.
14590 (lsspd_mod_SOURCES): New variable.
14591 (lsspd_mod_CFLAGS): Likewise.
14592 (lsspd_mod_LDFLAGS): Likewise.
14593 (pkglib_MODULES): Add halt.mod.
14594 (halt_mod_SOURCES): New variable.
14595 (halt_mod_CFLAGS): Likewise.
14596 (halt_mod_LDFLAGS): Likewise.
14597 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14598 (serial_mod_SOURCES): Removed.
14599 (serial_mod_CFLAGS): Likewise.
14600 (serial_mod_LDFLAGS): Likewise.
14601 * disk/ata.c (check_device): New function.
14602 (grub_ata_device_initialize): Use check_device.
14603 (grub_ata_iterate): Recheck devices.
14604 (grub_ata_open): Likewise.
14605 (grub_atapi_iterate): Likewise.
14606 (grub_atapi_open): Likewise.
14607 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14608 (GRUB_ATA_CH1_PORT1): Likewise.
14609 (GRUB_ATA_CH0_PORT2): Likewise.
14610 (GRUB_ATA_CH1_PORT2): Likewise.
14611 * include/grub/mips/loongson.h: New file.
14612 * include/grub/mips/yeeloong/ec.h: Likewise.
14613 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14614 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14615 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14616 * include/grub/misc.h (grub_halt): Declare as noreturn.
14617 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14618 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14619 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14620 (UART_ENABLE_DTRRTS): Likewise.
14621 (UART_ENABLE_MODEM): Removed.
14622 (UART_ENABLE_OUT2): New const.
14623 * include/grub/term.h (grub_term_register_input_active): New function.
14624 (grub_term_register_output_active): Likewise.
14625 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14626 argument.
14627 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14628 (init_pci): New function.
14629 (grub_machine_init): Execute platform init when firmware. Init serial.
14630 (grub_halt): Implement.
14631 (grub_exit): Likewise.
14632 (grub_reboot): Likewise.
14633 * term/serial.c (serial_hw_init): Update macros.
14634 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14635 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14636 (image_targets): New target mipsel-yeeloong-flash.
14637 (generate_image): Support IMAGE_YEELOONG_FLASH.
14638 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14639 (grub_video_sm712_setup): Init card.
14640 (grub_video_sm712_set_palette): Removed.
14641 * video/sm712_init.c: New file.
14642
ff4a70d2
CW
146432010-06-30 Colin Watson <cjwatson@ubuntu.com>
14644
14645 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14646 PATH when running help2man and then run it on the unadorned
14647 executable names, rather than passing $(builddir)/* paths to
14648 help2man. This avoids the build directory ending up in generated
14649 manual pages.
14650
1246efeb
CW
146512010-06-29 Colin Watson <cjwatson@ubuntu.com>
14652
14653 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14654 to avoid accidents when debugging with 'sh -x'.
14655 * util/grub-mkrescue.in: Likewise.
14656 * util/grub.d/00_header.in: Likewise.
14657 * util/grub.d/10_hurd.in: Likewise.
14658 * util/grub.d/10_kfreebsd.in: Likewise.
14659 * util/grub.d/10_linux.in: Likewise.
14660 * util/grub.d/10_netbsd.in: Likewise.
14661 * util/grub.d/10_windows.in: Likewise.
14662 * util/grub.d/20_linux_xen.in: Likewise.
14663 * util/grub.d/30_os-prober.in: Likewise.
14664 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14665
1ba9b889
CW
146662010-06-29 Colin Watson <cjwatson@ubuntu.com>
14667
14668 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14669 last character in the buffer.
14670 Reported by: Vladimir Serbinenko.
14671
dccaf99d
RM
146722010-06-29 Robert Millan <rmh@gnu.org>
14673
14674 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14675 (Command-line and menu entry commands): Document `badram' command.
14676
d500ed12
RM
146772010-06-28 Robert Millan <rmh@gnu.org>
14678
14679 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14680 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14681 command using ${GRUB_BADRAM} as parameter.
14682
20bc84a6
CW
146832010-06-28 Colin Watson <cjwatson@ubuntu.com>
14684
14685 * docs/grub.texi (Device map): New section.
14686 (Themes): New section (stub).
14687 * Makefile.in (docs/grub.info): The info documentation now builds
14688 without errors. Make sure it stays that way.
14689
4045dee1
VS
146902010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 Use normal parser for menu entries.
14693 Reported by: Thomas Frauendorfer
14694
14695 * include/grub/parser.h (grub_parser_execute): Don't export.
14696 * normal/menu.c (grub_menu_execute_entry_real): New function.
14697 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14698
bca58c7b
CW
146992010-06-28 Colin Watson <cjwatson@ubuntu.com>
14700
14701 * docs/grub.texi (Embedded configuration): New section (replacing
14702 old "Preset Menu" stub).
14703 (Images): New section.
14704 (configfile): Note that any menu entries defined in `file' are shown
14705 immediately.
14706
dec53e63
JT
147072010-06-28 Josh Triplett <josh@joshtriplett.org>
14708
14709 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14710
c06e40f7
CW
147112010-06-28 Colin Watson <cjwatson@ubuntu.com>
14712
14713 * util/grub-install.in: Add --debug-image= option.
14714
cb88052b
CW
147152010-06-28 Colin Watson <cjwatson@ubuntu.com>
14716
14717 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14718 possible on Linux.
14719
14720 * util/deviceiter.c (check_device): Rename to ...
14721 (check_device_readable_unique): ... this. Update all callers.
14722 Maintain and check a list of which devices (by canonicalized name)
14723 have already been seen.
14724 (clear_seen_devices): New function.
14725 (compare_file_names) [__linux__]: New function.
14726 (grub_util_iterate_devices): Clear the list of seen devices on exit
14727 and (just in case) on entry.
14728 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14729 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14730 seen-devices list, superseded by general code in check_device.
14731
bbe34652
CW
147322010-06-28 Colin Watson <cjwatson@ubuntu.com>
14733
14734 * commands/cat.c (options): New variable.
14735 (grub_cmd_cat): Parse options. If the --dos option is given, print
14736 DOS-style "\r\n" line endings as simple newlines (Debian bug
14737 #586358).
14738 (GRUB_MOD_INIT): Use extcmd.
14739 (GRUB_MOD_FINI): Likewise.
14740 * docs/grub.texi (cat): Document --dos.
14741
412e09f3
VS
147422010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 XEN with Linux grub-mkconfig support.
14745
14746 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14747 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14748 GRUB_CMDLINE_XEN_DEFAULT.
14749 * util/grub.d/20_linux_xen.in: New file.
14750
53f3ef38 147512010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
14752
14753 Initialise VGA video on qemu ourselves.
14754
14755 * boot/i386/qemu/boot.S: Don't call 0xc000.
14756 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14757 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14758 (kernel_img_HEADERS): Add pci.h.
14759 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14760 * configure.ac: Force unifont on qemu and yeeloong.
14761 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14762 (grub_vga_palette_write): Use correct register.
14763 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14764 Call grub_qemu_init_cirrus.
14765 * kern/i386/qemu/init.c: New file.
14766 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14767
14768 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14769
c75be4fb
PR
147702010-06-26 Pavel Roskin <proski@gnu.org>
14771
14772 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14773 13.
14774
d8034603
CW
147752010-06-26 Colin Watson <cjwatson@ubuntu.com>
14776
14777 * docs/grub.texi (Simple configuration): Explain that
14778 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14779 set to `true' to disable their respective recovery entries, not
14780 merely set.
14781
3fa06487
CW
147822010-06-26 Colin Watson <cjwatson@ubuntu.com>
14783
14784 Make the `source' command slightly faster.
14785
14786 * normal/main.c (grub_normal_execute): Don't re-read list files when
14787 nested.
14788
e9b29642
CW
147892010-06-23 Colin Watson <cjwatson@ubuntu.com>
14790
14791 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14792 field position and mask size to red fields from mode_info, not
14793 green.
14794 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14795 Remove redundant tag->common.framebuffer_type assignment.
14796 Reported by: Seth Goldberg.
14797
e726542f
CW
147982010-06-23 Colin Watson <cjwatson@ubuntu.com>
14799
14800 Sync up other versions of the Linux loader with Robert Millan's
14801 change of 2010-01-09, "Make loader output a bit more user-friendly".
14802
14803 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14804 grub_dprintf().
14805 (grub_cmd_linux): Likewise.
14806 (grub_cmd_initrd): Likewise.
14807 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14808 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14809
d6e98a17
CW
148102010-06-21 Colin Watson <cjwatson@ubuntu.com>
14811
14812 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14813 larger than MEMORY_MAP_SIZE.
14814
14d3f08e
BC
148152010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14816
14817 Fix parallel build.
14818
14819 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14820 dependency.
14821 * script/parser.y: #include grub_script.tab.h header.
14822
4f9613a3
VS
148232010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14824
14825 Support >3GiB and <16MiB RAM in i386-qemu.
14826
14827 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14828 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14829 (grub_lower_mem): Removed.
14830 (grub_upper_mem): Likewise.
14831 (mem_size): Made static.
14832 (above_4g): New variable.
14833 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14834 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14835 support.
14836
05e51879
VS
148372010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14838
14839 Cirrus 5446 and Bochs video cards support.
14840
14841 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14842 video_bochs.mod
14843 (video_cirrus_mod_SOURCES): New variable.
14844 (video_cirrus_mod_CFLAGS): Likewise.
14845 (video_cirrus_mod_LDFLAGS): Likewise.
14846 (video_bochs_mod_SOURCES): Likewise.
14847 (video_bochs_mod_CFLAGS): Likewise.
14848 (video_bochs_mod_LDFLAGS): Likewise.
14849 * include/grub/vga.h: New file.
14850 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14851 (grub_video_fb_set_page_t): New type.
14852 (grub_video_fb_setup): New prototype.
14853 (grub_video_fb_swap_buffers): Likewise.
14854 (grub_video_fb_get_info_and_fini): Likewise.
14855 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14856 (CRTC_DATA_PORT): Likewise.
14857 (CRTC_CURSOR): Likewise.
14858 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14859 (CRTC_CURSOR_ADDR_LOW): Likewise.
14860 (CRTC_CURSOR_DISABLE): Likewise.
14861 (update_cursor): Use grub_vga_cr_write.
14862 (grub_vga_text_setcursor): Likewise.
14863 * video/bochs.c: New file.
14864 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14865 (palette): Likewise.
14866 (palette_size): Likewise.
14867 (framebuffer): New variable.
14868 (grub_video_fb_init): Use 'framebuffer'.
14869 (grub_video_fb_fini): Likewise.
14870 (grub_video_fb_get_info): Likewise.
14871 (grub_video_fb_get_palette): Likewise.
14872 (grub_video_fb_set_palette): Likewise.
14873 (grub_video_fb_set_viewport): Likewise.
14874 (grub_video_fb_get_viewport): Likewise.
14875 (grub_video_fb_map_color): Likewise.
14876 (grub_video_fb_map_rgb): Likewise.
14877 (grub_video_fb_map_rgba): Likewise.
14878 (grub_video_fb_unmap_color): Likewise.
14879 (grub_video_fb_unmap_color_int): Likewise.
14880 (grub_video_fb_fill_rect): Likewise.
14881 (grub_video_fb_blit_bitmap): Likewise.
14882 (grub_video_fb_blit_render_target): Likewise.
14883 (grub_video_fb_scroll): Likewise.
14884 (grub_video_fb_create_render_target): Likewise.
14885 (grub_video_fb_doublebuf_blit_init): Likewise.
14886 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14887 (doublebuf_pageflipping_update_screen): New function.
14888 (doublebuf_pageflipping_init): Likewise.
14889 (grub_video_fb_setup): Likewise.
14890 (grub_video_fb_swap_buffers): Likewise.
14891 (grub_video_fb_get_info_and_fini): Likewise.
14892 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14893 All users updated.
14894 (doublebuf_pageflipping_commit): Restructured into ...
14895 (doublebuf_pageflipping_set_page): ... this.
14896 (doublebuf_pageflipping_update_screen): Removed.
14897 (doublebuf_pageflipping_init): Likewise.
14898 (double_buffering_init): Likewise.
14899 (grub_video_vbe_setup): Use grub_video_fb_setup.
14900 (grub_video_vbe_swap_buffers): Removed.
14901 (grub_video_vbe_set_active_render_target): Likewise.
14902 (grub_video_vbe_get_active_render_target): Likewise.
14903 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14904 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14905 grub_video_fb_set_active_render_target and
14906 grub_video_fb_get_active_render_target.
14907 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14908 (SEQUENCER_DATA_PORT): Likewise.
14909 (MAP_MASK_REGISTER): Likewise.
14910 (CRTC_ADDR_PORT): Likewise.
14911 (CRTC_DATA_PORT): Likewise.
14912 (START_ADDR_HIGH_REGISTER): Likewise.
14913 (START_ADDR_LOW_REGISTER): Likewise.
14914 (GRAPHICS_ADDR_PORT): Likewise.
14915 (GRAPHICS_DATA_PORT): Likewise.
14916 (READ_MAP_REGISTER): Likewise.
14917 (INPUT_STATUS1_REGISTER): Likewise.
14918 (INPUT_STATUS1_VERTR_BIT): Likewise.
14919 (get_map_mask): Use grub_vga_sr_read.
14920 (set_map_mask): Use grub_vga_sr_write.
14921 (set_read_map): Use grub_vga_gr_write.
14922 (set_start_address): Use grub_vga_cr_write.
14923 * video/sm712.c (framebuffer): Remove leftover fields.
14924
4321c64a
CW
149252010-06-20 Colin Watson <cjwatson@ubuntu.com>
14926
14927 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14928 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14929 instead. Replace the gfxterm backend check with a check that
14930 ${GRUB_PREFIX}/video.lst is non-empty.
14931 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14932 again.
14933 (load_video): New generated function. Call it before loading
14934 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14935 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14936 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14937 * docs/grub.texi (Simple configuration): Document
14938 GRUB_VIDEO_BACKEND.
14939
149402010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 Use video functions in linux and xnu loaders.
14943
14944 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14945 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14946 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14947 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14948 loader/i386/pc/linux.c.
14949 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14950 (find_line_len): Removed.
14951 (find_framebuf): Likewise.
14952 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14953 * loader/i386/efi/xnu.c: Removed.
14954 * loader/i386/pc/xnu.c: Moved from here...
14955 * loader/i386/xnu.c: ...here.
14956
14957 Enable priorities in video drivers.
14958
14959 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14960 (grub_video_adapter): New field prio.
14961 (grub_video_register): Respect prio when inserting.
14962 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14963 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14964 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14965 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14966 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14967 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14968 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14969
14970 Fix SDL driver ID.
14971
14972 * include/grub/video.h (grub_video_driver_id_t): New value
14973 GRUB_VIDEO_DRIVER_SDL.
14974 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14975
7d24e434
CW
149762010-06-17 Colin Watson <cjwatson@ubuntu.com>
14977
14978 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14979 argument to printf.
14980 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14981
c88a83f6
CW
149822010-06-17 Colin Watson <cjwatson@ubuntu.com>
14983
14984 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14985 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14986
094dfb69
CW
149872010-06-17 Colin Watson <cjwatson@ubuntu.com>
14988
14989 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
14990 directly, and recommend grub-install instead.
14991 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14992
2164da6b
CW
149932010-06-17 Colin Watson <cjwatson@ubuntu.com>
14994
14995 Fix i386-pc prefix handling with nested partitions (Debian bug
14996 #585068). Note that the case where the core image is booted using
14997 multiboot and relocated from its original location still requires
14998 more work.
14999
15000 * kern/i386/pc/init.c (make_install_device): If the prefix starts
15001 with "(,", fill the boot drive in between those two characters, but
15002 expect that a full partition specification including partition map
15003 names will follow.
15004 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
15005 specified, write a prefix without the drive name but including a
15006 full partition specification.
15007
044e2e60
CW
150082010-06-16 Colin Watson <cjwatson@ubuntu.com>
15009
15010 * util/grub-mkconfig.in: Ignore non-option arguments, for
15011 compatibility with older versions (before 2010-06-12) which did the
15012 same. In particular, this makes it easier to ship an update-grub
15013 wrapper which is compatible with that used with GRUB Legacy (Debian
15014 bug #586056).
15015
5591324f
GS
150162010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15017
15018 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
15019 for manual page generation.
15020
662e24d5
GS
150212010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15022
15023 * po/POTFILES: Remove leftover commands/handler.c.
15024
8d70754e
CW
150252010-06-14 Colin Watson <cjwatson@ubuntu.com>
15026
15027 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
15028 left this script non-functional.
15029
41160e2e
CW
150302010-06-14 Colin Watson <cjwatson@ubuntu.com>
15031
15032 * docs/man/grub-emu.h2m: New file.
15033
b5309cc1
CW
150342010-06-13 Colin Watson <cjwatson@ubuntu.com>
15035
15036 * docs/grub.texi (Commands): Document reduced command set in rescue
15037 mode.
15038 (cpuid): New section.
15039
fcb2d090
GS
150402010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
15041
15042 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
15043 new partition naming style.
15044 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
15045
96e5c556
BC
150462010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
15047
15048 Add "-o grub.iso" like cmdline options support.
15049
15050 * util/grub-install.in: Improve cmdline option parsing.
15051 * util/grub-mkconfig.in: Likewise.
15052 * util/grub-mkrescue.in: Likewise.
15053 * util/grub-reboot.in: Likewise.
15054 * util/grub-set-default.in: Likewise.
15055 * util/i386/efi/grub-install.in: Likewise.
15056 * util/ieee1275/grub-install.in: Likewise.
15057 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15058
c16be99b
CW
150592010-06-12 Colin Watson <cjwatson@ubuntu.com>
15060
15061 * .bzrignore: Ignore 41_custom.
15062
ce08a9fb
TS
150632010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15064
15065 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
15066
7beac90c
CW
150672010-06-12 Colin Watson <cjwatson@ubuntu.com>
15068
15069 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
15070 prototype declarations.
15071
15072 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
15073 generating fs, partmap, and video lists.
15074 * include/grub/fs.h (grub_fs_register): Omit prototype if
15075 GRUB_LST_GENERATOR is defined.
15076 * include/grub/partition.h (grub_partition_map_register): Likewise.
15077 * include/grub/video.h (grub_video_register): Likewise.
15078
1c8f0f8d
JM
150792010-06-12 Javier Martín <lordhabbit@gmail.com>
15080
15081 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
15082
a6085973
TS
150832010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15084
15085 * util/grub-mkrescue.in: Support --xorriso argument.
15086
25c56d29
VS
150872010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
15090 Suggested by: Thomas Schmitt.
15091
e03e4b24
VS
150922010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
15095 Suggested by: Thomas Schmitt.
15096
57711df6
VS
150972010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15098
15099 custom.cfg support.
15100
15101 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
15102 * util/grub.d/41_custom.in: New file.
15103
ee62c427
CW
151042010-06-12 Colin Watson <cjwatson@ubuntu.com>
15105
15106 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15107 been merged back into normal.
15108
283af07a
CW
151092010-06-11 Colin Watson <cjwatson@ubuntu.com>
15110
15111 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15112 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15113
56a0d956
CW
151142010-06-11 Colin Watson <cjwatson@ubuntu.com>
15115
15116 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15117 when generating manual pages.
15118 * docs/man/grub-bin2h.h2m: New file.
15119 * docs/man/grub-editenv.h2m: New file.
15120 * docs/man/grub-fstest.h2m: New file.
15121 * docs/man/grub-install.h2m: New file.
15122 * docs/man/grub-macho2img.h2m: New file.
15123 * docs/man/grub-mkconfig.h2m: New file.
15124 * docs/man/grub-mkdevicemap.h2m: New file.
15125 * docs/man/grub-mkfont.h2m: New file.
15126 * docs/man/grub-mkimage.h2m: New file.
15127 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15128 * docs/man/grub-mkrelpath.h2m: New file.
15129 * docs/man/grub-mkrescue.h2m: New file.
15130 * docs/man/grub-ofpathname.h2m: New file.
15131 * docs/man/grub-pe2elf.h2m: New file.
15132 * docs/man/grub-probe.h2m: New file.
15133 * docs/man/grub-reboot.h2m: New file.
15134 * docs/man/grub-script-check.h2m: New file.
15135 * docs/man/grub-set-default.h2m: New file.
15136 * docs/man/grub-setup.h2m: New file.
15137
3a37e322
VS
151382010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 Use FOR_* macros instead of *_iterate whenever possible.
15141
15142 * commands/handler.c: Removed.
15143 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15144 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15145 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15146 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15147 (grub_probe_SOURCES): Remove kern/parser.c.
15148 (util/grub-script-check.c_DEPENDENCIES): Removed.
15149 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15150 and grub_script_check_init.c.
15151 (grub_script_check_init.lst): Removed.
15152 (grub_script_check_init.h): Likewise.
15153 (grub_script_check_init.c): Likewise.
15154 (pkglib_MODULES): Remove handler.mod and sh.mod.
15155 (handler_mod_SOURCES): Removed.
15156 (handler_mod_CFLAGS): Likewise.
15157 (handler_mod_LDFLAGS): Likewise.
15158 (normal_mod_SOURCES): Remove normal/handler.c.
15159 Add script/main.c, script/script.c, script/execute.c,
15160 script/function.c, script/lexer.c, grub_script.tab.c
15161 and grub_script.yy.c.
15162 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15163 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15164 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15165 (grub_setup_SOURCES): Remove kern/parser.c.
15166 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15167 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15168 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15169 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15170 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15171 (grub_setup_SOURCES): Remove kern/parser.c.
15172 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15173 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15174 * include/grub/command.h (grub_command_iterate): Removed.
15175 (FOR_COMMANDS): New macro.
15176 * include/grub/dl.h (grub_dl): New member next.
15177 (grub_dl_iterate): Removed.
15178 (grub_dl_head): New variable declaration.
15179 (FOR_DL_MODULES): New macro.
15180 * include/grub/fs.h: Include list.h.
15181 (grub_fs): Make next first element.
15182 (grub_fs_list): New variable declaration.
15183 (grub_fs_register): Make inline.
15184 (grub_fs_unregister): Likewise.
15185 (grub_fs_iterate): Removed.
15186 (FOR_FILESYSTEMS): New macro.
15187 * include/grub/handler.h: Removed.
15188 * include/grub/list.h (grub_list_hook_t): Removed.
15189 (grub_list_test_t): Likewise.
15190 (grub_list_pop): Likewise.
15191 (grub_list_iterate): Likewise.
15192 (grub_list_insert): Likewise.
15193 (FOR_LIST_ELEMENTS): New macro.
15194 * include/grub/parser.h (grub_parser_class): Removed.
15195 (grub_parser_register): Likewise.
15196 (grub_parser_unregister): Likewise.
15197 (grub_parser_get_current): Likewise.
15198 (grub_parser_set_current): Likewise.
15199 (grub_register_rescue_parser): Likewise.
15200 (grub_rescue_parse_line): New function.
15201 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15202 * include/grub/script_sh.h (grub_script_function_list): New variable
15203 declaration.
15204 (FOR_SCRIPT_FUNCTIONS): New macro.
15205 (grub_script_function_iterate): Removed.
15206 (grub_normal_parse_line): New prototype.
15207 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15208 (FOR_DISABLED_TERM_INPUTS): Likewise.
15209 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15210 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15211 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15212 element.
15213 (grub_video_register): Inline.
15214 (grub_video_unregister): Likewise.
15215 (grub_video_adapter_list): New variable declaration.
15216 (grub_video_iterate): Removed.
15217 (FOR_VIDEO_ADAPTERS): New macro.
15218 * kern/dl.c (grub_dl_list): Removed. All users updated.
15219 (grub_dl_iterate): Removed.
15220 * kern/fs.c (grub_fs_list): Make global.
15221 (grub_fs_register): Removed.
15222 (grub_fs_unregister): Likewise.
15223 (grub_fs_iterate): Likewise.
15224 * kern/handler.c: Removed.
15225 * kern/list.c (grub_list_pop): Removed.
15226 (grub_list_iterate): Likewise.
15227 (grub_list_insert): Likewise.
15228 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15229 (grub_prio_list_insert): Don't use grub_list_insert.
15230 * kern/main.c (grub_register_rescue_parser): Don't call
15231 grub_register_rescue_parser.
15232 * kern/parser.c (grub_parser_class): Removed.
15233 (grub_parser_execute): Use grub_rescue_parse_line.
15234 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15235 (grub_rescue_parser): Removed.
15236 (grub_register_rescue_parser): Likewise.
15237 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15238 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15239 (grub_auth_check_authentication): Likewise.
15240 * normal/completion.c (iterate_command): Removed.
15241 (grub_normal_do_completion): Use FOR_COMMANDS.
15242 * normal/handler.c: Removed.
15243 * normal/main.c (read_config_file): Remove parser changing.
15244 (grub_normal_execute): Don't call read_handler_list.
15245 (grub_normal_read_line_real): Statically allocate prompt.
15246 (grub_cmdline_run): Use grub_normal_parse_line.
15247 (GRUB_MOD_FINI): Don't call free_handler_list.
15248 * normal/menu_entry.c (run): Likewise.
15249 * script/function.c (grub_script_function_list): Make global.
15250 (grub_script_function_iterate): Removed.
15251 * script/main.c (grub_normal_parse_line): Make global.
15252 (grub_sh_parser): Removed.
15253 (GRUB_MOD_INIT): Likewise.
15254 (GRUB_MOD_FINI): Likewise.
15255 * tests/lib/functional_test.c (grub_functional_test): Use
15256 FOR_LIST_ELEMENTS.
15257 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15258 (grub_test_run): Use FOR_LIST_ELEMENTS.
15259 * tests/lib/unit_test.c (main): Likewise.
15260 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15261 grub_list_pop.
15262 * util/grub-fstest.c (grub_term_input_class): Removed.
15263 (grub_term_output_class): Likewise.
15264 * util/grub-probe.c: Likewise.
15265 * util/i386/pc/grub-setup.c: Likewise.
15266 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15267 * util/grub-script-check.c (main): Don't call grub_init_all and
15268 grub_fini_all.
15269 * video/video.c (grub_video_adapter_list): Make global.
15270 (grub_video_register): Removed.
15271 (grub_video_unregister): Likewise.
15272 (grub_video_iterate): Likewise.
15273
6289c3a7
VS
152742010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15277 reported by Henrique Ferreiro.
15278
91460247
RM
152792010-06-09 Robert Millan <rmh@gnu.org>
15280
15281 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15282 ones, when both are available.
15283
0ea7c4f9
GS
152842010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15285
15286 Make --version uniform and avoid hard-coded program name.
15287
15288 * util/grub-mkimage.c (main): Use `program_name' instead of
15289 hard-coded string.
15290 * util/i386/pc/grub-setup.c (main): Likewise.
15291 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15292 * util/grub-install.in: Save the basename of $0 in $self, and use the
15293 latter in informational messages. Use the same format for --version
15294 as the binary programs.
15295 * util/grub-mkconfig.in: Likewise.
15296 * util/grub-mkrescue.in: Likewise.
15297 * util/grub-reboot.in: Likewise.
15298 * util/grub-set-default.in: Likewise.
15299 * util/i386/efi/grub-install.in: Likewise.
15300 * util/ieee1275/grub-install.in: Likewise.
15301 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15302
e8a6f3b6
GS
153032010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15304
15305 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15306 embedding area. Use <= instead of == when checking for non-emptiness.
15307
f4d095d7
GS
153082010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15309
15310 * configure.ac: Add `.' to the directories searched for unifont.
15311
50e532ca
CW
153122010-06-08 Colin Watson <cjwatson@ubuntu.com>
15313
15314 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15315 grub_script.yy.h.
15316
d39f3dec
CW
153172010-06-08 Colin Watson <cjwatson@ubuntu.com>
15318
15319 * docs/grub.texi (History): Expand to cover GRUB 2.
15320 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15321 commands, not `terminal'.
15322 (serial): Likewise.
15323 (terminal_input): New section.
15324 (terminal_output): New section.
15325 (uppermem): New section (stub).
15326 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15327
6ef0ddb4
CW
153282010-06-08 Colin Watson <cjwatson@ubuntu.com>
15329
15330 * docs/grub.texi (Security): Menu entries are unrestricted by
15331 default, not restricted to superusers as I had previously thought.
15332 Reword to account for this.
15333
e0f4c438
CW
153342010-06-07 Colin Watson <cjwatson@ubuntu.com>
15335
15336 * kern/emu/misc.c (device_mapper_null_log): New function.
15337 (grub_device_mapper_supported): New function.
15338 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15339 prototype.
15340 * kern/emu/hostdisk.c (find_partition_start): Check whether
15341 device-mapper is supported before trying to use it.
15342 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15343
da908200
CW
153442010-06-07 Colin Watson <cjwatson@ubuntu.com>
15345
15346 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15347 (File name syntax): Likewise.
15348 (help): --all is no longer supported in GRUB 2. Be more precise
15349 about pattern matching.
15350
fb55c3ac
CW
153512010-06-07 Colin Watson <cjwatson@ubuntu.com>
15352
15353 * normal/completion.c (grub_normal_do_completion): When completing
15354 arguments to "set" and the current word contains an equals sign,
15355 skip to after the equals sign before starting completion.
15356
258c2573
CW
153572010-06-07 Colin Watson <cjwatson@ubuntu.com>
15358
15359 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15360
ee75515e
CW
153612010-06-07 Colin Watson <cjwatson@ubuntu.com>
15362
15363 * docs/grub.texi (Network): New section.
15364 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15365 `(nd)' as in GRUB Legacy.
15366 (pxe_unload): New section.
15367
a6a700aa
CW
153682010-06-07 Colin Watson <cjwatson@ubuntu.com>
15369
15370 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15371 in the rescue shell, so recommend using `set' instead. Thanks,
15372 Jordan Uggla.
15373
4003dd38
CW
153742010-06-07 Colin Watson <cjwatson@ubuntu.com>
15375
15376 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15377 (password): New section.
15378 (password_pbkdf2): New section.
15379 (search): New section.
15380 (Security): New section.
15381 (Troubleshooting): New section, currently very incomplete.
15382 (Invoking grub-mkpasswd-pbkdf2): New section.
15383 (Internals): New section, currently very incomplete.
15384
e1cbcc40
CW
153852010-06-07 Colin Watson <cjwatson@ubuntu.com>
15386
15387 * util/grub.d/00_header.in: Add some more quoting (of
15388 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15389 work again.
15390 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15391
db8fa1ad
CW
153922010-06-07 Colin Watson <cjwatson@ubuntu.com>
15393
15394 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15395 to `count', fixing variable shadowing that broke the -c option.
15396
153972010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
15398
15399 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15400 in case they contain spaces.
15401
f28a9212
CW
154022010-06-04 Colin Watson <cjwatson@ubuntu.com>
15403
15404 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15405 "part_" to partmap module names, in line with grub-install.
15406 Reported by: Jindřich Makovička (Debian bug #584426).
15407
9cdfe32f
CW
154082010-06-04 Colin Watson <cjwatson@ubuntu.com>
15409
15410 * util/grub-mkimage.c: Make target-related error messages slightly
15411 more helpful; -O talks about "format". Explicitly point to the use
15412 of -O if no target is specified.
15413 Reported by: Didier Raboud (Debian bug #584415).
15414
795b593a
CW
154152010-06-03 Colin Watson <cjwatson@ubuntu.com>
15416
15417 * INSTALL: Document several build requirements for optional features
15418 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15419
9d9b5833
GS
154202010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15421
15422 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15423 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15424 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15425
0819fec8
CW
154262010-06-02 Colin Watson <cjwatson@ubuntu.com>
15427
15428 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15429 Thanks to Jordan Uggla for spotting this.
15430
49396b4f
VS
154312010-06-02 Aleš Nesrsta <starous@volny.cz>
15432
15433 Finally make USB usable.
15434
15435 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15436 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15437 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15438 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15439 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15440 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15441 (GRUB_OHCI_FSMPS): Likewise.
15442 (GRUB_OHCI_PERIODIC_START): Likewise.
15443 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15444 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15445 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15446 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15447 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15448 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15449 (grub_ohci_transaction): Likewise.
15450 (grub_ohci_transfer): Improve condition detection algorithms.
15451 Handle toggle property. Program the transactions correctly.
15452 Improve error handling. Various important fixups.
15453 (grub_ohci_portstatus): Put register writes in right order.
15454 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15455 (grub_uhci_transfer): Don't show "failed" message on success.
15456 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15457 array.
15458 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15459 determine its size.
15460 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15461 before initialization is completed. Use IN direction for empty
15462 transfers. Use last_trans and compute toggle.
15463 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15464 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15465 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15466 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15467 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15468 (grub_usb_device): Increase toggle to 256.
15469 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15470 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15471 GRUB_USBMS_SUBCLASS_SFF8070.
15472 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15473 (grub_scsi_inquiry): New member page and alloc_length.
15474 (grub_scsi_request_sense): New structure.
15475 (grub_scsi_request_sense_data): Likewise.
15476 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15477 control.
15478 * disk/scsi.c (grub_scsi_request_sense): New function.
15479 (grub_scsi_test_unit_ready): Likewise.
15480 (grub_scsi_inquiry): Fill new fields.
15481 (grub_scsi_read_capacity): Likewise.
15482 (grub_scsi_read10): Add request sense at the end.
15483 (grub_scsi_read12): Likewise.
15484 (grub_scsi_write10): Likewise.
15485 (grub_scsi_write12): Likewise.
15486 (grub_scsi_open): Add Test Unit Ready.
15487 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15488 Support additional subclasses. Con't clear halt yet. Activate the
15489 proper config. Calculate LUNs correctly.
15490 (grub_usbms_transfer): Various important fixups.
15491
154922010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15495 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15496 (grub_ohci_fini_hw): New function.
15497 (grub_ohci_restore_hw): Likewise.
15498 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15499 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15500 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15501
155022010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 Dedicated DMA allocations.
15505
15506 * bus/pci.c (grub_memalign_dma32): New function
15507 (grub_dma_free): Likewise.
15508 (grub_dma_get_virt): Likewise.
15509 (grub_dma_get_phys): Likewise.
15510 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15511 (grub_ohci_pci_iter): Use dma32_alloc.
15512 (grub_ohci_transfer): Likewise.
15513 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15514 (grub_usb_bulk_readwrite): Likewise.
15515 * include/grub/pci.h: Add declarations.
15516
155172010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 CS5536 support.
15520
15521 * bus/cs5536.c: New file.
15522 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15523 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15524 (cs5536_mod_SOURCES): New variable.
15525 (cs5536_mod_CFLAGS): Likewise.
15526 (cs5536_mod_LDFLAGS): Likewise.
15527 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15528 machine/pci.h.
15529 (kernel_img_SOURCES): Add bus/cs5536.c.
15530 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15531 usb_keyboard.mod.
15532 (usb_mod_SOURCES): New variable.
15533 (usb_mod_CFLAGS): New variable.
15534 (usb_mod_LDFLAGS): New variable.
15535 (usbtest_mod_SOURCES): New variable.
15536 (usbtest_mod_CFLAGS): New variable.
15537 (usbtest_mod_LDFLAGS): New variable.
15538 (ohci_mod_SOURCES): New variable.
15539 (ohci_mod_CFLAGS): New variable.
15540 (ohci_mod_LDFLAGS): New variable.
15541 (usbms_mod_SOURCES): New variable.
15542 (usbms_mod_CFLAGS): New variable.
15543 (usbms_mod_LDFLAGS): New variable.
15544 (usb_keyboard_mod_SOURCES): New variable.
15545 (usb_keyboard_mod_CFLAGS): New variable.
15546 (usb_keyboard_mod_LDFLAGS): New variable.
15547 * include/grub/smbus.h: New file.
15548 * include/grub/cs5536.h: New file.
15549
0b35b2a9
CW
155502010-06-02 Colin Watson <cjwatson@ubuntu.com>
15551
15552 * util/grub.d/00_header.in: Add safety check to make sure that
15553 ${locale_dir} exists before trying to probe it.
15554
ca0afd5b
CW
155552010-06-02 Colin Watson <cjwatson@ubuntu.com>
15556
15557 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15558 per the GNU Coding Standards; this is now too obscure to be worth
15559 documenting.
15560 (QNX): Likewise.
15561 (chainloader): Remove cross-reference to `SCO UnixWare'.
15562
1c41aa78
CW
155632010-06-02 Colin Watson <cjwatson@ubuntu.com>
15564
15565 * docs/grub.texi (Chain-loading): New section.
15566 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15567 adjusted for GRUB 2.
15568 (SCO UnixWare): Likewise.
15569 (QNX): Likewise.
15570 (chainloader): Add reference to `Block list syntax'.
15571 (drivemap): New section.
15572 (parttool): New section.
15573
bb8ea0f5
CW
155742010-06-02 Colin Watson <cjwatson@ubuntu.com>
15575
15576 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15577 the grub shell'.
15578 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15579 (Installing GRUB using grub-install): Remove reference to the grub
15580 shell; mention `grub-mkimage' and `grub-setup' instead.
15581 (Invoking grub-install): Likewise.
15582 (Interface): Add reference to `Menu entry editor'.
15583 (serial): Remove `--device' option.
15584
288dd6ed
CW
155852010-06-02 Colin Watson <cjwatson@ubuntu.com>
15586
15587 * docs/grub.texi (Configuration): New section, documenting
15588 configuration file generation using grub-mkconfig. I've left a slot
15589 for documenting the full shell scripting format but have not yet
15590 started on writing that up.
15591 (Invoking grub-mkconfig): New section.
15592
34c9f0e9
CW
155932010-06-02 Colin Watson <cjwatson@ubuntu.com>
15594
15595 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15596 (GNU GRUB manual): Likewise.
15597 (General commands): Update description of `terminfo' for GRUB 2.
15598
9121567e
CW
155992010-06-02 Colin Watson <cjwatson@ubuntu.com>
15600
15601 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15602 (GRUB_MOD_INIT): Fix capitalisation.
15603 * docs/grub.texi (Command-line and menu entry commands): Document
15604 gettext and gptsync commands.
15605
ab631611
CW
156062010-06-02 Colin Watson <cjwatson@ubuntu.com>
15607
15608 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15609 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15610
bde4a9ac
CW
156112010-06-01 Colin Watson <cjwatson@ubuntu.com>
15612
15613 Add btrfs probing support, currently only in the single-device case.
15614
15615 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15616 function.
15617 (grub_guess_root_device): Call find_root_device_from_mountinfo
15618 before looking in /dev.
15619
b1d17e10
VS
156202010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15623 GRUB_DISK_SIZE_UNKNOWN.
15624 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15625
dfbfe004
JS
156262010-05-31 Jiro SEKIBA <jir@unicus.jp>
15627
15628 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15629 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15630 corrupted or not synced properly.
15631
c2ffc8e9
VS
156322010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15635 Reported by: Seth Goldberg.
15636
56293166
VS
156372010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15640 addition of dest.
15641 Reported by: Seth Goldberg.
15642
7620e7de
VS
156432010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15646 Reported by: Seth Goldberg.
15647
c837af3f
VS
156482010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15651 64-bit address as signed on MIPS.
15652
c7c75cf4
CW
156532010-05-28 Colin Watson <cjwatson@ubuntu.com>
15654
15655 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15656 to the empty string.
15657
fa4b8490
BC
156582010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15659
15660 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15661
15662 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15663 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15664 * kern/misc.c (__enable_execute_stack): Disable on
15665 GRUB_MACHINE_EMU.
15666
a33075b9
CW
156672010-05-28 Colin Watson <cjwatson@ubuntu.com>
15668
15669 Make grub-probe work with symbolic links under /dev/mapper as well
15670 as with real block devices. The Linux world seems to be (at best)
15671 in transition here, and GRUB shouldn't get caught in the middle.
15672
15673 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15674 /dev/mapper.
15675
d8708134
CW
156762010-05-27 Colin Watson <cjwatson@ubuntu.com>
15677
15678 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15679 input files (in which case exit zero).
15680
db2102a0
CW
156812010-05-27 Colin Watson <cjwatson@ubuntu.com>
15682
15683 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15684 return NULL for various reasons even if it has a maximum-length
15685 buffer: for example, there might be a symlink loop, or the path
15686 might exceed PATH_MAX. If this happens, return NULL.
15687
5fdba519
RM
156882010-05-27 Robert Millan <rmh@gnu.org>
15689
15690 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15691 partmap module to handle cross-partmap setups.
15692 Reported by Orestes Mas. Gràcies!
15693
d1d368e4
CW
156942010-05-27 Colin Watson <cjwatson@ubuntu.com>
15695
15696 * util/grub-mkrescue.in: Initialise override_dir rather than
15697 assuming that it's unset or empty in the environment.
15698
95ac3c73
GS
156992010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15700
15701 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15702 variable index into p_index to suppress a warning with -Wshadow.
15703
7d8c0213
BC
157042010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15705
15706 * INSTALL: Added flex >= 2.5.35 requirement.
15707
db4d5813
VS
157082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15711
f24f4300
VS
157122010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 cmostest support.
15715
15716 * commands/i386/cmostest.c: New file.
15717 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15718 (cmostest_mod_SOURCES): New variable.
15719 (cmostest_mod_CFLAGS): Likewise.
15720 (cmostest_mod_LDFLAGS): Likewise.
15721 * conf/i386-pc.rmk: Likewise.
15722 * docs/grub.texi (Vendor power-on keys): New section.
15723 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15724 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15725 and GRUB_BUTTON_CMOS_ADDRESS.
15726 * util/grub.d/00_header.in: Handle powering-on by separate button.
15727
ad603f61
VS
157282010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15731 Removed drawing_scrollbar argument. All users updated
15732 Fixes #29792.
15733 Reported by Jo Shields
15734
3ecb080a
VS
157352010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15738 buffer since gfxterm handles double repaint.
15739
5f2316c1
VS
157402010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15743 * term/gfxterm.c (real_scroll): Likewise.
15744
9a25f885
VS
157452010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15748 before calling BIOS.
15749
39fbb79a
VS
157502010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 * include/grub/i18n.h: Always enable grub_gettext.
15753
228cfa97
VS
157542010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15757 partition naming style.
15758
21717c8f
CW
157592010-05-21 Colin Watson <cjwatson@ubuntu.com>
15760
15761 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15762 not the first option.
15763
c0f48e65
CW
157642010-05-20 Colin Watson <cjwatson@ubuntu.com>
15765
15766 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15767
96779aec
CW
157682010-05-20 Colin Watson <cjwatson@ubuntu.com>
15769
15770 * util/misc.c: Move inclusion of <limits.h> to ...
15771 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15772
fa9d256e
GS
157732010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15774
15775 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15776 Fix merge error in NetBSD code.
15777 (find_partition_start) [__NetBSD__]: Likewise.
15778
123b7a85
BC
157792010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15780
15781 Fix grub-mkrescue usage unit testing.
15782
15783 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15784
74276c0d
CF
157852010-05-18 Christian Franke <franke@computer.org>
15786
15787 * util/grub.d/10_windows.in: Use path names instead of
15788 drive letters to prevent warning from Cygwin 1.7.
15789 Add drivemap command to menuentry if needed.
15790
c4f7b523
ST
157912010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15792
15793 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15794 gnumach and gnumach.gz.
15795
95b97950
VS
157962010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * include/grub/i18n.h (gettext): Inline instead of using #define.
15799 (grub_gettext): Likewise.
15800 (_): Likewise.
15801
01b8d2d7
VS
158022010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15805 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15806 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15807 (main): Add a slash after pkglibdirroot.
15808
654e1d1e
VS
158092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * util/grub-install.in: Add missing "in" keyword.
15812
26966aeb
VS
158132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15816 Reported by: Seth Goldberg.
15817
75006747
VS
158182010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15821
74cbf5bd
CW
158222010-05-18 Colin Watson <cjwatson@ubuntu.com>
15823
15824 * configure.ac: Check for Linux device-mapper support.
15825
15826 * util/hostdisk.c (device_is_mapped): New function.
15827 (find_partition_start): New function, partly broken out from
15828 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15829 device-mapper support added.
15830 (linux_find_partition): Use find_partition_start.
15831 (convert_system_partition_to_system_disk): Add `st' argument.
15832 Support Linux /dev/mapper/* devices if device-mapper support is
15833 available; only DM-RAID devices are understood at present.
15834 (find_system_device): Add `st' argument. Pass it to
15835 convert_system_partition_to_system_disk.
15836 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15837 find_system_device and convert_system_partition_to_system_disk. Use
15838 find_partition_start.
15839
15840 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15841 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15842 * util/deviceiter.c [__linux__]: Define MINOR.
15843 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15844 * util/mkdevicemap.c (grub_putchar): New function.
15845 (grub_getkey): New function.
15846 (grub_refresh): New function.
15847 (main): Set debug=all if -v -v is used.
15848
355b51e9
CW
158492010-05-18 Colin Watson <cjwatson@ubuntu.com>
15850
15851 Fix build with non-GNU libcs.
15852
15853 * util/misc.c (canonicalize_file_name): Move to ...
15854 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15855 grub_make_system_path_relative_to_its_root.
15856
7fb5c25f
CW
158572010-05-18 Colin Watson <cjwatson@ubuntu.com>
15858
15859 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15860 we handle finding grub-mkimage. Default to finding grub-mkimage in
15861 ${bindir} with program_transform_name applied, and provide a
15862 --grub-mkimage option to override this.
15863
1d3293d6
VS
158642010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 Remove grub-mkisofs.
15867
15868 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15869 (grub_mkisofs_SOURCES): Removed.
15870 (grub_mkisofs_CFLAGS): Removed.
15871 * util/mkisofs/defaults.h: Removed.
15872 * util/mkisofs/eltorito.c: Likewise.
15873 * util/mkisofs/exclude.h: Likewise.
15874 * util/mkisofs/hash.c: Likewise.
15875 * util/mkisofs/include/: Likewise.
15876 * util/mkisofs/include/fctldefs.h: Likewise.
15877 * util/mkisofs/include/mconfig.h: Likewise.
15878 * util/mkisofs/include/prototyp.h: Likewise.
15879 * util/mkisofs/include/statdefs.h: Likewise.
15880 * util/mkisofs/iso9660.h: Likewise.
15881 * util/mkisofs/joliet.c: Likewise.
15882 * util/mkisofs/match.c: Likewise.
15883 * util/mkisofs/match.h: Likewise.
15884 * util/mkisofs/mkisofs.c: Likewise.
15885 * util/mkisofs/mkisofs.h: Likewise.
15886 * util/mkisofs/msdos_partition.h: Likewise.
15887 * util/mkisofs/multi.c: Likewise.
15888 * util/mkisofs/name.c: Likewise.
15889 * util/mkisofs/rock.c: Likewise.
15890 * util/mkisofs/tree.c: Likewise.
15891 * util/mkisofs/write.c: Likewise.
15892
5dde9afe
VS
158932010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 Unify grub-mkimage accross platforms.
15896
15897 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15898 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15899 (grub_mkelfimage_SOURCES): Removed.
15900 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15901 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15902 (bin_UTILITIES): Add grub-mkimage.
15903 (grub_mkimage_SOURCES): New variable.
15904 (kernel_img_HEADERS): Remove machine/kernel.h.
15905 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15906 (pkglib_PROGRAMS): Add kernel.img.
15907 (kernel_img_HEADERS): Add machine/kernel.h.
15908 (kernel_img_FORMAT): Removed.
15909 (bin_UTILITIES): Remove grub-mkimage.
15910 (grub_mkimage_SOURCES): Removed.
15911 (grub_mkimage_CFLAGS): Likewise.
15912 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15913 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15914 (pkglib_PROGRAMS): Add kernel.img.
15915 (bin_UTILITIES): Remove grub-mkimage.
15916 (grub_mkimage_SOURCES): Removed.
15917 (grub_mkimage_CFLAGS): Likewise.
15918 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15919 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15920 (pkglib_PROGRAMS): Add kernel.img.
15921 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15922 (pkglib_PROGRAMS): Add kernel.img.
15923 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15924 (grub_mkimage_SOURCES): Removed.
15925 (grub_mkimage_CFLAGS): Likewise.
15926 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15927 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15928 (pkglib_PROGRAMS): Add kernel.img.
15929 (bin_UTILITIES): Remove grub-mkimage.
15930 (grub_mkimage_SOURCES): Removed.
15931 (grub_mkimage_CFLAGS): Likewise.
15932 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15933 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15934 (grub_mkimage_SOURCES): Removed.
15935 (grub_mkimage_CFLAGS): Likewise.
15936 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15937 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15938 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15939 (grub_pe32_optional_header): ... this.
15940 (grub_pe64_optional_header): ... and this. All users updated.
15941 (GRUB_PE32_PE32_MAGIC): Split into ..
15942 (GRUB_PE32_PE32_MAGIC): .. this.
15943 (GRUB_PE32_PE64_MAGIC): .. and this.
15944 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15945 * include/grub/elf.h (PT_GNU_STACK): New definition.
15946 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15947 * include/grub/i386/efi/kernel.h: Likewise.
15948 * include/grub/i386/kernel.h: Likewise.
15949 * include/grub/i386/pc/kernel.h: Likewise.
15950 * include/grub/i386/qemu/boot.h: Likewise.
15951 * include/grub/mips/kernel.h: Likewise.
15952 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15953 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15954 * include/grub/powerpc/kernel.h: Likewise.
15955 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15956 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15957 * include/grub/sparc64/kernel.h: Likewise.
15958 * include/grub/x86_64/efi/kernel.h: Likewise.
15959 * include/grub/x86_64/kernel.h: Likewise.
15960 * include/grub/offsets.h: New file.
15961 * include/grub/kernel.h (grub_module_info): Split into ...
15962 (grub_module_info32): ... this.
15963 (grub_module_info64): ... and this.
15964 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15965 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15966 (grub_boot_blocklist): Moved from here ...
15967 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15968 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15969 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15970 * include/grub/types.h (grub_target_to_host16): Removed.
15971 (grub_target_to_host32): Likewise.
15972 (grub_target_to_host64): Likewise.
15973 (grub_host_to_target16): Likewise.
15974 (grub_host_to_target32): Likewise.
15975 (grub_host_to_target64): Likewise.
15976 (grub_host_to_target_addr): Likewise.
15977
15978 Support grub-mkrescue for efi, coreboot and qemu.
15979
15980 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15981 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15982 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15983 * util/grub-mkrawimage.c: Moved from here ...
15984 * util/grub-mkimage.c: ... here. All users updated.
15985 (ALIGN_ADDR): Use image_target.
15986 (TARGET_NO_FIELD): New const.
15987 (image_target_desc): New type.
15988 (image_targets): New array.
15989 (grub_target_to_host64): Use image_target.
15990 (grub_target_to_host32): Likewise.
15991 (grub_target_to_host16): Likewise.
15992 (grub_host_to_target64): Likewise.
15993 (grub_host_to_target32): Likewise.
15994 (grub_host_to_target16): Likewise.
15995 (grub_host_to_target_addr): Likewise.
15996 (generate_image): Handle multiimage.
15997 (main): Require -O parameter. All users updated.
15998 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
15999 util/efi/grub-mkimage.c
16000 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
16001 New option --rom-directory.
16002 Use xorriso.
16003 * util/i386/efi/grub-mkimage.c: Removed.
16004 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
16005 (grub_target_to_host32): Likewise.
16006 (grub_target_to_host64): Likewise.
16007 (grub_host_to_target16): Likewise.
16008 (grub_host_to_target32): Likewise.
16009 (grub_host_to_target64): Likewise.
16010 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
16011 (grub_target_to_host32): Likewise.
16012 (grub_target_to_host64): Likewise.
16013 (grub_host_to_target16): Likewise.
16014 (grub_host_to_target32): Likewise.
16015 (grub_host_to_target64): Likewise.
16016
f4fc97d0
BC
160172010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
16018
16019 Source tree is reorganized for emu build.
16020
16021 * include/grub/util/console.h: Move from here...
16022 * include/grub/emu/console.h: ...to here.
16023 * include/grub/util/getroot.h: Move from here...
16024 * include/grub/emu/getroot.h: ...to here.
16025 * include/grub/util/hostdisk.h: Move from here...
16026 * include/grub/emu/hostdisk.h: ...to here.
16027 * util/console.c: Move from here...
16028 * kern/emu/console.c: ...to here.
16029 * util/getroot.c: Move from here...
16030 * kern/emu/getroot.c: ...to here.
16031 * util/grub-emu.c: Move from here...
16032 * kern/emu/main.c: ...to here.
16033 * util/hostdisk.c: Move from here...
16034 * kern/emu/hostdisk.c: ...to here.
16035 * util/hostfs.c: Move from here...
16036 * kern/emu/hostfs.c: ...to here.
16037 * util/mm.c: Move from here...
16038 * kern/emu/mm.c: ...to here.
16039 * util/pci.c: Move from here...
16040 * bus/emu/pci.c: ...to here.
16041 * util/sdl.c: Move from here...
16042 * video/emu/sdl.c: ...to here.
16043 * util/time.c: Move from here...
16044 * kern/emu/time.c: ...to here.
16045 * util/usb.c: Move from here...
16046 * bus/usb/emu/usb.c: ...to here.
16047
16048 * include/grub/emu/misc.h: New header for grub-emu functions.
16049 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
16050
16051 * conf/any-emu.rmk: Rule updates for above renames.
16052 * conf/common.rmk: Likewise.
16053 * conf/i386-pc.rmk: Likewise.
16054 * conf/i386-qemu.rmk: Likewise.
16055 * conf/mips.rmk: Likewise.
16056 * conf/sparc64-ieee1275.rmk: Likewise.
16057 * conf/x86-efi.rmk: Likewise.
16058
16059 * disk/lvm.h: #include updates for above renames.
16060 * util/grub-mkrelpath.c: Likewise.
16061 * util/grub-probe.c: Likewise.
16062 * util/i386/pc/grub-setup.c: Likewise.
16063 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16064 * kern/emu/console.c: Likewise.
16065 * kern/emu/getroot.c: Likewise.
16066 * kern/emu/hostdisk.c: Likewise.
16067 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
16068
16069 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
16070 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
16071 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
16072 * util/misc.c: Remove grub-emu functions.
16073
cced9145
VS
160742010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 Fix gfxmenu crash.
16077 Reported by: Thorsten Grützmacher.
16078
16079 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
16080 timeout hook.
16081 (circprog_set_property): Register and unregister timeout hook.
16082 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
16083 (label_destroy): Free template. and unregister hook.
16084 (label_set_state): New function.
16085 (label_set_property): Handle templates and hooks.
16086 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
16087 timeout hook.
16088 (progress_bar_set_property): Register and unregister timeout hook.
16089 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
16090 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
16091 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
16092 (update_timeout_visit): Removed.
16093 (update_timeouts): New function.
16094 (redraw_timeouts): Likewise.
16095 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
16096 (grub_gfxmenu_clear_timeout): Likewise.
16097 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
16098 (grub_gfxmenu_timeout_notify): Likewise.
16099 (grub_gfxmenu_timeout_notifications): New external variable.
16100 (grub_gfxmenu_timeout_register): New function.
16101 (grub_gfxmenu_timeout_unregister): Likewise.
16102
c6e5caab
VS
161032010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 Transform (broken) vga terminal into (working) vga video driver.
16106
16107 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16108 video/i386/pc/vga.c.
16109 * include/grub/video.h (grub_video_driver_id):
16110 Add GRUB_VIDEO_DRIVER_VGA.
16111 * term/i386/pc/vga.c: Renamed to ...
16112 * video/i386/pc/vga.c: ...this
16113 (DEBUG_VGA): Removed.
16114 (CHAR_WIDTH): Likewise.
16115 (CHAR_HEIGHT): Likewise.
16116 (TEXT_WIDTH): Likewise.
16117 (TEXT_HEIGHT): Likewise.
16118 (DEFAULT_FG_COLOR): Likewise.
16119 (DEFAULT_BG_COLOR): Likewise.
16120 (colored_char): Likewise.
16121 (xpos): Likewise.
16122 (ypos): Likewise.
16123 (cursor_state): Likewise.
16124 (fg_color): Likewise.
16125 (bg_color): Likewise.
16126 (text_buf): Likewise.
16127 (page): Likewise.
16128 (font): Likewise.
16129 (framebuffer): New variable.
16130 (set_read_map): Disabled.
16131 (setup): New variable.
16132 (is_target): Likewise.
16133 (grub_vga_mod_init): Likewise.
16134 (grub_vga_mod_fini): Likewise.
16135 (check_vga_mem): Likewise.
16136 (write_char): Likewise.
16137 (write_cursor): Likewise.
16138 (scroll_up): Likewise.
16139 (grub_vga_putchar): Likewise.
16140 (grub_vga_getcharwidth): Likewise.
16141 (grub_vga_getwh): Likewise.
16142 (grub_vga_getxy): Likewise.
16143 (grub_vga_gotoxy): Likewise.
16144 (grub_vga_cls): Likewise.
16145 (grub_vga_setcolorstate): Likewise.
16146 (grub_vga_setcursor): Likewise.
16147 (grub_video_vga_init): New function.
16148 (grub_video_vga_setup): Likewise.
16149 (grub_video_vga_fini): Likewise.
16150 (update_target): Likewise.
16151 (grub_video_vga_blit_bitmap): Likewise.
16152 (grub_video_vga_blit_render_target): Likewise.
16153 (grub_video_vga_set_active_render_target): Likewise.
16154 (grub_video_vga_get_active_render_target): Likewise.
16155 (grub_video_vga_swap_buffers): Likewise.
16156 (grub_video_vga_set_palette): Likewise.
16157 (grub_video_vga_get_info_and_fini): Likewise.
16158 (grub_vga_term): Removed.
16159 (grub_video_vga_adapter): New variable.
16160 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16161 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16162
2bf61a98
VS
161632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * video/readers/jpeg.c: Indented.
16166
09ddcd11
VS
161672010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 Various jpeg cleanups.
16170
16171 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16172 (grub_jpeg_decode_quan_table): Use sizeof.
16173 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16174
e5507505
PH
161752010-05-05 Peter Hurley <No e-mail available> (tiny change)
16176
16177 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16178 tables. Ignore non-last ac bit.
16179 (grub_jpeg_decode_quan_table): Likewise.
16180
7e720a9b
VS
161812010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16184 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16185 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16186 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16187 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16188 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16189
a7fc080b
VS
161902010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16191
16192 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16193 error.
16194
2bf6012d
VS
161952010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16196
16197 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16198
265d68cd
VS
161992010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16200
16201 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16202 condition.
16203
162042010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
16205
16206 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16207 part.
16208
265d68cd 162092010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
16210
16211 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16212 pointers.
16213
265d68cd 162142010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
16215
16216 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16217
d1b61374
CF
162182010-05-01 Christian Franke <franke@computer.org>
16219
16220 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16221 Remove broken Cygwin path conversion.
16222 * util/misc.c: [__CYGWIN__] Add include and define.
16223 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16224 for Cygwin 1.7.
16225 (make_system_path_relative_to_its_root): Simplify loop, replace early
16226 return by break.
16227 [__CYGWIN__] Add conversion to win32 path.
16228 Include "/" case in trailing slash removal.
16229
3558c6e9
VS
162302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16231
16232 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16233 Reported by: Seth Goldberg
16234
f5f3ff93
VS
162352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16236
16237 * commands/help.c (grub_cmd_help): Fix a typo.
16238 Reported by: Seth Goldberg
16239
d8b5cd40
VS
162402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16241
16242 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16243 name and add N_.
16244 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16245 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16246 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16247 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16248 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16249 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16250 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16251 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16252 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16253 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16254 * normal/context.c (GRUB_MOD_INIT): Likewise.
16255 * normal/main.c (GRUB_MOD_INIT): Likewise.
16256 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16257 * term/serial.c (GRUB_MOD_INIT): Likewise.
16258 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16259
88c14915
VS
162602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16263 extra == 0.
16264
165134bc
VS
162652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 * commands/iorw.c: New file.
16268 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16269 (iorw_mod_SOURCES): New variable.
16270 (iorw_mod_CFLAGS): Likewise.
16271 (iorw_mod_LDFLAGS): Likewise.
16272
c5ac9b32
VS
162732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16274
16275 Hotkey support
16276
16277 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16278 * normal/main.c (hotkey_aliases): New variable.
16279 (grub_normal_add_menu_entry): Parse "--hotkey".
16280 * normal/menu_text.c (run_menu): Handle hotkeys.
16281
ce60689c
VS
162822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 * kern/i386/coreboot/init.c (grub_machine_init): Call
16285 grub_machine_mmap_init on qemu.
16286
0359d006
VS
162872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 * boot/i386/qemu/boot.S: Add a missing .code16.
16290
7819a456
VS
162912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Use LBIO on coreboot.
16294
16295 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16296 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16297 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16298 New declaration.
16299 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16300 grub_machine_mmap_init on coreboot.
16301 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16302 GRUB_LINUXBIOS_MEMBER_LINK.
16303 (grub_machine_mmap_iterate): Fix declaration.
16304 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16305
7210dca9
VS
163062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 Split coreboot and multiboot ports.
16309
16310 * conf/i386-multiboot.rmk: New file.
16311 * configure.ac: Add multiboot port.
16312 * include/grub/i386/multiboot/boot.h: New file.
16313 * include/grub/i386/multiboot/console.h: Likewise.
16314 * include/grub/i386/multiboot/init.h: Likewise.
16315 * include/grub/i386/multiboot/kernel.h: Likewise.
16316 * include/grub/i386/multiboot/loader.h: Likewise.
16317 * include/grub/i386/multiboot/memory.h: Likewise.
16318 * include/grub/i386/multiboot/serial.h: Likewise.
16319 * include/grub/i386/multiboot/time.h: Likewise.
16320 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16321 * loader/multiboot.c: Likewise.
16322 * loader/multiboot_mbi2.c: Likewise.
16323 * util/grub-mkrescue.in: Generate multiboot rescue.
16324
6f8aaf68
VS
163252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16326
3080f7a7
VS
16327 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16328
163292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
16332
16333 * commands/terminal.c (abstract_terminal): New struct.
16334 (handle_command): New function. Based on grub_cmd_terminal_input.
16335 (grub_cmd_terminal_input): Use handle_command.
16336 (grub_cmd_terminal_output): Use handle_command.
16337
a8ebb841
BC
163382010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16339
16340 Fix comment handling.
16341
16342 * tests/grub_script_comments.in: New testcase.
16343 * conf/tests.rmk: Rules for new testcase.
16344 * script/yylex.l: Updated flex rules.
16345
bb06ba08
ST
163462010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16347
16348 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
16349 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16350 if argc is 1.
bb06ba08 16351
cc9d2425
VS
163522010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16355 autogen issues.
16356
460d8402
CF
163572010-04-26 Christian Franke <franke@computer.org>
16358
16359 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16360 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16361 (grub_get_prefix): Remove function.
16362 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16363 make_system_path_relative_to_its_root ().
16364 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16365
553c01f9
CF
163662010-04-24 Christian Franke <franke@computer.org>
16367
16368 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16369 (kernel_img_LDFLAGS): Remove -static-libgcc.
16370
2aec1692
CF
163712010-04-24 Christian Franke <franke@computer.org>
16372
16373 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16374 and CHECK_END_SYMBOL if grub-emu is built.
16375 Unset TARGET_OBJ2ELF if grub-emu is built
16376 without module support.
16377
f67dc308
JS
163782010-04-24 Jiro SEKIBA <jir@unicus.jp>
16379
16380 Nilfs2 support.
16381
16382 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16383 (grub_fstest_SOURCES): Likewise.
16384 (pkglib_MODULES): Add nilfs2.mod.
16385 (nilfs2_mod_SOURCES): New variable.
16386 (nilfs2_mod_CFLAGS): Likewise.
16387 (nilfs2_mod_LDFLAGS): Likewise.
16388 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16389 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16390 * fs/nilfs2.c: New file.
16391
4ba8d354
VS
163922010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16395 is not supported.
16396
0d2c20c6
GS
163972010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16398
16399 Add grub-mkconfig support for NetBSD.
16400
16401 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16402 * util/grub-mkconfig.in: export new NetBSD specific variables.
16403 * po/POTFILES-shell: added 10_netbsd.in.
16404 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16405
bc4a2d83
BC
164062010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16407
16408 Fix emu build with grub-emu-pci and grub-emu-modules.
16409
16410 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16411 functions.
16412 * include/grub/libpciaccess.h: New file.
16413 * conf/any-emu.rmk: Update kernel headers for emu build.
16414
f48c87aa
VS
164152010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16416
16417 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16418
18959385
VS
164192010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16420
16421 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16422
0037de3f
VS
164232010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16426 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16427 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16428 util/ieee1275/ofpath.c.
16429 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16430 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16431 * include/grub/sparc64/ieee1275/boot.h
16432 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16433 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16434 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16435 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16436 const char *.
16437 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16438 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16439 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16440 install.
16441
38e55e90
GS
164422010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16443
16444 * util/grub-mkconfig.in: Corrected two == equality tests.
16445 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16446 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16447 expect a number appended to it.
16448 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16449 expects a number appended to it.
16450
a9e6ff28
VS
164512010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16454
0b830b8f
VS
164552010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16456
16457 * util/hostdisk.c (make_device_name): Change to new partition naming.
16458
0973daeb
VS
164592010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16462
460d8402 164632010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
16464
16465 * Makefile.in: Add missing localedir setting.
16466
0b456309
CW
164672010-04-14 Colin Watson <cjwatson@ubuntu.com>
16468
16469 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16470 mistake in r2156. Noticed by Anthony Fok.
16471
16472 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16473 @localedir@.
16474 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16475
08f46d62
BC
164762010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16477
16478 Fix a spurious, uninitialized variable warning.
16479
16480 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16481 Initialize variable, shdr.
16482 (grub_freebsd_load_elfmodule): Likewise.
16483 (grub_freebsd_load_elf_meta): Likewise.
16484
8c4a72d4
BC
164852010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16486
16487 Fix for escaped dollar in double quoted strings.
16488
16489 * script/yylex.l: Updated flex rules.
16490 * conf/tests.rmk: Rule for new testcase.
16491 * tests/grub_script_dollar.in: New testcase.
16492
ce44826e
CPE
164932010-04-13 Carles Pina i Estany <carles@pina.cat>
164942010-04-13 Colin Watson <cjwatson@ubuntu.com>
16495
16496 Enclose all translated strings in grub.cfg in single quotes, and
16497 escape them appropriately (Ubuntu bug #552921).
16498
16499 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16500 * util/grub.d/10_hurd.in: Use it.
16501 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16502 * util/grub.d/10_linux.in (linux_entry): Likewise.
16503
4b0cd8f8
VS
165042010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 Fix cygwin compilation.
16507
16508 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16509 * include/grub/misc.h (__register_frame_info)
16510 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16511 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16512 * kern/misc.c (__register_frame_info)
16513 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16514 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16515
01fcf061
VS
165162010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16519
5d04b11e
VS
165202010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 Unify libgcc processing.
16523
16524 * Makefile.in (kernel_img_LDFLAGS): New variable.
16525 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16526 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16527 overwriting.
16528 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16529 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16530 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16531 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16532 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16533 overwriting. Remove -lgcc and -static-libgcc
16534 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16535 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16536 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16537 (kernel_img_LDFLAGS): Append instead of overwriting.
16538 Remove -lgcc and -static-libgcc
16539 * conf/sparc64-ieee1275.rmk: Likewise.
16540 * include/grub/powerpc/libgcc.h: Move to ...
16541 * include/grub/libgcc.h: .. this.
16542 * include/grub/libgcc.h: Don't export most of the function on x86.
16543 (__bswapsi2): New export.
16544 (__bswapdi2): Likewise.
16545 * include/grub/mips/libgcc.h: Removed.
16546 * include/grub/sparc64/libgcc.h: Likewise.
16547
b7f3ac29
VS
165482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16551 disk_info_msg (conflicts with gettexting into languages with cases).
16552
2c7031b1
GS
165532010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16554
16555 Add grub-probe support for NetBSD.
16556
16557 * util/getroot.c (find_root_device): Convert block device to
16558 character device on NetBSD.
16559 * util/probe.c (probe): Require character device on NetBSD.
16560 * util/hostdisk.c: NetBSD specific headers.
16561 (configure_device_driver): new function to tune device driver
16562 parameters (currently only for NetBSD floppy driver).
16563 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16564 via disklabel ioctl).
16565 (open_device): call configure_device_driver on NetBSD.
16566 (convert_system_partition_to_system_disk): NetBSD specific code.
16567 (device_is_wholedisk): Likewise.
16568 (grub_util_biosdisk_get_grub_dev): Likewise.
16569 (make_device_name): Fixed a typo in bsd_part_str.
16570 * configure.ac: check for opendisk() and getrawpartition() on
16571 NetBSD and set LIBUTIL.
16572 * Makefile.in: add LIBUTIL to LIBS.
16573
f516290c
BC
165742010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16575
16576 Documentation fix.
16577
16578 * util/grub-script-check.c: Better help message.
16579
d8dcc0df
BC
165802010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16581
16582 Fix FreeBSD build.
16583
16584 * configure.ac: Flex version check.
16585 * conf/common.rmk: Add -Wno-error to sh.mod.
16586 * script/yylex.l: Remove all #pragma.
16587
6734334a
VS
165882010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16591 prototype.
16592 Reported by: Seth Goldberg.
16593
daea6abd
VS
165942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16595
16596 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16597 Rename "module" to "module2".
16598 Reported by: Seth Goldberg.
16599
f2fd9d2b
VS
166002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16603 EXPORT_FUNC.
16604 Reported by: Seth Goldberg.
16605
be124579
VS
166062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * lib/posix_wrap/locale.h: Add missing file.
16609 Reported by: Seth Goldberg.
16610
ef5da797
VS
166112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 grub-emu module load support.
16614
16615 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16616 NO_DYNAMIC_MODULES switched to this.
16617 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16618 (CFLAGS): Likewise.
16619 * conf/any-emu.rmk: Generate symlist.
16620 (kernel_img_HEADERS): Add util/datetime.h.
16621 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16622 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16623 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16624 kern/$(target_cpu)/cache.S.
16625 * configure.ac (grub-emu-modules): New option.
16626 * genmk.rb: Handle multiple source lists.
16627 * include/grub/sdl.h: New file.
16628 * include/grub/libusb.h: Likewise.
16629 * util/grub-emu.c (main): Hanle (host) root.
16630 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16631 GRUB_ERR_UNKNOWN_DEVICE.
16632 * util/misc.c: Move mm functions to ...
16633 * util/mm.c: ... here. All users updated.
16634
47822096
VS
166352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16638 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16639 missing files.
16640 (maintainer-clean): Remove libgcrypt-grub.
16641
5d7e7445
VS
166422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16643
16644 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16645
25f4e252
EC
166462010-04-09 EFI Coder <eficoder@hotmail.com>
16647
16648 * normal/menu_text.c (print_message): Clean up the message and show
16649 the Fn information when on EFI
16650 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16651
027de555
VS
166522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16655 All users updated.
16656 * normal/crypto.c (read_crypto_list): Likewise.
16657 * normal/dyncmd.c (read_command_list): Likewise.
16658 * normal/term.c (read_terminal_list): Likewise.
16659 * normal/main.c (read_lists): Use explicit prefix.
16660 (read_lists_hook): Use read_lists.
16661 (grub_normal_execute): Likewise.
16662
47779711
VS
166632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16666 Reported by: Thomas Schmitt.
16667 Add -no-emul-boot to grub-mkisofs parameters.
16668
1118c32e
VS
166692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 * font/font.c: Indented.
16672
7d652447
BC
166732010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16674
16675 Elif support to GRUB script (by Deepak Vankadaru).
16676
16677 * tests/grub_script_if.in: New testcase.
16678 * conf/tests.rmk: Rule for new testcase.
16679 * script/parser.y: Grammar rules for elif.
16680
34bb22df
BC
166812010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16682
16683 While and until loops support to GRUB script.
16684
16685 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16686 (grub_script_create_cmdwhile): New function prototype.
16687 (grub_script_execute_cmdwhile): New function prototype.
16688 * script/execute.c (grub_script_execute_cmdwhile): New function.
16689 * script/parser.y (command): New commands.
16690 (whilecmd): New grammar rule.
16691 (untilcmd): New grammar rule.
16692 * script/script.c (grub_script_create_cmdwhile): New function.
16693 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16694 function.
16695
16696 * tests/grub_script_while1.in: New testcase.
16697 * conf/tests.rmk: Rule for new testcase.
16698
e215d8e0
VS
166992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16702 as *.jpg.
16703
d7c43ba1
MV
167042010-04-09 Mario Vazquez <mariovazq@gmail.com>
16705
16706 GRUB_BACKGROUND support.
16707
16708 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16709 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16710
d64795c0
VS
167112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16712
16713 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 16714 Idea by: Mario Vazquez
d64795c0
VS
16715
16716 * util/grub.d/00_header.in: Load pf2 and image modules.
16717
f267f83a
VS
167182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 grub-mkconfig multiple terminal support.
16721
16722 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16723 * util/grub.d/00_header.in: Likewise.
16724
b7841ceb
VS
167252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16728 we use cd $(srcdir).
16729
df60998c
CW
167302010-04-08 Colin Watson <cjwatson@ubuntu.com>
16731
16732 * util/grub.d/10_linux.in: Only use the first word of
16733 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16734 spaces in GRUB_DISTRIBUTOR.
16735 * util/grub.d/10_kfreebsd.in: Likewise.
16736 * util/grub.d/10_hurd.in: Likewise.
16737
fa09c82e
BC
167382010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16739
14e18ae3 16740 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
16741
16742 * tests/util/grub-shell.in: Remove -serial stdio option.
16743
daf892b3
BC
167442010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 POSIX header file wrappers.
16747
16748 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16749 equivalents.
16750 * lib/posix_wrap/ctype.h: Likewise.
16751 * lib/posix_wrap/errno.h: Likewise.
16752 * lib/posix_wrap/langinfo.h: Likewise.
16753 * lib/posix_wrap/limits.h: Likewise.
16754 * lib/posix_wrap/localcharset.h: Likewise.
16755 * lib/posix_wrap/stdint.h: Likewise.
16756 * lib/posix_wrap/stdio.h: Likewise.
16757 * lib/posix_wrap/stdlib.h: Likewise.
16758 * lib/posix_wrap/string.h: Likewise.
16759 * lib/posix_wrap/sys/types.h: Likewise.
16760 * lib/posix_wrap/unistd.h: Likewise.
16761 * lib/posix_wrap/wchar.h: Likewise.
16762 * lib/posix_wrap/wctype.h: Likewise.
16763 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16764 (grub_script.yy.h): Likewise.
16765 * script/yylex.l: Remove POSIX emulation #defines.
16766 * Makefile.in (POSIX_CFLAGS): New variable.
16767 (GNULIB_UTIL_CFLAGS): Likewise.
16768
16769 Regexp support.
16770
16771 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16772 (regexp_mod_SOURCES): New variable.
16773 (regexp_mod_CFLAGS): Likewise.
16774 (regexp_mod_LDFLAGS): Likewise.
16775 * commands/regexp.c: New file.
16776 * gnulib/regcomp.c: New file. Imported from gnulib.
16777 * gnulib/regex.c: Likewise.
16778 * gnulib/regex_internal.c: Likewise.
16779 * gnulib/regex_internal.h: Likewise.
16780 * gnulib/regexec.c: Likewise.
16781 * gnulib/regex.h: Likewise.
16782
974ac4f7
VS
167832010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16786 unsupported video mode types.
16787
2622c3ff
VS
167882010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16791
064cb524
VS
167922010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16795 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16796
a8c3b552
VS
167972010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 Remove unused grub_vga_get_font.
16800
16801 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16802 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16803
187bbe3d
GS
168042010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16805
16806 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16807 * include/grub/misc.h: Likewise.
16808
b9396631
GS
168092010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16810
16811 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16812 for which failure is fatal.
16813
50479feb
GS
168142010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16815
16816 * util/grub-install.in: Use mkdir -p to create grub directory.
16817 * util/i386/efi/grub-install.in: Likewise.
16818 * util/ieee1275/grub-install.in: Likewise.
16819
b1654fdf
GS
168202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16821
16822 * Makefile.in (LEX): new variable.
16823
bd5a6415
GS
168242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16825
16826 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16827 `=' and added double quotes on operands of this equality test.
16828
3db3a82b
VS
168292010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 * Makefile.in (uninstall): Remove a leftover debug echo.
16832 Reported by: Grégoire Sutre
16833
38023412
VS
168342010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 MIPS multiboot2 support.
16837
16838 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16839 (multiboot2_mod_SOURCES): New variable.
16840 (multiboot2_mod_CFLAGS): Likewise.
16841 (multiboot2_mod_LDFLAGS): Likewise.
16842 (multiboot2_mod_ASFLAGS): Likewise.
16843 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16844 definition.
16845 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16846 (MULTIBOOT_MBI_REGISTER): Likewise.
16847 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16848 (MULTIBOOT_ELF32_MACHINE): Likewise.
16849 (MULTIBOOT_ELF64_MACHINE): Likewise.
16850 * include/grub/mips/multiboot.h: New file.
16851 * include/grub/video.h (grub_video_driver_id): New type
16852 GRUB_VIDEO_DRIVER_SM712.
16853 (grub_video_get_info_and_fini): Export.
16854 (grub_video_get_palette): Likewise.
16855 (grub_video_get_driver_id): Likewise.
16856 * include/multiboot2.h: Resynced with spec.
16857 * loader/i386/multiboot.c: Moved from here ...
16858 * loader/multiboot.c: ... here. All users updated.
16859 (grub_multiboot_boot): Use platform-specific macros.
16860 * loader/i386/multiboot_elfxx.c: Moved from here ...
16861 * loader/multiboot_elfxx.c: ... here. All users updated.
16862 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16863 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16864 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16865
47674667
VS
168662010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16867
16868 Import gnulib argp module.
16869
16870 * gnulib/argp-ba.c: New file.
16871 * gnulib/argp-eexst.c: Likewise.
16872 * gnulib/argp-fmtstream.c: Likewise.
16873 * gnulib/argp-fmtstream.h: Likewise.
16874 * gnulib/argp-fs-xinl.c: Likewise.
16875 * gnulib/argp-help.c: Likewise.
16876 * gnulib/argp-namefrob.h: Likewise.
16877 * gnulib/argp-parse.c: Likewise.
16878 * gnulib/argp-pin.c: Likewise.
16879 * gnulib/argp-pv.c: Likewise.
16880 * gnulib/argp-pvh.c: Likewise.
16881 * gnulib/argp-version-etc.c: Likewise.
16882 * gnulib/argp-version-etc.h: Likewise.
16883 * gnulib/argp-xinl.c: Likewise.
16884 * gnulib/argp.h: Likewise.
16885
495442ed
VS
168862010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * kern/device.c (grub_device_iterate): Clear errors after failed
16889 opening device.
16890
f9fd65df
VS
168912010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16894 returned by firmware.
16895
af09641e
VS
168962010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16899 compilation on coreboot and qemu
16900
016883a5
VS
169012010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16902
16903 * include/multiboot2.h: Resync with spec.
16904
f97e1f7d
VS
169052010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 Multiboot2 tag support
16908
16909 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16910 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16911 Remove loader/multiboot_loader.c.
16912 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16913 (grub_multiboot2_real_boot): Likewise.
16914 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16915 (grub_get_multiboot_mmap_count): New proto.
16916 (grub_fill_multiboot_mmap): Likewise.
16917 (grub_multiboot_set_video_mode): Likewise.
16918 (grub_multiboot_set_console): Likewise.
16919 (grub_multiboot_load): Likewise.
16920 (grub_multiboot_load_elf): Likewise.
16921 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16922 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16923 * include/multiboot.h: Resynced with specification.
16924 * include/multiboot2.h: Resynced with specification.
16925 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16926 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16927 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16928 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16929 users updated.
16930 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16931 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16932 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16933 Removed.
16934 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16935 Moved from here...
16936 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16937 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16938 Moved from here...
16939 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16940 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16941 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16942 All users updated.
16943 * loader/i386/multiboot_mbi2.c: New file.
16944
3506b90b
VS
169452010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16946
16947 Resync with gnulib.
16948
16949 * Makefile.in (GNULIB_CFLAGS): New variable.
16950 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16951 (grub_script_check_CFLAGS): New variable.
16952 * gnulib/alloca.h: Resync with gnulib.
16953 * gnulib/error.c: Likewise.
16954 * gnulib/error.h: Likewise.
16955 * gnulib/fnmatch.c: Likewise.
16956 * gnulib/fnmatch_loop.c: Likewise.
16957 * gnulib/getdelim.c: Likewise.
16958 * gnulib/getline.c: Likewise.
16959 * gnulib/getopt.c: Likewise.
16960 * gnulib/getopt1.c: Likewise.
16961 * gnulib/getopt_int.h: Likewise.
16962 * gnulib/gettext.h: Likewise.
16963 * gnulib/progname.c: Likewise.
16964 * gnulib/progname.h: Likewise.
16965
394a3120
GS
169662010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16967
16968 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16969 which is the case with --disabled-nls.
16970
16971 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16972 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16973 * util/misc.c: Likewise.
16974 * util/mkisofs/mkisofs.c: Likewise.
16975 * util/mkisofs/mkisofs.h: Likewise.
16976
969d1c78
VS
169772010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16978
16979 Simplify Apple CC support.
16980
16981 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16982 Add 0 byte at the end not to have a symbol with empty target.
16983 * mmap/i386/pc/mmap_helper.S: Likewise.
16984 * genmk.rb: Ignore errors 2030 and 2050.
16985 * kern/i386/pc/startup.S: Use LOCAL when possible.
16986
8d2977bb
BC
169872010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
16988
16989 Testcase and the fix for final semicolon on cmdline.
16990
16991 * tests/grub_script_final_semicolon.in: New testcase.
16992 * conf/tests.rmk: Rules for the new testcase.
16993 * script/parser.y: Grammar fix.
16994
a7bd6915
BC
169952010-03-26 BVK Chaitanya <bvk@localhost>
16996
16997 Blank lines testcase for GRUB script.
16998
16999 * tests/grub_script_blanklines.in: New testcase.
17000 * conf/tests.rmk: Rules for the new testcase.
17001
e4ff6628
VS
170022010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17003
17004 Don't use __FILE__.
17005
17006 * genmk.rb: Add -DGRUB_FILE to all C targets.
17007 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
17008 * include/grub/list.h: Likewise.
17009 * include/grub/misc.h: Likewise.
17010 * include/grub/mm.h: Likewise.
17011 * include/grub/test.h: Likewise.
17012 * kern/mm.c: Likewise.
17013 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17014
6a5cf6b6
VS
170152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 Sunpc partitions support.
17018
17019 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
17020 (grub_fstest_SOURCES): Likewise.
17021 (pkglib_MODULES): Add part_sunpc.mod.
17022 (part_sunpc_mod_SOURCES): New variable.
17023 (part_sunpc_mod_CFLAGS): Likewise.
17024 (part_sunpc_mod_LDFLAGS): Likewise.
17025 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
17026 * partmap/sunpc.c: New file.
17027
746d9045
BC
170282010-03-26 BVK Chaitanya <bvk@localhost>
17029
17030 For loop support to GRUB script.
17031
17032 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
17033 (grub_script_create_cmdfor): New function prototype.
17034 (grub_script_execute_cmdfor): New function prototype.
17035 * script/execute.c (grub_script_execute_cmdfor): New function.
17036 * script/parser.y (command): New for command.
17037 (forcmd): New grammar rule.
17038 * script/script.c (grub_script_create_cmdfor): New function.
17039 * util/grub-script-check.c (grub_script_execute_cmdfor): New
17040 function.
17041 * tests/grub_script_for1.in: New testcase.
17042 * conf/tests.rmk: Rules for new testcase.
17043
18486b18
VS
170442010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17045
17046 Nested partitions
17047
17048 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
17049 'partition' is NULL, grub_partition_get_start already does that.
17050 * commands/loadenv.c (check_blocklists): Likewise.
17051 (write_blocklists): Likewise.
17052 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
17053 (grub_fstest_SOURCES): Likewise.
17054 (pkglib_MODULES): Add part_bsd.mod.
17055 (part_bsd_mod_SOURCES): New variable.
17056 (part_bsd_mod_CFLAGS): Likewise.
17057 (part_bsd_mod_LDFLAGS): Likewise.
17058 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
17059 (grub_emu_SOURCES): Likewise.
17060 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17061 * include/grub/bsdlabel.h: New file.
17062 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
17063 'get_name'.
17064 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
17065 (grub_partition_map_list): New variable.
17066 (grub_partition_map_register): Inline.
17067 (grub_partition_map_unregister): Likewise.
17068 (FOR_PARTITION_MAPS): New macro.
17069 (grub_partition_map_iterate): Removed.
17070 (grub_partition_get_start): Handle nested partitions.
17071 * include/grub/msdos_partition.h: Remove bsd-related entries.
17072 (grub_pc_partition): Remove.
17073 * kern/disk.c (grub_disk_close): Free partition data.
17074 (grub_disk_adjust_range): Handle nested partitions.
17075 * kern/partition.c (grub_partition_map_probe): New function.
17076 (grub_partition_probe): Parse name to number, handle subpartitions.
17077 (get_partmap): New function.
17078 (grub_partition_iterate): Handle subpartitions.
17079 (grub_partition_get_name): Likewise.
17080 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
17081 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
17082 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
17083 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
17084 Set 'number'.
17085 (acorn_partition_map_probe): Remove.
17086 (acorn_partition_map_get_name): Likewise.
17087 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
17088 Set 'number'.
17089 Set 'index' to 0 since there can be only one partition entry per sector.
17090 (amiga_partition_map_probe): Remove.
17091 (amiga_partition_map_get_name): Likewise.
17092 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
17093 Set 'number'.
17094 Set 'offset' and 'index' to real positions of partitions.
17095 (apple_partition_map_probe): Remove.
17096 (apple_partition_map_get_name): Likewise.
17097 * partmap/bsdlabel.c: New file.
17098 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
17099 Set 'number'.
17100 Allocate 'data' so it can be correctly freed.
17101 Set 'index' to offset inside sector.
17102 (gpt_partition_map_probe): Remove.
17103 (gpt_partition_map_get_name): Likewise.
17104 * partmap/msdos.c (grub_partition_parse): Remove.
17105 (pc_partition_map_iterate): Don't force raw access.
17106 Set 'number'.
17107 Make 'ext_offset' a local variable.
17108 (pc_partition_map_probe): Remove.
17109 (pc_partition_map_get_name): Remove.
17110 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17111 Set 'number'.
17112 (sun_partition_map_probe): Remove.
17113 (sun_partition_map_get_name): Likewise.
17114 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17115 (grub_pcpart_type): Likewise.
17116 * util/hostdisk.c (open_device): Handle new numbering scheme.
17117 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17118 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17119 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17120 * util/grub-install.in: Insert all subpartition modules.
17121 * util/ieee1275/grub-install.in: Likewise.
17122
a3940f88
AG
171232010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17124
17125 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17126 grammar.
17127
21b99926 171282010-03-24 Colin Watson <cjwatson@ubuntu.com>
17129
17130 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17131
bed1d352
CW
171322010-03-21 Colin Watson <cjwatson@ubuntu.com>
17133
17134 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17135 match where 'make install' puts them.
17136 * util/i386/efi/grub-install.in: Likewise.
17137
c9f58427
CW
171382010-03-19 Colin Watson <cjwatson@ubuntu.com>
17139
17140 * .bzrignore: Add gentrigtables, grub-script-check,
17141 grub_script_check_init.c, grub_script_check_init.h, and
17142 trigtables.c.
17143
f84afb27
VS
171442010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17145
17146 * kern/parser.c: Indented.
17147
ed0e3d30
VS
171482010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17149
17150 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17151
0ea81d98
VS
171522010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17153
17154 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17155 alpha_mask_size == 0 case.
17156
0cdc2a09
BC
171572010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17158
17159 GRUB shell lexer and parser improvements.
17160
17161 * conf/any-emu.rmk: Build rule updates.
17162 * conf/common.rmk: Likewise.
17163 * conf/i386-coreboot.rmk: Likewise.
17164 * conf/i386-efi.rmk: Likewise.
17165 * conf/i386-ieee1275.rmk: Likewise.
17166 * conf/i386-pc.rmk: Likewise.
17167 * conf/powerpc-ieee1275.rmk: Likewise.
17168 * conf/x86_64-efi.rmk: Likewise.
17169
17170 * configure.ac: Configure check for flex.
17171
17172 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17173 types.
17174 (grub_lexer_param): Struct member updates.
17175 (grub_parser_param): Likewise.
17176 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17177 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17178 (grub_script_lexer_init): Prototype update.
17179 (grub_script_lexer_record_start): Likewise.
17180 (grub_script_lexer_record_stop): Likewise.
17181 (grub_script_lexer_yywrap): New function prototype.
17182 (grub_script_lexer_fini): Likewise.
17183 (grub_script_execute_argument_to_string): Removed by...
17184 (grub_script_execute_argument_to_argv): ...better version.
17185
17186 * script/execute.c (ROUND_UPTO): New macro.
17187 (grub_script_execute_cmdline): Out of memory fixes.
17188 (grub_script_execute_menuentry): Likewise.
17189 (grub_script_execute_argument_to_string): Removed. Update all
17190 users by...
17191 (grub_script_execute_argument_to_argv): ...better version.
17192 * script/function.c (grub_script_function_create): Use
17193 grub_script_execute_argument_to_argv instead of
17194 grub_script_execute_argument_to_string.
17195
17196 * script/lexer.c (check_varstate): Removed.
17197 (check_textstate): Removed.
17198 (grub_script_lexer_record_start): Likewise.
17199 (grub_script_lexer_record_stop): Likewise.
17200 (recordchar): Replaced with...
17201 (grub_script_lexer_record): ...new function.
17202 (nextchar): Removed.
17203 (grub_script_lexer_init): Rewritten.
17204 (grub_script_yylex): Rewritten.
17205 (append_newline): New function.
17206 (grub_script_lexer_yywrap): New function.
17207 (grub_script_lexer_fini): New function.
17208 (grub_script_yyerror): Sets error flag.
17209
17210 * script/yylex.l: New file.
17211 (grub_lexer_yyfree): Wrapper for flex yyffre.
17212 (grub_lexer_yyalloc): Likewise.
17213 (grub_lexer_yyrealloc): Likewise.
17214 * script/parser.y: Refactored.
17215
17216 * script/script.c (grub_script_arg_add): Out of memory fixes.
17217 (grub_script_add_arglist): Likewise.
17218 (grub_script_create_cmdline): Likewise.
17219 (grub_script_create_cmdmenu): Likewise.
17220 (grub_script_add_cmd): Likewise.
17221 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17222 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17223 unnecessary code.
17224
17225 * tests/grub_script_echo1.in: New testcase.
17226 * tests/grub_script_vars1.in: New testcase.
17227 * tests/grub_script_echo_keywords.in: New testcase.
17228
1d63a066
VS
172292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 Remove some redundancy in build system.
17232
17233 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17234 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17235 (TARGET_LDFLAGS): Add -nostdlib.
17236 (TARGET_IMG_LDFLAGS): Likewise.
17237 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17238 anything since mmap isn't available.
17239 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17240 Add util/time.c.
17241 (pkglib_MODULES): Remove reboot.mod.
17242 (reboot_mod_SOURCES): Removed.
17243 (reboot_mod_CFLAGS): Likewise.
17244 (reboot_mod_LDFLAGS): Likewise.
17245 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17246 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17247 (DEFSYMFILES): Add kernel_syms.lst.
17248 (kernel_img_HEADERS): Add common headers.
17249 (symlist.c): New target.
17250 (kernel_syms.lst): Likewise.
17251 (pkglib_MODULES): Add memdisk.mod.
17252 (memdisk_mod_SOURCES): New variable.
17253 (memdisk_mod_CFLAGS): Likewise.
17254 (memdisk_mod_LDFLAGS): Likewise.
17255 (pkglib_MODULES): Add reboot.mod.
17256 (reboot_mod_SOURCES): New variable.
17257 (reboot_mod_CFLAGS): Likewise.
17258 (reboot_mod_LDFLAGS): Likewise.
17259 (pkglib_MODULES): Add date.mod.
17260 (date_mod_SOURCES): New variable.
17261 (date_mod_CFLAGS): Likewise.
17262 (date_mod_LDFLAGS): Likewise.
17263 (pkglib_MODULES): Add datehook.mod.
17264 (datehook_mod_SOURCES): New variable.
17265 (datehook_mod_CFLAGS): Likewise.
17266 (datehook_mod_LDFLAGS): Likewise.
17267 (pkglib_MODULES): Add lsmmap.mod.
17268 (lsmmap_mod_SOURCES): New variable.
17269 (lsmmap_mod_CFLAGS): Likewise.
17270 (lsmmap_mod_LDFLAGS): Likewise.
17271 (pkglib_MODULES): Add boot.mod.
17272 (boot_mod_SOURCES): New variable.
17273 (boot_mod_CFLAGS): Likewise.
17274 (boot_mod_LDFLAGS): Likewise.
17275 * conf/i386-coreboot.rmk: Removed redundant parts.
17276 * conf/i386-ieee1275.rmk: Likewise.
17277 * conf/i386-pc.rmk: Likewise.
17278 * conf/mips-yeeloong.rmk: Likewise.
17279 * conf/mips.rmk: Likewise.
17280 * conf/powerpc-ieee1275.rmk: Likewise.
17281 * conf/sparc64-ieee1275.rmk: Likewise.
17282 * conf/x86_64-efi.rmk: Likewise.
17283 * conf/i386-coreboot.rmk: Moved qemu parts ..
17284 * conf/i386-qemu.rmk: ... here
17285 * conf/i386-efi.rmk: Moved common parts to...
17286 * conf/x86-efi.rmk: ... here.
17287 * conf/i386.rmk: Added modules common to all x86 variants.
17288 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17289 * disk/memdisk.c: Remove grub/machine/kernel.h.
17290 * gensymlist.sh.in: Include symbol.h.
17291 * hook/datehook.c: Correct module name.
17292 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17293 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17294 * include/grub/i386/efi/serial.h: New file.
17295 * include/grub/x86_64/efi/serial.h: Likewise.
17296 * util/time.c: Likewise.
17297 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17298
463ac55f
CK
172992010-03-14 Colin King <colin.king@ubuntu.com>
173002010-03-14 Colin Watson <cjwatson@ubuntu.com>
17301
17302 Shrink the pre-partition-table part of boot.img by eight bytes.
17303
17304 * boot/i386/pc/boot.S (ERR): New macro.
17305 (chs_mode): Use ERR.
17306 (geometry_error): Likewise.
17307 (hd_probe_error): Remove. This is only used once, so we wrwite
17308 it inline instead.
17309 (read_error): Instead of printing read_error_string, just set up
17310 %si and fall through to ...
17311 (error_message): ... this new function, also used by ERR.
17312
08e46ede
CW
173132010-03-14 Colin Watson <cjwatson@ubuntu.com>
17314
17315 Speed up consecutive hostdisk operations on the same device.
17316
17317 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17318 (grub_util_biosdisk_open): Initialise disk->data.
17319 (struct linux_partition_cache): New structure.
17320 (linux_find_partition): Cache partition start positions; these are
17321 expensive to compute on every read and write.
17322 (open_device): Cache open file descriptor in disk->data, so that we
17323 don't have to reopen it and flush the buffer cache for consecutive
17324 operations on the same device.
17325 (grub_util_biosdisk_close): New function.
17326 (grub_util_biosdisk_dev): Set `close' member.
17327
17328 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17329 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17330 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17331 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17332 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17333
4a6d2d06
VS
173342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 Compile parts of grub-emu as modules.
17337
17338 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17339 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17340 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17341 (all-local): Add $(GRUB_EMU).
17342 (install-local): Install $(GRUB_EMU).
17343 (uninstall): Uninstall $(GRUB_EMU).
17344 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17345 * kern/dl.c: Likewise.
17346 * commands/sleep.c: Not include machine/time.h.
17347 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17348 (COMMON_CFLAGS): Likewise.
17349 (sbin_UTILITIES): Remove grub-emu.
17350 (grub_emu_SOURCES): Removed.
17351 (kernel_img_RELOCATABLE): New variable.
17352 (pkglib_PROGRAMS): Add kernel.img.
17353 (kernel_img_SOURCES): New variable
17354 (kernel_img_CFLAGS): Likewise.
17355 (kernel_img_LDFLAGS): Likewise.
17356 (TARGET_NO_STRIP): Likewise.
17357 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17358 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17359 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17360 (grub-emu): New target.
17361 (GRUB_EMU): New variable.
17362 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17363 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17364 * loader/xnu.c: Likewise.
17365 * include/grub/pci.h: Likewise.
17366 * genemuinit.sh: New file.
17367 * genemuinitheader.sh: Likewise.
17368 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17369 Support TARGET_NO_DYNAMIC_MODULES.
17370 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17371 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17372 * disk/loopback.c: Likewise.
17373 * font/font_cmd.c: Likewise.
17374 * partmap/acorn.c: Likewise.
17375 * partmap/amiga.c: Likewise.
17376 * partmap/apple.c: Likewise.
17377 * partmap/gpt.c: Likewise.
17378 * partmap/msdos.c: Likewise.
17379 * partmap/sun.c: Likewise.
17380 * parttool/msdospart.c: Likewise.
17381 * term/gfxterm.c: Likewise.
17382 * video/bitmap.c: Likewise.
17383 * video/readers/jpeg.c: Likewise.
17384 * video/readers/png.c: Likewise.
17385 * video/readers/tga.c: Likewise.
17386 * video/video.c: Likewise.
17387 * util/grub-emu.c (read_command_list): Removed.
17388 (main): Don't call util_init_nls.
17389 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17390 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17391
91fdd2ed
VS
173922010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17393
17394 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17395 date.mod, datehook.mod.
17396 (datetime_mod_SOURCES): New variable.
17397 (datetime_mod_CFLAGS): Likewise.
17398 (datetime_mod_LDFLAGS): Likewise.
17399 (date_mod_SOURCES): Likewise.
17400 (date_mod_CFLAGS): Likewise.
17401 (date_mod_LDFLAGS): Likewise.
17402 (datehook_mod_SOURCES): Likewise.
17403 (datehook_mod_CFLAGS): Likewise.
17404 (datehook_mod_LDFLAGS): Likewise.
17405 * conf/sparc64-ieee1275.rmk: Likewise.
17406 * lib/ieee1275/datetime.c: New file.
17407
873ccae6
VS
174082010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17409
17410 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17411 (ieee1275_fb_mod_SOURCES): New variable.
17412 (ieee1275_fb_mod_CFLAGS): Likewise.
17413 (ieee1275_fb_mod_LDFLAGS): Likewise.
17414 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17415 New proto.
17416 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17417 (HEAP_MAX_ADDR): Likewise.
17418 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17419 type.
17420 Correct stop condition.
17421 (grub_ieee1275_devices_iterate): New function.
17422 * video/ieee1275.c: New file.
17423
601c97c0
VS
174242010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17427
17428 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17429 as scratch.
17430 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17431 SCRATCH_PAD_DISKBOOT as scratch.
17432 (bootit): Pass Openfirmware pointer in %o4.
17433 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17434 of 0x200000.
17435 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17436 with util/grub-mkrawimage.c.
17437 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17438 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17439 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17440 (grub_aout_load) [GRUB_UTIL]: Likewise.
17441 * include/grub/kernel.h (grub_modules_get_end): New proto.
17442 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17443 (SCRATCH_PAD_BOOT): New definition.
17444 (SCRATCH_PAD_DISKBOOT): Likewise.
17445 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17446 * include/grub/sparc64/ieee1275/ieee1275.h
17447 (grub_ieee1275_original_stack): New variable
17448 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17449 New definition
17450 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17451 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17452 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17453 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17454 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17455 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17456 (grub_platform_image_format_t): New type.
17457 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17458 * kern/main.c (grub_modules_get_end)
17459 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17460 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17461 (codestart): Switch stacks.
17462 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17463 variable.
17464 (grub_heap_init): Use grub_modules_get_end.
17465 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17466 stack.
17467 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17468 (main): Likewise.
17469 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17470
d68b491e
TG
174712010-03-14 Thorsten Glaser <tg@mirbsd.org>
17472
17473 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17474
4e02ed50
MK
174752010-03-08 Matt Kraai <kraai@ftbfs.org>
17476
17477 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17478 bug #559005).
17479
1f15fc1e
VS
174802010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17481
17482 * genmoddep.awk: Output all missing symbols and not only first.
17483
fce5d8ff
VS
174842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 * NEWS: Put the date of 1.98 release.
17487
d1e8a02f
VS
174882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17491 ft2build.h.
17492
696fd607
VS
174932010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17496 completition in the middle of string.
17497
33e2e6f3
VS
174982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17499
17500 * util/grub-mkrescue.in: Use mktemp with explicit template.
17501
b1f6d291
VS
175022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17505
2ac227c7
VS
175062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17507
17508 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17509 right pointer.
17510
8f9a632b
VS
175112010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 Fix FreeBSD compilation.
17514
17515 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17516 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17517
60b03859
VS
175182010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17521
48a5a769
VS
175222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17523
17524 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17525
3ab4bd77
VS
175262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17527
17528 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17529
d116e0d8
RM
175302010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17531
17532 Support relative image path in theme file.
17533
17534 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17535 (image_set_property): Handle theme_dir and relative path.
17536
c7ef54aa
VS
175372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 * configure.ac: Alias amd64 to x86_64.
17540
fcee14ed
VS
175412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * NEWS: mention multiboot on EFI.
17544
d0780363
VS
175452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 * kern/main.c (grub_load_modules): Handle errors from init functions of
17548 embeded modules.
17549
41168ea4
VS
175502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17551
17552 * normal/autofs.c (autoload_fs_module): Handle errors.
17553
b54d93ac
VS
175542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17555
17556 Disable linux.mod on qemu-mips since it's not functional and leads
17557 to compilation failure.
17558
17559 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17560 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17561 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17562 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17563 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17564 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17565 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17566 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17567 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17568 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17569 Reported by: BVK Chaitanya
17570
fc8345da
JU
175712010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17572
17573 * INSTALL: Add gettext as a dependency and add qemu to a new section
17574 "Prerequisites for make-check".
17575
4760f979
CF
175762010-03-04 Christian Franke <franke@computer.org>
17577
17578 * util/grub-pe2elf.c: Add missing include "progname.h".
17579
f209b5b2
VS
175802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * normal/crypto.c (read_crypto_list): Fix a typo.
17583 Reported by: Seth Goldberg.
17584
b4b7be98
VS
175852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17586
17587 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 17588 Reported by: Seth Goldberg.
b4b7be98 17589
c0ee0385
VS
175902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17593 ascii.bitmaps.
17594
a8efbf64
VS
175952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17596
17597 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 17598 Reported by: Seth Goldberg.
a8efbf64 17599
08dcd913
VS
176002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * util/i386/efi/grub-install.in: Copy gettext files.
17603
c4d0b332
VS
176042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17607
c6f2fe52
VS
176082010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 Wait for user entry basing on presence of output rather than on errors.
17611
17612 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17613 (grub_install_newline_hook): Likewise.
17614 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17615 * normal/menu.c (show_menu): Check line_counter to determine presence
17616 of output.
17617 * normal/term.c (grub_normal_line_counter): New variable.
17618 (grub_normal_get_line_counter): New function.
17619 (grub_install_newline_hook): Likewise.
17620
5382b1e4
VS
176212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17624
5519963b
VS
176252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * configure.ac: Update version to 1.98.
17628
72b28631
VS
176292010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * util/grub.d/10_linux.in (linux_entry): Don't default to
17632 gfxpayload=keep if Linux doesn't support video handover.
17633
c140a180
VS
176342010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 Don't compile video modules on yeeloong since video subsystem is part
17637 of kernel.
17638
17639 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17640 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17641 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17642 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17643 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17644 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17645 * include/grub/bitmap_scale.h: Likewise.
17646 * include/grub/bufio.h: Likewise.
17647 * include/grub/font.h: Likewise.
17648 * include/grub/gfxterm.h: Likewise.
17649 * include/grub/video.h: Likewise.
17650 * include/grub/vbe.h: Don't include video_fb.h.
17651 * video/i386/pc/vbe.c: Include video_fb.h.
17652 * commands/i386/pc/vbetest.c: Include video.h.
17653
a0ca21c2
CW
176542010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17655
17656 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17657 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17658 default entry if GRUB_SAVEDEFAULT=true. This allows using
17659 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17660 saving a new default on every boot.
17661
4a8a763c
VS
176622010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17665 * normal/term.c (read_terminal_list): Likewise.
17666 * normal/main.c (grub_normal_init_page): Likewise.
17667 (grub_normal_read_line_real): Likewise.
17668
607ffde2
VS
176692010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17670
17671 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17672 memory leak.
17673 Reported by: Seth Goldberg.
17674
2b8fa975
CW
176752010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17676
17677 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17678 duplicate declaration of `start'.
17679
618307dd
VS
176802010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17683 filename.
17684 Reported by: Georgy Buranov
17685
7dd05b96 176862010-02-20 Carles Pina i Estany <carles@pina.cat>
17687
17688 * util/grub-mkrawimage.c (usage): Change string formatting to
17689 improve gettext.
17690
d1484a42
MRA
176912010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17692
17693 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17694 backspace keys.
17695
42b1d186
VS
176962010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17697
17698 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17699 Reported by: Michael Suchanek.
17700
177012010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
17702
17703 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17704 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17705
d9f31a41
VS
177062010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 Remove any reference to non-free fonts.
17709
17710 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17711 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17712 uses non-free components.
17713 * font/font.c (grub_font_get_name): Remove example name.
17714 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17715 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17716 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17717 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17718
2793c71e
GB
177192010-02-16 Georgy Buranov <gburanov@gmail.com>
17720
17721 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17722
402e3779
VS
177232010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17726 Double divisor.
17727 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17728 features.
17729 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17730
0dd1e0dd
VS
177312010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17732
17733 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17734
6fa7cfce
ST
177352010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17736
17737 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17738 * docs/grub.texi (Command-line and menu entry commands): Document play
17739 command.
17740
37c8483b
ST
177412010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17742
17743 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17744 parse arguments as inline tempo and notes. Move code for playing notes
17745 to...
17746 (play): ... new function.
17747
14da0fb7
ST
177482010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17749
17750 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17751 grub_uint16_t instead of short.
17752 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17753 disk from little endian to cpu endianness.
17754
04459e70
ST
177552010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17756
17757 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17758 GRUB_TICKS_PER_SECOND instead of 120.
17759
a0876943
VS
177602010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17763 escape sequence after \e.
17764
e29f95dc
VS
177652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17766
17767 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17768 non-ASCII characters.
17769
d27859b2
VS
177702010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17773 set root in single quotes to prevent \, from being unescaped.
17774
bc028f2f
VS
177752010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17776
17777 Prevent unknown commands from stopping menuentry execution.
17778
17779 * script/execute.c (grub_script_execute_cmdline): Print error after
17780 unknown command.
17781
095f5f82
VS
177822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17785 Reported by: Pavel Pisa.
17786
8c717950
VS
177872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17790
904935c3
VS
177912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17792
17793 Merge grub_ieee1275_map_physical into grub_map and rename to
17794 grub_ieee1275_map
17795
17796 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17797 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17798 Remove.
17799 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17800 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17801 necessary.
17802 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17803
5b59a4e3
VS
178042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17807 opening and not after.
17808
69e137e8
VS
178092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17812 constants.
17813
2c0fcc36
VS
178142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17817 (alloc_phys): Use ALIGN_UP instead of align_addr.
17818
8c6052ce
VS
178192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17820
17821 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17822
17cec782
VS
178232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17826
e0128bbd
VS
178272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17830 verbose dprintf.
17831
ca62070b
VS
178322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 Fix over-4GiB seek on sparc64.
17835
17836 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17837 Replace pos_i and pos_lo with pos. All users updated.
17838 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17839 New constant.
17840 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17841 Likewise.
17842 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17843 and pos_lo.
17844
bdca2607
VS
178452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 * util/grub-mkrawimage.c (main): Call set_program_name.
17848
da278c4d
VS
178492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 Properly align 64-bit targets.
17852
17853 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17854 (generate_image): Use ALIGN_ADDR.
17855
b274d734
VS
178562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 Properly create cross-endian images.
17859
17860 * include/grub/types.h (grub_host_to_target_addr): New macro
17861 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17862
82da2062
VS
178632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17866
7cae4377
VS
178672010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17870
17871 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17872 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17873 (grub_linux_boot): Divide by 64K when on VESA.
17874
65a533e7
VS
178752010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 Support GRUB_GFXPAYLOAD_LINUX.
17878
17879 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17880 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17881
dd01d397
VS
178822010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17885 to show messages instead of discarding them.
17886 Process errors after executing command and not before. Keep old method
17887 too as precaution.
17888
660960d6
VS
178892010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 * configure.ac: Check for ft2build.h.
17892
62509f04
VS
178932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17894
17895 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17896
473df63d
VS
178972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17898
17899 * genkernsyms.sh.in: Use TARGET_CC.
17900
c98d2a13
CW
179012010-02-07 Colin Watson <cjwatson@ubuntu.com>
17902
17903 * NEWS: Update.
17904
6e14234c
VS
179052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
17908 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17909 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 17910
b255e9cf
YB
179112010-02-07 Yves Blusseau <blusseau@zetam.org>
17912
6e14234c 17913 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 17914
98e6959d
VS
179152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 Fix warnings in grub-emu when compiling with maximum warning options.
17918
17919 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17920 (grub_arch_modules_addr): Return 0 and not NULL.
17921 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 17922 (xstrdup): Use newstr instead of dup.
f88d801b
VS
17923 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17924 of disk to dsk to avoid shadowing.
74e4934e
VS
17925 (find_free_slot): Fix prototype.
17926 * util/getroot.c (grub_util_is_dmraid): Make static.
17927 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17928 Add missing prototype.
17929 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 17930
74e31b5c
VS
179312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17932
17933 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17934 appropriately.
17935
6b2ad14b
VS
179362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17937
17938 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17939 code out.
17940
8f891adc
VS
179412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17944 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17945 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17946 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17947 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17948 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17949
74b45184
VS
179502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 * include/grub/err.h (grub_err_printf): Don't export.
17953
a4bced77
VS
179542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17957
007d0695
VS
179582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17961 * kern/misc.c (grub_gettext_dummy): Make static.
17962
b6c0d9c2
VS
179632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17966 by non-valid ones.
17967 * kern/term.c (grub_putchar): Likewise.
17968
f51a90d0
VS
179692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17970
17971 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17972 buggy hook call and memory leak.
17973
6846cec5
VS
179742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17977
468d69fe
VS
179782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17979
17980 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17981
51906b8c
VS
179822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17985 modevar.
17986 Return grub_errno on allocation error.
17987
09706ce5
VS
179882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17989
17990 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
17991
911df80c
YB
179922010-02-06 Yves Blusseau <blusseau@zetam.org>
17993
17994 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
17995 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
17996
3746a6bc
VS
179972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
18000 non-pxe disk.
18001 (grub_pxefs_open): Likewise.
18002
09706ce5
VS
180032010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18004
18005 * util/grub.d/10_hurd.in: Add --class information to menuentries.
18006 * util/grub.d/10_kfreebsd.in: Likewise.
18007 * util/grub.d/10_linux.in: Likewise.
18008
7cc192d9
VS
180092010-02-06 Colin D Bennett <colin@gibibit.com>
18010
18011 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
18012 (gfxmenu_mod_SOURCES): New variable.
18013 (gfxmenu_mod_CFLAGS): Likewise.
18014 (gfxmenu_mod_LDFLAGS): Likewise.
18015 * include/grub/term.h (grub_term_set_current_output): Declare
18016 argument as const.
18017 * docs/gfxmenu-theme-example.txt: New file.
18018 * gfxmenu/gfxmenu.c: Likewise.
18019 * gfxmenu/gui_box.c: Likewise.
18020 * gfxmenu/gui_canvas.c: Likewise.
18021 * gfxmenu/gui_circular_progress.c: Likewise.
18022 * gfxmenu/gui_image.c: Likewise.
18023 * gfxmenu/gui_label.c: Likewise.
18024 * gfxmenu/gui_list.c: Likewise.
18025 * gfxmenu/gui_progress_bar.c: Likewise.
18026 * gfxmenu/gui_string_util.c: Likewise.
18027 * gfxmenu/gui_util.c: Likewise.
18028 * gfxmenu/icon_manager.c: Likewise.
18029 * gfxmenu/model.c: Likewise.
18030 * gfxmenu/named_colors.c: Likewise.
18031 * gfxmenu/theme_loader.c: Likewise.
18032 * gfxmenu/view.c: Likewise.
18033 * gfxmenu/widget-box.c: Likewise.
18034 * include/grub/gfxmenu_model.h: Likewise.
18035 * include/grub/gfxmenu_view.h: Likewise.
18036 * include/grub/gfxwidgets.h: Likewise.
18037 * include/grub/gui.h: Likewise.
18038 * include/grub/gui_string_util.h: Likewise.
18039 * include/grub/icon_manager.h: Likewise.
18040
180412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 Agglomerate scrolling in gfxterm.
18044
18045 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
18046 (grub_virtual_screen_setup): Initialise 'total_screen'.
18047 (write_char): Split to ...
18048 (paint_char): ... this ...
18049 (write_char): ... and this.
18050 (paint_char): Handle delayed scrolling.
18051 (draw_cursor): Likewise.
18052 (scroll_up): Split to ...
18053 (real_scroll): ... this ...
18054 (scroll_up): ... and this.
18055 (real_scroll): Handle multi-line scroll and draw below-the-bottom
18056 characters.
18057 (grub_gfxterm_refresh): Call real_scroll.
18058
180592010-02-06 Colin D Bennett <colin@gibibit.com>
18060
18061 * include/grub/misc.h (grub_iscntrl): New inline function.
18062 (grub_isalnum): Likewise.
18063 (grub_strtol): Likewise.
18064
180652010-02-06 Colin D Bennett <colin@gibibit.com>
18066
18067 * normal/menu_text.c (get_entry_number): Move from here ...
18068 * normal/menu.c (get_entry_number): ... moved here.
18069 * include/grub/menu.h (grub_menu_get_default_entry_index):
18070 New prototype.
18071 * normal/menu.c (grub_menu_get_default_entry_index): New function.
18072 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
18073 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
18074 (grub_menu_viewer_should_return): Likewise.
18075 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
18076 * normal/menu_text.c (run_menu): Enable menu switching.
18077 * normal/menu_viewer.c (should_return): New variable.
18078 (menu_viewer_changed): Likewise.
18079 (grub_menu_viewer_show_menu): Handle menu viewer changes.
18080 (grub_menu_viewer_should_return): New function.
18081 (menuviewer_write_hook): Likewise.
18082 (grub_menu_viewer_init): Likewise.
18083
180842010-02-06 Colin D Bennet <colin@gibibit.com>
180852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 Support for gfxterm in a window.
18088
18089 * include/grub/gfxterm.h: New file.
18090 * include/grub/video.h (struct grub_video_rect): New declaration.
18091 (grub_video_rect_t): Likewise.
18092 * term/gfxterm.c (struct grub_gfxterm_window): New type.
18093 (refcount): New variable.
18094 (render_target): Likewise.
18095 (window): Likewise.
18096 (repaint_callback): Likewise.
18097 (grub_virtual_screen_setup): Use 'render_target'.
18098 (init_window): New function.
18099 (grub_gfxterm_init_window): Likewise.
18100 (grub_gfxterm_init): Check reference counter.
18101 Use init_window.
18102 (destroy_window): New function.
18103 (grub_gfxterm_destroy_window): Likewise.
18104 (grub_gfxterm_fini): Check reference counter.
18105 Use destroy_window.
18106 (redraw_screen_rect): Restore viewport.
18107 Use 'render_target' and 'window'.
18108 Call 'repaint_callback'.
18109 (write_char): Use 'render_target'.
18110 (draw_cursor): Likewise.
18111 (scroll_up): Restore viewport.
18112 Use 'render_target' and 'window'.
18113 Call 'repaint_callback'.
18114 (grub_gfxterm_cls): Likewise.
18115 (grub_gfxterm_refresh): Use 'window'.
18116 (grub_gfxterm_set_repaint_callback): New function.
18117 (grub_gfxterm_background_image_cmd): Use 'window'.
18118 (grub_gfxterm_get_term): New function.
18119 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18120
181212010-02-06 Colin D Bennett <colin@gibibit.com>
18122
18123 Bitmap scaling support.
18124
18125 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18126 (bitmap_scale_mod_SOURCES): New variable.
18127 (bitmap_scale_mod_CFLAGS): Likewise.
18128 (bitmap_scale_mod_LDFLAGS): Likewise.
18129 * include/grub/bitmap_scale.h: New file.
18130 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18131 (background_image_cmd_options): New variable.
18132 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18133 (cmd): Rename and change type to ...
18134 (background_image_cmd_handle): ... this. All users updated.
18135 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18136 * video/bitmap_scale.c: New file.
18137
181382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 SDL support.
18141
18142 * Makefile.in (LIBSDL): New variable.
18143 (enable_grub_emu_sdl): Likewise.
18144 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18145 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18146 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18147 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18148 * util/sdl.c: New file.
18149
181502010-02-06 Colin D Bennett <colin@gibibit.com>
181512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 Double buffering support.
18154
18155 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18156 * include/grub/video.h: Update comment.
18157 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18158 New type.
18159 (grub_video_fb_doublebuf_blit_init): New prototype.
18160 * term/gfxterm.c (scroll_up): Support double buffering.
18161 (grub_gfxterm_refresh): Likewise.
18162 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18163 (grub_video_fb_doublebuf_blit_init): Likewise.
18164 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18165 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18166 'displayed_page', 'render_page' and 'update_screen'.
18167 (grub_video_vbe_fini): Free offscreen buffer.
18168 (doublebuf_pageflipping_commit): New function.
18169 (doublebuf_pageflipping_update_screen): Likewise.
18170 (doublebuf_pageflipping_init): Likewise.
18171 (double_buffering_init): Likewise.
18172 (grub_video_vbe_setup): Enable doublebuffering.
18173 (grub_video_vbe_swap_buffers): Implement.
18174 (grub_video_vbe_set_active_render_target): Handle double buffering.
18175 (grub_video_vbe_get_active_render_target): Likewise.
18176 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18177 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18178 (grub_video_vbe_enable_double_buffering): Likewise.
18179 (grub_video_vbe_swap_buffers): Use update_screen.
18180 (grub_video_set_mode): Use double buffering.
18181
181822010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18183
18184 * maintainance/gentrigtables.py: Remove.
18185 * lib/trig.c: Likewise.
18186
18187 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18188
18189 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18190 `trigtables.c'.
18191 (trigtables.c): New rule.
18192 (gentrigtables): Likewise.
18193 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18194
181952010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18196
18197 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18198 integer constants.
18199
182002010-02-06 Colin D Bennet <colin@gibibit.com>
18201
18202 Trigonometry support.
18203
18204 * include/grub/trig.h: New file.
18205 * lib/trig.c: Likewise.
18206 * maintainance/gentrigtables.py: Likewise.
18207 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18208 (trig_mod_SOURCES): New variable.
18209 (trig_mod_CFLAGS): Likewise.
18210 (trig_mod_LDFLAGS): Likewise.
18211
5562834e
VS
182122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18213
18214 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18215 disk devices.
18216
4f8528fc
VS
182172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18218
18219 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18220 error.
18221
2b4068e9
VS
182222010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * util/hostdisk.c (open_device): Don't use partition device when reading
18225 before the partition.
18226 (grub_util_biosdisk_read): Don't read from partition and before the
18227 partition in single operation.
18228 (grub_util_biosdisk_write): Don't write to partition and before the
18229 partition in single operation.
18230
399f6e4d
TL
182312010-02-03 Torsten Landschoff <torsten@debian.org>
18232
18233 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18234 last sectors.
18235
996649b0
VS
182362010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18239 CDROM reads.
18240 (grub_biosdisk_write): Refuse to write to CDROM.
18241
3b205d4d
VS
182422010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18245
61e89d9d
VS
182462010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 * font/font.c (find_glyph): Check that bmp_idx is available before
18249 using it.
18250 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18251 with (font == NULL).
18252
bf7fcba2
CS
182532010-01-28 Christian Schmitt <chris@ilovelinux.de>
18254
18255 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18256
f45d2663
BC
182572010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18258
18259 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18260 * util/grub-script-check.c (getline): Fix empty lines case.
18261
ec1444e6
RM
182622010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18263
18264 * Makefile.in (check): Exit with fail status when one of the tests
18265 fails.
18266 * tests/example_functional_test.c (example_test): Fix reversed assert.
18267 * tests/example_unit_test.c (example_test): Likewise.
18268
2e1cb9bb
CW
182692010-01-28 Colin Watson <cjwatson@ubuntu.com>
18270
18271 * util/grub.d/10_linux.in: This script does not use any of the
18272 contents of gettext.sh, only the external command `gettext', so stop
18273 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18274 the same prefix as GRUB.)
18275 * util/grub.d/10_kfreebsd.in: Likewise.
18276
63533ab0
VS
182772010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18280 of the line.
18281
989e1f93
VS
182822010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18283
18284 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18285 last sectors.
18286
e709ebe2
VS
182872010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18290 having a 4KiB and not 32KiB buffer size.
18291
27dea7ed
RM
182922010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18293
18294 * util/hostfs.c: Include `<errno.h>'.
18295 (grub_hostfs_read): Handle errors from fseeko() and fread().
18296
67667b9c
RM
182972010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18298
18299 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18300 loop when using read hooks on files whose size isn't sector-aligned.
18301
c294d9d8
RM
183022010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18303
18304 Remove unused parameter.
18305
18306 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18307 (grub_iso9660_open): Remove initialization of `data->length'.
18308
af75a9f1
RM
183092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18310
18311 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18312 memleak conditions.
18313
254e2ce5 183142010-01-27 Carles Pina i Estany <carles@pina.cat>
18315
18316 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18317 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18318
b510928c 183192010-01-26 Carles Pina i Estany <carles@pina.cat>
18320
18321 * util/bin2h.c (usage): Fix warning (space after backslash).
18322
aa2f9dd2 183232010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 18324
18325 * font/font.c: Include `grub/fontformat.h.
18326 Remove font file format constants.
18327 (grub_font_load): Use the new macros.
18328 * include/grub/fontformat.h: New file.
18329 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18330 (write_font_pf2): Use the new macros.
18331
94e7e712
RM
183322010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18333
18334 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18335 does.
18336
3973a59a
RM
183372010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18338
18339 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18340
18341 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18342 (_start): Macroify `0x7F'.
18343
18344 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18345 (make_install_device): Use "(pxe)" as fallback prefix when booting
18346 via PXE.
18347
42e0cba3
GS
183482010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 * configure.ac: Reset LIBS after check for libgcc symbols.
18351
847effd8
CW
183522010-01-25 Colin Watson <cjwatson@ubuntu.com>
18353
18354 * util/hostdisk.c (open_device): Add trailing newline to debug
18355 message.
18356
ea4a7e35
GS
183572010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18358
18359 * configure.ac: Check for `limits.h'.
18360 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18361
67951a53
RM
183622010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18363
18364 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18365 capitalize error strings.
18366
c273d4ce
ST
183672010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18368
18369 * util/grub.d/10_hurd.in: Add a recovery mode.
18370
69be5b74
VS
183712010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 * configure.ac: Check for libgcc symbols with -nostdlib.
18374
fc9e5810
BC
183752010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18376
18377 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18378
4b358c0a
VS
183792010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18382 stack since heap may be unavailable at that point.
18383 (grub_ofconsole_gotoxy): Likewise.
18384
454fcd1c
VS
183852010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * configure.ac: Check for _restgpr_14_x.
18388 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18389 and _savegpr_* prototypes.
18390
566863ca
RM
183912010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18392
18393 Use generic grub_reboot() for i386-efi.
18394
18395 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18396 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18397 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18398
bf86e59a
VS
183992010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18402 presence of "prefix" variable as it breaks when normal.mod is
18403 embedded.
18404
d645e0f8
VS
184052010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18406
18407 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18408 stack since heap is unavailable at that point.
18409
f9ab2e25
VS
184102010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18411
18412 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18413 (grub_freebsd_bootinfo): Rewritten.
18414 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18415
01fc7054
VS
184162010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18419
caab4fd6
RM
184202010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18421
18422 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18423 domain now.
18424
67eb1427
FZ
184252010-01-20 Felix Zielcke <fzielcke@z-51.de>
18426
18427 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18428 around for handling "/" to the correct fix. Fix a memory leak. Use
18429 xstrdup instead of strdup.
18430
a9ed4ff3
VS
184312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18432
18433 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18434
184352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
18436
18437 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18438
18439 * font/font.c (struct grub_font): New member 'bmp_idx'.
18440 (font_init): Initialise 'bmp_idx'.
18441 (load_font_index): Fill 'bmp_idx'.
18442 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18443
48209f4f
VS
184442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18445
18446 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18447 unnecessary calls.
18448
9f0a4bb7
VS
184492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18450
18451 Move context handling out of the kernel.
18452
18453 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18454 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18455 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18456 * conf/i386-efi.rmk: Likewise.
18457 * conf/i386-ieee1275.rmk: Likewise.
18458 * conf/i386-pc.rmk: Likewise.
18459 * conf/powerpc-ieee1275.rmk: Likewise.
18460 * conf/sparc64-ieee1275.rmk: Likewise.
18461 * conf/x86_64-efi.rmk: Likewise.
18462 * include/grub/env.h: Include grub/menu.h.
18463 (grub_env_var_type): Removed.
18464 (grub_env_var): Replaced field 'type' with 'global'.
18465 (grub_env_find): New prototype.
18466 (grub_env_context_open): Remove EXPORT_FUNC.
18467 (grub_env_context_close): Likewise.
18468 (grub_env_export): Likewise.
18469 (grub_env_set_data_slot): Removed.
18470 (grub_env_get_data_slot): Likewise.
18471 (grub_env_unset_data_slot): Likewise.
18472 (grub_env_unset_menu): New prototype.
18473 (grub_env_set_menu): Likewise.
18474 (grub_env_get_menu): Likewise.
18475 * include/grub/env_private.h: New file.
18476 * include/grub/normal.h (grub_context_init): New prototype.
18477 (grub_context_fini): Likewise.
18478 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18479 * normal/context.c (grub_cmd_export): ... to here.
18480 * kern/env.c: Include env_private.h.
18481 (HASHSZ): Moved to include/grub/env_private.h.
18482 (grub_env_context): Likewise.
18483 (grub_env_sorted_var): Likewise.
18484 (current_context): Renamed from this ...
18485 (grub_current_context): ...to this. 'static' removed. All users updated.
18486 (grub_env_find): Removed 'static'.
18487 (grub_env_context_open): Moved to normal/context.c.
18488 (grub_env_context_close): Likewise.
18489 (grub_env_export): Likewise.
18490 (mangle_data_slot_name): Removed.
18491 (grub_env_set_data_slot): Likewise.
18492 (grub_env_get_data_slot): Likewise.
18493 (grub_env_unset_data_slot): Likewise.
18494 * kern/main.c (grub_set_root_dev): Don't export root.
18495 It will be done later.
18496 (grub_main): Don't export prefix.
18497 It will be done later.
18498 * normal/context.c: New file.
18499 * normal/main.c (free_menu): Use grub_env_unset_menu.
18500 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18501 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18502 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18503 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18504
8dd35b8c
VS
185052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18506
18507 setpci support.
18508
18509 * commands/setpci.c: New file.
18510 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18511 (setpci_mod_SOURCES): New variable.
18512 (setpci_mod_CFLAGS): Likewise.
18513 (setpci_mod_LDFLAGS): Likewise.
18514
449193d5
VS
185152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18516
18517 Byte-addressable PCI configuration space.
18518
18519 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18520 dword address.
18521 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18522 GRUB_PCI_REG_CACHELINE.
18523 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18524 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18525 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18526 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18527 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18528 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18529 grub_pci_make_address.
18530 (lock_rom_area): Likewise.
18531 * commands/lspci.c (grub_lspci_iter): Use macroses
18532 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18533 of grub_pci_make_address.
18534 * disk/ata.c (grub_ata_pciinit): Likewise.
18535 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18536 (GRUB_PCI_REG_VENDOR): Likewise.
18537 (GRUB_PCI_REG_DEVICE): Likewise.
18538 (GRUB_PCI_REG_COMMAND): Likewise.
18539 (GRUB_PCI_REG_STATUS): Likewise.
18540 (GRUB_PCI_REG_REVISION): Likewise.
18541 (GRUB_PCI_REG_CLASS): Likewise.
18542 (GRUB_PCI_REG_CACHELINE): Likewise.
18543 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18544 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18545 (GRUB_PCI_REG_BIST): Likewise.
18546 (GRUB_PCI_REG_ADDRESSES): Likewise.
18547 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18548 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18549 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18550 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18551 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18552 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18553 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18554 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18555 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18556 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18557 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18558 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18559 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18560 (GRUB_PCI_REG_MIN_GNT): Likewise.
18561 (GRUB_PCI_REG_MAX_LAT): Likewise.
18562 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18563 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18564 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 18565 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
18566 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18567 space.
18568
96d73208
RM
185692010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18570
18571 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18572 can be reliably determined to be supported.
18573
d4484482
RM
185742010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18575
18576 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18577 that VESA is supported.
18578 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18579 supported.
18580
00308ecf
VS
185812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18584
f66924a4
RM
185852010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18586
18587 * util/misc.c (make_system_path_relative_to_its_root): Work around
18588 special-casing of "/", as previous incarnation of this routine did.
18589
cbca0ada
VS
185902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 Fix any-emu compilation.
18593
18594 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18595 * grub_bin2h_SOURCES: New variable.
18596
34a66d99
RM
185972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18598
18599 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18600
94fabf58
RM
186012010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18602
18603 * util/grub.d/00_header.in: Fix handling of locale_dir.
18604
02cf98ca
VS
186052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18608 as possible unifont location (Gentoo).
18609 Reported by: Alexander Brüning
18610
327dbcd7
VS
186112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 Don't try to generate lists for kernel.img.
18614
18615 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18616 (pkglib_MODULES): Remove kernel.img.
18617 (kernel_img_EXPORTS): Removed.
18618 (kernel_img_RELOCATABLE): New variable.
18619 * conf/x86_64-efi.rmk: Likewise.
18620 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18621
ca467290
VS
186222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18623
18624 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18625 grub_xasprintf or grub_snprintf.
18626 (grub_vsprintf): Likewise.
18627 (grub_snprintf): New proto.
18628 (grub_vsnprintf): Likewise.
18629 (grub_xasprintf): Likewise.
18630 (grub_xvasprintf): Likewise.
18631 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18632 (grub_sprintf): Removed.
18633 (grub_vsnprintf): New function.
18634 (grub_snprintf): Likewise.
18635 (grub_xvasprintf): Likewise.
18636 (grub_xasprintf): Likewise.
18637 (grub_vsprintf): Renamed to ...
18638 (grub_vsnprintf_real): ...this. New argument max_len.
18639
aca655fd
BC
186402010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18641
18642 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18643 fix grub-script-check warning.
18644
7ee92c32
VS
186452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * include/grub/font.h (grub_font_load): Fix prototype.
18648
f80927ca
VS
186492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18650
18651 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18652
119c50ea
VS
186532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * include/grub/x86_64/at_keyboard.h: New file.
18656
47d5f3c1
VS
186572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18658
18659 * loader/mips/linux.c: Include missing grub/i18n.h.
18660
55ff5266
RM
186612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18662
18663 * normal/menu.c (notify_execution_failure): Clarify error message.
18664
c893cc87
RM
186652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18666
18667 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18668 return value (and revert all return statements). Update users.
18669
917dd370
CW
186702010-01-20 Dan Merillat <debian@dan.merillat.org>
18671
18672 * kern/device.c (grub_device_iterate): Allocate new part_ent
18673 structure based on sizeof (*p) rather than sizeof (p->next), to
18674 account for structure padding.
18675
18676 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18677 disk is NULL, which might happen for LVM physical volumes with no
18678 LVM signature.
18679
d4a4ee57
RM
186802009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18681
18682 * loader/mips/linux.c (grub_cmd_initrd)
18683 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18684
186852009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18686
18687 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18688 (grub_video_video_init, grub_video_bitmap_init)
18689 (grub_font_manager_init, grub_term_gfxterm_init)
18690 (grub_at_keyboard_init): New extern declarations.
18691 (grub_machine_init): Initialize gfxterm and at_keyboard.
18692
18693 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18694
18695 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18696 `gfxterm.mod' into core image.
18697
18698 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18699 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18700 (kernel_img_FORMAT): Copy to ...
18701
18702 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18703 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18704 (kernel_img_FORMAT): ... here, and ...
18705
18706 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18707 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18708 (kernel_img_FORMAT): ... here.
18709
18710 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18711 and input (at_keyboard) terminals in kernel.
18712 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18713
18714 (pkglib_MODULES): Remove `pci.mod'.
18715 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18716 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18717 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18718 (at_keyboard_mod_LDFLAGS): Remove variables.
18719
187202010-01-11 Felix Zielcke <fzielcke@z-51.de>
18721
18722 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18723
187242009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18725
18726 * include/grub/mips/libgcc.h: Only export symbols for functions
18727 that libgcc provides.
18728
187292009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18730
18731 MIPS support.
18732
18733 * bus/bonito.c: New file.
18734 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18735 GRUB_PCI_NUM_DEVICES.
18736 * term/i386/pc/serial.c: Move to ...
18737 * term/serial.c: ... here. All users updated.
18738 * util/i386/pc/grub-mkimage.c: Move to ...
18739 * util/grub-mkrawimage.c: ... here. All users updated.
18740 * term/i386/pc/at_keyboard.c: Move to ...
18741 * term/at_keyboard.c: ... here. All users updated.
18742 * conf/mips-qemu-mips.rmk: New file.
18743 * conf/mips-yeeloong.rmk: Likewise.
18744 * conf/mips.rmk: Likewise.
18745 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18746 mipsel-qemu-mips.
18747 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18748 to port addresses.
18749 (grub_ata_pciinit): Support CS5536.
18750 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18751 * font/font_cmd.c (loadfont_command): Open file before passing it to
18752 grub_font_load.
18753 (pseudo_file_read): New function.
18754 (pseudo_file_close): Likewise.
18755 (pseudo_fs): New structure.
18756 (load_font_module): New function.
18757 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18758 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18759 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18760 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18761 * include/grub/i386/at_keyboard.h: Split into ...
18762 * include/grub/at_keyboard.h: ... this ...
18763 * include/grub/i386/at_keyboard.h: ... and this.
18764 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18765 New prototype.
18766 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18767 updated.
18768 (grub_elf64_size): Likewise.
18769 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18770 filename.
18771 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18772 * include/grub/i386/coreboot/serial.h: Rewritten.
18773 * include/grub/i386/ieee1275/serial.h: Include
18774 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18775 * include/grub/i386/pc/serial.h: Moved from here ...
18776 * include/grub/serial.h: ... to here. All users updated.
18777 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18778 (GRUB_PCI_NUM_BUS): Likewise.
18779 (GRUB_PCI_NUM_DEVICES): Likewise.
18780 (grub_pci_device_map_range): Add missing volatile keyword.
18781 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18782 * include/grub/mips/at_keyboard.h: New file.
18783 * include/grub/mips/cache.h: Likewise.
18784 * include/grub/mips/io.h: Likewise.
18785 * include/grub/mips/kernel.h: Likewise.
18786 * include/grub/mips/libgcc.h: Likewise.
18787 * include/grub/mips/pci.h: Likewise.
18788 * include/grub/mips/qemu-mips/boot.h: Likewise.
18789 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18790 * include/grub/mips/qemu-mips/loader.h: Likewise.
18791 * include/grub/mips/qemu-mips/memory.h: Likewise.
18792 * include/grub/mips/qemu-mips/serial.h: Likewise.
18793 * include/grub/mips/qemu-mips/time.h: Likewise.
18794 * include/grub/mips/relocator.h: Likewise.
18795 * include/grub/mips/time.h: Likewise.
18796 * include/grub/mips/types.h: Likewise.
18797 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18798 * include/grub/mips/yeeloong/boot.h: Likewise.
18799 * include/grub/mips/yeeloong/kernel.h: Likewise.
18800 * include/grub/mips/yeeloong/loader.h: Likewise.
18801 * include/grub/mips/yeeloong/memory.h: Likewise.
18802 * include/grub/mips/yeeloong/pci.h: Likewise.
18803 * include/grub/mips/yeeloong/serial.h: Likewise.
18804 * include/grub/mips/yeeloong/time.h: Likewise.
18805 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18806 * kern/elf.c (grub_elf32_size): New parameter. All users
18807 updated.
18808 (grub_elf64_size): Likewise.
18809 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18810 Load modules before saying "Welcome to GRUB!".
18811 Call grub_refresh after saying "Welcome to GRUB!".
18812 * kern/mips/cache.S: New file.
18813 * kern/mips/cache_flush.S: Likewise.
18814 * kern/mips/dl.c: Likewise.
18815 * kern/mips/init.c: Likewise.
18816 * kern/mips/qemu-mips/init.c: Likewise.
18817 * kern/mips/startup.S: Likewise.
18818 * kern/mips/yeeloong/init.c: Likewise.
18819 * kern/term.c (grub_putcode): Handle NULL terminal.
18820 (grub_getcharwidth): Likewise.
18821 (grub_getkey): Likewise.
18822 (grub_checkkey): Likewise.
18823 (grub_getkeystatus): Likewise.
18824 (grub_getxy): Likewise.
18825 (grub_getwh): Likewise.
18826 (grub_gotoxy): Likewise.
18827 (grub_cls): Likewise.
18828 (grub_setcolorstate): Likewise.
18829 (grub_setcolor): Likewise.
18830 (grub_getcolor): Likewise.
18831 (grub_refresh): Likewise.
18832 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18833 (write_jump): Add hatch nop.
18834 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18835 * lib/mips/setjmp.S: New file.
18836 * loader/mips/linux.c: Likewise.
18837 * term/i386/pc/at_keyboard.c: Move from here ...
18838 * term/at_keyboard.c: ... to here.
18839 * term/i386/pc/serial.c: Moved from here ...
18840 * term/serial.c: ... to here. All users updated.
18841 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18842 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18843 (serial_translate_key_sequence): Avoid deadlock.
18844 (grub_serial_getkey): Handle backspace.
18845 (grub_serial_putchar): Fix newline handling.
18846 * util/i386/pc/grub-mkimage.c: Move from here ...
18847 * util/grub-mkrawimage.c: ... to here. All users updated.
18848 (generate_image): New parameters 'font_path' and 'format'.
18849 Support embedding font.
18850 Use grub_host_to_target* instead of grub_cpu_to_le*.
18851 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18852 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18853 (options): New option "--font".
18854 (usage): Likewise.
18855 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18856 (main): Handle "--font".
18857 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18858 (grub_virtual_screen_setup): Set bg_color_display.
18859 (redraw_screen_rect): Use bg_color_display instead of incorrect
18860 bg_color.
18861 (grub_gfxterm_cls): Likewise.
18862 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18863 Support embedding config file.
18864 (add_segments): Likewise.
18865 (options): New option "--config".
18866 (main): Handle "--config".
18867 * video/sm712.c: New file.
18868
25c2b5b3
RM
188692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18870
18871 Fix parallel builds.
18872
18873 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18874 font.c depend on ascii.h).
18875
188762010-01-12 Carles Pina i Estany <carles@pina.cat>
18877
18878 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18879
188802010-01-11 Carles Pina i Estany <carles@pina.cat>
18881
18882 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18883 By default: disabled.
18884 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18885 parameter.
18886
188872010-01-10 Carles Pina i Estany <carles@pina.cat>
18888
18889 * font/font.c: Update copyright years.
18890 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18891
188922010-01-10 Carles Pina i Estany <carles@pina.cat>
18893
18894 * font/font.c: Include `ascii.h'.
18895 (ASCII_BITMAP_SIZE): New macro.
18896 (ascii_font_glyph): Define.
18897 (ascii_glyph_lookup): New function.
18898 (grub_font_get_string_width): Change comment. If glyph not found, use
18899 ascii_glyph_lookup.
18900 (grub_font_get_glyph_with_fallback): If glyph not available returns
18901 ascii_glyph_lookup.
18902 * util/grub-mkfont.c (file_formats): New enum.
18903 (options): Add `ascii-bitmaps' new option.
18904 (usage): Add `asii-bitmaps' new option.
18905 (write_font_ascii_bitmap): New function.
18906 (write_font): Rename to ...
18907 (write_font_p2): ... this. Remove print_glyphs call.
18908 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18909 used. Call print_glyphs.
18910 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18911
189122010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18913
18914 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18915 (grub_bin2h_SOURCES): New variable.
18916 * util/bin2h.c: New file.
18917
915fc1b8
VS
189182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 * include/multiboot.h: Resynced with spec.
18921 * include/multiboot2.h: Likewise.
18922 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18923 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18924
9444b678
RM
189252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18926
18927 * include/grub/term.h (grub_term_register_input,
18928 grub_term_register_output): Check return of terminal init()
18929 routines, and abort if errors are raised.
18930
18931 * commands/terminal.c: Update copyright year.
18932
cba98e8d
RM
189332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18934
18935 * commands/terminal.c (grub_cmd_terminal_input)
18936 (grub_cmd_terminal_output): Check return of terminal init()
18937 routines, and abort if errors are raised.
18938
6f7db5d6
VS
189392010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 * include/grub/i386/bsd.h: Fix include pathes.
18942
262bff8d
VS
189432010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 Add missing *BSD copyright headers.
18946
18947 * include/grub/aout.h: Add BSD licence.
18948 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18949 * include/grub/i386/freebsd_linker.h: ... here,
18950 * include/grub/i386/freebsd_reboot.h: ... here,
18951 * include/grub/i386/netbsd_bootinfo.h: ... here,
18952 * include/grub/i386/netbsd_reboot.h: ... here,
18953 * include/grub/i386/openbsd_bootarg.h: ... here,
18954 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18955 licence to each file.
18956
b2cab848
RM
189572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18958
18959 * acinclude.m4: Remove `nop' assembly instruction; it's not
18960 implemented by all architectures.
18961
2cb6be4b
RM
189622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18963
18964 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18965 ELILO. This is no longer necessary.
18966
a2eaee15
BC
189672010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18968
18969 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18970
18971 * util/grub-script-check.c: grub-script-check tool.
18972 * conf/common.rmk: Make rules for grub-script-check.
18973
88d17012
RM
189742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18975
18976 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18977 spotting it back in 2008. Shame on me for forgetting he did.
18978
18979 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18980
8040619d
RM
189812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18982
18983 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18984 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18985 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18986 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
18987 (GRUB_VIDEO_TYPE_EFI): Rename to ...
18988 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
18989
a0c2a0f6
RM
189902010-01-17 Robert Millan <rmh.grub@aybabtu.com>
18991
18992 * include/grub/test.h: Add license header.
18993 * tests/example_functional_test.c: Likewise.
18994 * tests/example_unit_test.c: Likewise.
18995 * tests/lib/functional_test.c: Likewise.
18996 * tests/lib/test.c: Likewise.
18997 * tests/lib/unit_test.c: Likewise.
18998
b0b13907
VS
189992010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
19000
19001 Use flag-based instead of hook-based video mode selection and "auto"
19002 keyword.
19003
19004 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
19005 (grub_video_set_mode): Changed prototype. All users updated.
19006 (grub_video_check_mode_flag): New inline function.
19007 * video/video.c (parse_modespec): New function.
19008 (grub_video_set_mode): Parse flags and keywords.
19009
ea379330 190102010-01-17 Carles Pina i Estany <carles@pina.cat>
19011
19012 * util/misc.c (grub_util_info): Fix the order of the parameters in a
19013 fprintf call.
19014
e15c215e
FZ
190152010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
19016
19017 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
19018
409ae1c9 190192010-01-16 Carles Pina i Estany <carles@pina.cat>
19020
19021 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
19022 string.
19023 * util/grub-emu.c (usage): Likewise.
19024 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
19025 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19026 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19027 * util/i386/pc/grub-setup.c (usage): Likewise.
19028
70a14d3d 190292010-01-16 Carles Pina i Estany <carles@pina.cat>
19030
19031 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
19032 the message.
19033 (grub_util_info): Likewise.
19034 (grub_util_error): Likewise.
19035 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
19036 and/or new lines in `grub_util_warna', `grub_util_info',
19037 `grub_util_error' calls.
19038 * util/getroot.c: Likewise.
19039 * util/grub-editenv.c: Likewise.
19040 * util/grub-emu.c: Likewise.
19041 * util/grub-fstest.c: Likewise.
19042 * util/grub-mkdevicemap.c: Likewise.
19043 * util/grub-mkfont.c: Likewise.
19044 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19045 * util/grub-mkrelpath.c: Likewise.
19046 * util/grub-pe2elf.c: Likewise.
19047 * util/grub-probe.c: Likewise.
19048 * util/hostdisk.c: Likewise.
19049 * util/i386/efi/grub-mkimage.c: Likewise.
19050 * util/i386/pc/grub-mkimage.c: Likewise.
19051 * util/i386/pc/grub-setup.c: Likewise.
19052 * util/ieee1275/ofpath.c: Likewise.
19053 * util/mkisofs/eltorito.c: Likewise.
19054 * util/mkisofs/rock.c: Likewise.
19055 * util/mkisofs/write.c: Likewise.
19056 * util/raid.c: Likewise.
19057 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19058 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19059
a0b766fc
VS
190602010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19061
19062 Enable multiboot on non-pc.
19063
19064 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
19065 multiboot.mod and multiboot2.mod to ...
19066 * conf/i386.rmk (pkglib_MODULES): ... here.
19067 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
19068 Moved to ...
19069 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
19070 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
19071 Moved to ...
19072 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
19073 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
19074 Moved to ...
19075 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
19076 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
19077 Moved to ...
19078 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
19079 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
19080 relocator.mod.
19081 (ata_mod_SOURCES): Removed.
19082 (ata_mod_CFLAGS): Likewise.
19083 (ata_mod_LDFLAGS): Likewise.
19084 (relocator_mod_SOURCES): Removed.
19085 (relocator_mod_CFLAGS): Likewise.
19086 (relocator_mod_ASFLAGS): Likewise.
19087 (relocator_mod_LDFLAGS): Likewise.
19088 Include i386.mk.
19089 * include/grub/x86_64/multiboot.h: New file.
19090 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
19091 Terminate EFI.
19092
884ade56
VS
190932010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 Video multiboot support.
19096
19097 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
19098 New prototype.
19099 * include/multiboot.h: Resynced with multiboot specification.
19100 * include/multiboot2.h: Likewise.
19101 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
19102 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
19103 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
19104 (HAS_VGA_TEXT): Likewise.
19105 (accepts_video): New variable.
19106 (grub_multiboot_set_accepts_video): New function.
19107 (grub_multiboot_get_mbi_size): Account for video structures.
19108 (set_video_mode): New function.
19109 (retrieve_video_parameters): Likewise.
19110 (grub_multiboot_make_mbi): Fill video fields.
19111
0d90e8a6
VS
191122010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 Video driver ids.
19115
19116 * include/grub/video.h (grub_video_driver_id): New type.
19117 (grub_video_adapter): New member 'id'. All users updated.
19118 (grub_video_get_driver_id): New proto.
19119 * video/video.c (grub_video_get_driver_id): New function.
19120
5c71db1b 191212010-01-14 Carles Pina i Estany <carles@pina.cat>
19122
19123 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19124 `var=val'.
19125
cca15b52 191262010-01-14 Carles Pina i Estany <carles@pina.cat>
19127
19128 * normal/cmdline.c (print_completion): Gettextizze.
19129
c586fbb2 191302001-01-14 Carles Pina i Estany <carles@pina.cat>
19131
19132 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19133
ba2f6848 191342010-01-14 Carles Pina i Estany <carles@pina.cat>
19135
19136 * gettext/gettext.c (grub_gettext_translate): Push and pop
19137 grub_errno.
19138 (grub_gettext_delete_list): Change comment style.
19139 * kern/err.c (grub_error): Gettextizze.
19140 (grub_fatal): Gettextizze.
19141
0a46429a
RM
191422010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19143
19144 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19145 (grub_linux16_real_boot): ... this.
19146 * kern/i386/loader.S: Likewise.
19147 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19148 (grub_linux16_boot): New function. Switches to text mode and calls
19149 grub_linux16_real_boot().
19150
19151 * loader/i386/bsd.c: Include `<grub/video.h>'.
19152 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19153 text mode before calling grub_unix_real_boot().
19154
19155 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19156 (grub_multiboot_boot): Switch to text mode before calling
19157 grub_relocator32_boot().
19158
19159 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19160 (grub_chainloader_boot): Switch to text mode before calling
19161 grub_chainloader_real_boot().
19162
d6f93a66
RM
191632010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
191642010-01-05 Colin Watson <cjwatson@ubuntu.com>
19165
19166 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19167 non-empty value.
19168
191692010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
191702010-01-05 Colin Watson <cjwatson@ubuntu.com>
19171
19172 * util/grub.d/00_header.in: Define a "savedefault" function for use
19173 in menu entries.
19174 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19175
191762010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
191772010-01-05 Colin Watson <cjwatson@ubuntu.com>
19178
19179 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19180 saved_entry if boot_once is unset.
19181 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19182 previous saved entry (i.e. grub-reboot).
19183
191842009-12-08 Colin Watson <cjwatson@ubuntu.com>
19185
19186 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19187
191882009-12-08 Colin Watson <cjwatson@ubuntu.com>
19189
19190 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19191 `var=val'.
19192 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19193
191942009-12-08 Colin Watson <cjwatson@ubuntu.com>
19195
19196 * util/grub-reboot.in: Fix --version output.
19197 * util/grub-set-default.in: Likewise.
19198
191992009-12-08 Colin Watson <cjwatson@ubuntu.com>
19200
19201 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19202 blocks.
19203
192042009-12-08 Colin Watson <cjwatson@ubuntu.com>
19205
19206 * util/grub.d/00_header.in: Quote the value assigned to `default',
19207 in case it contains spaces.
19208
192092009-12-08 Colin Watson <cjwatson@ubuntu.com>
19210
19211 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19212 `save_default_entry' call from the macosx case to the linux case.
19213
192142009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
192152009-10-25 Colin Watson <cjwatson@ubuntu.com>
19216
19217 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19218 in `chosen' environment variable.
19219 * normal/menu_text.c (get_entry_number): Check if the variable
19220 matches the title of a menu entry.
19221 (run_menu): Pass menu to get_entry_number.
19222
19223 * util/grub-reboot.in: New file.
19224 * util/grub-set-default.in: New file.
19225 * conf/common.rmk (grub-reboot): New utility.
19226 (grub-set-default): New utility.
19227
19228 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19229 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19230 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19231 move it to `saved_entry' for the next boot. Load environment on
19232 initialisation.
19233 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19234 * util/grub.d/10_hurd.in: Likewise.
19235 * util/grub.d/10_linux.in (linux_entry): Likewise.
19236 * util/grub.d/10_windows.in: Likewise.
19237 * util/grub.d/30_os-prober.in: Likewise.
19238
19239 * util/grub-install.in: Create environment block.
19240 * util/i386/efi/grub-install.in: Likewise.
19241 * util/ieee1275/grub-install.in: Likewise.
19242 * util/sparc64/ieee1275/grub-install.in: Likewise.
19243
0934d184
BC
192442010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19245
19246 Unit testing framework for GRUB.
19247
19248 * Makefile.in: Test framework build rules for 'make check'.
19249 * conf/tests.rmk: Build rules for individual tests and framework.
19250
19251 * include/grub/test.h: Header file for whitebox tests.
19252 * tests/lib/functional_test.c: Framework support for whitebox
19253 functional tests.
19254 * tests/lib/test.c: Common whitebox testing code for unit and
19255 functional tests.
19256 * tests/lib/unit_test.c: Framework support for whitebox unit
19257 tests.
19258
19259 * tests/util/grub-shell-tester.in: Support utility for grub-script
19260 tests.
19261 * tests/util/grub-shell.in: Utility to execute grub-script
19262 commands in a Qemu instance.
19263
19264 * tests/example_functional_test.c: Example whitebox functional
19265 test.
19266 * tests/example_grub_script_test.in: Example grub-script test.
19267 * tests/example_scripted_test.in: Example scripted test.
19268 * tests/example_unit_test.c: Example whitebox unit test.
19269
9c4ffeeb
VS
192702010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19271
19272 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19273 Add loader/i386/multiboot_mbi.c.
19274 (multiboot2_mod_SOURCES): Likewise.
19275 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19276 (multiboot2_mod_SOURCES): Likewise.
19277 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19278 (grub_multiboot_make_mbi): Likewise.
19279 (grub_multiboot_free_mbi): Likewise.
19280 (grub_multiboot_init_mbi): Likewise.
19281 (grub_multiboot_add_module): Likewise.
19282 (grub_multiboot_set_bootdev): Likewise.
19283 * loader/i386/multiboot.c (mbi): Removed.
19284 (mbi_dest): Likewise.
19285 (alloc_mbi): New variable.
19286 (grub_multiboot_payload_size): Removed. All users updated.
19287 (grub_multiboot_pure_size): New variable.
19288 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19289 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19290 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19291 (grub_fill_multiboot_mmap): Likewise.
19292 (grub_multiboot_get_bootdev): Likewise.
19293 (grub_multiboot): Use multiboot_mbi functions.
19294 * loader/i386/multiboot_mbi.c: New file.
19295
17383dfe
VS
192962010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19297
19298 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19299 it would result in module crash.
19300
c1f28820
VS
193012010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19304 (grub_ofconsole_getwh): Split to ...
19305 (grub_ofconsole_getwh): ... this.
19306 (grub_ofconsole_dimensions): ...and this.
19307 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19308
58655a16
RM
193092010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19310
19311 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19312
10891398
VS
193132010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * loader/i386/pc/multiboot2.c: Removed stalled file.
19316
0b8a223c
VS
193172010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19320 Reported by: Grégoire Sutre
19321
92ab12b0
RM
193222010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19323
19324 * util/misc.c (canonicalize_file_name): New function.
19325 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19326 instead of realpath().
19327
a788afb6
CW
193282010-01-11 Colin Watson <cjwatson@ubuntu.com>
19329
19330 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19331 and make it clearer that it's optional. Based on confusion
19332 witnessed on IRC.
19333
ffa8e3d2
VS
193342010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19337 in premature implicit newline.
19338
e9060a9d
VS
193392010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19342 which resulted in garbled command line at the end of screen.
19343
f0d0c0b7
RM
193442010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19345
19346 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19347 initialization with similar approach as with other Linux loaders.
19348
0e60bae7
RM
193492010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19350
19351 Fix i386-ieee1275 build.
19352
19353 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19354 and grub_term_height() for video_{width,height} initialization.
19355
193562010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
19357
19358 Fix grub-emu build.
19359
19360 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19361
cdb3f378
RM
193622010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
193632010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19364
19365 Support for multiple terminals.
19366
19367 * Makefile.in (pkglib_DATA): terminal.lst.
19368 (terminal.lst): New target.
19369 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19370 (GRUB_MOD_INIT(handler)): Likewise.
19371 (GRUB_MOD_FINI(handler)): Likewise.
19372 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19373 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19374 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19375 (grub_cmd_sleep): Use grub_term_save_pos.
19376 * commands/terminal.c: New file.
19377 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19378 commands/terminal.c and lib/charset.c.
19379 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19380 (pkglib_MODULES): Add terminal.mod.
19381 (terminal_mod_SOURCES): New variable.
19382 (terminal_mod_CFLAGS): Likewise.
19383 (terminal_mod_LDFLAGS): Likewise.
19384 * genhandlerlist.sh: Don't handle terminals.
19385 * genmk.rb: Generate terminal-*.lst.
19386 * genterminallist.sh: New file.
19387 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19388 (grub_is_valid_utf8): Likewise.
19389 (grub_utf8_to_ucs4_alloc): Likewise.
19390 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19391 (grub_menu_register_viewer): Changed argument.
19392 (grub_menu_try_text): New proto.
19393 (grub_gfxmenu_try_hook): New declaration.
19394 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19395 (grub_menu_init_page): Additional argument term.
19396 (grub_normal_init_page): Likewise.
19397 (grub_cmdline_get): Arguments simplified.
19398 (grub_utf8_to_ucs4_alloc): Removed.
19399 (grub_print_ucs4): Additional argument term.
19400 (grub_getstringwidth): Likewise.
19401 (grub_print_message_indented): Likewise.
19402 (grub_menu_text_register_instances): New proto.
19403 (grub_show_menu): Likewise.
19404 (read_terminal_list): Likewise.
19405 (grub_set_more): Likewise.
19406 * include/grub/parser.h: Include handler.h.
19407 * include/grub/reader.h: Rewritten.
19408 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19409 (GRUB_TERM_WIDTH): Changed to function.
19410 (GRUB_TERM_HEIGHT): Likewise.
19411 (GRUB_TERM_BORDER_WIDTH): Likewise.
19412 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19413 (GRUB_TERM_NUM_ENTRIES): Likewise.
19414 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19415 (GRUB_TERM_CURSOR_X): Likewise.
19416 (grub_term_input_class): Likewise.
19417 (grub_term_output_class): Likewise.
19418 (grub_term_outputs_disabled): New declaration.
19419 (grub_term_inputs_disabled): Likewise.
19420 (grub_term_outputs): Likewise.
19421 (grub_term_inputs): Likewise.
19422 (grub_term_register_input): Rewritten.
19423 (grub_term_register_output): Likewise.
19424 (grub_term_unregister_input): Likewise.
19425 (grub_term_unregister_output): Likewise.
19426 (FOR_ACTIVE_TERM_INPUTS): New macro.
19427 (FOR_DISABLED_TERM_INPUTS): Likewise.
19428 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19429 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19430 * include/grub/terminfo.h: Add oterm argument to all protypes.
19431 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19432 Use grub_rescue_run.
19433 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19434 All users updated.
19435 * kern/reader.c: Removed. All users updated.
19436 * kern/rescue_reader.c (grub_rescue_init): Removed.
19437 (grub_rescue_reader): Likewise.
19438 (grub_register_rescue_reader): Likewise.
19439 (grub_rescue_run): New function based on kern/reader.c.
19440 * kern/term.c: Adapted for multiterm.
19441 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19442 (grub_is_valid_utf8): Likewise.
19443 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19444 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19445 right terminal.
19446 * loader/i386/linux.c (grub_linux_boot): Likewise.
19447 * normal/auth.c (grub_username_get): New function.
19448 (grub_auth_check_authentication): Use grub_username_get.
19449 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19450 * normal/color.c: Adapt for multiterm.
19451 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19452 (grub_normal_init_page): Additional argument term.
19453 (read_lists): Call read_terminal_lists.
19454 (grub_enter_normal_mode): Call grub_cmdline_run.
19455 Handle grub_normal_exit_level.
19456 (grub_cmd_normal): Make reentrant.
19457 (grub_cmd_normal_exit): New function.
19458 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19459 * normal/menu.c: Adapt for multiterm.
19460 * normal/menu_entry.c: Likewise.
19461 * normal/menu_text.c: Likewise.
19462 * normal/menu_viewer.c: Removed. All users updated.
19463 * normal/term.c: New file.
19464 * util/console.c: Change order of includes to workaround a bug in
19465 ncurses headers.
19466 * term/terminfo.c: New argument oterm on all exported functions.
19467 All users updated.
19468 * util/grub-editenv.c (grub_term_input_class): Removed.
19469 (grub_term_output_class): Likewise.
19470
1a064917
RM
194712010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19472
19473 Make loader output a bit more user-friendly.
19474
19475 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19476 is being loaded. Likewise for the Hurd.
19477
19478 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19479 that kernel of FreeBSD ${version} is being loaded.
19480
19481 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19482 grub_dprintf().
19483 (grub_cmd_initrd): Likewise.
19484 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19485 that Linux ${version} is being loaded. Likewise for initrd.
19486
5ce0a83a 194872010-01-09 Carles Pina i Estany <carles@pina.cat>
19488
19489 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19490
809bbfeb 194912010-01-08 Carles Pina i Estany <carles@pina.cat>
19492
19493 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19494 (GRUB_MOD_INIT): Gettextizze.
19495 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19496 (GRUB_MOD_INIT): Gettextizze.
19497 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19498 (grub_cmd_linux): Capitalise Linux.
19499 (GRUB_MOD_INIT): Gettextizze.
19500 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19501 (grub_cmd_linux): Capitalise Linux.
19502 (GRUB_MOD_INIT): Gettextizze.
19503 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19504 (grub_cmd_linux): Capitalise Linux.
19505 (GRUB_MOD_INIT): Gettextizze.
19506 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19507 (GRUB_MOD_INIT): Gettextizze.
19508 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19509 (grub_cmd_linux): Capitalise Linux.
19510 (GRUB_MOD_INIT): Gettextizze.
19511 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19512 (grub_cpu_xnu_init): Gettextizze.
19513 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19514 (GRUB_MOD_INIT): Gettextizze.
19515 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19516 (GRUB_MOD_INIT): Gettextizze.
19517 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19518 (grub_linux_load64): Capitalise Linux.
19519 (GRUB_MOD_INIT): Gettextizze.
19520 * loader/xnu.c: Include `<grub/i18n.h>'.
19521 (GRUB_MOD_INIT): Gettextizze.
19522 * po/POTFILES: Add `loader/efi/appleloader.c',
19523 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19524 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19525 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19526 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19527 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19528 and `loader/xnu.c'.
19529
b394b2ca
RM
195302010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19531
19532 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19533
195342010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
19535
19536 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19537 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19538 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19539
bc8b32b3
RM
195402010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19541
19542 Reset Multiboot 2 support. New loader implements the draft in
19543 /branches/multiboot2 and shares as much code as possible with the
19544 production Multiboot 1 implementation.
19545
19546 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19547 * loader/multiboot2.c: Likewise.
19548 * loader/i386/multiboot_helper.S: Likewise.
19549 * include/multiboot2.h: Replace with latest version from the draft
19550 in /branches/multiboot2.
19551
19552 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19553 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19554 and `loader/multiboot2.c'.
19555 (pkglib_MODULES): Add `multiboot2.mod'.
19556 (multiboot2_mod_SOURCES): New variable.
19557 (multiboot2_mod_LDFLAGS): Likewise.
19558 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19559
19560 * conf/i386-pc.rmk: Likewise.
19561
19562 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19563 (multiboot_mod_SOURCES): Remove variable.
19564 (multiboot_mod_LDFLAGS): Likewise.
19565 (multiboot_mod_CFLAGS): Likewise.
19566
19567 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19568 `<multiboot2.h>' instead of `<multiboot.h>'.
19569 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19570 (MULTIBOOT_HEADER_MAGIC): New macros.
19571
19572 * loader/multiboot_loader.c (module_version_status): Remove variable.
19573 (find_multi_boot2_header): Remove function.
19574 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19575 logic. Always check for the Multiboot version we're compiling for.
19576 (grub_cmd_module_loader): Likewise.
19577 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19578 command instead of `multiboot'.
19579
5d2c52b8
RM
195802010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19581
19582 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19583 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19584 all users.
19585
53108d92
RM
195862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
195872010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19588
19589 Fix breakage introduced with previous commit.
19590
19591 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19592 commands.
19593 * normal/handler.c (read_handler_list): Revert part of previous commit
19594 affecting this file.
19595 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19596 (grub_normal_execute): ... here.
19597
e2e936b2
RM
195982010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19599
19600 Merge prefix-redefinition-fix branch.
19601
19602 * normal/autofs.c (read_fs_list): Make function capable of being
19603 run multiple times, gracefuly replacing the previous data
19604 structures.
19605 * normal/dyncmd.c (read_command_list): Likewise.
19606 * normal/handler.c (read_handler_list): Likewise.
19607 * normal/main.c (read_lists): New function. Calls all the
19608 list reading functions.
19609 (grub_normal_execute): Use read_lists() instead of calling all
19610 list reading functions explicitly. Register read_lists() as a
19611 variable hook attached to ${prefix}.
19612
607a3701
VS
196132010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19614
19615 Merge crypto branch.
19616
19617 * Makefile.in (pkglib_DATA): Add crypto.lst.
19618 (crypto.lst): New target.
19619 * commands/hashsum.c: New file.
19620 * commands/password.c (check_password): Use grub_crypto_memcmp.
19621 * commands/password_pbkdf2.c: New file.
19622 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19623 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19624 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19625 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19626 -I$(srcdir)/lib/libgcrypt_wrap.
19627 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19628 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19629 password_pbkdf2.mod.
19630 (crypto_mod_SOURCES): New variable.
19631 (crypto_mod_CFLAGS): Likewise.
19632 (crypto_mod_LDFLAGS): Likewise.
19633 (hashsum_mod_SOURCES): New variable.
19634 (hashsum_mod_CFLAGS): Likewise.
19635 (hashsum_mod_LDFLAGS): Likewise.
19636 (pbkdf2_mod_SOURCES): New variable.
19637 (pbkdf2_mod_CFLAGS): Likewise.
19638 (pbkdf2_mod_LDFLAGS): Likewise.
19639 (password_pbkdf2_mod_SOURCES): New variable.
19640 (password_pbkdf2_mod_CFLAGS): Likewise.
19641 (password_pbkdf2_mod_LDFLAGS): Likewise.
19642 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19643 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19644 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19645 Include conf/gcry.rmk.
19646 * include/grub/auth.h: Rewritten.
19647 * include/grub/crypto.h: New file.
19648 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19649 * include/grub/normal.h (read_crypto_list): New prototype.
19650 * lib/crypto.c: New file.
19651 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19652 * lib/pbkdf2.c: Likewise.
19653 * normal/auth.c (grub_auth_strcmp): Removed.
19654 (grub_iswordseparator): Likewise.
19655 (grub_auth_strword): Likewise.
19656 (is_authenticated): Use grub_strword.
19657 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19658 and grub_strword. Pass entered password to authentication callback.
19659 * normal/crypto.c: New file.
19660 * normal/main.c: Call read_crypto_list.
19661 * util/grub-mkpasswd-pbkdf2.c: New file.
19662 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19663
42841caa
VS
196642010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 Fix descent and ascent calculation.
19667
19668 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19669 (options): New option "asce".
19670 (usage): Likewise.
19671 (add_char): Ignore invalid glyphs for descent calculation.
19672 Calculate ascent from actual content.
19673 (print_glyphs): Use 'asce'.
19674 (write_font): Likewise. Allow ascent override.
19675 (main): Handle "asce" option.
19676
e7730de7 196772010-01-06 Carles Pina i Estany <carles@pina.cat>
19678
19679 * kern/err.c: Include `<grub/i18n.h>'.
19680 (grub_print_error): Add full stop. Gettextizze.
19681 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19682 (grub_bsd_load_elf): Capitalise ELF.
19683 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19684 (grub_cmd_freebsd_module): Likewise.
19685 (grub_cmd_freebsd_module_elf): Likewise.
19686 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19687
40e3a41f 196882010-01-06 Carles Pina i Estany <carles@pina.cat>
19689
19690 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19691 * commands/search_file.c (HELP_MESSAGE): New macro.
19692 * commands/search_label.c (HELP_MESSAGE): Likewise.
19693 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19694 * po/POTFILES: Add `commands/search_file.c',
19695 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19696 `commands/search.c'.
19697
83507e68
RM
196982010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19699
19700 * config.rpath: Update from Gnulib.
19701
465c787b
YB
197022010-01-05 Yves Blusseau <blusseau@zetam.org>
19703
19704 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19705
6581dd3a
YB
197062010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19707
19708 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19709
3bff18c5
CW
197102010-01-05 Colin Watson <cjwatson@ubuntu.com>
19711
19712 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19713 arguments to fread so that we get a return value in bytes, rather
19714 than something that will normally be rounded down to 0.
19715 Adjust error handling to avoid producing garbage when size_t is not
19716 the same size as long long.
19717
a1368118
CW
197182010-01-05 Colin Watson <cjwatson@ubuntu.com>
19719
19720 * util/mkisofs/write.c (padblock_write): Check return value of
19721 fread.
19722
7c302978
RM
197232010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19724
19725 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19726 floppy images now.
19727
19728 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19729
e33ace06
RM
197302010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19731
19732 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19733 instead of manual alignment.
19734 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19735 verbose). Avoid attempts to read past end of the device
19736 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19737 but GRUB_DISK_CACHE_SIZE may exceed that).
19738
4b856776
RM
197392010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19740
19741 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19742 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19743 it to upper layer.
19744
52c2d97f
VS
197452010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19748 New constant.
19749 (grub_efi_piwg_device_path): New structure
19750 (grub_efi_piwg_device_path_t): New type.
19751 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19752 (devpath_1): Transform to a structure. All users updated.
19753 (devpath_2): Likewise.
19754 (devpath_3): Likewise.
19755 (devpath_4): Likewise.
19756 (devpath_5): Likewise.
19757
98ff6a54
VS
197582010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 * loader/efi/appleloader.c: Restored. Update all users.
19761
3a73dcb6
RM
197622010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19763
19764 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19765
19766 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19767 (struct boot_blocklist): Move from here ...
19768 * include/grub/i386/pc/boot.h [ASM_FILE]
19769 (struct grub_boot_blocklist): ... to here. Update all users.
19770 (setup): Only initialize `start' member of `first_block'
19771 structure. Add assert() calls to verify the other members.
19772
19773 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19774 (generate_image): Fix broken blocklist length initialization.
19775 Add assert() call to verify blocklist `segment' field.
19776
ab0eeb0c
RM
197772010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19778
19779 * loader/efi/appleloader.c: Remove. Update all users.
19780
58bc8bd5
RM
197812010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19782
19783 * boot/i386/pc/boot.S: Update copyright year.
19784 * boot/i386/pc/cdboot.S: Likewise.
19785 * boot/i386/pc/diskboot.S: Likewise.
19786 * boot/i386/pc/lnxboot.S: Likewise.
19787 * boot/i386/pc/pxeboot.S: Likewise.
19788 * bus/pci.c: Likewise.
19789 * commands/cmp.c: Likewise.
19790 * commands/help.c: Likewise.
19791 * commands/hexdump.c: Likewise.
19792 * commands/i386/pc/halt.c: Likewise.
19793 * commands/i386/pc/play.c: Likewise.
19794 * commands/i386/pc/vbeinfo.c: Likewise.
19795 * commands/ls.c: Likewise.
19796 * commands/test.c: Likewise.
19797 * disk/dmraid_nvidia.c: Likewise.
19798 * disk/i386/pc/biosdisk.c: Likewise.
19799 * disk/ieee1275/nand.c: Likewise.
19800 * disk/ieee1275/ofdisk.c: Likewise.
19801 * disk/lvm.c: Likewise.
19802 * disk/raid.c: Likewise.
19803 * disk/raid6_recover.c: Likewise.
19804 * disk/scsi.c: Likewise.
19805 * fs/affs.c: Likewise.
19806 * fs/cpio.c: Likewise.
19807 * fs/ext2.c: Likewise.
19808 * fs/hfs.c: Likewise.
19809 * fs/iso9660.c: Likewise.
19810 * fs/ntfs.c: Likewise.
19811 * fs/sfs.c: Likewise.
19812 * fs/udf.c: Likewise.
19813 * fs/ufs.c: Likewise.
19814 * fs/xfs.c: Likewise.
19815 * gencmdlist.sh: Likewise.
19816 * genmk.rb: Likewise.
19817 * include/grub/disk.h: Likewise.
19818 * include/grub/efi/api.h: Likewise.
19819 * include/grub/efi/efi.h: Likewise.
19820 * include/grub/efi/pe32.h: Likewise.
19821 * include/grub/elf.h: Likewise.
19822 * include/grub/fs.h: Likewise.
19823 * include/grub/i386/at_keyboard.h: Likewise.
19824 * include/grub/i386/pc/memory.h: Likewise.
19825 * include/grub/i386/pc/vbe.h: Likewise.
19826 * include/grub/i386/pci.h: Likewise.
19827 * include/grub/i386/tsc.h: Likewise.
19828 * include/grub/ieee1275/ieee1275.h: Likewise.
19829 * include/grub/ntfs.h: Likewise.
19830 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19831 * include/grub/sparc64/libgcc.h: Likewise.
19832 * include/grub/symbol.h: Likewise.
19833 * include/grub/types.h: Likewise.
19834 * include/multiboot2.h: Likewise.
19835 * io/gzio.c: Likewise.
19836 * kern/device.c: Likewise.
19837 * kern/disk.c: Likewise.
19838 * kern/efi/efi.c: Likewise.
19839 * kern/efi/mm.c: Likewise.
19840 * kern/elf.c: Likewise.
19841 * kern/file.c: Likewise.
19842 * kern/i386/dl.c: Likewise.
19843 * kern/i386/pc/init.c: Likewise.
19844 * kern/i386/pc/startup.S: Likewise.
19845 * kern/ieee1275/ieee1275.c: Likewise.
19846 * kern/ieee1275/init.c: Likewise.
19847 * kern/main.c: Likewise.
19848 * kern/mm.c: Likewise.
19849 * kern/powerpc/dl.c: Likewise.
19850 * kern/sparc64/dl.c: Likewise.
19851 * kern/x86_64/dl.c: Likewise.
19852 * lib/hexdump.c: Likewise.
19853 * loader/efi/appleloader.c: Likewise.
19854 * loader/i386/ieee1275/linux.c: Likewise.
19855 * loader/i386/pc/chainloader.c: Likewise.
19856 * loader/i386/pc/linux.c: Likewise.
19857 * loader/i386/pc/multiboot2.c: Likewise.
19858 * loader/ieee1275/multiboot2.c: Likewise.
19859 * loader/multiboot2.c: Likewise.
19860 * loader/multiboot_loader.c: Likewise.
19861 * loader/powerpc/ieee1275/linux.c: Likewise.
19862 * normal/completion.c: Likewise.
19863 * normal/menu_entry.c: Likewise.
19864 * partmap/apple.c: Likewise.
19865 * util/grub.d/10_hurd.in: Likewise.
19866 * util/hostfs.c: Likewise.
19867 * video/readers/png.c: Likewise.
19868
e2d70b5c
CW
198692010-01-03 Colin Watson <cjwatson@ubuntu.com>
19870
19871 * include/grub/misc.h (GNUC_PREREQ): New macro.
19872 (ATTRIBUTE_ERROR): New macro.
19873 * include/grub/list.h (grub_bad_type_cast_real): Use
19874 ATTRIBUTE_ERROR.
19875
a173283f 198762010-01-03 Carles Pina i Estany <carles@pina.cat>
19877
19878 * normal/menu_text.c (print_message): Change messages.
19879
7fa7ff74 198802010-01-03 Carles Pina i Estany <carles@pina.cat>
19881
19882 * normal/menu_entry.c (store_completion): Gettextizze.
19883
136d24f6 198842010-01-03 Carles Pina i Estany <carles@pina.cat>
19885
19886 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19887
f936862e 198882010-01-03 Carles Pina i Estany <carles@pina.cat>
19889
19890 * po/POTFILES: Sort correctly.
19891
29c44ad1 198922010-01-03 Carles Pina i Estany <carles@pina.cat>
19893
19894 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19895 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19896 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19897 full stop.
19898 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19899 summary. Gettextizze the strings.
19900 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19901 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19902 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19903 full stop.
19904 (GRUB_MOD_INIT): Remove command name from summary.
19905 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19906 summary.
19907 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19908 * term/i386/pc/serial.c (options): Add full stops.
19909 (GRUB_MOD_INIT): Remove command name from the summary.
19910
77a79592 199112010-01-03 Carles Pina i Estany <carles@pina.cat>
19912
19913 * commands/acpi.c: Gettextizze help strings and/or options. Include
19914 `grub/i18n.h' if needed.
19915 * commands/blocklist.c: Likewise.
19916 * commands/boot.c: Likewise.
19917 * commands/cat.c: Likewise.
19918 * commands/cmp.c: Likewise.
19919 * commands/configfile.c: Likewise.
19920 * commands/crc.c: Likewise.
19921 * commands/date.c: Likewise.
19922 * commands/echo.c: Likewise.
19923 * commands/efi/fixvideo.c: Likewise.
19924 * commands/efi/loadbios.c: Likewise.
19925 * commands/gptsync.c: Likewise.
19926 * commands/halt.c: Likewise.
19927 * commands/handler.c: Likewise.
19928 * commands/hdparm.c: Likewise.
19929 * commands/hexdump.c: Likewise.
19930 * commands/i386/cpuid.c: Likewise.
19931 * commands/i386/pc/drivemap.c: Likewise.
19932 * commands/i386/pc/halt.c: Likewise.
19933 * commands/i386/pc/pxecmd.c: Likewise.
19934 * commands/i386/pc/vbeinfo.c: Likewise.
19935 * commands/i386/pc/vbetest.c: Likewise.
19936 * commands/ieee1275/suspend.c: Likewise.
19937 * commands/keystatus.c: Likewise.
19938 * commands/loadenv.c: Likewise.
19939 * commands/ls.c: Likewise.
19940 * commands/lsmmap.c: Likewise.
19941 * commands/lspci.c: Likewise.
19942 * commands/memrw.c: Likewise.
19943 * commands/minicmd.c: Likewise.
19944 * commands/parttool.c: Likewise.
19945 * commands/password.c: Likewise.
19946 * commands/probe.c: Likewise.
19947 * commands/read.c: Likewise.
19948 * commands/reboot.c: Likewise.
19949 * commands/search.c: Likewise.
19950 * commands/sleep.c: Likewise.
19951 * commands/test.c: Likewise.
19952 * commands/true.c: Likewise.
19953 * commands/usbtest.c: Likewise.
19954 * commands/videotest.c: Likewise.
19955 * commands/xnu_uuid.c: Likewise.
19956 * disk/loopback.c: Likewise.
19957 * hello/hello.c: Likewise.
19958 * loader/i386/bsd.c: Likewise.
19959 * term/i386/pc/serial.c: Likewise.
19960 * po/POTFILES: Add new files.
19961
da8d5c53
CW
199622010-01-02 Colin Watson <cjwatson@ubuntu.com>
19963
19964 * term/i386/pc/at_keyboard.c
19965 (keyboard_controller_wait_untill_ready): Rename to ...
19966 (keyboard_controller_wait_until_ready): ... this. Update all users.
19967
33937904 199682010-01-01 Carles Pina i Estany <carles@pina.cat>
19969
19970 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19971 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19972 string using string width.
19973 * normal/menu_text.c (grub_print_message_indented): Use
19974 grub_print_spaces and not print_spaces.
19975 (print_timeout): Likewise.
19976 (print_spaces): Move to...
19977 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19978
3fd3b8d8
RM
199792010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19980
19981 Import from Gnulib.
19982
19983 * gnulib/getdelim.c: New file.
19984 * gnulib/getline.c: Likewise.
19985
33433555
VS
199862009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
19987
19988 * include/grub/list.h (grub_assert_fail): Removed.
19989 (grub_bad_type_cast_real): New function.
19990 (grub_bad_type_cast): New macro.
19991 (GRUB_AS_LIST): Use grub_bad_type_cast.
19992 (GRUB_AS_LIST_P): Likewise.
e44721e8 19993 (GRUB_AS_NAMED_LIST): Likewise.
33433555 19994 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 19995 (GRUB_AS_PRIO_LIST): Likewise.
33433555 19996 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 19997 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 19998
f5a51306
VS
199992009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
20002 Fix syntax error.
20003
90d1e879
RM
200042009-12-29 Robert Millan <rmh.grub@aybabtu.com>
20005
20006 * configure.ac: Check for TARGET_CFLAGS initialization before we
20007 initialize it ourselves (sigh).
20008 Move a few modifications to TARGET_CFLAGS to be unconditional
20009 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
20010 eh_frame)
20011
20012 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
20013 * term/i386/pc/at_keyboard.c
20014 (keyboard_controller_wait_untill_ready): Likewise.
20015 (keyboard_controller_led): Rename `led_status' paramter to avoid
20016 name conflict.
20017
465b5a81 200182009-12-28 Carles Pina i Estany <carles@pina.cat>
20019
20020 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
20021 quotes.
20022
c181849b
VS
200232009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20024
20025 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
20026
9c8739a4
VS
200272009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 * normal/menu_text.c (grub_print_message_indented): Prevent
20030 past-the-end-of-array dereference.
20031
3e74249c
VS
200322009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
20035 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
20036
64fd18ed 200372009-12-27 Carles Pina i Estany <carles@pina.cat>
20038
20039 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
20040 * normal/main.c (grub_normal_read_line): Remove a space from the
20041 default prompt.
20042
714af9b9 200432009-12-27 Carles Pina i Estany <carles@pina.cat>
20044
20045 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
20046 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20047 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20048 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20049 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20050 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20051 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20052
82f3e412 200532009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 20054
20055 * video/readers/jpeg.c (cmd): Declare.
20056 (grub_cmd_jpegtest): Use `grub_command_t' type.
20057 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20058 Assign to `cmd'.
20059 (GRUB_MOD_FINI): Use `cmd' to unregister.
20060 * video/readers/png.c (cmd): Declare.
20061 (grub_cmd_pngtest): Use `grub_command_t' type.
20062 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20063 Assign to `cmd'.
20064 (GRUB_MOD_FINI): Use `cmd' to unregister.
20065 * video/readers/tga.c (cmd): Declare.
20066 (grub_cmd_tgatest): Use `grub_command_t' type.
20067 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20068 Assign to `cmd'.
20069 (GRUB_MOD_FINI): Use `cmd' to unregister.
20070
82f3e412 200712009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 20072
20073 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
20074 stops.
20075 * kern/corecmd.c (grub_register_core_commands): Likewise.
20076 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
20077 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20078 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
20079 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20080 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20081 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
20082 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20083 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
20084 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20085 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20086 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20087 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20088 * normal/handler.c (insert_handler): Likewise.
20089 * normal/main.c (GRUB_MOD_INIT): Likewise.
20090 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20091
fdcdbb66 200922009-12-26 Carles Pina i Estany <carles@pina.cat>
20093
20094 * commands/help.c (grub_cmd_help): Print the command name before the
20095 summary.
20096 (GRUB_MOD_INIT): Remove command name from the summary.
20097 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 20098 string as summary.
fdcdbb66 20099 * lib/arg.c (find_long): Print the command name before the summary.
20100 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
20101 summary.
20102 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
20103 * commands/cat.c (GRUB_MOD_INIT): Likewise.
20104 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
20105 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20106 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20107 * commands/date.c (GRUB_MOD_INIT): Likewise.
20108 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20109 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20110 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20111 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20112 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20113 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20114 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20115 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20116 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20117 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20118 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20119 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20120 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20121 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20122 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20123 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20124 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20125 * commands/password.c (GRUB_MOD_INIT): Likewise.
20126 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20127 * commands/read.c (GRUB_MOD_INIT): Likewise.
20128 * commands/search.c (GRUB_MOD_INIT): Likewise.
20129 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20130 * commands/test.c (GRUB_MOD_INIT): Likewise.
20131 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20132 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20133 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20134 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20135 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20136 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20137 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20138 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20139 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20140 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20141 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20142 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20143 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20144 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20145
9c288be2
VS
201462009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20147
20148 Use search command for preliminar UUID search.
20149
20150 * commands/search.c: Split into ...
20151 * commands/search_wrap.c: ...this
20152 * commands/search.c: ...and this.
20153 * commands/search_file.c: New file.
20154 * commands/search_label.c: New file.
20155 * commands/search_uuid.c: New file.
20156 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20157 Add commands/search_wrap.c, commands/search_file.c,
20158 commands/search_label.c and commands/search_uuid.c.
20159 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20160 (search_mod_SOURCES): Set to commands/search_wrap.c.
20161 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20162 search_label.mod.
20163 (search_fs_file_mod_SOURCES): New variable.
20164 (search_fs_file_mod_CFLAGS): Likewise.
20165 (search_fs_file_mod_LDFLAGS): Likewise.
20166 (search_label_mod_SOURCES): Likewise.
20167 (search_label_mod_CFLAGS): Likewise.
20168 (search_label_mod_LDFLAGS): Likewise.
20169 (search_fs_uuid_mod_SOURCES): New variable.
20170 (search_fs_uuid_mod_CFLAGS): Likewise.
20171 (search_fs_uuid_mod_LDFLAGS): Likewise.
20172 (fs_file_mod_SOURCES): Removed.
20173 (fs_file_mod_CFLAGS): Likewise.
20174 (fs_file_mod_LDFLAGS): Likewise.
20175 (fs_uuid_mod_SOURCES): Removed.
20176 (fs_uuid_mod_CFLAGS): Likewise.
20177 (fs_uuid_mod_LDFLAGS): Likewise.
20178 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20179 Set to util/grub-install.in.
20180 * disk/fs_file.c: Removed.
20181 * disk/fs_uuid.c: Likewise.
20182 * include/grub/search.h: New file.
20183 * util/grub-install.in: Handle sparc64.
20184 Create and use load.cfg.
20185 * util/sparc64/ieee1275/grub-install.in: Removed.
20186
db943399
VS
201872009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20190 Ignore return status if CF is cleared.
20191 (grub_biosdisk_get_diskinfo_standard): Likewise.
20192
3fdae612
RM
201932009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20194
20195 * term/i386/pc/at_keyboard.c
20196 (keyboard_controller_wait_untill_ready): New function.
20197 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20198 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20199 for keyboard polling, rather than duplicate the same loop. This
20200 saves a few bytes in code size.
20201
7ebaa2b4
VS
202022009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20203
20204 Support for (pxe[:server[:gateway]]) syntax and
20205 use environment variable for PXE.
20206
20207 * commands/i386/pc/pxecmd.c (options): Removed.
20208 (print_ip): Removed.
20209 (grub_cmd_pxe): Removed
20210 (grub_cmd_pxe_unload): New function.
20211 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20212 (grub_pxe_your_ip): Made static.
20213 (grub_pxe_default_server_ip): Likewise.
20214 (grub_pxe_default_gateway_ip): Likewise.
20215 (grub_pxe_blksize): Likewise.
20216 (parse_ip): New function.
20217 (grub_pxe_open): Support server and gateway specification.
20218 (grub_pxe_close): Free disk->data.
20219 (grub_pxefs_open): Use disk->data.
20220 (grub_pxefs_read): Likewise.
20221 (grub_env_write_readonly): New function.
20222 (set_mac_env): Likewise.
20223 (set_env_limn_ro): Likewise.
20224 (parse_dhcp_vendor): Likewise.
20225 (grub_pxe_detect): Set the environment variables.
20226 (set_ip_env): New function.
20227 (write_ip_env): Likewise.
20228 (grub_env_write_pxe_default_server): Likewise.
20229 (grub_env_write_pxe_default_gateway): Likewise.
20230 (grub_env_write_pxe_blocksize): Likewise.
20231 (GRUB_MOD_INIT(pxe)): Set environment variables.
20232 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20233 (grub_pxe_mac_addr_t): ... this. All users updated.
20234 (grub_pxe_your_ip): Removed.
20235 (grub_pxe_server_ip): Likewise.
20236 (grub_pxe_gateway_ip): Likewise.
20237 (grub_pxe_blksize): Likewise.
20238
ec5f98ab 202392009-12-25 Carles Pina i Estany <carles@pina.cat>
20240
20241 * commands/help.c: Include `<grub/i18n.h>'.
20242 (grub_cmd_help): Gettextizze.
20243 (GRUB_MOD_INIT): Likewise.
20244 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20245 (GRUB_MOD_INIT): Gettextizze.
20246 * commands/search.c: Include `<grub/i18n.h>'.
20247 (options): Gettextizze.
20248 (GRUB_MOD_INIT): Gettextizze.
20249 * lib/arg.c: Include `<grub/i18n.h>'.
20250 (help_options): Gettextizze.
20251 (find_long): Likewise.
20252 (grub_arg_show_help): Likewise.
20253 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20254 (read_command_list): Gettextizze.
20255 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 20256 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 20257
22815526
RM
202582009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20259
20260 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20261 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20262 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20263 (led_status): New variable.
20264 (keyboard_controller_led): New function.
20265 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20266 update led status for caps lock, num lock and scroll lock.
20267
0ad46fd7
FZ
202682009-12-25 Felix Zielcke <fzielcke@z-51.de>
20269
20270 * util/hostdisk.c (open_device): Fix a comment.
20271
d0e158c2
RM
202722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20273
20274 * util/grub-install.in (host_os): New variable.
20275 * util/i386/efi/grub-install.in (host_os): Likewise.
20276
401c0ad6
RM
202772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20278
20279 * util/mkisofs/write.c (padblock_write): Abort when given an
20280 excedingly large embed image, instead of silently truncating it.
20281
d14d3370
RM
202822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20283
20284 * include/multiboot.h: Indentation fixes.
20285
eeed10b4
RM
202862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20287
20288 * include/multiboot.h (struct multiboot_aout_symbol_table)
20289 (struct multiboot_elf_section_header_table): New structure
20290 declarations (stolen from GRUB Legacy).
20291 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20292 table information.
20293
20294 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20295 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20296 type aliases.
20297
681c70ab
RM
202982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20299
20300 * include/multiboot.h: Make comments src2texi-friendly.
20301
e4d47d8d
RM
203022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20303
20304 For consistency with [multiboot]/docs/boot.S.
20305
20306 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20307 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20308 (MULTIBOOT_MAGIC2): Rename from this ...
20309 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20310
a0b70bda
RM
203112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20312
20313 * include/multiboot.h: Remove `<grub/types.h>'.
20314 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20315 types. Update all users.
20316
61ba42be 203172009-12-25 Carles Pina i Estany <carles@pina.cat>
20318
20319 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20320 `couldn't' and `can not' by `cannot'.
20321 * commands/i386/pc/drivemap.c: Likewise.
20322 * disk/ata.c: Likewise.
20323 * disk/ieee1275/nand.c: Likewise.
20324 * fs/affs.c: Likewise.
20325 * fs/fat.c: Likewise.
20326 * fs/hfs.c: Likewise.
20327 * fs/hfsplus.c: Likewise.
20328 * fs/iso9660.c: Likewise.
20329 * fs/jfs.c: Likewise.
20330 * fs/minix.c: Likewise.
20331 * fs/reiserfs.c: Likewise.
20332 * fs/sfs.c: Likewise.
20333 * fs/udf.c: Likewise.
20334 * fs/ufs.c: Likewise.
20335 * fs/xfs.c: Likewise.
20336 * loader/powerpc/ieee1275/linux.c: Likewise.
20337 * loader/sparc64/ieee1275/linux.c: Likewise.
20338 * util/grub-probe.c: Likewise.
20339 * util/misc.c: Likewise.
20340
7fd0baee 203412009-12-24 Carles Pina i Estany <carles@pina.cat>
20342
20343 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20344 grub_errno calls.
20345 * commands/acpi.c: Likewise.
20346 * commands/blocklist.c: Likewise.
20347 * commands/efi/loadbios.c: Likewise.
20348 * commands/i386/pc/drivemap.c: Likewise.
20349 * commands/loadenv.c: Likewise.
20350 * commands/memrw.c: Likewise.
20351 * commands/password.c: Likewise.
20352 * commands/videotest.c: Likewise.
20353 * disk/ata.c: Likewise.
20354 * disk/ata_pthru.c: Likewise.
20355 * disk/dmraid_nvidia.c: Likewise.
20356 * disk/ieee1275/nand.c: Likewise.
20357 * disk/ieee1275/ofdisk.c: Likewise.
20358 * disk/loopback.c: Likewise.
20359 * disk/lvm.c: Likewise.
20360 * disk/mdraid_linux.c: Likewise.
20361 * disk/raid.c: Likewise.
20362 * disk/raid6_recover.c: Likewise.
20363 * disk/scsi.c: Likewise.
20364 * efiemu/main.c: Likewise.
20365 * efiemu/mm.c: Likewise.
20366 * efiemu/pnvram.c: Likewise.
20367 * efiemu/symbols.c: Likewise.
20368 * font/font.c: Likewise.
20369 * fs/cpio.c: Likewise.
20370 * fs/hfsplus.c: Likewise.
20371 * fs/iso9660.c: Likewise.
20372 * fs/jfs.c: Likewise.
20373 * fs/minix.c: Likewise.
20374 * fs/ntfs.c: Likewise.
20375 * fs/ntfscomp.c: Likewise.
20376 * fs/reiserfs.c: Likewise.
20377 * fs/ufs.c: Likewise.
20378 * fs/xfs.c: Likewise.
20379 * gettext/gettext.c: Likewise.
20380 * include/grub/auth.h: Likewise.
20381 * kern/elf.c: Likewise.
20382 * kern/file.c: Likewise.
20383 * kern/ieee1275/init.c: Likewise.
20384 * kern/ieee1275/mmap.c: Likewise.
20385 * kern/ieee1275/openfw.c: Likewise.
20386 * kern/powerpc/dl.c: Likewise.
20387 * kern/sparc64/dl.c: Likewise.
20388 * lib/arg.c: Likewise.
20389 * loader/i386/bsd.c: Likewise.
20390 * loader/i386/bsdXX.c: Likewise.
20391 * loader/i386/efi/linux.c: Likewise.
20392 * loader/i386/efi/xnu.c: Likewise.
20393 * loader/i386/ieee1275/linux.c: Likewise.
20394 * loader/i386/linux.c: Likewise.
20395 * loader/i386/multiboot.c: Likewise.
20396 * loader/i386/pc/linux.c: Likewise.
20397 * loader/i386/pc/multiboot2.c: Likewise.
20398 * loader/i386/xnu.c: Likewise.
20399 * loader/ieee1275/multiboot2.c: Likewise.
20400 * loader/macho.c: Likewise.
20401 * loader/machoXX.c: Likewise.
20402 * loader/multiboot2.c: Likewise.
20403 * loader/multiboot_loader.c: Likewise.
20404 * loader/powerpc/ieee1275/linux.c: Likewise.
20405 * loader/sparc64/ieee1275/linux.c: Likewise.
20406 * loader/xnu.c: Likewise.
20407 * loader/xnu_resume.c: Likewise.
20408 * mmap/i386/pc/mmap.c: Likewise.
20409 * normal/menu_viewer.c: Likewise.
20410 * partmap/acorn.c: Likewise.
20411 * partmap/amiga.c: Likewise.
20412 * partmap/apple.c: Likewise.
20413 * script/lexer.c: Likewise.
20414 * term/gfxterm.c: Likewise.
20415 * term/i386/pc/serial.c: Likewise.
20416 * term/i386/pc/vga.c: Likewise.
20417 * term/ieee1275/ofconsole.c: Likewise.
20418 * term/terminfo.c: Likewise.
20419 * video/bitmap.c: Likewise.
20420 * video/efi_gop.c: Likewise.
20421 * video/efi_uga.c: Likewise.
20422 * video/fb/video_fb.c: Likewise.
20423 * video/i386/pc/vbe.c: Likewise.
20424 * video/readers/tga.c: Likewise.
20425 * video/video.c: Likewise.
20426
0ad46fd7 204272009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
20428
20429 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20430 * commands/lspci.c: Likewise.
20431 * commands/probe.c: Likewise.
20432 * commands/xnu_uuid.c: Likewise.
20433 * conf/i386-coreboot.rmk: Likewise.
20434 * conf/i386-efi.rmk: Likewise.
20435 * conf/i386-ieee1275.rmk: Likewise.
20436 * conf/i386-pc.rmk: Likewise.
20437 * conf/powerpc-ieee1275.rmk: Likewise.
20438 * conf/sparc64-ieee1275.rmk: Likewise.
20439 * conf/x86_64-efi.rmk: Likewise.
20440 * fs/i386/pc/pxe.c: Likewise.
20441 * gettext/gettext.c: Likewise.
20442 * include/grub/efi/graphics_output.h: Likewise.
20443 * include/grub/i386/pc/memory.h: Likewise.
20444 * kern/env.c: Likewise.
20445 * kern/i386/qemu/startup.S: Likewise.
20446 * lib/i386/pc/biosnum.c: Likewise.
20447 * lib/i386/relocator.c: Likewise.
20448 * lib/i386/relocator_asm.S: Likewise.
20449 * lib/relocator.c: Likewise.
20450 * loader/i386/bsd.c: Likewise.
20451 * loader/i386/multiboot.c: Likewise.
20452 * loader/i386/pc/chainloader.c: Likewise.
20453 * loader/i386/xnu.c: Likewise.
20454 * loader/xnu.c: Likewise.
20455 * normal/main.c: Likewise.
20456 * normal/menu_text.c: Likewise.
20457 * util/getroot.c: Likewise.
20458 * util/grub-mkconfig_lib.in: Likewise.
20459 * util/grub.d/00_header.in: Likewise.
20460 * util/i386/pc/grub-mkimage.c: Likewise.
20461 * util/mkisofs/eltorito.c: Likewise.
20462 * util/mkisofs/exclude.h: Likewise.
20463 * util/mkisofs/hash.c: Likewise.
20464 * util/mkisofs/iso9660.h: Likewise.
20465 * util/mkisofs/joliet.c: Likewise.
20466 * util/mkisofs/mkisofs.c: Likewise.
20467 * util/mkisofs/mkisofs.h: Likewise.
20468 * util/mkisofs/multi.c: Likewise.
20469 * util/mkisofs/name.c: Likewise.
20470 * util/mkisofs/rock.c: Likewise.
20471 * util/mkisofs/tree.c: Likewise.
20472 * util/mkisofs/write.c: Likewise.
20473 * video/efi_gop.c: Likewise.
20474
009ec743
VS
204752009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20478 size counting.
20479
0ad46fd7 204802009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
20481
20482 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20483 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20484
d3d30ea0
VS
204852009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20486
20487 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20488 (GRUB_MOD_INIT(memrw)): Update help line.
20489
a34f5c70
VS
204902009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20493 Use grub_extcmd_t. All users updated.
20494 (options): New variable.
20495 (grub_cmd_read): Restructure for readability. Support "-v" option.
20496 (grub_cmd_write): Restructure for readability.
20497
0ad46fd7 204982009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
20499
20500 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20501
0ad46fd7 205022009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
20503
20504 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20505 with the actual contents of the correspondending make variable.
20506 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20507 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20508 specifying `*.lst' and `efiemu??.o'
20509
0ad46fd7 205102009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
20511
20512 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20513 after function name.
20514 Noticed by Rene Engelhard <rene@debian.org>.
20515
dc77a799
VS
205162009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20517
20518 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20519 (options): New variable.
20520 (iospace): Likewise.
20521 (grub_lspci_iter): List IO spaces if "-i" was given.
20522 (grub_cmd_lspci): Parse options.
20523 (GRUB_MOD_INIT(lspci)): Use extcmd.
20524 (GRUB_MOD_FINI(lspci)): Likewise.
20525
0ad46fd7 205262009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
20527
20528 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20529 `function' keyword.
20530 Patch by Tony Mancill <tmancill@debian.org>.
20531
b5d5993b
VS
205322009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20533
20534 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20535 (grub_uhci_portstatus): Likewise.
20536 (grub_uhci_portstatus): Add necessary delay.
11d18281 20537 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 20538
941903f2 205392009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 20540
941903f2 20541 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20542 (GRUB_MOD_INIT): Likewise.
20543 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 20544 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20545 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 20546 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20547 (enable_rom_area): Likewise.
20548 (GRUB_MOD_INIT): Likewise.
20549 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20550 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20551 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20552 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20553 * commands/hexdump.c (options): Likewise.
20554 * commands/i386/cpuid.c (options): Likewise.
20555 (GRUB_MOD_INIT): Likewise.
20556 * commands/i386/pc/drivemap.c (options): Likewise.
20557 (GRUB_MOD_INIT): Likewise.
20558 * commands/i386/pc/halt (options): Likewise.
20559 (GRUB_MOD_INIT): Likewise.
20560 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20561 * commands/i386/pc/pxecmd.c (options): Likewise.
20562 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20563 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20564 * commands/keystatus.c (options): Likewise.
20565 (GRUB_MOD_INIT): Likewise.
20566 * commands/loadenv.c (options): Likewise.
20567 * commands/ls.c (options): Likewise.
20568 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20569 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20570 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20571 * commands/parttool.c (helpmsg): Likewise.
20572 * commands/probe.c (options): Likewise.
20573 * commands/read.c (GRUB_MOD_INIT): Likewise.
20574 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20575 * commands/search.c (options): Likewise.
20576 * commands/sleep.c (options): Likewise.
20577 * commands/test.c (GRUB_MOD_INIT): Likewise.
20578 * commands/true.c (GRUB_MOD_INIT): Likewise.
20579 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20580 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20581 * lib/arg.c (help_options): Likewise.
e9bbb4e7 20582 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20583 `$(XGETTEXT)'.
98a50553 20584 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 20585
0ad46fd7 205862009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 20587
ef3c2c3a 20588 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
20589 instead of specifying them explicit.
20590
7922f68b
RM
205912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20592
20593 * NEWS: Add grub-probe support for GNU/Hurd.
20594
537ce47f
RM
205952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20596
20597 * NEWS: gettext was added after 1.97.
20598
9b214e3a
RM
205992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20600
20601 * util/mkisofs/msdos_partition.h: New file (based on
20602 include/grub/msdos_partition.h).
20603 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20604 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20605 (ld_options, main): Recognize --protective-msdos-label.
20606 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20607 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20608 (padblock_write): If `use_protective_msdos_label' is set, patch a
20609 protective DOS-style label in the output image.
20610
20611 * util/grub-mkrescue.in: Use --protective-msdos-label.
20612
e9309813
RM
206132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20614
20615 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20616 boot.
20617
0ae56929
RM
206182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20619
20620 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20621 variables.
20622 (ld_options, main): Recognize `--embedded-boot'.
20623 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20624 declarations.
20625 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20626 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20627 (padblock_write): Likewise. Rewrite to support embedded boot image.
20628
20629 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20630 for BIOS-based disk boot instead of only ElTorito.
20631
b15937b1
RM
206322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20633
20634 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20635 build (not needed for bootstrap).
20636
52cc3ce0
RM
206372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20638
20639 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20640 from i386-pc build (not needed for bootstrap).
20641 Rewrite a pair of strings.
20642
36f5ff04
RM
206432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20644
20645 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20646
973c6c85 206472009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
20648
20649 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20650
05d21547
AB
206512009-12-21 Andreas Born <futur.andy@googlemail.com>
20652
20653 * kern/env.c (grub_env_context_open): Mark exported variable for
20654 reexport.
20655
0175d51f
AB
206562009-12-21 Andreas Born <futur.andy@googlemail.com>
20657
20658 * kern/env.c (grub_env_export): Create nonexistent variables before
20659 exporting.
20660
7f39d92f 206612009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 20662
7f39d92f 20663 * include/grub/auth.h: Include `<grub/i18n.h>'.
20664 (GRUB_GET_PASSWORD): Gettextizze string.
20665 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20666 menu_text.c.
20667 (grub_utf8_to_ucs4_alloc): Fix indentation.
20668 (grub_print_ucs4): Likewise.
20669 (grub_getstringwidth): Likewise.
20670 (print_message_indented): New declaration.
20671 * normal/auth.c: Include `<grub/i18n.h>'.
20672 (grub_auth_check_authentication): Gettexttize string.
20673 * normal/cmdline.c: Include `<grub/i18n.h>'.
20674 (grub_cmdline_get): Gettextizze.
20675 * normal/color.c: Include `<grub/i18n.h>'.
20676 (grub_parse_color_name_pair): Gettexttize strings.
20677 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20678 string (use `print_message_indented').
20679 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20680 `include/grub/normal.h'.
20681 (print_message_indented): Renamed to ...
20682 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20683 used in normal/main.c).
20684 (print_message): Use `grub_print_message_indented' instead of
20685 `print_message_indented'.
20686 (print_timeout): Likewise.
20687 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20688 (grub_normal_print_device_info): Gettexttize strings.
20689 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20690
3041d898
VS
206912009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20694 of arguments. Return number of tokens and not arguments. All users
20695 updated.
20696
de15bf8e
VS
206972009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20700 non-MSDOS paritions.
20701
e0a6ca52
VS
207022009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * include/grub/types.h (UNUSED): Removed since it conflicts with
20705 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20706 Reported by Grégoire Sutre.
20707
b99518d1 207082009-12-19 Carles Pina i Estany <carles@pina.cat>
20709
20710 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20711 (grub_print_ucs4_alloc): Likewise.
20712 (grub_getstringwidth): Likewise.
20713 * normal/main.c (grub_normal_init_page): Gettextize version string.
20714 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20715 (getstringwidth): Renamed to ...
20716 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20717 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20718 (grub_print_ucs4): Remove `static' qualifer (now used in
20719 normal/main.c).
20720 * po/POTFILES: Add normal/main.c.
20721
bfd5e52b 207222009-12-19 Carles Pina i Estany <carles@pina.cat>
20723
20724 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20725 (print_message_indented): Add `margin_left' and `margin_right'
20726 parameters.
20727 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20728 strings.
20729 (print_timeout): Use `print_message_indented' to print the message.
20730 Deletes `second_stage' parameter.
20731 (run_menu): Update `print_timeout' calls.
20732
5a1ad2b9
VS
207332009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 Fix console palette on OpenFirmware.
20736
20737 * term/ieee1275/ofconsole.c (MAX): Removed.
20738 (colors): Redone based on VGA palette.
20739 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20740 colors are supported.
20741 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20742
b045f00a
VS
207432009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20744
20745 Fix potential EfiEmu double prepare.
20746
20747 * efiemu/main.c (prepared): New variable
20748 (grub_efiemu_unload): Set prepare to '0'.
20749 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20750
20751 set_virtual_address_map support.
20752
20753 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20754 prototype.
20755 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20756 prototype.
20757 (grub_efiemu_crc32): Likewise.
20758 (grub_efiemu_crc64): Likewise.
20759 (grub_efiemu_set_virtual_address_map): Likewise.
20760 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20761 New definition.
20762 (grub_autoefi_set_virtual_address_map): Likewise.
20763 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20764 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20765 Restructure flow to accomodate it.
20766 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20767 (grub_efiemu_crc): Recompute CRC32.
20768 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20769 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20770 * efiemu/symbols.c (relocated_handle): New variable.
20771 (grub_efiemu_free_syms): Free relocated_handle.
20772 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20773 (grub_efiemu_write_sym_markers): New function.
20774 (grub_efiemu_set_virtual_address_map): Likewise.
20775
20776 Newer XNU parameters.
20777
20778 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20779 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20780 (grub_xnu_fill_devicetree): New prototype.
20781 (grub_xnu_heap_real_start): New variable.
20782 * loader/xnu.c (get_name_ptr): New function.
20783 (grub_xnu_load_driver): Fill namelen and name.
20784
20785 64-bit xnu support.
20786
20787 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20788 and 'loader/macho64.c'.
20789 * conf/i386-pc.rmk: Likewise.
20790 * conf/x86_64-efi.rmk: Likewise.
20791 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20792 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20793 * include/grub/macho.h (grub_macho_segment64): New structure.
20794 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20795 (grub_macho_size32): ... to this.
20796 (grub_macho32_get_entry_point): Renamed from ...
20797 (grub_macho_get_entry_point32): ... to this.
20798 (grub_macho_contains_macho64): New prototype.
20799 (grub_macho_size64): Likewise.
20800 (grub_macho_get_entry_point64): Likewise.
20801 (grub_macho32_load): Renamed from ...
20802 (grub_macho_load32): ... to this.
20803 (grub_macho32_filesize): Renamed from ...
20804 (grub_macho_filesize32): ... to this.
20805 (grub_macho32_readfile): Renamed from ...
20806 (grub_macho_readfile32): ... to this.
20807 (grub_macho_filesize64): New prototype.
20808 (grub_macho_readfile64): Likewise.
20809 (grub_macho_parse32): Likewise.
20810 (grub_macho_parse64): Likewise.
20811 * loader/macho.c: Split into ...
20812 * loader/machoXX.c: ... and this. Replace 32 with XX.
20813 * loader/macho32.c: New file.
20814 * loader/macho64.c: Likewise.
20815 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20816 (grub_cmd_xnu_kernel): Make 32-bit only.
20817 (grub_cmd_xnu_kernel64): New function.
20818 (grub_xnu_load_driver): Support Mach-O 64.
20819 (grub_cmd_xnu_mkext): Likewise.
20820 * util/grub.d/30_os-prober.in (osx_entry): New function.
20821 Generate entries for 64-bit boot too.
20822
20823 Eliminate ad-hoc tree format in XNU and EfiEmu.
20824
20825 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20826 * efiemu/pnvram.c: Rewritten to use environment variables.
20827 All users updated.
20828
20829 Inline utf16_to_utf8.
20830
20831 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20832 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20833 All users updated.
20834 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20835
20836 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20837 * commands/usbtest.c (grub_usb_get_string): ... move here.
20838 (usb_print_str): Fix error handling.
20839 * include/grub/usb.h (grub_usb_get_string): Remove.
20840
20841 UTF-8 to UTF-16 transformation.
20842
20843 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20844 (charset_mod_SOURCES): New variable.
20845 (charset_mod_CFLAGS): Likewise.
20846 (charset_mod_LDFLAGS): Likewise.
20847 * include/grub/utf.h: New file.
20848 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20849
20850 Support for device properties.
20851
20852 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20853 (grub_xnu_devprop_device_header): Likewise.
20854 (grub_xnu_devprop_device_descriptor): Likewise.
20855 (grub_xnu_devprop_add_device): New prototype.
20856 (grub_xnu_devprop_remove_device): Likewise.
20857 (grub_xnu_devprop_remove_property): Likewise.
20858 (grub_xnu_devprop_add_property_utf8): Likewise.
20859 (grub_xnu_devprop_add_property_utf16): Likewise.
20860 (grub_cpu_xnu_init): Likewise.
20861 (grub_cpu_xnu_fini): Likewise.
20862 (grub_cpu_xnu_unload): Likewise.
20863 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20864 (property_descriptor): Likewise.
20865 (devices): New variable.
20866 (grub_xnu_devprop_remove_property): New function.
20867 (grub_xnu_devprop_add_device): Likewise.
20868 (grub_xnu_devprop_remove_device): Likewise.
20869 (grub_xnu_devprop_add_property): Likewise.
20870 (grub_xnu_devprop_add_property_utf8): Likewise.
20871 (grub_xnu_devprop_add_property_utf16): Likewise.
20872 (hextoval): Likewise.
20873 (grub_cpu_xnu_fill_devprop): Likewise.
20874 (grub_cmd_devprop_load): Likewise.
20875 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20876 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20877 (cmd_devprop_load): New variable.
20878 (grub_cpu_xnu_init): New function.
20879 (grub_cpu_xnu_fini): Likewise.
20880 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20881 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20882 (grub_cmd_xnu_devtree): Likewise.
20883 (hextoval): New function.
20884 (unescape): Likewise.
20885 (grub_xnu_fill_devicetree): Likewise.
20886
20887 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20888 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20889
0945f181
VS
208902009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 Workaround for broken ATI VBE.
20893
20894 * video/i386/pc/vbe.c (last_set_mode): New variable.
20895 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20896 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20897 (grub_video_vbe_setup): Don't check for reserved flag.
20898
0ad46fd7 208992009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
20900
20901 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20902 the `find' command.
20903
c179ebe4
VS
209042009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 UUID support for HFS.
20907
20908 * fs/hfs.c (grub_hfs_uuid): New function.
20909 (grub_hfs_fs): New value .uuid.
20910 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20911
0ad46fd7 209122009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
20913
20914 Fix a segfault with parsing unknown long options.
20915
20916 * util/grub-mkrelpath.c (options): Zero terminate it.
20917
c4a3e41a
CPE
209182009-12-13 Carles Pina i Estany <carles@pina.cat>
20919
20920 * include/grub/misc.h (grub_puts): New declaration.
20921 (grub_puts_): Likewise.
a22008a6 20922 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
20923 (grub_puts_): Likewise.
20924
2e8a7602
RM
209252009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20926
20927 * util/grub-probe.c (probe): Improve error message.
20928
b50b77b9
RM
209292009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20930
20931 * loader/i386/multiboot_elfxx.c
20932 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20933 initialization.
20934
209352009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 Relocator framework
20938
20939 * loader/i386/xnu_helper.S: Removed. All users updated.
20940 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20941 (relocator_mod_SOURCES): New variable.
20942 (relocator_mod_CFLAGS): Likewise.
20943 (relocator_mod_LDFLAGS): Likewise.
20944 (relocator_mod_ASFLAGS): Likewise.
20945 * conf/x86_64.rmk: Likewise.
20946 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20947 (grub_multiboot_payload_entry_offset): Likewise.
20948 (grub_multiboot_forward_relocator): Likewise.
20949 (grub_multiboot_forward_relocator_end): Likewise.
20950 (grub_multiboot_backward_relocator): Likewise.
20951 (grub_multiboot_backward_relocator_end): Likewise.
20952 (grub_multiboot_payload_eip): New variable.
20953 (grub_multiboot_payload_orig): Likewise.
20954 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20955 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20956 * include/grub/i386/memory.h
20957 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20958 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20959 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20960 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20961 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20962 * include/grub/i386/relocator.h: New file.
20963 * include/grub/x86_64/relocator.h: Likewise.
20964 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20965 (XNU_RELOCATOR): New macro.
20966 (grub_xnu_launcher_start): Remove.
20967 (grub_xnu_launcher_end): Likewise.
20968 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20969 (grub_xnu_heap_real_start): Remove.
20970 (grub_xnu_heap_start): Change to void *. All users updated.
20971 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20972 * lib/i386/relocator.c: New file.
20973 * lib/i386/relocator_asm.S: Likewise.
20974 * lib/i386/relocator_backward.S: Likewise.
20975 * lib/mips/relocator.c: Likewise.
20976 * lib/mips/relocator_asm.S: Likewise.
20977 * lib/relocator.c: Likewise.
20978 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20979 (entry): Removed.
20980 (playground): Likewise.
20981 (grub_multiboot_payload_orig): New variable.
20982 (grub_multiboot_payload_dest): Likewise.
20983 (grub_multiboot_payload_size): Likewise.
20984 (grub_multiboot_payload_eip): Likewise.
20985 (grub_multiboot_payload_esp): Likewise.
20986 (grub_multiboot_boot): Use grub_relocator32_boot.
20987 (grub_multiboot_unload): Free relocators.
20988 (grub_multiboot): Setup stack. Use relocators.
20989 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
20990 (grub_multiboot_load_elfXX): Use relocators.
20991 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
20992 (grub_multiboot_payload_size): Likewise.
20993 (grub_multiboot_payload_dest): Likewise.
20994 (grub_multiboot_payload_entry_offset): Likewise.
20995 (grub_multiboot_forward_relocator): Likewise.
20996 (grub_multiboot_backward_relocator): Likewise.
20997 (grub_multiboot_real_boot): Likewise.
20998 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
20999 (grub_xnu_entry_point): Likewise.
21000 (grub_xnu_arg1): Likewise.
21001 (grub_xnu_stack): Likewise.
21002 (grub_xnu_launch): Removed.
21003 (grub_xnu_boot_resume): New function.
21004 (grub_xnu_boot): Use relocators.
21005 * loader/i386/xnu_helper.S: Removed.
21006 * loader/xnu.c (grub_xnu_heap_start): New variable.
21007 (grub_xnu_heap_size): Likewise.
21008 (grub_xnu_heap_malloc): Use relocators.
21009 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
21010
29eb90c6
VS
210112009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
21014 anything.
21015
31027430
CPE
210162009-12-13 Carles Pina i Estany <carles@pina.cat>
21017
21018 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
21019 GRUB_ERR_NONE before calling grub_env_set.
21020
dc0c71d9
RM
210212009-12-12 Robert Millan <rmh@aybabtu.com>
21022
21023 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
21024 * genmk.rb (video): New variable.
21025 (CLEANFILES, VIDEOFILES): Add #{video}.
21026 (#{video}): New target rule.
21027 * genvideolist.sh: New file.
21028 * Makefile.in (pkglib_DATA): Add video.lst.
21029 (video.lst): New target rule.
21030 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
21031 `video.lst'.
21032 * util/grub.d/30_os-prober.in: Replace `vbe' with
21033 ${GRUB_VIDEO_BACKEND}.
21034
2a4bfcf0
RM
210352009-12-11 Robert Millan <rmh.grub@aybabtu.com>
21036
21037 * THANKS: Add David Miller.
21038
2a3aa4d5
RM
210392009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
21040
21041 libpciaccess support.
21042
21043 * Makefile.in (LIBPCIACCESS): New variable.
21044 (enable_grub_emu_pci): Likewise.
21045 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
21046 util/pci.c and commands/lspci.c.
21047 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
21048 * configure.ac (grub-emu-pci): New option.
21049 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
21050 (grub_pci_device_unmap_range): Likewise.
21051 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
21052 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
21053 (grub_pci_address_t) [!GRUB_UTIL]: New type.
21054 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
21055 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
21056 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
21057 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
21058 * include/grub/pciutils.h: New file.
21059 * util/pci.c: Likewise.
21060
0ad46fd7 210612009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
21062
21063 * util/misc.c: Don't include <errno.h> twice.
21064
0ad46fd7 210652009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
21066
21067 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
21068 name in an error message.
21069 (grub_biosdisk_rw): Likewise.
21070
2e59983c
VS
210712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21072
21073 Eliminate NTFS 4Gib barrier.
21074
21075 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
21076 (read_run_data): Likewise.
21077 (grub_ntfs_read_run_list): Likewise.
21078 (grub_ntfs_read_block): Likewise.
21079 (grub_ntfs_iterate_dir): Likewise.
21080 (read_mft): Likewise.
21081 (read_data): Likewise.
21082 Use COM_LOG_LEN.
21083 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
21084 to avoid 64-bit division
21085 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
21086 (grub_ntfs_rlst): Use grub_disk_addr_t.
21087
71ee178a
VS
210882009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 Eliminate grub-fstest 4Gib barrier.
21091
21092 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
21093 (read_file): Fix error reporting.
21094
2520d4b8
VS
210952009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 Eliminate hexdump 4Gib barrier.
21098
21099 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
21100 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
21101
e1f27065
VS
211022009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21103
21104 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
21105 Fixes amarsh bug.
21106
1a0f7f45
RM
211072009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21108
21109 Remove miscellaneous files in distclean target.
21110
21111 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21112
c631d9fb
CW
211132009-12-09 Colin Watson <cjwatson@ubuntu.com>
21114
21115 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21116 if they're already set. This resolves the conflict between my
21117 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21118 fixing the --grub-probe option again.
21119 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21120 change on 2009-10-06, so that we now once again source
21121 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21122
7c7b6106
RM
211232009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21124
21125 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21126 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21127 `util/devicemap.c'.
21128
e3069ec1
CPE
211292009-12-08 Carles Pina i Estany <carles@pina.cat>
21130
21131 * include/grub/misc.h (grub_printf_): New declaration.
21132 * kern/misc.c (grub_printf_): New definition.
21133 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21134 instead of `grub_printf' and `_'.
21135 * normal/menu_entry.c (store_completion): Likewise.
21136 (run): Likewise.
21137 (grub_menu_entry_run): Likewise.
21138 * normal/menu_text.c (grub_wait_after_message): Likewise.
21139 (notify_booting): Likewise.
21140 (notify_fallback): Likewise.
21141 (notify_execution_failure): Likewise.
21142
d6ceebf1
CW
211432009-12-07 Colin Watson <cjwatson@ubuntu.com>
21144
21145 * configure.ac: Check for vasprintf.
21146 * util/misc.c (asprintf): Move allocation from here ...
21147 (vasprintf): ... to here. New function.
21148 (xasprintf): New function.
21149 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21150 prototypes.
21151 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21152 * util/grub-mkfont.c (write_font): Likewise.
21153 * util/grub-probe.c (probe): Likewise.
21154 * util/hostdisk.c (make_device_name): Likewise.
21155
de6daa8b
DM
211562009-12-06 David S. Miller <davem@sunset.davemloft.net>
21157
21158 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21159 anything even prefixed with 'cdrom' as a cdrom.
21160
0ad46fd7 211612009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
21162
21163 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21164 mount points.
21165
98d3dc02
CPE
211662009-12-05 Carles Pina i Estany <carles@pina.cat>
21167
21168 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21169 grub_gettext_msg_list.
21170 (grub_gettext_gettranslation_from_position): Return const char *
21171 and not char *.
a2c1332b 21172 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
21173 returns from the list if existing there.
21174 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21175 (grub_gettext_delete_list): Delete the list.
21176 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21177 lang environment variable is changed.
21178 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21179
b283f108
VS
211802009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21181
21182 Rename kernel.mod to kernel.img.
21183
21184 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21185 (kernel_mod_EXPORTS): Rename to ...
21186 (kernel_img_EXPORTS): ... this.
21187 (kernel_mod_SOURCES): Rename to ...
21188 (kernel_img_SOURCES): ... this.
21189 (kernel_mod_HEADERS): Rename to ...
21190 (kernel_img_HEADERS): ... this. All users updated.
21191 (kernel_mod_CFLAGS): Rename to ...
21192 (kernel_img_CFLAGS): ... this.
21193 (kernel_mod_ASFLAGS): Rename to ...
21194 (kernel_img_ASFLAGS): ... this.
21195 (kernel_mod_LDFLAGS): Rename to ...
21196 (kernel_img_LDFLAGS): ... this.
21197 * conf/x86_64-efi.rmk: Likewise.
21198 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21199 (read_kernel_image): ... this. All users updated.
21200 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21201
69055f8a
CPE
212022009-12-05 Carles Pina i Estany <carles@pina.cat>
21203
21204 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21205 (print_spaces): New function.
21206 (grub_print_ucs4): New function.
21207 (getstringwidth): New function.
21208 (print_message_indented): New function.
21209 (print_message): Gettexttize strings using print_message_indented.
21210 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21211 width.
21212 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 21213 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
21214 Gettextize.
21215 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21216 string.
21217 (run): Likewise.
21218 (grub_menu_entry_run): Likewise.
21219 * PO/POTFILES: Add normal/menu_entry.c.
21220
f616f51c
VS
212212009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21224
57bbe3be
CPE
212252009-12-05 Carles Pina i Estany <carles@pina.cat>
21226
21227 * util/grub-install.in: Install gettext .mo files.
21228 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21229
013d67a1
CPE
212302009-12-05 Carles Pina i Estany <carles@pina.cat>
21231
21232 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21233 grub_dprintf.
21234
fb954db0
RM
212352009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21236
21237 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21238 non-firmware-dependant one in realmode.S takes precedence.
21239
6b8474f8
RM
212402009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21241
21242 * commands/halt.c: Replace misc arch-specific headers with
21243 `<grub/misc.h>'.
21244 * commands/reboot.c: Likewise.
21245 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21246 `<grub/misc.h>'.
21247 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21248 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21249 (kernel_img_SOURCES): ... to here.
21250
21251 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21252 * include/grub/i386/pc/init.h: Likewise.
21253 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21254 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21255
21256 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21257
21258 * include/grub/i386/halt.h: Remove.
21259 * include/grub/i386/reboot.h: Likewise.
21260
21261 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21262
4b2e6ca2
DM
212632009-12-03 David S. Miller <davem@sunset.davemloft.net>
21264
21265 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21266 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21267 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21268 "progname.h"
21269 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21270 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21271 (usage): Add missing comma in printf.
21272
5239348f
RM
212732009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21274
21275 Use the same reboot approach on i386 coreboot and qemu as we do on
21276 BIOS.
21277
21278 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21279 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21280 * kern/i386/reboot.c: Remove.
21281 * include/grub/i386/reboot.h (grub_reboot): Export function.
21282 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21283 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21284 0xf000:0xfff0 instead of 0xffff:0x0000.
21285 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21286 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21287
ef34cbd4
RM
212882009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21289
21290 Fix $srcdir != $objdir build.
21291
21292 * Makefile.in (po/%.po): Rewrite as ...
21293 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21294
dc9837ea
ST
212952009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21296
21297 Fix GNU/Hurd grub-install crash.
21298 * util/grub-probe.c (probe): Try to access `path' only when it is not
21299 NULL.
21300
2f857f98
VS
213012009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 Correct module naming.
21304
21305 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21306 (GRUB_MOD_INIT(efi_uga)): ... to this
21307 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21308 (GRUB_MOD_FINI(efi_uga)): ... to this
21309 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21310 (GRUB_MOD_INIT(efi_gop)): ... to this
21311 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21312 (GRUB_MOD_FINI(efi_gop)): ... to this
21313
c5448046
RM
213142009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21315
21316 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21317 translatable.
21318 (usage): Translate `arg' strings using gettext().
21319 Thanks to Jordi Mallach for the suggestion.
21320
c85184ad
VS
213212009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 GOP support. Based on patch from Bean
21324 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21325
21326 * video/efi_gop.c: New file.
21327 * include/grub/efi/graphics_output.h: Likewise.
21328 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21329 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21330 variables.
21331 * conf/x86_64-efi.rmk: Likewise.
21332
8a4c48d8
VS
213332009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21334
21335 Rename efi_fb to efi_uga.
21336
21337 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21338 'efi_uga.mod'.
21339 (efi_fb_mod_SOURCES): Rename this ...
21340 (efi_uga_mod_SOURCES): ... to this.
21341 (efi_fb_mod_CFLAGS): Rename this ...
21342 (efi_uga_mod_CFLAGS): ... to this.
21343 (efi_fb_mod_LDFLAGS): Rename this ...
21344 (efi_uga_mod_LDFLAGS): ... to this.
21345 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21346 'efi_uga.mod'.
21347 (efi_fb_mod_SOURCES): Rename this ...
21348 (efi_uga_mod_SOURCES): ... to this.
21349 (efi_fb_mod_CFLAGS): Rename this ...
21350 (efi_uga_mod_CFLAGS): ... to this.
21351 (efi_fb_mod_LDFLAGS): Rename this ...
21352 (efi_uga_mod_LDFLAGS): ... to this.
21353 * video/efi_fb.c: Move this ...
21354 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21355
fb6c1a7b
RM
213562009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21357
21358 * po/README: New file. Explain our PO file workflow.
21359
3bc7896c
RM
213602009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21361
21362 * po/ChangeLog: Remove. Move relevant entries back to ...
21363 * ChangeLog: ... here.
21364 * po/ca.po: Remove (now handled by TLP).
21365 * po/id.po: Likewise.
21366 * po/zh_CN.po: Likewise.
21367 * Makefile.in (LINGUAS): Initialize in a way that supports
21368 empty set.
21369
9ed4841d
RM
213702009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21371
21372 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21373 reliing on po/LINGUAS.
21374 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21375 (po/%.po): ... this.
21376
0ad46fd7 213772009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
21378
21379 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21380 (main): Use `program_name' instead of nonexistent `progname'.
21381
e30dd392
FZ
213822009-11-26 Felix Zielcke <fzielcke@z-51.de>
21383
21384 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21385 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21386
7656de4f
RM
213872009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21388
21389 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21390 commit.
21391 * conf/i386-efi.rmk: Likewise.
21392 * conf/i386-ieee1275.rmk: Likewise.
21393 * conf/powerpc-ieee1275.rmk: Likewise.
21394 * conf/sparc64-ieee1275.rmk: Likewise.
21395 * conf/x86_64-efi.rmk: Likewise.
21396
db77c4d4
FZ
213972009-11-26 Felix Zielcke <fzielcke@z-51.de>
21398
21399 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21400
a755bb04
FZ
214012009-11-26 Felix Zielcke <fzielcke@z-51.de>
21402
21403 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21404
8a4c07fd
RM
214052009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21406
21407 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21408 (grub_mkdevicemap_SOURCES): New variable.
21409 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21410 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21411 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21412 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21413 (grub_mkdevicemap_SOURCES): Remove.
21414 * conf/i386-efi.rmk: Likewise.
21415 * conf/i386-ieee1275.rmk: Likewise.
21416 * conf/i386-pc.rmk: Likewise.
21417 * conf/powerpc-ieee1275.rmk: Likewise.
21418 * conf/sparc64-ieee1275.rmk: Likewise.
21419 * conf/x86_64-efi.rmk: Likewise.
21420 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21421 (usage): Fix strings to use `program_name'.
21422 (main): Initialize gettext.
21423 * util/grub-editenv.c: Likewise.
21424 * util/grub-emu.c: Likewise.
21425 * util/grub-fstest.c: Likewise.
21426 * util/grub-mkdevicemap.c: Likewise.
21427 * util/grub-mkfont.c: Likewise.
21428 * util/grub-mkrelpath.c: Likewise.
21429 * util/grub-pe2elf.c: Likewise.
21430 * util/grub-probe.c: Likewise.
21431 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21432 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21433 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21434
21435 * util/misc.c: Include `"progname.h"'.
21436 (progname): Remove variable.
21437 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21438
6f61ed55
FZ
214392009-11-25 Felix Zielcke <fzielcke@z-51.de>
21440
21441 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21442 printf and print a newline after the menuentry header line.
21443 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21444
f022876b
FZ
214452009-11-25 Felix Zielcke <fzielcke@z-51.de>
21446
21447 autoconf >= 2.60 support $(localedir).
21448
21449 * INSTALL: Note that autoconf 2.60 is required.
21450 * configure.ac (AC_PREREQ): Bump to 2.60.
21451 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21452 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21453
6717926e
YB
214542009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21455
21456 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21457 aclocal is run.
21458
08806a54
RM
214592009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21460
21461 * normal/main.c (grub_normal_read_line): Fix off-by-one
21462 buffer overflow.
21463
13b33fba
RM
214642009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21465
21466 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21467 "parser.grub" in grub_command_execute() call.
21468
4a8572e9
CPE
214692009-11-24 Carles Pina i Estany <carles@pina.cat>
21470
21471 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21472 * conf/i386-efi.rmk: Likewise.
21473 * conf/i386-ieee1275.rmk: Likewise.
21474 * conf/i386-pc.rmk: Likewise.
21475 * conf/powerpc-ieee1275.rmk: Likewise.
21476 * conf/sparc64-ieee1275.rmk: Likewise.
21477 * conf/x86_64-efi.rmk: Likewise.
21478 * gettext/gettex.c: Include <grub/i18n.h>.
21479 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21480 here ...
21481 * include/grub/i18n.h: ... to here
21482 * include/grub/i18n.h: ... to here.
21483 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 21484 (grub_gettext_dummy): Move above user.
4a8572e9 21485
bee48093
FZ
214862009-11-24 Felix Zielcke <fzielcke@z-51.de>
21487
21488 * util/Makefile.in (install-local): Convert a `for' into a normal
21489 shell expansion.
21490
a031e91c
RM
214912009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21492
21493 * autogen.sh: Add automake call.
21494 * config.guess: Remove.
21495 * config.sub: Likewise.
21496 * install-sh: Likewise.
21497
26bec39d
FZ
214982009-11-24 Felix Zielcke <fzielcke@z-51.de>
21499
21500 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21501
8e2532fd
FZ
215022009-11-24 Felix Zielcke <fzielcke@z-51.de>
21503
21504 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21505 function to a normal shell `for'.
21506
fefa1b7d
FZ
215072009-11-24 Felix Zielcke <fzielcke@z-51.de>
21508
21509 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21510
4501250b
FZ
215112009-11-24 Felix Zielcke <fzielcke@z-51.de>
21512
21513 * util/grub-mkrelpath.c: New file.
21514 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21515 (grub_mkrelpath_SOURCES): New variable.
21516 * include/grub/util/misc.h: New function prototype.
21517 * util/misc.c (make_system_path_relative_to_its_root): New function.
21518
21519 * util/grub-mkconfig_lib.in (bindir): New variable.
21520 (grub_mkrelpath): Likewise.
21521 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21522
21523 * util/probe.c (probe): Make the file path relative to its root.
21524 Change a info message to use the GRUB path. Enable again the
21525 check if we can read the file with GRUB facilities.
21526
21527 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21528 to its root.
21529
11d9778b
FZ
215302009-11-24 Felix Zielcke <fzielcke@z-51.de>
21531
21532 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21533 platform.
21534
4465287d
FZ
215352009-11-24 Felix Zielcke <fzielcke@z-51.de>
21536
21537 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21538 strncmp().
21539
62b47f22
FZ
215402009-11-24 Felix Zielcke <fzielcke@z-51.de>
21541
21542 * util/getroot.c (grub_util_is_dmraid): New function.
21543 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21544 devices as normal ones, not as LVM.
21545
1eafb9b9 215462009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
21547
21548 * conf/common.rmk: Add grub-gettext_lib target and updates
21549 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21550 LDFLAGS.
21551 * gettext/gettext.c: New file. (Reads mo files).
21552 * include/grub/file.h (grub_file_pread): New prototype.
21553 * include/grub/i18n.h (_): New prototype.
21554 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21555 prototypes.
21556 * kern/misc.c (grub_gettext_dummy): New function.
21557 * normal/menu_text.c: Include <grub/i18n.h>.
21558 * normal/menu_text.c (print_timeout): Gettexttize string.
21559 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
21560 * po/POTFILES: Add `normal/menu_text.c'.
21561 * po/ca.po: Add new translations.
c3ea6bd4
CPE
21562 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21563 gettext module and defines locale_dir and lang in grub.cfg.
21564 * NEWS: Add gettext support.
21565
0fdb2568
RM
215662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21567
21568 * util/hostdisk.c: Include `<grub/i18n.h>'.
21569 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21570 (make_device_name): Rewrite using asprintf.
21571 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21572 (find_system_device): If a device is not found, generate one just
21573 by reusing the OS path name.
21574 (read_device_map): Make it permissible for device.map not to exist.
21575
f515aa62
RM
215762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21577
21578 * script/sh/execute.c: Move from here ...
21579 * script/execute.c: ... to here. Update all users.
21580 * script/sh/function.c: Move from here ...
21581 * script/function.c: ... to here. Update all users.
21582 * script/sh/lexer.c: Move from here ...
21583 * script/lexer.c: ... to here. Update all users.
21584 * script/sh/main.c: Move from here ...
21585 * script/main.c: ... to here. Update all users.
21586 * script/sh/parser.y: Move from here ...
21587 * script/parser.y: ... to here. Update all users.
21588 * script/sh/script.c: Move from here ...
21589 * script/script.c: ... to here. Update all users.
21590
f84b481b
RM
215912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21592
21593 * configure.ac: Detect all `emu' platforms. Define
21594 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21595 --enable-grub-emu logic. Disable include/grub/machine
21596 symlink on `emu' platforms.
21597
21598 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21599 * gensymlist.sh.in: Likewise.
21600
21601 * include/grub/i386/coreboot/machine.h: Remove file.
21602 * include/grub/i386/efi/machine.h: Likewise.
21603 * include/grub/i386/ieee1275/machine.h: Likewise.
21604 * include/grub/i386/pc/machine.h: Likewise.
21605 * include/grub/i386/qemu/machine.h: Likewise.
21606 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21607 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21608 * include/grub/x86_64/efi/machine.h: Likewise.
21609
21610 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21611 * commands/halt.c: Likewise.
21612 * commands/reboot.c: Likewise.
21613 * include/grub/autoefi.h: Likewise.
21614 * include/grub/i386/at_keyboard.h: Likewise.
21615 * include/grub/i386/kernel.h: Likewise.
21616 * include/grub/i386/loader.h: Likewise.
21617 * include/grub/i386/pc/memory.h: Likewise.
21618 * kern/dl.c: Likewise.
21619 * kern/i386/coreboot/init.c: Likewise.
21620 * loader/i386/bsd.c: Likewise.
21621 * loader/i386/linux.c: Likewise.
21622 * loader/multiboot_loader.c: Likewise.
21623 * term/i386/pc/serial.c: Likewise.
21624 * term/usb_keyboard.c: Likewise.
21625
21626 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21627 `<grub/machine/machine.h>'
21628 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21629 * util/misc.c: Remove `<grub/machine/machine.h>' and
21630 `<grub/machine/time.h>'.
21631
21632 * Makefile.in (enable_grub_emu): Remove variable.
21633 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21634
21635 * conf/any-emu.rmk: New file.
21636 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21637 (grub_emu_init.c): Move from here ...
21638 * conf/any-emu.rmk: ... to here.
21639
21640 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21641 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21642 * conf/any-emu.rmk: ... to here.
21643
4efeab03
RM
216442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21645
21646 * include/grub/parser.h (grub_parser_register): Document need
21647 of `name' parameter.
21648 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21649 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21650 "sh" to "grub".
21651
ea1dd8bf
RM
216522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21653
21654 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21655 `$(XGETTEXT)'.
21656 * include/grub/i18n.h (N_): New macro.
21657 * util/mkisofs/mkisofs.h: Likewise.
21658 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21659 around N_().
21660 (usage): Use gettext() to translate help strings when printing them.
21661
0c140626
RM
216622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21663
21664 Based on patch from Bean
21665 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21666
21667 * video/efi_fb.c: New file.
21668 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21669 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21670 variables.
21671 * conf/x86_64-efi.rmk: Likewise.
21672
87d58298
RM
216732009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21674
21675 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21676 * util/i386/pc/grub-setup.c: Likewise.
21677
994cc3a3
ST
216782009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21679
21680 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21681 <hurd/fs.h>
21682 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21683 file_get_storage_info to implement grub_guess_root_device.
21684
26a61d6a
FZ
216852009-11-21 Felix Zielcke <fzielcke@z-51.de>
21686
21687 * Makefile.in (target): Use make's builtin $(shell) function
21688 instead of calling directly $(SHELL) to create the locale directories,
21689 inside the $(foreach) function.
21690
74ff1dd5
FZ
216912009-11-21 Felix Zielcke <fzielcke@z-51.de>
21692
21693 * util/grub-mkrescue.in: Print an error and usage if output option
21694 has not been given.
21695
0b787d0e
FZ
216962009-11-21 Felix Zielcke <fzielcke@z-51.de>
21697
21698 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21699 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21700 root and /boot are on different devices.
21701
1164b270
RM
217022009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21703
21704 Fix build for srcdir != objdir.
21705
21706 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21707 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21708 $(srcdir).
21709 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21710 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21711 reference for input.
21712
13774a2f
RM
217132009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21714
21715 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21716 or hardlinking it). Remove -J option, Joliet is not compatible with
21717 multiple source directories.
21718
efda854e
RM
217192009-11-21 Carles Pina i Estany <carles@pina.cat>
217202009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21721
21722 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21723 (process_input_dir): New function. Process an arbitrary input
21724 directory.
21725 Misc adjustments to support both "override mode" and system-wide mode.
21726
6c09890c
FZ
217272009-11-20 Felix Zielcke <fzielcke@z-51.de>
21728
21729 * configure.ac (UNIFONT_BDF): Rename to ...
21730 (FONT_SOURCE): ... this. Update all users.
21731
a797824f
FZ
217322009-11-20 Felix Zielcke <fzielcke@z-51.de>
21733
21734 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21735 to the list of unifont files to look for.
21736
cd4f42b0
RM
217372009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21738
21739 Patch from Joe Auricchio <jauricchio@gmail.com>
21740 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21741 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21742 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21743
393c783d
FZ
217442009-11-19 Felix Zielcke <fzielcke@z-51.de>
21745
21746 * Makefile.in (install-local): Add a missing backslash.
21747
b2f1e327
FZ
217482009-11-19 Felix Zielcke <fzielcke@z-51.de>
21749
21750 * include/grub/x86_64/io.h: New file.
21751
f577f7a0
RM
217522009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21753
21754 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21755 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21756 Include `"progname.h"'.
21757 (main): Initialize gettext.
21758 * util/i386/pc/grub-setup.c: Gettexttize.
21759 * util/i386/pc/grub-mkimage.c: Likewise.
21760
21761 * Makefile.in (po/*.po): Redefine as ...
21762 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21763
3bc7896c
RM
21764 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21765
c37943b6
RM
217662009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21767
21768 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21769 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21770 (program_name): Remove.
21771 (main): Initialize gettext support.
6323f705
RM
21772 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21773 Include `<libintl.h>'.
21774 (_): New macro.
c37943b6
RM
21775
21776 * util/mkisofs/eltorito.c: Gettexttize.
21777 * util/mkisofs/joliet.c: Likewise.
21778 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
21779 * util/mkisofs/multi.c: Likewise.
21780 * util/mkisofs/rock.c: Likewise.
21781 * util/mkisofs/tree.c: Likewise.
21782 * util/mkisofs/write.c: Likewise.
21783
3bc7896c
RM
21784 * po/POTFILES: Update with new files.
21785
5ce77c6e
RM
217862009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21787
21788 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21789 * util/mkisofs/iso9660.h: Likewise.
21790 * util/mkisofs/joliet.c: Likewise.
21791 * util/mkisofs/mkisofs.c: Likewise.
21792 * util/mkisofs/mkisofs.h: Likewise.
21793 * util/mkisofs/rock.c: Likewise.
21794 * util/mkisofs/tree.c: Likewise.
21795 * util/mkisofs/write.c: Likewise.
21796
21797 * util/mkisofs/eltorito.c (rcsid): Remove.
21798 * util/mkisofs/hash.c: Likewise.
21799 * util/mkisofs/joliet.c: Likewise.
21800 * util/mkisofs/name.c: Likewise.
21801 * util/mkisofs/rock.c: Likewise.
21802 * util/mkisofs/tree.c: Likewise.
21803 * util/mkisofs/write.c: Likewise.
21804
1dabbc77
RM
218052009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21806
21807 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21808 instead of static allocation.
21809 * util/mkisofs/match.h: Likewise.
21810
633877cb
RM
218112009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21812
3bc7896c
RM
21813 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21814 and `util/grub.d/10_linux.in'.
633877cb
RM
21815 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21816 translatable Shell files.
21817
af1c0c85
RM
218182009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21819
21820 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21821
769ae37b
RM
218222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21823
21824 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 21825 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
21826 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21827 Add gettext initialization.
21828 (kfreebsd_entry): Make menuentry output translatable.
21829
218302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21831
21832 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21833 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21834 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21835 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21836 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 21837 * po/LINGUAS: New file.
769ae37b
RM
21838
218392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21840
21841 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21842 other things).
21843 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21844 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21845 bindtextdomain() calls for gettext initialization.
21846
218472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21848
21849 * gnulib/progname.c: New file (imported from Gnulib).
21850 * gnulib/progname.h: Likewise.
21851 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21852 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21853 (usage): Replace `progname' with `program_name'.
21854 (main): Use set_program_name() for program name initialization.
21855
218562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21857
21858 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21859 from here ...
21860 * Makefile.in (CPPFLAGS): ... to here.
21861
218622009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21863
21864 * aclocal.m4: Move from here ...
21865 * acinclude.m4: ... to here.
21866 * autogen.sh: Add call to `aclocal'.
21867 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21868
218692009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21870
21871 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21872 (LINGUAS): New variable.
21873 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21874 (install-local): Install MO files.
21875 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21876 * include/grub/i18n.h: New file.
3bc7896c
RM
21877 * po/POTFILES: New file.
21878 * po/ca.po: New file.
769ae37b
RM
21879 * util/grub.d/10_linux.in (bindir): New variable.
21880 Add gettext initialization.
21881 (linux_entry): Make menuentry output translatable.
21882 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21883 (usage): Make --help output translatable.
21884 (main): Initialize gettext.
21885
02c0a6ad
RM
218862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21887
21888 * import_gcry.py: New file (written by Vladimir with minor
21889 adjustments).
21890 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21891 ciphers.
21892 * INSTALL: Document that Python is required for bootstrap.
21893
218942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21895
21896 Import ciphers from libgcrypt 1.4.4.
21897
21898 * lib/libgcrypt/cipher/ChangeLog
21899 * lib/libgcrypt/cipher/ac.c
21900 * lib/libgcrypt/cipher/arcfour.c
21901 * lib/libgcrypt/cipher/bithelp.h
21902 * lib/libgcrypt/cipher/blowfish.c
21903 * lib/libgcrypt/cipher/camellia-glue.c
21904 * lib/libgcrypt/cipher/camellia.c
21905 * lib/libgcrypt/cipher/camellia.h
21906 * lib/libgcrypt/cipher/cast5.c
21907 * lib/libgcrypt/cipher/cipher.c
21908 * lib/libgcrypt/cipher/crc.c
21909 * lib/libgcrypt/cipher/des.c
21910 * lib/libgcrypt/cipher/dsa.c
21911 * lib/libgcrypt/cipher/ecc.c
21912 * lib/libgcrypt/cipher/elgamal.c
21913 * lib/libgcrypt/cipher/hash-common.c
21914 * lib/libgcrypt/cipher/hash-common.h
21915 * lib/libgcrypt/cipher/hmac-tests.c
21916 * lib/libgcrypt/cipher/md.c
21917 * lib/libgcrypt/cipher/md4.c
21918 * lib/libgcrypt/cipher/md5.c
21919 * lib/libgcrypt/cipher/primegen.c
21920 * lib/libgcrypt/cipher/pubkey.c
21921 * lib/libgcrypt/cipher/rfc2268.c
21922 * lib/libgcrypt/cipher/rijndael-tables.h
21923 * lib/libgcrypt/cipher/rijndael.c
21924 * lib/libgcrypt/cipher/rmd.h
21925 * lib/libgcrypt/cipher/rmd160.c
21926 * lib/libgcrypt/cipher/rsa.c
21927 * lib/libgcrypt/cipher/seed.c
21928 * lib/libgcrypt/cipher/serpent.c
21929 * lib/libgcrypt/cipher/sha1.c
21930 * lib/libgcrypt/cipher/sha256.c
21931 * lib/libgcrypt/cipher/sha512.c
21932 * lib/libgcrypt/cipher/tiger.c
21933 * lib/libgcrypt/cipher/twofish.c
21934 * lib/libgcrypt/cipher/whirlpool.c
21935
af2f93ac
RM
219362009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21937
21938 Fix build for systems without error().
21939
21940 * gnulib/error.c: New file (imported from Gnulib).
21941 * gnulib/error.h: Likewise.
21942 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21943 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21944 (this variable is now used by error()).
21945
73fb3dd5
FZ
219462009-11-16 Felix Zielcke <fzielcke@z-51.de>
21947
814f5e96
FZ
21948 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21949 instead of relying that char is signed.
73fb3dd5 21950
a691ca33
VS
219512009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21954 blocksize different from specified.
21955 (grub_pxefs_read): Likewise.
21956
2af8f0f4
FZ
219572009-11-16 Felix Zielcke <fzielcke@z-51.de>
21958
21959 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21960
21961 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21962 (grub_ata_readwrite): Likewise. Update 2 format strings.
21963 (grub_atapi_read): Likewise.
21964
21965 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21966 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21967 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21968 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21969 (ata_mod_LDFLAGS): Move from here ...
21970 * conf/i386.rmk: ... to here ...
21971 * conf/x86_64-efi.rmk: ... and here.
21972 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21973 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21974
83bdecaf
RM
219752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21976
21977 Relicense multiboot.h, with RMS' blessing.
21978
21979 * include/multiboot.h: Change to X11 license.
21980
fd6fd3d7
RM
219812009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21982
21983 Support --version in grub-mkisofs.
21984
21985 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21986 (OPTION_VERSION): New macro.
21987 (ld_options): Recognize --version.
21988 (usage): Move `program_name' from here ...
21989 (program_name): ... to here. Add `static' qualifier.
21990 (main): Recognize `OPTION_VERSION'.
21991
16a88c49
FZ
219922009-11-15 Felix Zielcke <fzielcke@z-51.de>
21993
21994 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
21995 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
21996
a4158476
RM
219972009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21998
21999 Fix help2man generation for mkisofs.
22000
22001 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
22002 (usage): Send output to stdout (rather than stderr).
22003
fc2208b0
RM
220042009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22005
22006 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
22007 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22008 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
22009 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22010 (bin_SCRIPTS): Add `grub-mkfloppy'.
22011 (grub_mkfloppy_SOURCES): New variable.
22012
22013 * util/grub-mkrescue.in: New file.
22014 * util/i386/pc/grub-mkfloppy.in: New file.
22015
22016 * util/i386/coreboot/grub-mkrescue.in: Remove.
22017 * util/i386/pc/grub-mkrescue.in: Remove.
22018
8d0edf4a
RM
220192009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22020
22021 * include/grub/multiboot.h (struct grub_multiboot_header): Move
22022 from here ...
22023 * include/multiboot.h (struct multiboot_header): ... to here. Update
22024 all users.
22025 * include/grub/multiboot.h (struct grub_multiboot_info): Move
22026 from here ...
22027 * include/multiboot.h (struct multiboot_info): ... to here. Update
22028 all users.
22029 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
22030 from here ...
22031 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
22032 Update all users.
22033 * include/grub/multiboot.h (struct grub_mod_list): Move
22034 from here ...
22035 * include/multiboot.h (struct multiboot_mod_list): ... to here.
22036 Update all users.
22037
a73f5969
RM
220382009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22039
22040 * include/multiboot2.h (multiboot_word): Rename from this ...
22041 (multiboot2_word): ... to this. Update all users.
22042 (multiboot_header): Rename from this ...
22043 (multiboot2_header): ... to this. Update all users.
22044 (multiboot_tag_header): Rename from this ...
22045 (multiboot2_tag_header): ... to this. Update all users.
22046 (multiboot_tag_start): Rename from this ...
22047 (multiboot2_tag_start): ... to this. Update all users.
22048 (multiboot_tag_name): Rename from this ...
22049 (multiboot2_tag_name): ... to this. Update all users.
22050 (multiboot_tag_module): Rename from this ...
22051 (multiboot2_tag_module): ... to this. Update all users.
22052 (multiboot_tag_memory): Rename from this ...
22053 (multiboot2_tag_memory): ... to this. Update all users.
22054 (multiboot_tag_unused): Rename from this ...
22055 (multiboot2_tag_unused): ... to this. Update all users.
22056 (multiboot_tag_end): Rename from this ...
22057 (multiboot2_tag_end): ... to this. Update all users.
22058
1c8927f0
RM
220592009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22060
22061 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
22062 this platform we should support Multiboot1 first.
22063
22064 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22065 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
22066 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
22067
6e1e0d89
RM
220682009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22069
22070 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
22071 of write calls (converting them to fwrite() if they aren't already).
22072 (get_torito_desc): Likewise.
22073 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
22074
7f2b34d8
RM
220752009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22076
22077 * util/i386/pc/grub-install.in: Move from here ...
22078 * util/grub-install.in: ... to here. Update all users.
22079
c0ef3311
CW
220802009-11-11 Colin Watson <cjwatson@ubuntu.com>
22081
22082 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
22083
e1f240ff
RM
220842009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22085
22086 Support for El Torito without floppy emulation.
22087
22088 * util/mkisofs/eltorito.c: Include `<errno.h>'.
22089 (init_boot_catalog): Improve error handling.
22090 (get_torito_desc): Don't use floppy emulation unless requested by
22091 user. Patch boot information table when requested via
22092 `-boot-info-table'.
22093 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
22094 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
22095 (use_boot_info_table): New variables.
22096 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
22097 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
22098 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
22099 `--eltorito-emul-floppy'.
22100 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
22101 and `OPTION_ELTORITO_EMUL_FLOPPY'.
22102 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
22103 (use_boot_info_table, get_731): New prototypes.
22104 * util/mkisofs/write.c (get_731): New function.
22105
af7d4de5
FZ
221062009-11-11 Felix Zielcke <fzielcke@z-51.de>
22107
22108 Fix the generation of the man page.
22109
22110 * util/pc/i386/grub-install.in: Source
22111 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22112
2c55dbc0
RM
221132009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22114
22115 Large file support for grub-mkisofs.
22116
22117 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22118 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22119 (session_start): Upgrade type to `uint64_t'. Update all users.
22120 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22121 (struct directory_entry): Upgrade type of `starting_block' and
22122 `size' to `uint64_t'. Update all users.
22123 (struct deferred): Remove unused structure.
22124 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22125 Update all users.
22126 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22127 file is larger than `UINT32_MAX'.
22128 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22129 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22130 return value.
22131 (struct deferred_write): Upgrade type of `extent' and `size' to
22132 `uint64_t'. Update all users.
22133 (last_extent_written): Upgrade type to `uint64_t'. Update all
22134 users.
22135 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22136 Update all users. Upgrade type of `remain' to `int64_t' and
22137 `use' to `size_t'. Use error() to handle fread() errors.
22138 (write_files): Rely on write_one_file() rather than calling
22139 xfwrite() directly.
22140
6a9cead5
FZ
221412009-11-09 Felix Zielcke <fzielcke@z-51.de>
22142
22143 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22144
4825d790
RM
221452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22146
22147 * util/mkisofs/fnmatch.c: Remove.
22148 * util/mkisofs/getopt1.c: Likewise.
22149 * util/mkisofs/getopt.c: Likewise.
22150 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22151 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22152 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22153 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22154 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22155
22156 * configure.ac: Detect `mingw32msvc' host_os.
22157 Check for lstat(), getuid() and getgid().
22158
22159 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22160 instances of `u_char' with `uint8_t'.
22161
22162 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22163 [!HAVE_GETUID] (getuid): New function (stub).
22164 [!HAVE_GETGID] (getgid): Likewise.
22165 [!HAVE_LSTAT] (lstat): Likewise.
22166 [!S_IROTH] (S_IROTH): New macro (dummy).
22167 [!S_IRGRP] (S_IRGRP): Likewise.
22168
84b860d8
RM
221692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22170
22171 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22172 conditional expression).
22173
66e9b712
RM
221742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22175
22176 Import from Gnulib.
22177
22178 * gnulib/fnmatch.c: New file.
22179 * gnulib/fnmatch.h: Likewise.
22180 * gnulib/fnmatch_loop.c: Likewise.
22181 * gnulib/getopt.c: Likewise.
22182 * gnulib/getopt.h: Likewise.
22183 * gnulib/getopt1.c: Likewise.
22184 * gnulib/getopt_int.h: Likewise.
22185 * gnulib/gettext.h: Likewise.
22186
34f4a5b0
RM
221872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22188
22189 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22190 * normal/handler.c (read_handler_list): Likewise.
22191
ac451143
RM
221922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22193
22194 Misc cleanup.
22195
22196 * kern/command.c (grub_register_command_prio): Use
22197 grub_zalloc() instead of explicitly zeroing data.
22198 * kern/list.c: Include `<grub/mm.h>'.
22199 (grub_named_list_find): Replace `0' with `NULL'.
22200 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22201 (fs_module_list): Change type to `grub_named_list_t'. Update all
22202 users.
22203 * normal/dyncmd.c (read_command_list): Add space between function
22204 call and parenthesis.
22205 * normal/handler.c (read_handler_list): Likewise.
22206
4089b167
RM
222072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22208
22209 * normal/auth.c (punishment_delay): Moved from here ...
22210 (grub_auth_strcmp): ... to here (inside function).
22211
325f5037
RM
222122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22213
22214 * include/grub/list.h (struct grub_named_list): Remove `const'
22215 qualifier from `name'.
22216 (struct grub_prio_list): Likewise.
22217
7aea29a3
RM
222182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22219
22220 * normal/auth.c: Include `<grub/time.h>'.
22221 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22222
3fd6f044
RM
222232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22224
22225 * normal/auth.c (punishment_delay): New variable.
22226 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22227 (grub_auth_check_authentication): Punish failed login attempts with
22228 an incremental (2^N) delay.
22229
a4cd68e4
RM
222302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22231
22232 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22233 path with $(srcdir).
22234
7ad12f43
VS
222352009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22236
22237 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22238
c1129f03
RM
222392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22240
22241 * util/i386/coreboot/grub-mkrescue.in: New file.
22242 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22243 variables.
22244
22245 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22246 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22247 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22248 requirements.
22249 * util/mkisofs/defaults.h: New file.
22250 * util/mkisofs/eltorito.c: Likewise.
22251 * util/mkisofs/exclude.h: Likewise.
22252 * util/mkisofs/fnmatch.c: Likewise.
22253 * util/mkisofs/getopt.c: Likewise.
22254 * util/mkisofs/getopt1.c: Likewise.
22255 * util/mkisofs/hash.c: Likewise.
22256 * util/mkisofs/include/fctldefs.h: Likewise.
22257 * util/mkisofs/include/mconfig.h: Likewise.
22258 * util/mkisofs/include/prototyp.h: Likewise.
22259 * util/mkisofs/include/statdefs.h: Likewise.
22260 * util/mkisofs/iso9660.h: Likewise.
22261 * util/mkisofs/joliet.c: Likewise.
22262 * util/mkisofs/match.c: Likewise.
22263 * util/mkisofs/match.h: Likewise.
22264 * util/mkisofs/mkisofs.c: Likewise.
22265 * util/mkisofs/mkisofs.h: Likewise.
22266 * util/mkisofs/multi.c: Likewise.
22267 * util/mkisofs/name.c: Likewise.
22268 * util/mkisofs/rock.c: Likewise.
22269 * util/mkisofs/tree.c: Likewise.
22270 * util/mkisofs/write.c: Likewise.
22271
ec8bb77d
VS
222722009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22273
22274 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22275 being insecure.
22276
3716b12c
RM
222772009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22278
22279 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22280 `grub-mkimage' (and use $0 when possible).
22281
b97b7b91
RM
222822009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22283
22284 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22285 error message for excessively large memory map.
22286
04114812
RM
222872009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22288
22289 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22290 executable bit.
22291
e4eb2373
RM
222922009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22293
22294 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22295 message for coreboot users.
22296
c926e1d5 222972009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22298
22299 Fix build with GNU gold.
22300
22301 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22302 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22303 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22304 link addresses.
22305 * aclocal.m4: Likewise.
22306
86e5b1db 223072009-11-04 Felix Zielcke <fzielcke@z-51.de>
22308
22309 * configure.ac (AC_PREREQ): Bump to 2.59d.
22310 * INSTALL: Make it more clear when Autoconf and Ruby are
22311 needed and when to run `./autogen.sh'.
22312
246cd78f 223132009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22314
22315 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22316 OSes.
22317
4f9dfb37 223182009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22319
22320 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22321
b82bd5e1 223222009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22323
22324 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22325 giving it to GNU Mach.
22326
ff1a9bca 223272009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22328
22329 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22330 GNU partition number to get internal GRUB partition number.
22331
61697d9c 223322009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22333
22334 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22335 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22336
a50569e1 223372009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22338
22339 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22340 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22341 case.
22342
5b153867 223432009-11-01 Felix Zielcke <fzielcke@z-51.de>
22344
22345 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22346
d9e2cd70 223472009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22348
22349 Fix build problem.
22350
22351 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22352 `-isystem=$(srcdir)/include'.
22353
805111a4 223542009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22355
22356 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22357 checked (grub-install doesn't currently rely on it).
22358
fa6e945f 223592009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22360
22361 Revert SVN r2660.
22362
22363 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22364 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22365 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22366 * conf/i386-ieee1275.rmk: Likewise.
22367 * conf/i386-pc.rmk: Likewise.
22368 * conf/powerpc-ieee1275.rmk: Likewise.
22369 * conf/sparc64-ieee1275.rmk: Likewise.
22370 * conf/x86_64-efi.rmk: Likewise.
22371
cee15086 223722009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22373
22374 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22375
95b9239e 223762009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22377
22378 * include/grub/misc.h: Stop checking for APPLE_CC.
22379
2ed19dfd 223802009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22381
22382 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22383 doesn't cause an infinite call loop.
22384
fdcdde19 223852009-10-28 Felix Zielcke <fzielcke@z-51.de>
22386
22387 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22388 strings.
22389
cefabfe1 223902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22391
22392 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22393 variable.
22394 * Makefile.in: Likewise.
22395
ed96ab6d 223962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22397
22398 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22399
0579b753 224002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22401
22402 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22403
478df409 224042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22405
22406 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22407
083d1679 224082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22409
22410 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22411 from here ...
22412 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22413
5947ae32 224142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22415
22416 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22417 in $(MAKEINFO) invocation. This makes it clear in output that
22418 errors are being ignored.
22419
94180ff6 224202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22421
22422 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22423 from here ...
22424 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22425 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22426 * conf/i386-ieee1275.rmk: Likewise.
22427 * conf/i386-pc.rmk: Likewise.
22428 * conf/powerpc-ieee1275.rmk: Likewise.
22429 * conf/sparc64-ieee1275.rmk: Likewise.
22430 * conf/x86_64-efi.rmk: Likewise.
22431
9031b03a 224322009-10-26 Colin Watson <cjwatson@ubuntu.com>
22433
22434 * util/grub-editenv.c (main): If only a command is given, use
22435 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22436 (usage): FILENAME is now optional and has a default.
22437
e4f6809b 224382009-10-26 Colin Watson <cjwatson@ubuntu.com>
22439
22440 Improve grub-mkconfig performance when there are several menu
22441 entries on a single filesystem.
22442
22443 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22444 prepare_grub_to_access_device.
22445 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22446 * util/grub.d/30_os-prober.in: Likewise.
22447
67937d4d 224482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22449
22450 * util/grub.d/10_freebsd.in: Remove.
22451 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22452 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22453
ee3756cc 224542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22455
5c35048e 22456 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 22457
4dea1c6f 224582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22459
22460 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22461 grub_util_error() call.
22462
042484d7 224632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22464
22465 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22466 `reserved_first_sector' member.
22467 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22468 `reserved_first_sector' to 1.
22469 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22470 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22471 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22472 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22473 filesystems which begin at first sector.
22474 (options): New option --skip-fs-probe.
22475 (main): Handle --skip-fs-probe and pass it to setup().
22476
d64448a7 224772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22478
22479 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22480 (memset): Fix function prototype.
22481
508d42ec 224822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
224832009-10-25 Vasily Averin <vvs@parallels.com>
22484
22485 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22486 `dirent.direntlen == 0'.
22487
b240e30c 224882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22489
22490 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22491 `cpio'.
22492 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22493
346e7fbe 224942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22495
22496 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22497 `__trampoline_setup' and `__ucmpdi2'.
22498 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22499 that libgcc provides.
22500
cdb308b0 225012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22502
22503 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22504 * include/grub/sparc64/libgcc.h (memset): Likewise.
22505 * include/grub/misc.h (memset, memcmp): New function prototypes.
22506
fb26abc2 225072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22508
22509 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22510 `cpio'.
22511 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22512
f6693890 225132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22514
22515 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22516 * docs/grub.cfg: Compensate for recent change in multiboot
22517 loader (since 2009-08-14 it won't pass filename to payload).
22518 * util/grub.d/10_hurd.in: Likewise.
22519
0933cdc0 225202009-10-21 Felix Zielcke <fzielcke@z-51.de>
22521
22522 * config.guess: Update to latest version from config git
22523 repository.
22524 * config.sub: Likewise.
22525
3b2fe8c2 225262009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22527
22528 Fix build on sparc64.
22529
22530 * configure.ac: Perform checks for libgcc symbols before
22531 adding `-nostdlib' to LDFLAGS.
22532
46695a62 225332009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22534
22535 Let user specify OpenBSD root device.
22536
22537 * loader/i386/bsd.c (openbsd_root): New variable.
22538 (openbsd_opts): New option 'root'.
22539 (OPENBSD_ROOT_ARG): New macro.
22540 (grub_openbsd_boot): Use 'openbsd_root'.
22541 (grub_cmd_openbsd): Fill 'openbsd_root'.
22542
d2b6b7fc 225432009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22544
22545 * NEWS: Misc adjustments.
22546
421bd7ac 225472009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22548
22549 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22550
f1d29d87 225512009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22552
22553 * configure.ac: Bump version to 1.97.
22554
6f3cd880 225552009-10-16 Colin Watson <cjwatson@ubuntu.com>
22556
22557 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22558 -mno-3dnow on x86 architectures. Some toolchains enable these
22559 features by default, but they rely on registers that aren't enabled
22560 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22561
035f7122 225622009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22563
22564 Make entry text a bit more readable.
22565
22566 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22567
44998e58 225682009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22569
22570 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22571
cd2851b3 225722009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22573
22574 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22575 operations.
22576
c6f3b249 225772009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 * configure.ac: Add missing dollar.
22580
6b5886ba 225812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22584
22585 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22586 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22587 exports.
22588 * include/grub/sparc64/libgcc.h: Likewise. Use
22589 preprocessor conditionals.
22590
e9d66f6d 225912009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22592
22593 * conf/common.rmk (grub-dumpbios): Remove rule.
22594 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22595 * util/grub-dumpbios.in: Remove file.
22596
9155bc17 225972009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22598
22599 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22600 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22601
22602 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22603 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22604 users.
22605
22606 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22607 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22608 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22609 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22610 users.
22611
bf7f7a18 226122009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22613
22614 * term/tparm.c: Switch to GPLv3.
22615
86564c26 226162009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22617
22618 * include/grub/i386/cpuid.h: Add header protection.
22619
5c936493 226202009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22621
22622 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22623
22624 * include/grub/i386/cpuid.h: New file.
22625 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22626 (has_longmode): Rename to ...
22627 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22628 `static' attribute.
22629 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22630 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22631 on a CPU that doesn't implement AMD64 instruction set.
22632
186e7cf2 226332009-10-06 Colin Watson <cjwatson@ubuntu.com>
22634
22635 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22636 that version.texi is rebuilt on version number changes.
22637
83b65c4a 226382009-10-06 Colin Watson <cjwatson@ubuntu.com>
22639
22640 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22641 Fixes bug #27602.
22642
d244281c 226432009-10-06 Colin Watson <cjwatson@ubuntu.com>
22644
22645 * util/i386/pc/grub-install.in: Source
22646 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22647 that the --grub-probe option will work.
22648 * util/sparc64/ieee1275/grub-install.in: Likewise.
22649
da25306d 226502009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22651
22652 * configure.ac: Bump version to 1.97~beta4.
22653
e8ee83c0 226542009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22655
22656 Resync grub-mkdevicemap in x86_64-efi.
22657
22658 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22659 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22660 `util/devicemap.c'.
22661
50dcabcf 226622009-10-01 Colin Watson <cjwatson@ubuntu.com>
22663
22664 * util/grub-editenv.c (create_envblk_file): Write new block with a
22665 .new suffix and then rename it into place, to ensure atomic
22666 creation.
22667
0e51c3a7 226682009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22669
22670 Do not automatically install headers.
22671
22672 * Makefile.in (include_DATA): Remove. Update all users.
22673
31299a95 226742009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22675
22676 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22677 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22678
22679 * util/osdetect.lua: Remove.
22680 * script/lua/lauxlib.c: Likewise.
22681 * script/lua/ldebug.c: Likewise.
22682 * script/lua/grub_main.c: Likewise.
22683 * script/lua/lauxlib.h: Likewise.
22684 * script/lua/ldebug.h: Likewise.
22685 * script/lua/ltablib.c: Likewise.
22686 * script/lua/liolib.c: Likewise.
22687 * script/lua/lstrlib.c: Likewise.
22688 * script/lua/lualib.h: Likewise.
22689 * script/lua/ldo.c: Likewise.
22690 * script/lua/ldump.c: Likewise.
22691 * script/lua/ldo.h: Likewise.
22692 * script/lua/loslib.c: Likewise.
22693 * script/lua/lundump.c: Likewise.
22694 * script/lua/grub_lib.c: Likewise.
22695 * script/lua/ldblib.c: Likewise.
22696 * script/lua/lundump.h: Likewise.
22697 * script/lua/lmem.c: Likewise.
22698 * script/lua/grub_lib.h: Likewise.
22699 * script/lua/lmathlib.c: Likewise.
22700 * script/lua/lstate.c: Likewise.
22701 * script/lua/ltm.c: Likewise.
22702 * script/lua/lvm.c: Likewise.
22703 * script/lua/lmem.h: Likewise.
22704 * script/lua/lstate.h: Likewise.
22705 * script/lua/ltm.h: Likewise.
22706 * script/lua/ltable.c: Likewise.
22707 * script/lua/lvm.h: Likewise.
22708 * script/lua/llex.c: Likewise.
22709 * script/lua/lgc.c: Likewise.
22710 * script/lua/grub_lua.h: Likewise.
22711 * script/lua/loadlib.c: Likewise.
22712 * script/lua/lfunc.c: Likewise.
22713 * script/lua/lopcodes.c: Likewise.
22714 * script/lua/lparser.c: Likewise.
22715 * script/lua/ltable.h: Likewise.
22716 * script/lua/llex.h: Likewise.
22717 * script/lua/lgc.h: Likewise.
22718 * script/lua/lfunc.h: Likewise.
22719 * script/lua/lbaselib.c: Likewise.
22720 * script/lua/lopcodes.h: Likewise.
22721 * script/lua/lparser.h: Likewise.
22722 * script/lua/lzio.c: Likewise.
22723 * script/lua/linit.c: Likewise.
22724 * script/lua/lobject.c: Likewise.
22725 * script/lua/llimits.h: Likewise.
22726 * script/lua/lstring.c: Likewise.
22727 * script/lua/lzio.h: Likewise.
22728 * script/lua/lapi.c: Likewise.
22729 * script/lua/lcode.c: Likewise.
22730 * script/lua/lua.h: Likewise.
22731 * script/lua/lobject.h: Likewise.
22732 * script/lua/lstring.h: Likewise.
22733 * script/lua/lapi.h: Likewise.
22734 * script/lua/lcode.h: Likewise.
22735 * script/lua/luaconf.h: Likewise.
22736
cb8a2c38 227372009-09-26 Colin Watson <cjwatson@ubuntu.com>
22738
22739 * docs/grub.texi (Command-line and menu entry commands): Document
22740 date and echo commands.
22741
6b9b6276 227422009-09-24 Pavel Roskin <proski@gnu.org>
22743
22744 * include/grub/kernel.h (struct grub_module_header): Remove
22745 `grub_module_header_types'. Make `type' unsigned. Make `size'
22746 32-bit on all platforms.
22747 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22748 8-bit field. Use grub_host_to_target32() for `size'.
22749 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22750 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22751 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22752
4e5a02a7 227532009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22754
22755 Fix "lost keypress" bug in at_keyboard.
22756
22757 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22758 Checks for readyness of input buffer (without flushing it).
22759 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22760 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22761
c6dcedf6 227622009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22763
22764 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22765 size check within GRUB_MACHINE_PCBIOS section.
22766
74c958b1 227672009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22768
22769 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22770 return value.
22771 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22772 KEYBOARD_ISREADY check.
22773 (grub_at_keyboard_checkkey): Rename to ...
22774 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22775 Remove gratuitous cast.
22776
ff420223 227772009-09-23 Colin Watson <cjwatson@ubuntu.com>
22778
22779 * configure.ac: Call AC_PROG_MKDIR_P.
22780 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22781 version.texi in $(builddir) rather than $(srcdir).
22782 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22783 to makeinfo's @include search path.
22784
d96875df 227852009-09-23 Felix Zielcke <fzielcke@z-51.de>
22786
22787 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22788
9b3f8365 227892009-09-23 Felix Zielcke <fzielcke@z-51.de>
22790
22791 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22792 for `*.dpkg-new'.
22793
c44c90db 227942009-09-21 Colin Watson <cjwatson@ubuntu.com>
22795
22796 Build info documentation. Some code borrowed from Automake.
22797
22798 * configure.ac: Check for makeinfo.
22799 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22800 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22801 docs/version.texi.
22802 (MOSTLYCLEANFILES): Add vti.tmp.
22803 (docs/version.texi, docs/stamp-vti): Update automatically.
22804 (docs/grub.info): Build info documentation. Use --force and ignore
22805 errors for now.
22806 (all-local): Add $(INFOS).
22807 (install-local): Install info files.
22808 (uninstall): Uninstall info files.
22809 * docs/version.texi: Remove from revision control. This file is
22810 automatically generated on build now.
22811 * gendistlist.sh: Add `*.info'.
22812
e0b37bb5 228132009-09-21 Felix Zielcke <fzielcke@z-51.de>
22814
22815 * kern/term.c: Fix indentation.
22816
5a78865b 228172009-09-21 Felix Zielcke <fzielcke@z-51.de>
22818
22819 * util/hostdisk.c: Fix a comment.
22820
dace7e8a 228212009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22822
22823 Fix regression introduced in r2539.
22824
22825 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22826 to 0xA1.
22827
a83d079b 228282009-09-19 Colin Watson <cjwatson@ubuntu.com>
22829
22830 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 22831 os-prober. Under normal operation, it does not print anything to
22832 stderr; if it does, we need to debug it, and throwing away stderr
22833 makes that excessively difficult.
a83d079b 22834
be94a509 228352009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22838
63f745e8 228392009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22840
22841 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22842 AC_LANG_PROGRAM from autoconf.
22843 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22844 prototypes (fixes warning).
22845
22846 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22847 `--disable-werror' was used.
22848
bbb2a70f 228492009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22850
22851 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22852 uninitialized `lastaddr'.
22853
77c24f1d 228542009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22855
0f0b8c87 22856 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 22857
07197f23 228582009-09-14 Colin Watson <cjwatson@ubuntu.com>
22859
22860 * commands/test.c (get_fileinfo): Return immediately if
22861 grub_fs_probe fails.
22862
dabf1798 228632009-09-14 José Martínez <xosemp@gmail.com>
22864
22865 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22866
d52109a7 228672009-09-14 Colin Watson <cjwatson@ubuntu.com>
22868
22869 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22870 output.
22871
56532179 228722009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22873
22874 * configure.ac: Remove --enable-grub-pe2elf. Only build
22875 grub-pe2elf when needed by the build system itself.
22876 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22877
8ef070f5 228782009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22879
22880 * configure.ac: Bump version to 1.97~beta3.
22881 * docs/version.texi: Likewise.
22882
61229557 228832009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22884
22885 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22886 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22887 from here ...
22888 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22889 (grub_linux_setup_video): ... to here (with some adjustments).
22890
5c9f8d84 228912009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22892
22893 Fix memory corruption issue (spotted by Colin Watson).
22894
22895 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22896 causing returned size to be stored in an incorrect memory location.
22897 Fix use of uninitialized value when storing the returned size.
22898
e8f5d6e9 228992009-09-12 Yves Blusseau <blusseau@zetam.org>
22900
22901 Change clean rules to properly remove files
22902
22903 * genmk.rb: add new clean rules
22904 * Makefile.in (clean): add the new targets
22905 (mostlyclean): likewise
22906
cda2a409 229072009-09-11 Colin Watson <cjwatson@ubuntu.com>
22908
22909 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22910 to grub_uint64_t.
22911 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22912 non-resident files.
22913
86695375 229142009-09-11 Colin Watson <cjwatson@ubuntu.com>
22915
22916 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22917 part of bug #27349.
22918
8aa1541a 229192009-09-10 Felix Zielcke <fzielcke@z-51.de>
22920
22921 * util/grub-mkconfig.in: Make the created config mode 400 and
22922 print a warning if it fails.
22923
48d9bb0a 229242009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22925
22926 * util/grub.d/40_custom.in: Ask user to type custom entries below
22927 comment, rather than below 'exec tail' line.
22928
3b0521be 229292009-09-10 Colin Watson <cjwatson@ubuntu.com>
22930
22931 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22932 visible in grub.cfg.
22933
50051d55 229342009-09-10 Colin Watson <cjwatson@ubuntu.com>
22935
22936 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22937 file.
22938
c0d34387 229392009-09-10 Felix Zielcke <fzielcke@z-51.de>
22940
22941 * docs/grub.cfg: Add an example menu entry for memtest86+.
22942
80a608f3 229432009-09-09 Felix Zielcke <fzielcke@z-51.de>
22944
a2094832 22945 * config.guess: Update to latest version from config git.
80a608f3 22946 * config.sub: Likewise.
22947
99423078 229482009-09-08 Colin Watson <cjwatson@ubuntu.com>
22949
22950 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22951 unknown-command case. Fixes bug #27320.
22952
44454e4c 229532009-09-08 Felix Zielcke <fzielcke@z-51.de>
22954
22955 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22956 `help' if the command exists.
22957
e30d87ad 229582009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22959
22960 * INSTALL: Require GCC 4.1.3 or later.
22961
9a86f1ec 229622009-09-06 Yves Blusseau <blusseau@zetam.org>
22963
22964 * Makefile.in (RMKFILES): add i386-qemu.rmk
22965 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22966 $(srcdir)/stamp-h.in
22967
7f26d466 229682009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22969
22970 * util/grub-probe.c (probe): Comment out buggy codepath, which
22971 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22972 should be re-enabled after 1.97.
22973
3a613259 229742009-09-05 Felix Zielcke <fzielcke@z-51.de>
22975
22976 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22977 find searches for.
22978
197f76c7 229792009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22980
22981 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22982 unnecessary calls to grub_error.
22983
70ba68ce 229842009-09-04 Colin Watson <cjwatson@ubuntu.com>
22985
22986 * NEWS: Mention `keystatus' and Unicode fonts.
22987
4ff0d7a4 229882009-09-04 Robert Millan <rmh.grub@aybabtu.com>
22989
22990 * configure.ac: Bump version to 1.97~beta2.
22991 * docs/version.texi: Likewise.
22992
77c55a87 229932009-09-03 Colin Watson <cjwatson@ubuntu.com>
22994
22995 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
22996 containing unwind information in some cases where it previously did
22997 not. Use -fno-dwarf2-cfi-asm if available to restore the old
22998 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
22999 discussion.
23000
f79572cd 230012009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
23002
23003 Embedding loadenv module into grub-emu
23004
23005 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
23006 commands/loadenv.c
23007 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
23008 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
23009 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
23010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
23011 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
23012 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
23013
93a81088 230142009-09-03 Magnus Granberg <zorry@ume.nu>
23015
23016 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
23017 include -fPIE in the default specs.
23018 * configure.ac: Check if pie_possible is yes and add -fno-PIE
23019 to TARGET_CFLAGS.
23020
160034b2 230212009-09-03 Felix Zielcke <fzielcke@z-51.de>
23022
23023 * INSTALL: Note that GNU Bison 2.3 or later is required.
23024
087c07c4 230252009-09-03 Colin Watson <cjwatson@ubuntu.com>
23026
23027 * kern/i386/pc/startup.S: Fix typo.
23028
cbf978c0 230292009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23030
23031 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
23032 according to GCS.
23033
230342009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 23035
23036 * docs/grub.texi (Naming convention): Describe one-based partition
23037 numbering.
23038 (Device syntax): Likewise.
23039 (File name syntax): Likewise.
23040 (Block list syntax): Likewise.
23041 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
23042 menu.lst.
23043 (File name syntax): Likewise.
23044 (Command-line and menu entry commands): Document acpi, blocklist,
23045 crc, export, insmod, keystatus, ls, set, and unset commands.
23046
f3e8cdfd 230472009-09-02 Colin Watson <cjwatson@ubuntu.com>
23048
23049 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
23050 to avoid implying that only one of --shift, --ctrl, or --alt may be
23051 used.
23052
c0bc232b 230532009-09-02 Colin Watson <cjwatson@ubuntu.com>
23054
23055 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
23056 rather than comparing against S_IFREG, which will almost never work.
23057
aa0f752d 230582009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23059
23060 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
23061 (write_blocklists): Likewise.
23062
ecb3166a 230632009-09-01 Colin Watson <cjwatson@ubuntu.com>
23064
23065 * script/lua/grub_lua.h (fputs): Supply a format string as the first
23066 argument to grub_printf.
23067
c403a125 230682009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 23069
23070 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 23071 non GNU test.
31aba781 23072
b5e7312c 230732009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23074
23075 * kern/file.c (grub_file_read): Spelling fix
23076
fe00f472 230772009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
23080 loading of headers in some cases.
23081
cc55302e 230822009-08-30 Robert Millan <rmh.grub@aybabtu.com>
23083
23084 * configure.ac: Bump version to 1.97~beta1.
23085 * docs/version.texi: Likewise.
23086
5c90cdd2 230872009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 23088
23089 * include/grub/i386/xnu.h: Add license header.
23090 include grub/err.h explicitly.
23091
c90edae4 230922009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23093
23094 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
23095 to `ufs' in the vfs.root.mountfrom kernel parameter.
23096
d8888b5c 230972009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23098
23099 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
23100
23101 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
23102 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
23103
23104 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
23105 `ARRAY_SIZE' macro.
23106
6f07b921 231072009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23108
23109 * kern/file.c (grub_file_read): Check offset.
23110 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23111 * fs/jfs.c (grub_jfs_read_file): Likewise.
23112 * fs/ntfs.c (grub_ntfs_read): Likewise.
23113 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23114 * fs/minix.c (grub_minix_read_file): Correct offset check.
23115 * fs/ufs.c (grub_ufs_read_file): Likewise.
23116
b4f34077 231172009-08-28 Colin Watson <cjwatson@ubuntu.com>
23118
23119 * term/i386/pc/console.c (bios_data_area): Cast
23120 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23121
e7c69859 231222009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23123
23124 1-bit optimised blitters.
23125
23126 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23127 prototype.
23128 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23129 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23130 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23131 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23132 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23133 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23134 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23135 function.
23136 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23137 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23138 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23139 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23140 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23141 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23142 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23143 when possible.
23144 * video/video.c (grub_video_get_blit_format): Return
23145 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23146
a57da43f 231472009-08-28 Colin Watson <cjwatson@ubuntu.com>
23148
23149 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23150 the first argument to grub_printf.
23151
4cbe67e5 231522009-08-28 Colin Watson <cjwatson@ubuntu.com>
231532009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23154
23155 Add `getkeystatus' terminal method. Add a new `keystatus' command
23156 to query it.
23157
23158 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23159 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23160 modifier key bitmasks.
23161 (struct grub_term_input): Add `getkeystatus' member.
23162 (grub_getkeystatus): Add prototype.
23163 * kern/term.c (grub_getkeystatus): New function.
23164
23165 * include/grub/i386/pc/memory.h
23166 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23167 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23168 Data Area layout.
23169 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23170 (grub_console_term_input): Set `getkeystatus' member.
23171 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23172 constants.
23173 (grub_usb_keyboard_getreport): Likewise.
23174 (grub_usb_keyboard_checkkey): Likewise.
23175 (grub_usb_keyboard_getkeystatus): New function.
23176 (grub_usb_keyboard_term): Set `getkeystatus' member.
23177
23178 * commands/keystatus.c: New file.
23179 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23180 (keystatus_mod_SOURCES): New variable.
23181 (keystatus_mod_CFLAGS): Likewise.
23182 (keystatus_mod_LDFLAGS): Likewise.
23183 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23184 commands/keystatus.c.
23185 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23186 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23187 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23189 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23190 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 23191
6e2a9085 231922009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23193
23194 Split befs.mod and afs.mod into *_be.mod and *.mod
23195
23196 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23197 (grub_fstest_SOURCES): Likewise.
23198 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23199 (afs_be_mod_SOURCES): New variable.
23200 (afs_be_mod_CFLAGS): Likewise.
23201 (afs_be_mod_LDFLAGS): Likewise.
23202 (befs_be_mod_SOURCES): Likewise.
23203 (befs_be_mod_CFLAGS): Likewise.
23204 (befs_be_mod_LDFLAGS): Likewise.
23205 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23206 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23207 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23208 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23209 (grub_emu_SOURCES): Likewise.
23210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23211 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23212 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23213 * fs/afs_be.c: New file.
23214 * fs/befs_be.c: New file.
23215 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23216 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23217 (U16): Replaced with ...
23218 (grub_afs_to_cpu16): ...this. All users updated.
23219 (U32): Replaced with ...
23220 (grub_afs_to_cpu32): ...this. All users updated.
23221 (U64): Replaced with ...
23222 (grub_afs_to_cpu64): ...this. All users updated.
23223 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23224 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 23225 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 23226 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23227 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23228 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23229 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23230 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23231 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23232 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23233 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23234
32a71655 232352009-08-26 Bean <bean123ch@gmail.com>
23236
23237 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23238 64-bit number.
23239 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23240 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23241 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23242
552bf6c5 232432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23244
23245 NetBSD memory map support.
23246
23247 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23248 (grub_netbsd_btinfo_mmap_header): New structure.
23249 (grub_netbsd_btinfo_mmap_entry): Likewise.
23250 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23251
1ae2078c 232522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23253
23254 Enable bsd.mod on coreboot.
23255
23256 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23257 (bsd_mod_SOURCES): New variable.
23258 (bsd_mod_CFLAGS): Likewise.
23259 (bsd_mod_LDFLAGS): Likewise.
23260 (bsd_mod_ASFLAGS): Likewise.
23261 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23262 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23263
beefc598 232642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23265
23266 Cleanup NetBSD root support.
23267
23268 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23269 grub_bsd_get_device.
23270 Fix typo.
23271
3b76e68b 232722009-08-25 Felix Zielcke <fzielcke@z-51.de>
23273
23274 * util/grub.d/00_header.in: Move check for the video backend of
23275 gfxterm from here ...
23276 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23277 a suitable video backend.
23278
aea664ea 232792009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23280
23281 Fix breakage in grub-setup.
23282
23283 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23284 "msdos_partition_map".
23285
ff747d50 232862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23287
23288 Fix breakage in normal/auth.c.
23289
23290 * normal/auth.c (grub_iswordseparator): New function.
23291
e7e1f93f 232922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 Authentication support.
23295
23296 * commands/password.c: New file.
23297 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23298 (password_mod_SOURCES): New variable.
23299 (password_mod_CFLAGS): Likewise.
23300 (password_mod_LDFLAGS): Likewise.
23301 (normal_mod_SOURCES): Add normal/auth.c.
23302 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23303 normal/auth.c.
23304 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23305 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23306 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23308 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23309 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23310 * include/grub/auth.h: New file.
23311 * include/grub/err.h (grub_err_t): New enum value
23312 GRUB_ERR_ACCESS_DENIED.
23313 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23314 'users'.
23315 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23316 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23317 users updated.
23318 * normal/auth.c: New file.
23319 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23320 (grub_cmdline_run): Don't allow to go to command line without
23321 authentication.
23322 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23323 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23324 menuentry without superuser rights.
23325 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23326 user isn't a superuser.
23327
70f1161d 233282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23329
23330 Save space by inlining misc.c functions.
23331
23332 * kern/misc.c (grub_iswordseparator): Made static.
23333 * kern/misc.c (grub_strcat): Moved from here ...
23334 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23335 * kern/misc.c (grub_strncat): Moved from here ...
23336 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23337 * kern/misc.c (grub_strcasecmp): Moved from here ...
23338 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23339 * kern/misc.c (grub_strncasecmp): Moved from here ...
23340 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23341 * kern/misc.c (grub_isalpha): Moved from here ...
23342 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23343 * kern/misc.c (grub_isdigit): Moved from here ...
23344 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23345 * kern/misc.c (grub_isgraph): Moved from here ...
23346 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23347 * kern/misc.c (grub_tolower): Moved from here ...
23348 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23349
48e40bff 233502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23351
23352 * script/sh/function.c (grub_script_function_find): Cut error message
23353 not to flood terminal.
23354 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23355 limit.
23356 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23357
c385bfc3 233582009-08-24 Colin Watson <cjwatson@ubuntu.com>
23359
23360 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23361 `report' grub_uint8_t *.
23362 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23363 Use a 50-millisecond timeout rather than just repeating
23364 grub_usb_keyboard_getreport 50 times.
23365 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23366
2d21e3e8 233672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23368
23369 Rename *_partition_map to part_*
23370
23371 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23372 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23373 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23374 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23375 All users updated.
23376 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23377 All users updated.
23378 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23379 * util/grub-probe.c (probe_partmap): Don't transform partition name
23380 to get module name.
23381
dd103c4e 233822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23383
23384 Fix OpenBSD and NetBSD support.
23385
23386 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23387 memory address conflict.
23388 (OPENBSD_MMAP_ACPI): New definition.
23389 (OPENBSD_MMAP_NVS): Likewise.
23390 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23391 and OPENBSD_MMAP_NVS.
23392 Add memory map terminator
23393 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 23394 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 23395
16c84d74 233962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23397
23398 Let user specify NetBSD root device.
23399
23400 * loader/i386/bsd.c (netbsd_root): New variable.
23401 (netbsd_opts): New option 'root'.
23402 (NETBSD_ROOT_ARG): New macro.
23403 (grub_netbsd_boot): Use 'netbsd_root'.
23404 (grub_bsd_unload): Free 'netbsd_root'.
23405 (grub_cmd_netbsd): Fill 'netbsd_root'.
23406
adb29902 234072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23408
23409 Support for 64-bit NetBSD.
23410
23411 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23412 point when booting non-FreeBSD.
23413
f5ae9f74 234142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23415
23416 Support --no-smp and --no-acpi for NetBSD.
23417
23418 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23419 (NETBSD_AB_NOACPI): Likewise.
23420 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23421 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23422
de74f136 234232009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23424
23425 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23426 errors.
23427 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23428 errors. Call grub_error when needed.
23429
e9a925da 234302009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23431
23432 * commands/search.c (search_fs): Try searching without autoload first.
23433 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23434 filesystem module explicitly for faster booting.
23435
5174302b 234362009-08-23 Colin Watson <cjwatson@ubuntu.com>
23437
23438 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23439
c8c80635 234402009-08-23 Colin Watson <cjwatson@ubuntu.com>
23441
23442 * util/grub.d/30_os-prober.in: Disable os-prober if
23443 `GRUB_DISABLE_OS_PROBER' was set to true.
23444
71acf5e5 234452009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23446
23447 * partmap/pc.c: Rename to ...
23448 * partmap/msdos.c: ... this. Update all users.
23449 (grub_pc_partition_map): Rename to ...
23450 (grub_msdos_partition_map): ... this. Update all users.
23451
23452 * parttool/pcpart.c: Rename to ...
23453 * parttool/msdospart.c: ... this. Update all users.
23454
23455 * include/grub/pc_partition.h: Rename to ...
23456 * include/grub/msdos_partition.h: ... this. Update all users.
23457 (grub_pc_partition_bsd_entry): Rename to ...
23458 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23459 (grub_pc_partition_disk_label): Rename to ...
23460 (grub_msdos_partition_disk_label): ... this. Update all users.
23461 (grub_pc_partition_entry): Rename to ...
23462 (grub_msdos_partition_entry): ... this. Update all users.
23463 (grub_pc_partition_mbr): Rename to ...
23464 (grub_msdos_partition_mbr): ... this. Update all users.
23465 (grub_pc_partition): Rename to ...
23466 (grub_msdos_partition): ... this. Update all users.
23467 (grub_pc_partition_is_empty): Rename to ...
23468 (grub_msdos_partition_is_empty): ... this. Update all users.
23469 (grub_pc_partition_is_extended): Rename to ...
23470 (grub_msdos_partition_is_extended): ... this. Update all users.
23471 (grub_pc_partition_is_bsd): Rename to ...
23472 (grub_msdos_partition_is_bsd): ... this. Update all users.
23473
23474 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23475 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23476 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23477 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23478 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23479 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23480 (gpt_mod_LDFLAGS): Rename to ...
23481 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23482 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23483 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23484 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23485 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23486 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23487 (part_gpt_mod_LDFLAGS): ... this.
23488 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23489 `pcpart.mod' to `msdospart.mod'.
23490 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23491 to ...
23492 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23493 (msdospart_mod_LDFLAGS): ... this.
23494
c11fded5 234952009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23496
23497 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23498 (openbsd_opts): Likewise.
23499 (netbsd_opts): Likewise.
23500 (freebsd_flags): Added 0 terminator.
23501 (openbsd_flags): Likewise.
23502 (netbsd_flags): Likewise.
23503 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23504 (grub_cmd_freebsd): Transformed into extended command.
23505 (grub_cmd_openbsd): Likewise.
23506 (grub_cmd_netbsd): Likewise.
23507 (cmd_freebsd): Changed type to grub_extcmd_t.
23508 (cmd_openbsd): Likewise.
23509 (cmd_netbsd): Likewise.
23510 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23511 grub_cmd_openbsd as extended commands.
23512 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23513 cmd_netbsd and cmd_openbsd
23514
11d1c769 235152009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23518
7a9094e5 235192009-08-21 Pavel Roskin <proski@gnu.org>
23520
5496c37e 23521 * Makefile.in (install-local): When checking if a file is in the
23522 build directory, use "test -e" to detect symlinks.
23523
7a9094e5 23524 * Makefile.in (install-local): Remove all files in
23525 $(DESTDIR)$(pkglibdir) before installing new files there.
23526
e53cea11 235272009-08-18 Felix Zielcke <fzielcke@z-51.de>
23528
23529 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23530 grub-mkelfimage.
23531
9aced544 235322009-08-18 Felix Zielcke <fzielcke@z-51.de>
23533
23534 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23535 explicitly specified by the user.
23536
b7da6bab 235372009-08-18 Pavel Roskin <proski@gnu.org>
23538
23539 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23540 grub_uint8_t pointer for data.
23541 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23542 Likewise.
23543 * video/fb/fbutil.c: Remove unnecessary casts.
23544
19f1b335 235452009-08-17 Michal Suchanek <hramrach@centrum.cz>
23546
23547 VBE cleanup.
23548
23549 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23550 (grub_vbe_set_video_mode): Save active mode info
23551 only after setting the mode.
23552 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23553 second argument.
23554
2f467aa9 235552009-08-17 Michal Suchanek <hramrach@centrum.cz>
23556
23557 Rename variables for clarity.
23558
23559 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23560 (active_vbe_mode_info): ... this. All users updated.
23561 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23562 All users updated.
23563 (initial_mode): Rename to ...
23564 (initial_vbe_mode): ... this. All users updated.
23565 (mode_in_use): Rename to ..
23566 (vbe_mode_in_use): ... this. All users updated.
23567 (mode_list): Rename to ..
23568 (vbe_mode_list): ... this. All users updated.
23569 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23570 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23571 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23572 'mode_list_size' to 'vbe_mode_list_size'.
23573 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23574 'best_mode_info' to 'best_vbe_mode_info' and
23575 'best_mode' to 'best_vbe_mode'
23576
6025fcd7 235772009-08-17 Michal Suchanek <hramrach@centrum.cz>
23578
23579 Remove duplicate grub_video_fb_get_video_ptr.
23580
23581 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23582 (grub_video_fb_get_video_ptr): ... this.
23583 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23584 * video/fb/fbutil.c: Add comment about addressing.
23585 (get_data_ptr): Rename to ...
23586 (grub_video_fb_get_video_ptr): ... this. All users updated.
23587 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23588
cc8c6faf 235892009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23590
23591 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23592 grub_dprintf() that was just added.
23593
08aa61f0 235942009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23595
23596 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23597 (DEFAULT_VIDEO_MODE): Remove macros.
23598 (grub_linux_boot): Remove assumption that Linux has FB support,
23599 and use "text" as default video mode.
23600
7cef4f75 236012009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23602
23603 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23604 grub_dprintf.
23605 * fs/fat.c (grub_fat_read_data): Likewise.
23606
e1f39873 236072009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23608
23609 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23610 payload.
23611 (grub_module): Likewise.
23612
c166d79e 236132009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23614
23615 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23616 mbi->cmdline but free playground.
23617
c60cee8e 236182009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23619
23620 Handle group offset on UFS1.
23621
23622 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23623 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23624
c0d8b5d4 236252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 Split ufs.mod into ufs1.mod and ufs2.mod.
23628
23629 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23630 (grub_fstest_SOURCES): Likewise.
23631 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23632 (ufs_mod_SOURCES): Remove.
23633 (ufs_mod_CFLAGS): Likewise.
23634 (ufs_mod_LDFLAGS): Likewise.
23635 (ufs1_mod_SOURCES): New variable.
23636 (ufs1_mod_CFLAGS): Likewise.
23637 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 23638 (ufs2_mod_SOURCES): New variable.
23639 (ufs2_mod_CFLAGS): Likewise.
23640 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 23641 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23642 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23643 Likewise.
23644 (grub_emu_SOURCES): Likewise.
23645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23646 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23647 (grub_setup_SOURCES): Likewise.
23648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23649 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23650 (grub_setup_SOURCES): Likewise.
23651 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23652 Likewise.
23653 * fs/ufs2.c: New file.
23654 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23655
d3539132 236562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23657
23658 Framebuffer split.
23659
23660 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23661 subsystem at the end.
23662 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23663 (video_fb_mod_SOURCES): New variable.
23664 (video_fb_mod_CFLAGS): Likewise.
23665 (video_fb_mod_LDFLAGS): Likewise.
23666 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23667 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23668 * video/i386/pc/vbeblit.c: Moved from here ...
23669 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23670 * video/i386/pc/vbefill.c: Moved from here ...
23671 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23672 * video/i386/pc/vbeutil.c: Moved from here ...
23673 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23674 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23675 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23676 * include/grub/i386/pc/vbefill.h: Moved from here ...
23677 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23678 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23679 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23680 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23681 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23682 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23683 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23684 (grub_video_adapter): Added 'get_info_and_fini'.
23685 (grub_video_get_info_and_fini): New prototype.
23686 (grub_video_set_mode): make modestring const char *.
23687 * loader/i386/linux.c (grub_linux_setup_video): Use
23688 grub_video_get_info_and_fini.
23689 (grub_linux_boot): Move modesetting just before booting.
23690 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23691 grub_video_get_info_and_fini.
23692 * video/i386/pc/vbe.c: Moved framebuffer part ...
23693 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23694 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23695 grub_video_fbstd_colors and grub_video_fb_set_palette.
23696 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23697 grub_video_fb_init.
23698 (grub_video_vbe_fini): Use grub_video_fb_fini.
23699 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23700 render_target and use grub_video_fb_set_active_render_target and
23701 grub_video_fb_set_palette.
23702 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23703 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23704 (grub_video_vbe_adapter): Use framebuffer.
23705 * video/video.c (grub_video_get_info_and_fini): New function.
23706 (grub_video_set_mode): Make modestring const char *.
23707 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23708 values are already initialised.
23709
d404ee56 237102009-08-14 Pavel Roskin <proski@gnu.org>
23711
23712 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23713 ABS and APPLE_CC.
23714 * boot/i386/pc/diskboot.S: Likewise.
23715 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23716 sectors allow compilation on MacOSX.
23717 * conf/i386-pc.rmk: Enable unconditional compilation of
23718 lnxboot.img.
23719
9a10df16 237202009-08-13 Colin Watson <cjwatson@ubuntu.com>
23721
23722 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23723 * util/grub.d/00_header.in: Enter interruptible sleep if
23724 GRUB_HIDDEN_TIMEOUT is set.
23725
be3c9ca7 237262009-08-13 Yves Blusseau <blusseau@zetam.org>
23727
23728 * include/grub/symbol.h: Add the LOCAL macro.
23729 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23730 starting with "L_".
23731
1f9e557e 237322009-08-13 Pavel Roskin <proski@gnu.org>
23733
9ca62843 23734 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23735 any modern compilers we support.
23736
1f9e557e 23737 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23738 Use local labels starting with "L_" so that Apple assembler
23739 knows they are local.
23740
81623db6 237412009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23742
23743 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23744 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23745 (bsd_kernel_types): ... this enum.
23746
23747 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23748 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23749 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23750
23751 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23752 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23753 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23754 messages.
23755
f5d35e7a 237562009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23757
23758 * util/grub-dumpdevtree: Moved from here ...
23759 * util/i386/efi/grub-dumpdevtree: ... to here.
23760 (hexify): New function. Converts a string to its hex version.
23761 Generate hex versions of "efi" and "device-properties" by calling
23762 hexify() on the ASCII strings rather than by hardcoding numbers.
23763
d1e1d527 237642009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23765
23766 * fs/jfs.c: Update copyright year.
23767
1ebbe064 237682009-08-08 Felix Zielcke <fzielcke@z-51.de>
23769
23770 * util/grub.d/00_header.in: Fix a comment.
23771 * util/grub.d/10_linux.in: Likewise.
23772 * util/grub.d/10_windows.in: Likewise.
23773 * util/grub.d/10_hurd.in: Likewise.
23774
a78c8d24 237752009-08-08 Felix Zielcke <fzielcke@z-51.de>
23776
23777 * util/grub-mkconfig.in: Allow the user to specify the used font
23778 with GRUB_FONT.
23779
29a6b9e8 237802009-08-08 Pavel Roskin <proski@gnu.org>
23781
b5f16cc4 23782 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23783 available, xfs.mod needs it now.
23784
2f5cb827 23785 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23786 the "g" modifier in sed when the intention is to strip something
23787 once. This fixes comparison of kernels with multiple dashes.
23788
29a6b9e8 23789 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23790 on it. Add missing space before closing bracket. Fix
23791 misleading formatting.
23792
892a3d98 237932009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23794
23795 * docs/grub.texi: Major overhaul. Remove all sections that are
23796 specific to GRUB Legacy, or mostly composed of Legacy-specific
23797 information.
23798
ed94253f 237992009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23800
23801 * docs/version.texi: New file. Provides version information for
23802 grub.texi.
23803
126d6628 238042009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23805
23806 * docs/grub.texi: Update CVS information to SVN.
23807 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23808
998b5aa9 238092009-08-07 Felix Zielcke <fzielcke@z-51.de>
23810
23811 * util/grub-mkconfig.in: Remove a wrong `fi'.
23812
818e094a 238132009-08-07 Felix Zielcke <fzielcke@z-51.de>
23814
23815 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23816 (grub_jfs_uuid): New function.
23817 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23818
b969c52f 238192009-08-07 Felix Zielcke <fzielcke@z-51.de>
23820
23821 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23822 of it to ...
23823 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23824 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23825
7a4894cc 238262009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23827
23828 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23829 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23830 Update all users.
23831
23832 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23833 not just "vmlinu[zx]".
23834 Moved from here ...
23835 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23836 all users.
23837
23838 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23839 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23840 all users.
23841
4e2171f8 238422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23843
23844 * util/grub.d/10_freebsd.in: Use an absolute device path for
23845 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23846
6dcfcb32 238472009-08-06 Felix Zielcke <fzielcke@z-51.de>
23848
23849 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23850 handling of multiple abstraction modules.
23851
f56a8756 238522009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23853
23854 Fix a bug resulting in black screen when loading Linux using a
23855 packed video mode.
23856
23857 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23858 function.
23859
23860 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23861 (grub_vbe_bios_getset_dac_palette_width): New function.
23862 (grub_vbe_bios_get_dac_palette_width)
23863 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23864 grub_vbe_bios_getset_dac_palette_width()).
23865
23866 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23867 check for return status.
23868 (grub_vbe_get_video_mode_info): When getting information for a packed
23869 mode (<= 8 bpp), obtain DAC palette width using
23870 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23871 {red,green,blue}_mark_size.
23872
222671b2 238732009-08-04 Felix Zielcke <fzielcke@z-51.de>
23874
ecb1a6d9 23875 * commands/search.c (options): Fix help output to match actual code.
222671b2 23876
f84114f5 238772009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23878
23879 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23880 of homegrown code.
23881
bd288a20 238822009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 23883
23884 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23885 on XFS or ReiserFS.
23886
8aab5e25 238872009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23888
23889 Support Apple partition map with sector size different from 512 bytes.
23890
23891 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23892 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23893 and 'apart.partmap_size'.
23894
6ad6258a 238952009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
238962009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23897
23898 Fix cpuid command.
23899
23900 * commands/i386/cpuid.c (options): New variable.
23901 (grub_cmd_cpuid): Return real error.
23902 (GRUB_MOD_INIT(cpuid)): Declare options.
23903
67459bc6 239042009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23905
23906 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23907 valid.
23908
fbc6ab54 239092009-07-31 Bean <bean123ch@gmail.com>
23910
23911 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23912 log2_inode.
23913 (grub_fshelp_node): Move inode field to the end.
23914 (grub_xfs_data): Remove inode field.
23915 (grub_xfs_inode_block): Calculate inode size using sblock.
23916 (grub_xfs_inode_offset): Likewise.
23917 (grub_xfs_read_inode): Calculate inode size using sblock.
23918 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23919 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23920 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23921 to match inode size.
23922 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23923 not accessible when data is null.
23924 (grub_xfs_open): Likewise.
23925
f45d6cfc 239262009-07-31 Bean <bean123ch@gmail.com>
23927
23928 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23929 Don't change pv->disk if it's already set.
23930
23931 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23932 (grub_raid_register): ... here.
23933 (grub_raid_rescan): Removed.
23934
23935 * include/grub/raid.h (grub_raid_rescan): Removed.
23936
23937 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23938 (fstest): Replace grub_raid_rescan with module fini function followed
23939 by init function.
23940
23941 * util/grub-probe.c: Add include file <grub/raid.h>.
23942 (probe_raid_level): New function.
23943 (probe): Detect abstraction by walking the disk device, support two
23944 level of abstraction (LVM on RAID) when detecting partition map.
23945
24443b5a 239462009-07-31 Pavel Roskin <proski@gnu.org>
23947
23948 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23949 to grub_zalloc(), it was erroneous.
23950 Reported by Bean <bean123ch@gmail.com>
23951
a275d9e7 239522009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23953
23954 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 23955 embedding zone, not only the first one.
a275d9e7 23956
56c5a47f 239572009-07-29 Joe Auricchio <jauricchio@gmail.com>
23958
23959 * term/gfxterm.c (clear_char): New function.
23960 (grub_virtual_screen_setup): Use clear_char.
23961 (scroll_up): Likewise.
23962 (grub_virtual_screen_cls): Likewise.
23963
67bb323a 239642009-07-29 Felix Zielcke <fzielcke@z-51.de>
23965
23966 * util/deviceiter.c (get_acceleraid_disk_name): New static
23967 function.
23968 (grub_util_iterate_devices): Handle Accelraid devices.
23969 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23970
388a7c75 239712009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23972
23973 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23974 separator for the suggested gfxpayload string (';' collides with the
23975 parser and needs escaping).
23976
3bb7abcf 239772009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23978
23979 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23980 Clear direction flag before jumping to OS.
23981 (grub_multiboot2_real_boot): Likewise.
23982
2ddd36d7 239832009-07-28 Felix Zielcke <fzielcke@z-51.de>
23984
23985 * util/i386/pc/grub-install: Fix parsing of --disk-module
23986 option.
23987
c521b62b 239882009-07-28 Felix Zielcke <fzielcke@z-51.de>
23989
23990 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
23991 when embedding.
23992
880e0a0c 239932009-07-26 Felix Zielcke <fzielcke@z-51.de>
23994
23995 * util/grub-mkconfig.in (package_version): New variable.
23996 Use it do display the version.
23997
2366e356 239982009-07-25 Felix Zielcke <fzielcke@z-51.de>
23999
24000 * kern/file.c (grub_file_open): Revert to previous check with
24001 grub_errno.
24002
7ad8c80e 240032009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24004
24005 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
24006 from help line. It's out of sync with code.
24007
72b9658b 240082009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24009
24010 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
24011 entries on failed boot.
24012
77435277 240132009-07-25 Felix Zielcke <fzielcke@z-51.de>
24014
24015 * kern/file.c (grub_file_open): Fix an error check.
24016
fcaa8b21 240172009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
24018
35d16c74 24019 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
24020 partition map couldn't be identified.
fcaa8b21 24021
48904cd1 240222009-07-23 Pavel Roskin <proski@gnu.org>
24023
ef3c317f 24024 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
24025 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
24026 case of little endian words becomes just an optimization.
24027 Respect const modifier.
ad8ea1f4 24028 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 24029
48904cd1 24030 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
24031 to avoid loss of upper bits if align is unsigned and shorter
24032 than addr.
24033
260c9a89 240342009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 UUID support for UFS
24037
24038 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
24039 (grub_ufs_uuid): New function.
24040 (grub_ufs_fs): add .uuid
24041
f76ce889 240422009-07-21 Pavel Roskin <proski@gnu.org>
24043
24044 * kern/dl.c (grub_dl_check_header): Make static.
24045
6a6cbcaf 240462009-07-21 Felix Zielcke <fzielcke@z-51.de>
24047
24048 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
24049 add drivemap for Vista. It breaks Windows 7.
24050
cffcddb2 240512009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24052
24053 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
24054 128 bytes
24055
1ef44b80 240562009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24057
24058 Add BFS support
24059
24060 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
24061 (grub_fstest_SOURCES): Likewise.
24062 (pkglib_MODULES): Add befs.mod.
24063 (befs_mod_SOURCES): New variable.
24064 (befs_mod_CFLAGS): Likewise.
24065 (befs_mod_LDFLAGS): Likewise.
24066 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24068 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24069 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24070 (grub_setup_SOURCES): Likewise.
24071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24073 (grub_setup_SOURCES): Likewise.
24074 * fs/befs.c: New file.
24075 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
24076 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
24077 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
24078 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
24079 (B_KEY_INDEX_ALIGN): New declaration.
24080 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
24081 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
24082 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
24083 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
24084 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
24085 (grub_afs_mount) [MODE_BFS]: Likewise.
24086 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
24087 (grub_afs_fs): Use GRUB_AFS_FSNAME
24088 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
24089 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
24090 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
24091 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
24092
4f253044 240932009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
24094
24095 * util/getroot.c (find_root_device): Add support for MacOSX.
24096 * util/hostdisk.c: Likewise.
24097
57a55913 240982009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24099
24100 * font/font.c (find_glyph): Check whether a font is present to avoid
24101 segmentation fault.
75421ca9 24102
241032009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 24104
24105 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24106
e98cd0c2 241072009-07-20 Pavel Roskin <proski@gnu.org>
24108
24109 * configure.ac: Trim excessively wordy excuses.
24110
1d2d169a 241112009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24112
24113 Add symlink, mtime and label support to AtheFS.
24114
24115 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24116 (grub_afs_iterate_dir): Handle symlinks.
24117 (grub_afs_open): Use grub_afs_read_symlink.
24118 (grub_afs_dir): Likewise.
24119 Pass mtime.
24120 (grub_afs_label): New function.
24121 (grub_afs_fs): Add grub_afs_label.
24122 (grub_afs_read_symlink): New function.
24123
186f3189 241242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24125
24126 Fix AtheFS support.
24127
24128 * fs/afs.c: Fix comments style.
24129 (grub_afs_blockrun): Declare as packed.
24130 (grub_afs_datastream): Likewise.
24131 (grub_afs_bnode): Likewise.
24132 (grub_afs_btree): Likewise.
24133 (grub_afs_sblock): Likewise.
24134 Declare `name' as char.
24135 (grub_afs_inode): Declare as packed.
24136 Change void *vnode to grub_uint32_t unused.
24137 (grub_afs_iterate_dir): Check that key_size is positive.
24138 (grub_afs_mount): Don't read superblock twice.
75421ca9 24139 (grub_afs_dir): Don't free node in case of error,
186f3189 24140 grub_fshelp_find_file already handles this.
24141 (grub_afs_open): Likewise.
24142
5680109e 241432009-07-19 Pavel Roskin <proski@gnu.org>
24144
24145 * Makefile.in: Remove LIBLZO and enable_lzo.
24146 * conf/i386-pc.rmk: Remove lzo support.
24147 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24148 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24149 support.
24150 * kern/i386/pc/lzo1x.S: Remove.
24151 * kern/i386/pc/startup.S: Remove lzo support.
24152 * util/i386/pc/grub-mkimage.c: Likewise.
24153
ac70fa32 241542009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24155
24156 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24157 * fs/xfs.c (grub_xfs_dir): Likewise.
24158 * fs/afs.c (grub_afs_dir): Likewise.
24159 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24160 (grub_iso9660_open): Likewise.
24161 * fs/jfs.c (grub_jfs_open): Likewise.
24162 * fs/ext2.c (grub_ext2_dir): Likewise.
24163 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24164 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 24165
eab58da2 241662009-07-16 Pavel Roskin <proski@gnu.org>
24167
d2838156 24168 * configure.ac: Never add "-c" to CFLAGS.
24169
55c70904 24170 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24171
43e6200c 24172 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24173 grub_cv_cc_efiemu should be used.
24174
ce7a733d 24175 * configure.ac: Typo fixes.
24176
eab58da2 24177 * kern/mm.c (grub_zalloc): New function.
24178 (grub_debug_zalloc): Likewise.
24179 * include/grub/mm.h: Declare grub_zalloc() and
24180 grub_debug_zalloc().
24181 * util/misc.c (grub_zalloc): New function.
24182 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24183 instead of grub_malloc(), remove unneeded initializations.
24184 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24185 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24186 * commands/parttool.c (grub_cmd_parttool): Likewise.
24187 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24188 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24189 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24190 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24191 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24192 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24193 (grub_cmd_efiemu_pnvram): Likewise.
24194 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24195 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24196 (grub_iso9660_iterate_dir): Likewise.
24197 * fs/jfs.c (grub_jfs_opendir): Likewise.
24198 * fs/ntfs.c (list_file): Likewise.
24199 (grub_ntfs_mount): Likewise.
24200 * kern/disk.c (grub_disk_open): Likewise.
24201 * kern/dl.c (grub_dl_load_core): Likewise.
24202 * kern/elf.c (grub_elf_file): Likewise.
24203 * kern/env.c (grub_env_context_open): Likewise.
24204 (grub_env_set): Likewise.
24205 (grub_env_set_data_slot): Likewise.
24206 * kern/file.c (grub_file_open): Likewise.
24207 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24208 * loader/i386/multiboot.c (grub_module): Likewise.
24209 * loader/xnu.c (grub_xnu_create_key): Likewise.
24210 (grub_xnu_create_value): Likewise.
24211 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24212 (read_config_file): Likewise.
24213 * normal/menu_entry.c (make_screen): Likewise.
24214 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24215 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24216 * script/sh/script.c (grub_script_parse): Likewise.
24217 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24218 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24219 * video/readers/png.c (grub_png_output_byte): Likewise.
24220 (grub_video_reader_png): Likewise.
24221
830afef7 242222009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 24223
24224 Enable all targets that can be built by default
24225
830afef7 24226 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 24227 grub-mkfont and grub-fstest if they can be built
24228
ee293aee 242292009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24230
24231 Fix hang and segmentation fault in grub-emu-usb
24232
24233 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24234 * util/usb.c (grub_libusb_devices): likewise
24235 (grub_libusb_init): rename to ...
24236 (GRUB_MOD_INIT (libusb)):...this
24237 (grub_libusb_fini): rename to ..
24238 (GRUB_MOD_FINI (libusb)):...this
24239 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24240 * include/grub/disk.h (grub_raid_init): removed, it's useless
24241 (grub_raid_fini): likewise
24242 (grub_lvm_init): likewise
24243 (grub_lvm_fini): likewise
24244 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24245 by grub_init_all
24246
94414221 242472009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24248
24249 Fix libusb
24250
24251 * Makefile.in (LIBUSB): new macro
24252 * genmk.rb (Utility/print_tail): new method
24253 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24254 (top level): call util.print_tail at the end.
24255
59ade63d 242562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 Make FreeBSD accept zpool.cache
24259
24260 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24261 type is /boot/zfs/zpool.cache
24262
a58da8c7 242632009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24264
24265 Fix 64-bit efiemu
24266
24267 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24268 correct wrong typedef
24269 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24270
20591577 242712009-07-15 Pavel Roskin <proski@gnu.org>
24272
560ca572 24273 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24274 * kern/disk.c (struct grub_disk_cache): Likewise.
24275
e8e8e4fd 24276 * commands/probe.c (options): Typo fix.
24277
fde24e10 24278 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24279 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24280 accordingly.
24281 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24282
379c54c1 24283 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24284 the end of "Error" to make the message more readable.
24285
7bd8f5bf 24286 * boot/i386/pc/boot.S (kernel_segment): Remove.
24287 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24288 for destination.
24289
40b132c5 24290 * boot/i386/pc/boot.S (boot_version): Remove.
24291 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24292 Remove.
24293
20591577 24294 * include/grub/i386/pc/boot.h: Sort all offsets.
24295 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24296 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24297 * boot/i386/pc/boot.S: Assert location of every offset listed in
24298 include/grub/i386/pc/boot.h.
24299
2df32b2c 243002009-07-13 Pavel Roskin <proski@gnu.org>
24301
44b5d879 24302 * include/grub/i386/coreboot/machine.h: Rename
24303 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24304 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24305 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24306
17dc3751 24307 * kern/dl.c: Force native word size to suppress warnings when
24308 compiling grub-emu.
24309
2df32b2c 24310 * kern/device.c (grub_device_iterate): Change struct part_ent to
24311 hold the name, not a pointer to it. Use one grub_malloc() per
24312 partition, not two. Free partition_name if grub_malloc() fails.
24313 Set ents to NULL only before grub_partition_iterate() is called.
24314
75c59f59 243152009-07-11 Bean <bean123ch@gmail.com>
24316
24317 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24318 childname.
24319
0ae1bf88 243202009-07-10 Bean <bean123ch@gmail.com>
243212009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24322
24323 * kern/ieee1275/openfw.c (grub_children_iterate)
24324 (grub_devalias_iterate): Fix size evaluation for property or path
24325 strings, which was broken since r2132.
24326
8279cade 243272009-07-07 Pavel Roskin <proski@gnu.org>
24328
7d8a52d3 24329 * commands/search.c (search_file): Merge into ...
24330 (search_fs): ... this. Accept search type as argument.
24331 (grub_cmd_search): Pass search type to search_fs().
24332
25f9a05a 24333 * include/grub/util/console.h: New file.
24334 * util/console.c: Use it instead of grub/machine/console.h.
24335 * util/grub-emu.c: Likewise.
24336
8279cade 24337 * lib/arg.c (find_long_option): Remove.
24338 (find_long): Add `len' argument, make `s' const char *.
24339 (grub_arg_parse): Parse long options in place, not in a
24340 temporary buffer.
24341
4a11b60f 243422009-07-06 Pavel Roskin <proski@gnu.org>
24343
99f68041 24344 * commands/search.c (search_fs): Fix potential NULL pointer
24345 dereference.
24346
4a11b60f 24347 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24348 function pointer.
24349
e110f4de 243502009-07-06 Daniel Mierswa <impulze@impulze.org>
24351
24352 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24353 comparison.
24354
46eeb6a2 243552009-07-05 Pavel Roskin <proski@gnu.org>
24356
bab74958 24357 * include/grub/i386/linux.h (struct linux_kernel_params):
24358 Restore padding3, it's still needed.
24359
46eeb6a2 24360 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24361 FreeBSD.
24362 * util/osdetect.lua: Likewise.
24363
b4a1dc79 243642009-07-05 Bean <bean123ch@gmail.com>
24365
24366 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24367
24368 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24369 (grub_lua_getenv): Likewise.
24370 (grub_lua_setenv): Likewise.
24371 (save_errno): New function.
24372 (push_result): Likewise.
24373 (grub_lua_enum_device): Likewise.
24374 (grub_lua_enum_file): Likewise.
24375 (grub_lua_file_open): Likewise.
24376 (grub_lua_file_close): Likewise.
24377 (grub_lua_file_seek): Likewise.
24378 (grub_lua_file_read): Likewise.
24379 (grub_lua_file_getline): Likewise.
24380 (grub_lua_file_getsize): Likewise.
24381 (grub_lua_file_getpos): Likewise.
24382 (grub_lua_file_eof): Likewise.
24383 (grub_lua_file_exist): Likewise.
24384 (grub_lua_add_menu): Likewise.
24385
24386 * script/lua/grub_lua.h (isupper): New inline function.
24387 (islower): Likewise.
24388 (ispunct): Likewise.
24389 (isxdigit): Likewise.
24390 (strcspn): Change to normal function.
24391 (strpbkr): New function declaration.
24392 (memchr): Likewise.
24393
24394 * script/lua/grub_main.c (scan_str): New function.
24395 (strcspn): Likewise.
24396 (strpbrk): Likewise.
24397 (memchr): Likewise.
24398
24399 * script/lua/linit.c (lualibs): Enable the string library.
24400
24401 * util/osdetect.lua: New file.
24402
2da92295 244032009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24404
24405 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24406 `capabilities' member.
24407
b2582ec9 244082009-07-02 Pavel Roskin <proski@gnu.org>
24409
24410 * genparttoollist.sh: Add missing newline at the end.
24411
32622956 244122009-07-01 Pavel Roskin <proski@gnu.org>
24413
87a7339e 24414 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24415
d23af54e 24416 * util/hostdisk.c (open_device): Remove `const' from
24417 `sysctl_size', as sysctlbyname() can change it (in this case it
24418 doesn't actually happen).
24419
c94b18a9 24420 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24421 using signed long int constants.
24422
c6cd3ef0 24423 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24424 constant to avoid a warning on FreeBSD.
24425
0df63420 24426 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24427 where it's needed.
24428
999577f1 24429 * Makefile.in: Install include/grub/machine symlink.
24430
6f41557f 24431 * Makefile.in: When installing symlinks, use "cp -fR", which
24432 works on FreeBSD and MacOSX.
24433 From Yves Blusseau <cl7m42e02@sneakemail.com>
24434
c8d22988 24435 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24436 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24437
1b96e952 24438 * util/misc.c: Move grub_reboot() and grub_halt() ...
24439 * util/grub-emu.c: ... here. Make main_env static.
24440 * include/grub/util/misc.h: Remove main_env.
24441
2ef0084d 24442 * kern/mm.c: Use correct format to print size_t.
24443
32622956 24444 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24445 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24446 * kern/powerpc/dl.c: Likewise.
24447 * kern/sparc64/dl.c: Likewise.
24448 * kern/x86_64/dl.c: Likewise.
24449
3f7f0cd0 244502009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24451
24452 Fix grub-emu build on sparc64-ieee1275.
24453
75421ca9 24454 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 24455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24456
211d06b5 244572009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24458
24459 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24460 (grub_reboot, grub_halt): New functions.
24461
24462 * util/i386/pc/misc.c: Delete. Update all users.
24463 * util/sparc64/ieee1275/misc.c: Likewise.
24464 * util/powerpc/ieee1275/misc.c: Likewise.
24465
aaf53e3c 244662009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24467
24468 * conf/i386.rmk (setjmp_mod_SOURCES)
24469 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24470 * conf/common.rmk (setjmp_mod_SOURCES)
24471 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24472 to use $(target_cpu).
24473 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24474 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24475 * conf/powerpc-ieee1275.rmk: Likewise.
24476 * conf/sparc64-ieee1275.rmk: Likewise.
24477
24478 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24479 $(target_cpu) for kern/$(target_cpu)/dl.c.
24480 * conf/i386-efi.rmk: Likewise.
24481 * conf/i386-ieee1275.rmk: Likewise.
24482 * conf/x86_64-efi.rmk: Likewise.
24483 * conf/i386-coreboot.rmk: Likewise.
24484 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24485 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24486 kern/$(target_cpu)/cache.S.
24487 * conf/sparc64-ieee1275.rmk: Likewise.
24488
a337130b 244892009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24490
24491 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24492 type to `grub_uint8_t', and adjust `padding9' accordingly.
24493
c6fe4d53 244942009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24495
b09db61d 24496 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24497
c6fe4d53 24498 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24499 assembly in final jump, using register constraints.
24500
b09db61d 24501 (grub_linux_boot): For text mode, initialize `have_vga' using
24502 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24503
24504 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24505 right before the final jump.
24506
24507 Set `video_mode' to 0x3.
24508
24509 Document initialization of `video_page', `video_mode' and
24510 `video_ega_bx'.
24511
28333ad0 245122009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24513
24514 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24515 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 24516 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 24517
02164e1b 245182009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24519
24520 Fix build on Debian / sparc.
24521
24522 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24523
18b6c557 245242009-06-28 Pavel Roskin <proski@gnu.org>
24525
85f2aab6 24526 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24527 fix a warning.
24528
18b6c557 24529 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24530
ad760f81 245312009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24532
24533 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24534 `err'.
24535
87a4623b 245362009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24537
24538 Revert r2338.
24539
24540 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24541 file can't be opened. grub_file_open() is already supposed to set
75421ca9 24542 grub_errno / grub_errmsg appropriately.
87a4623b 24543 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24544
8231fb77 245452009-06-27 Pavel Roskin <proski@gnu.org>
245462009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24547
24548 * include/grub/dl.h: Include grub/elf.h.
24549 (struct grub_dl): Add symtab field.
24550 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24551 GRUB_MODULES_MACHINE_READONLY.
24552 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24553 of the header for read-only modules.
24554 (grub_dl_unload): Free mod->symtab for read-only modules.
24555 * kern/i386/dl.c: Use mod->symtab.
24556 * kern/powerpc/dl.c: Likewise.
24557 * kern/sparc64/dl.c: Likewise.
24558 * kern/x86_64/dl.c: Likewise.
24559
24560 * conf/i386-qemu.rmk: New file.
24561 * kern/i386/qemu/startup.S: Likewise.
24562 * kern/i386/qemu/mmap.c: Likewise.
24563 * boot/i386/qemu/boot.S: Likewise.
24564 * include/grub/i386/qemu/time.h: Likewise.
24565 * include/grub/i386/qemu/serial.h: Likewise.
24566 * include/grub/i386/qemu/kernel.h: Likewise.
24567 * include/grub/i386/qemu/console.h: Likewise.
24568 * include/grub/i386/qemu/boot.h: Likewise.
24569 * include/grub/i386/qemu/init.h: Likewise.
24570 * include/grub/i386/qemu/machine.h: Likewise.
24571 * include/grub/i386/qemu/loader.h: Likewise.
24572 * include/grub/i386/qemu/memory.h: Likewise.
24573
24574 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24575 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24576 [qemu] (pkglib_IMAGES): Add `boot.img'.
24577 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24578 [qemu] (boot_img_FORMAT): New variables.
24579 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24580 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24581 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24582 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24583 [qemu] (kernel_img_FORMAT): New variables.
24584
24585 * configure.ac: Recognise `i386-qemu'.
24586
24587 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24588 (for no compression).
24589 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24590 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24591 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24592 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24593 ifdefs).
24594
97fe384e 245952009-06-27 Pavel Roskin <proski@gnu.org>
24596
24597 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24598 read.
24599 * efiemu/prepare32.c: Likewise.
24600 * efiemu/prepare64.c: Likewise.
24601
c402ab17 246022009-06-26 Pavel Roskin <proski@gnu.org>
24603
24604 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24605 * include/grub/elf.h: Define symbols without "32" or "64" based
24606 on GRUB_TARGET_WORDSIZE.
24607 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24608 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24609 ELF definitions.
24610 * efiemu/loadcore64.c: Likewise.
24611 * loader/i386/bsd32.c: Likewise.
24612 * loader/i386/bsd64.c: Likewise.
24613 * kern/dl.c: Remove own ELF definitions.
24614 * util/i386/efi/grub-mkimage.c: Likewise.
24615
9bbdfd4d 246162009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24617
24618 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24619 segment 0x0 unconditionally, because the reference generated by
24620 GAS is an absolute address.
24621
a42ce6e9 246222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24623
24624 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24625 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24626
c952cf92 246272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24628
24629 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24630 indexes. Check for -f explicitly.
cc3752ad 24631 (search_file): Improve error message.
24632 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 24633
132a0a59 246342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24635
24636 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24637 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24638
387a140c 246392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24640
24641 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24642 * conf/i386-ieee1275.rmk: Likewise.
24643 * conf/i386-coreboot.rmk: Likewise.
24644
24645 * kern/i386/pc/startup.S (grub_stop): Remove function.
24646 * kern/i386/ieee1275/startup.S: Likewise.
24647 * kern/i386/coreboot/startup.S: Likewise.
24648 * kern/i386/misc.S (grub_stop): New function.
24649
41da9665 246502009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24651
24652 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24653 * kern/i386/realmode.S (real_to_prot): ... to here.
24654
bf337234 246552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24656
24657 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24658 with `kernel.img'.
24659 (kernel_elf_SOURCES): Rename to ...
24660 (kernel_img_SOURCES): ... this.
24661 (kernel_elf_HEADERS): Rename to ...
24662 (kernel_img_HEADERS): ... this. Update all users.
24663 (kernel_elf_ASFLAGS): Rename to ...
24664 (kernel_img_ASFLAGS): ... this.
24665 (kernel_elf_CFLAGS): Rename to ...
24666 (kernel_img_CFLAGS): ... this.
24667 (kernel_elf_LDFLAGS): Rename to ...
24668 (kernel_img_LDFLAGS): ... this.
24669 * conf/i386-coreboot.rmk: Likewise.
24670 * conf/powerpc-ieee1275.rmk: Likewise.
24671
24672 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24673 with "kernel.img".
24674
f52196ff 246752009-06-21 Pavel Roskin <proski@gnu.org>
24676
c3cee413 24677 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24678 to match nested functions.
24679 * loader/sparc64/ieee1275/linux.c: Likewise.
24680
f52196ff 24681 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24682
58750afc 246832009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24684
24685 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24686 all i386 platforms.
24687
15355c7d 246882009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24689
24690 Fix asm file handling on ELF, and remove workarounds.
24691
24692 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 24693 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 24694 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24695 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24696
3f3ec72b 246972009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24698
24699 Load BSD ELF modules
24700
24701 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24702 and loader/i386/bsd64.c
24703 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24704 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24705 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24706 (grub_freebsd_load_elfmodule32): New declaration
24707 (grub_freebsd_load_elfmoduleobj64): Likewise
24708 (grub_freebsd_load_elf_meta32): Likewise
24709 (grub_freebsd_load_elf_meta64): Likewise
24710 (grub_freebsd_add_meta): Likewise
24711 (grub_freebsd_add_meta_module): Likewise
24712 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24713 (grub_freebsd_add_meta_module): Likewise and move module-specific
24714 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24715 (grub_cmd_freebsd): Add elf-kernel specific parts
24716 based on grub_freebsd_add_meta_module
24717 (grub_cmd_freebsd_module): Add type parsing moved from
24718 grub_freebsd_add_meta_module
24719 (grub_cmd_freebsd_module_elf): New function
24720 (cmd_freebsd_module_elf): New variable
24721 (GRUB_MOD_INIT): Register freebsd_module_elf
24722 * loader/i386/bsd32.c: New file
24723 * loader/i386/bsd64.c: Likewise
24724 * loader/i386/bsdXX.c: Likewise
24725 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24726 (grub_elf64_load): Likewise
24727 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24728 All users updated
24729 (grub_elf64_load_hook_t): Likewise
24730
0db15301 247312009-06-21 Colin Watson <cjwatson@ubuntu.com>
24732
24733 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24734 variable.
24735 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24736 don't write a menu entry for recovery mode.
24737
546796c1 247382009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24739
24740 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24741 after it's no longer needed.
24742
cd7310d5 247432009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24744
24745 * include/grub/i386/loader.h (grub_linux_prot_size)
24746 (grub_linux_tmp_addr, grub_linux_real_addr)
24747 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24748 GRUB_MACHINE_PCBIOS.
24749 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24750 common grub_util_info() call to ...
24751 (generate_image): ... here.
24752 Fix use of uninitialized memory, comparison of signed with
24753 unsigned integers and memory leak.
24754 Remove bogus module address message.
24755
ab32d3b5 247562009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24757
24758 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24759 grub_raid_register
24760 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24761
024ef597 247622009-06-19 Pavel Roskin <proski@gnu.org>
24763
24764 * configure.ac: Remove stray AC_MSG_CHECKING.
24765
3ac72b51 247662009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24767
24768 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 24769
e14cd814 247702009-06-18 Pavel Roskin <proski@gnu.org>
24771
24772 * conf/common.rmk: Add fs_file.mod.
24773 * disk/fs_file.c: New file.
24774 * include/grub/disk.h (enum grub_disk_dev_id): Add
24775 GRUB_DISK_DEVICE_FILE_ID.
24776
26586d98 247772009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24778
24779 Fix build with Apple's toolchain. Part 2
24780
24781 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24782 a fake start
24783
26de2bcd 247842009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24785
24786 Fix build with Apple's toolchain. Part 1
24787
24788 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24789 for long calls
24790 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 24791 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 24792 Apple's toolchain
24793
09b3490b 247942009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 Fix warnings
24797
24798 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24799 (decomp_block): initialize ch
24800 use grub_memcpy instead of memcpy
24801
c22a006a 248022009-06-17 Pavel Roskin <proski@gnu.org>
24803
d3638678 24804 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24805 version, use declarations needed to use vga_text as the startup
24806 console.
24807
c22a006a 24808 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24809 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24810 the kernel.
24811 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24812 and grub_at_keyboard_fini(), it's done on module load and
24813 unload.
24814
05b129e0 248152009-06-17 Felix Zielcke <fzielcke@z-51.de>
24816
24817 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24818 file can't be found.
24819 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24820
cf24ed9e 248212009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24822
24823 Fix newline handling
24824
24825 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 24826 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 24827 (grub_script_yylex): don't segfault on unterminated script
24828 newline terminates command and variable
24829
74aa8e4b 248302009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24831
24832 avoid double grub_adjust_range call. Bug reported by David Simner
24833
24834 * kern/disk.c (grub_disk_write): change to raw disk access before
24835 calling disk_read
24836
1bd265f3 248372009-06-17 Colin Watson <cjwatson@ubuntu.com>
24838
24839 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24840 spaces, for the benefit of help2man.
24841 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24842
a2d08c06 248432009-06-16 Pavel Roskin <proski@gnu.org>
24844
24845 * kern/i386/halt.c: Include grub/machine/init.h.
24846 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24847
b97bcb19 248482009-06-16 Felix Zielcke <fzielcke@z-51.de>
24849
24850 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24851 drivemap menuentry.
24852
0644f96c 248532009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24854
24855 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24856 `echo' command.
24857
3ef17a2e 248582009-06-16 Pavel Roskin <proski@gnu.org>
24859
24860 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24861 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24862 save %dx, we only need %dl and we never change it.
24863 * boot/i386/pc/cdboot.S: Don't set the root drive.
24864 * boot/i386/pc/pxeboot.S: Likewise.
24865 * include/grub/i386/pc/boot.h: Remove
24866 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24867 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24868 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24869 * kern/i386/pc/init.c (make_install_device): Remove references
24870 to grub_root_drive.
24871 * kern/i386/pc/startup.S: Likewise.
24872 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24873
693fe637 248742009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24875
24876 xnu_uuid command
24877
24878 * commands/xnu_uuid.c: new file
24879 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24880 (xnu_uuid_mod_SOURCES): new variable
24881 (xnu_uuid_mod_CFLAGS): likewise
24882 (xnu_uuid_mod_LDFLAGS): likewise
24883 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24884 * conf/i386-ieee1275.rmk: likewise
24885 * conf/i386-pc.rmk: likewise
24886 * conf/powerpc-ieee1275.rmk: likewise
24887 * conf/sparc64-ieee1275.rmk: likewise
24888 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24889
c9da87d0 248902009-06-16 Pavel Roskin <proski@gnu.org>
24891
24892 * configure.ac: Avoid '==' in test command, it's not portable.
24893
9c6f4596 248942009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24895
24896 Probe command
24897
24898 * commands/probe.c: new file
24899 * conf/common.rmk (pkglib_MODULES): add probe.mod
24900 (probe_mod_SOURCES): new variable
24901 (probe_mod_CFLAGS): likewise
24902 (probe_mod_LDFLAGS): likewise
24903 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24904 * conf/i386-ieee1275.rmk: likewise
24905 * conf/i386-pc.rmk: likewise
24906 * conf/powerpc-ieee1275.rmk: likewise
24907 * conf/sparc64-ieee1275.rmk: likewise
24908
70b7f9fd 249092009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 Fix handling of string like \"hello\" and "a
24912 b"
24913
24914 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24915 (grub_script_yylex): fix parsing of quoting, escaping and newline
24916
71c79a6b 249172009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24918
dd74360c 24919 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 24920 handling
dd74360c 24921
0644f96c 249222009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 24923
24924 * util/grub-mkconfig.in: Fix parsing of --output option.
24925
e40893c3 249262009-06-12 Pavel Roskin <proski@gnu.org>
24927
24928 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24929 genmk.rb don't need to be generated or installed.
24930
3a1acfe2 249312009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24932
24933 * commands/i386/pc/drivemap_int13h.S: add more comments
24934
3a4575d4 249352009-06-11 Pavel Roskin <proski@gnu.org>
24936
0658e928 24937 * Makefile.in (uninstall): Uninstall manuals.
24938
ca0388f0 24939 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24940 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24941 and update-grub_lib in two places.
24942 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24943
e3b27c39 24944 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24945 a compiler warning.
24946
3a4575d4 24947 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24948 `entry_lo' to fix variable shadowing.
24949
af1f4f55 249502009-06-11 Christian Franke <franke@computer.org>
24951
24952 * kern/misc.c (__enable_execute_stack): Add missing return type
24953 to prevent gcc warning.
24954
5225e649 249552009-06-11 Felix Zielcke <fzielcke@z-51.de>
24956
24957 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24958
7d83bd47 249592009-06-11 Pavel Roskin <proski@gnu.org>
24960
c1cb63ba 24961 * Makefile.in: Don't rely on any scripts being executable.
24962 Always use $(SHELL) to run shell scripts.
24963
7d83bd47 24964 * configure.ac: Always define ___main if using -nostdlib. This
24965 fixes tests on Cygwin.
24966
948f48e7 249672009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24968
24969 UDF fix
24970
7d83bd47 24971 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 24972 is in bytes and not in blocks
7d83bd47 24973
8ada9bc1 249742009-06-11 Pavel Roskin <proski@gnu.org>
24975
24976 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24977 warning.
24978
25ad2323 249792009-06-11 Felix Zielcke <fzielcke@z-51.de>
24980
24981 * util/grub.d/30_os-prober.in: Fix a comment. Source
24982 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24983 to set the root device. Place drivemap command in the generated
24984 chain entry.
24985
e65acb0c 249862009-06-11 Pavel Roskin <proski@gnu.org>
24987
24988 * configure.ac: Remove host_m32. Issues with 64-bit utilities
24989 have long been resolved.
24990
f285fe2d 249912009-06-11 Colin Watson <cjwatson@ubuntu.com>
24992
bd47b0b5 24993 * util/grub.d/10_linux.in: Capitalise "Linux".
24994
f285fe2d 24995 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
24996
a0c62e4e 249972009-06-11 Pavel Roskin <proski@gnu.org>
24998
b6783cb2 24999 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
25000 fix a gcc warning and ensure that the function won't ever exit.
25001
dde032e8 25002 * kern/i386/ieee1275/init.c: Add missing prototype for
25003 grub_stop_floppy().
25004
22cd079d 25005 * loader/ieee1275/multiboot2.c [__i386__]: Include
25006 grub/cpu/multiboot.h.
25007
a0c62e4e 25008 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
25009 casts to short - they are not portable and cause warnings. Fix
25010 use of uninitialized values in input_buf. Use ARRAY_SIZE.
25011
63963d17 250122009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
25013
25014 Drivemap fixes
25015
25016 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
25017 new function
25018 (grub_get_root_biosnumber_saved): new variable
25019 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
25020 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 25021 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 25022 %dx after the call if necessary
25023 * conf/common.rmk (pkglib_MODULES): remove boot.mod
25024 (boot_mod_SOURCES): remove
25025 (boot_mod_CFLAGS): remove
25026 (boot_mod_LDFLAGS): remove
25027 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
25028 (boot_mod_SOURCES): new variable
25029 (boot_mod_CFLAGS): likewise
25030 (boot_mod_LDFLAGS): likewise
25031 * conf/i386-efi.rmk: likewise
25032 * conf/i386-ieee1275.rmk: likewise
25033 * conf/i386-pc.rmk: likewise
25034 * conf/powerpc-ieee1275.rmk: likewise
25035 * conf/sparc64-ieee1275.rmk: likewise
25036 * conf/x86_64-efi.rmk: likewise
25037 * include/grub/i386/pc/biosnum.h: new file
25038 * lib/i386/pc/biosnum.c: likewise
25039 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
25040 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
25041 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 25042
33abf7ae 250432009-06-10 Pavel Roskin <proski@gnu.org>
25044
5ac35b35 25045 * io/gzio.c (test_header): Don't reuse one buffer for all data.
25046 Use separate variables. Read only the file size at the end, but
25047 not the checksum that we don't use.
25048
5c5215d5 25049 * kern/file.c (grub_file_read): Use void pointer for the buffer.
25050 Adjust all callers.
25051
27d5fef7 25052 * kern/ieee1275/openfw.c: Remove libc includes.
25053 * kern/ieee1275/cmain.c: Likewise.
25054 * include/grub/ieee1275/ieee1275.h: Likewise.
25055
33abf7ae 25056 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
25057 compiler warnings.
25058
19d50c2b 250592009-06-10 Felix Zielcke <fzielcke@z-51.de>
25060
25061 * Makefile.in: Remove all trailing whitespace.
25062 * conf/i386-pc.rmk: Likewise.
25063 * conf/powerpc-ieee1275.rmk: Likewise.
25064 * conf/sparc64-ieee1275.rmk: Likewise.
25065 * docs/grub.texi: Likewise.
25066 * docs/texinfo.tex: Likewise.
25067 * disk/fs_uuid.c: Likewise.
25068 * disk/lvm.c: Likewise.
25069 * disk/scsi.c: Likewise.
25070 * disk/ata.c: Likewise.
25071 * disk/ieee1275/ofdisk.c: Likewise.
25072 * disk/i386/pc/biosdisk.c: Likewise.
25073 * disk/host.c: Likewise.
25074 * disk/raid.c: Likewise.
25075 * disk/efi/efidisk.c: Likewise.
25076 * disk/usbms.c: Likewise.
25077 * disk/memdisk.c: Likewise.
25078 * disk/loopback.c: Likewise.
25079 * kern/powerpc/dl.c: Likewise.
25080 * kern/device.c: Likewise.
25081 * kern/dl.c: Likewise.
25082 * kern/sparc64/dl.c: Likewise.
25083 * kern/ieee1275/ieee1275.c: Likewise.
25084 * kern/term.c: Likewise.
25085 * kern/fs.c: Likewise.
25086 * kern/i386/dl.c: Likewise.
25087 * kern/i386/pc/startup.S: Likewise.
25088 * kern/i386/pc/init.c: Likewise.
25089 * kern/i386/pc/mmap.c: Likewise.
25090 * kern/i386/pc/lzo1x.S: Likewise.
25091 * kern/i386/ieee1275/init.c: Likewise.
25092 * kern/i386/realmode.S: Likewise.
25093 * kern/i386/tsc.c: Likewise.
25094 * kern/partition.c: Likewise.
25095 * kern/corecmd.c: Likewise.
25096 * kern/file.c: Likewise.
25097 * kern/efi/efi.c: Likewise.
25098 * kern/efi/init.c: Likewise.
25099 * kern/efi/mm.c: Likewise.
25100 * kern/main.c: Likewise.
25101 * kern/err.c: Likewise.
25102 * kern/env.c: Likewise.
25103 * kern/disk.c: Likewise.
25104 * kern/generic/millisleep.c: Likewise.
25105 * kern/generic/rtc_get_time_ms.c: Likewise.
25106 * kern/misc.c: Likewise.
25107 * kern/parser.c: Likewise.
25108 * genmk.rb: Likewise.
25109 * configure.ac: Likewise.
25110 * boot/i386/pc/diskboot.S: Likewise.
25111 * boot/i386/pc/pxeboot.S: Likewise.
25112 * boot/i386/pc/boot.S: Likewise.
25113 * boot/i386/pc/lnxboot.S: Likewise.
25114 * boot/i386/pc/cdboot.S: Likewise.
25115 * parttool/pcpart.c: Likewise.
25116 * video/readers/tga.c: Likewise.
25117 * video/video.c: Likewise.
25118 * video/bitmap.c: Likewise.
25119 * lib/envblk.c: Likewise.
25120 * lib/i386/setjmp.S: Likewise.
25121 * fs/xfs.c: Likewise.
25122 * fs/afs.c: Likewise.
25123 * fs/fat.c: Likewise.
25124 * fs/ntfs.c: Likewise.
25125 * fs/udf.c: Likewise.
25126 * fs/affs.c: Likewise.
25127 * fs/iso9660.c: Likewise.
25128 * fs/hfs.c: Likewise.
25129 * fs/fshelp.c: Likewise.
25130 * fs/ext2.c: Likewise.
25131 * fs/jfs.c: Likewise.
25132 * fs/reiserfs.c: Likewise.
25133 * fs/hfsplus.c: Likewise.
25134 * fs/minix.c: Likewise.
25135 * fs/cpio.c: Likewise.
25136 * fs/sfs.c: Likewise.
25137 * fs/ufs.c: Likewise.
25138 * efiemu/prepare.c: Likewise.
25139 * efiemu/loadcore_common.c: Likewise.
25140 * efiemu/runtime/efiemu.sh: Likewise.
25141 * efiemu/runtime/efiemu.S: Likewise.
25142 * efiemu/runtime/efiemu.c: Likewise.
25143 * efiemu/pnvram.c: Likewise.
25144 * efiemu/main.c: Likewise.
25145 * efiemu/i386/pc/cfgtables.c: Likewise.
25146 * efiemu/i386/loadcore64.c: Likewise.
25147 * efiemu/i386/loadcore32.c: Likewise.
25148 * efiemu/loadcore.c: Likewise.
25149 * efiemu/symbols.c: Likewise.
25150 * efiemu/mm.c: Likewise.
25151 * include/grub/autoefi.h: Likewise.
25152 * include/grub/datetime.h: Likewise.
25153 * include/grub/term.h: Likewise.
25154 * include/grub/hfs.h: Likewise.
25155 * include/grub/lvm.h: Likewise.
25156 * include/grub/i386/tsc.h: Likewise.
25157 * include/grub/i386/linux.h: Likewise.
25158 * include/grub/i386/xnu.h: Likewise.
25159 * include/grub/i386/efiemu.h: Likewise.
25160 * include/grub/i386/pc/biosdisk.h: Likewise.
25161 * include/grub/i386/pc/memory.h: Likewise.
25162 * include/grub/i386/pc/vbe.h: Likewise.
25163 * include/grub/parttool.h: Likewise.
25164 * include/grub/video.h: Likewise.
25165 * include/grub/memory.h: Likewise.
25166 * include/grub/fs.h: Likewise.
25167 * include/grub/partition.h: Likewise.
25168 * include/grub/xnu.h: Likewise.
25169 * include/grub/efi/api.h: Likewise.
25170 * include/grub/efi/pe32.h: Likewise.
25171 * include/grub/efi/memory.h: Likewise.
25172 * include/grub/multiboot.h: Likewise.
25173 * include/grub/usbdesc.h: Likewise.
25174 * include/grub/multiboot2.h: Likewise.
25175 * include/grub/acpi.h: Likewise.
25176 * include/grub/efiemu/efiemu.h: Likewise.
25177 * include/grub/disk.h: Likewise.
25178 * include/grub/ieee1275/ieee1275.h: Likewise.
25179 * include/grub/net.h: Likewise.
25180 * include/grub/machoload.h: Likewise.
25181 * include/grub/macho.h: Likewise.
25182 * include/multiboot.h: Likewise.
25183 * genmoddep.awk: Likewise.
25184 * normal/main.c: Likewise.
25185 * normal/menu_entry.c: Likewise.
25186 * normal/menu_viewer.c: Likewise.
25187 * normal/completion.c: Likewise.
25188 * normal/cmdline.c: Likewise.
25189 * normal/misc.c: Likewise.
25190 * normal/datetime.c: Likewise.
25191 * bus/usb/usbtrans.c: Likewise.
25192 * bus/usb/ohci.c: Likewise.
25193 * bus/usb/uhci.c: Likewise.
25194 * bus/usb/usb.c: Likewise.
25195 * mmap/efi/mmap.c: Likewise.
25196 * mmap/i386/pc/mmap_helper.S: Likewise.
25197 * mmap/i386/pc/mmap.c: Likewise.
25198 * mmap/i386/mmap.c: Likewise.
25199 * mmap/i386/uppermem.c: Likewise.
25200 * mmap/mmap.c: Likewise.
25201 * commands/acpi.c: Likewise.
25202 * commands/echo.c: Likewise.
25203 * commands/blocklist.c: Likewise.
25204 * commands/loadenv.c: Likewise.
25205 * commands/usbtest.c: Likewise.
25206 * commands/boot.c: Likewise.
25207 * commands/parttool.c: Likewise.
25208 * commands/search.c: Likewise.
25209 * commands/cat.c: Likewise.
25210 * commands/i386/pc/play.c: Likewise.
25211 * commands/i386/pc/drivemap.c: Likewise.
25212 * commands/i386/pc/vbeinfo.c: Likewise.
25213 * commands/i386/pc/acpi.c: Likewise.
25214 * commands/i386/pc/vbetest.c: Likewise.
25215 * commands/ls.c: Likewise.
25216 * commands/cmp.c: Likewise.
25217 * commands/test.c: Likewise.
25218 * commands/efi/acpi.c: Likewise.
25219 * commands/gptsync.c: Likewise.
25220 * commands/help.c: Likewise.
25221 * partmap/amiga.c: Likewise.
25222 * partmap/apple.c: Likewise.
25223 * partmap/acorn.c: Likewise.
25224 * partmap/pc.c: Likewise.
25225 * partmap/sun.c: Likewise.
25226 * partmap/gpt.c: Likewise.
25227 * script/sh/lexer.c: Likewise.
25228 * script/sh/function.c: Likewise.
25229 * font/font.c: Likewise.
25230 * font/font_cmd.c: Likewise.
25231 * loader/powerpc/ieee1275/linux.c: Likewise.
25232 * loader/efi/chainloader.c: Likewise.
25233 * loader/multiboot_loader.c: Likewise.
25234 * loader/macho.c: Likewise.
25235 * loader/i386/multiboot.c: Likewise.
25236 * loader/i386/linux.c: Likewise.
25237 * loader/i386/pc/linux.c: Likewise.
25238 * loader/i386/pc/multiboot2.c: Likewise.
25239 * loader/i386/pc/chainloader.c: Likewise.
25240 * loader/i386/pc/xnu.c: Likewise.
25241 * loader/i386/bsd_trampoline.S: Likewise.
25242 * loader/i386/efi/linux.c: Likewise.
25243 * loader/i386/multiboot_elfxx.c: Likewise.
25244 * loader/i386/bsd_helper.S: Likewise.
25245 * loader/i386/bsd.c: Likewise.
25246 * loader/i386/linux_trampoline.S: Likewise.
25247 * loader/i386/xnu_helper.S: Likewise.
25248 * loader/i386/xnu.c: Likewise.
25249 * loader/i386/bsd_pagetable.c: Likewise.
25250 * loader/i386/multiboot_helper.S: Likewise.
25251 * loader/xnu.c: Likewise.
25252 * loader/xnu_resume.c: Likewise.
25253 * io/gzio.c: Likewise.
25254 * term/efi/console.c: Likewise.
25255 * term/terminfo.c: Likewise.
25256 * term/ieee1275/ofconsole.c: Likewise.
25257 * term/i386/pc/serial.c: Likewise.
25258 * term/i386/pc/vesafb.c: Likewise.
25259 * term/i386/pc/vga.c: Likewise.
25260 * term/usb_keyboard.c: Likewise.
25261 * term/gfxterm.c: Likewise.
25262 * aclocal.m4: Likewise.
25263 * util/lvm.c: Likewise.
25264 * util/grub.d/30_os-prober.in: Likewise.
25265 * util/grub.d/10_hurd.in: Likewise.
25266 * util/console.c: Likewise.
25267 * util/grub-macho2img.c: Likewise.
25268 * util/grub-probe.c: Likewise.
25269 * util/hostfs.c: Likewise.
25270 * util/i386/pc/grub-mkimage.c: Likewise.
25271 * util/i386/pc/grub-setup.c: Likewise.
25272 * util/i386/efi/grub-mkimage.c: Likewise.
25273 * util/grub-mkconfig.in: Likewise.
25274 * util/raid.c: Likewise.
25275 * util/resolve.c: Likewise.
25276 * util/grub-mkdevicemap.c: Likewise.
25277 * util/grub-emu.c: Likewise.
25278 * util/getroot.c: Likewise.
25279 * util/hostdisk.c: Likewise.
25280 * util/usb.c: Likewise.
25281 * util/grub-editenv.c: Likewise.
25282 * util/misc.c: Likewise.
25283
d2d49665 252842009-06-10 Felix Zielcke <fzielcke@z-51.de>
25285
25286 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25287 `genparttoollist.sh'.
25288 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25289 Add `*.sh' to the list find searches for and change `mdate.sh'
25290 to `mdate-sh'.
25291
fe052e37 252922009-06-10 Pavel Roskin <proski@gnu.org>
25293
2763ac18 25294 * include/grub/multiboot2.h: Provide compatibility defines for
25295 multiboot2.h.
25296 * include/multiboot2.h: Include stdint.h only if needed, using
25297 angle brackets.
25298 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25299 grub/multiboot2.h.
25300 * loader/ieee1275/multiboot2.c: Likewise.
25301 * loader/multiboot2.c: Likewise.
25302 * loader/multiboot_loader.c: Likewise.
25303
437e6adc 25304 * configure.ac: Use -nostdlib when probing for the target. It
25305 should not be required to have libc for the target.
25306
06a6836c 25307 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25308 they fail without libc headers for the target.
25309 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25310 exports.
25311 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25312 preprocessor conditionals.
25313
fe052e37 25314 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25315 build system doesn't need to be aware of the tar.c internals.
25316
afd22553 253172009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 25318
afd22553 25319 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 25320
6b787c4f 253212009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25322
25323 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25324 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25325
253262009-06-09 Felix Zielcke <fzielcke@z-51.de>
25327
25328 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 25329 aren't available if ata.mod gets used.
6b787c4f 25330
473d1e45 253312009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 25332
473d1e45 25333 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 25334 initialising controller.
473d1e45 25335 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 25336
255a27d4 253372009-06-08 Felix Zielcke <fzielcke@z-51.de>
25338
25339 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25340 to choose between ata and biosdisk module on i386-pc.
25341
473d1e45 253422009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 25343
d55842d8 25344 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25345 Subclass and Programming Interface fields in terms of the 3 byte
25346 Class Code register.
25347 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25348
fa5db0b1 25349 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25350 interface is OHCI. Add grub_dprintf for symmetry with
25351 bus/usb/uhci.c.
25352 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25353 interface is UHCI. Add interf variable for programming
25354 interface. Print interface with class/subclass.
25355
c0947beb 25356 * bus/usb/ohci.c: Set interf with correct field.
25357
69da8877 25358 * bus/usb/uhci.c: Remove unneeded doubled lines.
25359 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25360 Remove whitespace inside comment.
25361
9e172e30 253622009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25363
25364 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25365 as fallback an equivalent option without depth.
25366
de65ee2b 253672009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25368
25369 Not fail if unable to retrieve C/H/S on LBA disks
25370
473d1e45 25371 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 25372 if unable to retrieve C/H/S on LBA disks
25373
b57ea2c9 253742009-06-08 Pavel Roskin <proski@gnu.org>
25375
25376 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25377 about aliasing.
25378
af361263 253792009-06-08 Felix Zielcke <fzielcke@z-51.de>
25380
25381 * Makefile.in (uninstall): Remove all $lib_DATA files.
25382
4c9ec6b3 253832009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25384
25385 Bugfix: install on partitionless device
25386
25387 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25388 is a whole disk
25389
e76fc924 253902009-06-08 Felix Zielcke <fzielcke@z-51.de>
25391
25392 * Makefile.in (uninstall): Remove all $include_DATA files.
25393
ba5a0d05 253942009-06-08 Felix Zielcke <fzielcke@z-51.de>
25395
25396 * commands/true.c: New file. Implement the true and false commands.
25397 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25398 (true_mod_SOURCES): New variable.
25399 (true_mod_CFLAGS): Likewise.
25400 (true_mod_LDFLAGS): Likewise.
25401
c8048e32 254022009-06-05 Colin D Bennett <colin@gibibit.com>
25403
25404 Optimized font character lookup using binary search instead of linear
25405 search. Fonts now are required to have the character index ordered by
25406 code point.
25407
25408 * font/font.c (load_font_index): Verify that fonts have ordered
25409 character indices.
25410 (find_glyph): Use binary search instead of linear search to find a
25411 character in a font.
25412
408305be 254132009-06-05 Michael Scherer <misc@mandriva.org>
25414
25415 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25416 uses case sensitive btree.
25417 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25418 only for case insensitive filesystems.
25419
8ee1e0d9 254202009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25421
25422 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25423 * conf/common.rmk (search_mod_CFLAGS): likewise
25424
a9966eb1 254252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25426
473d1e45 25427 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 25428 compensate a compiler bug
25429
9e7100fb 254302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25431
473d1e45 25432 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 25433 instead of '\b'
473d1e45 25434
ede21d71 254352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25436
25437 Definitions for creating asm symbols with Apple's CC
25438
25439 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25440 [APPLE_CC] (VARIABLE): likewise
25441
9dbf7653 254422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 Disable lnxboot.img when compiled
25445 with Apple's CC
25446
25447 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25448 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25449 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25450 [! APPLE_CC] (CODE_LENG): skip
25451 [! APPLE_CC] (setup_sects): likewise
25452 [! APPLE_CC]: skip filling
473d1e45 25453
e93cdc3d 254542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25455
25456 Address in trampolines based on 32-bit registers when compiled
25457 with Apple's CC
25458
473d1e45 25459 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 25460 for addresses
25461 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25462
6c688477 254632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25464
25465 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25466
25467 * kern/misc.c [APPLE_CC] (memcpy): new function
25468 [APPLE_CC] (memmove): likewise
25469 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 25470 (memcpy): define alias conditionally on !APPLE_CC
6c688477 25471 (memset): likewise
25472 (abort): likewise
25473 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25474 APPLE_CC are defined
25475 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25476 (grub_assert_fail): make prototype conditional
25477
e37ffc5c 254782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25481
473d1e45 25482 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25483 grub-macho2img
e37ffc5c 25484 (CLEANFILES): add grub-macho2img
25485 (grub_macho2img_SOURCES): new variable
25486 * kern/i386/pc/startup.S (bss_start): new variable
25487 (bss_end): likewise
25488 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25489 * util/grub-macho2img.c: new file
25490
cf00df31 254912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25492
25493 Use objconv when compiling with Apple's CC
25494
25495 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25496 (efiemu64.o): likewise
25497 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25498 when compiling with Apple's CC
25499 (efiemu64_s.o): likewise
25500 * configure.ac: check for objconv when compiling with Apple's CC
25501 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 25502
d119a20c 255032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25504
25505 Define segment as well as section when compiling with
25506 Apple's CC
25507
25508 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25509 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25510 (efiemu_convert_pointer): likewise
25511 (efiemu_set_virtual_address_map): likewise
25512 (efiemu_convert_pointer): likewise
25513 (efiemu_getcrc32): likewise
25514 (init_crc32_table): likewise
25515 (reflect): likewise
25516 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25517 (GRUB_MOD_DEP): likewise
473d1e45 25518
c8600122 255192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25520
25521 Allow a compilation without -mcmodel=large
25522
25523 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25524 when compiled without -mcmodel=large
473d1e45 25525 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 25526 without -mcmodel=large
473d1e45 25527 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 25528 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 25529
e8df1d4e 255302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25531
25532 Remove nested functions in efiemu core
25533
25534 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 25535
cc6c3ac1 255362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25537
25538 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25539
25540 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25541 temporary storage
473d1e45 25542 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25543 using Apple's CC
cc6c3ac1 25544 (grub_cpu_is_tsc_supported): likewise
25545 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 25546
3e325901 255472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25548
25549 Absolute addressing through constant with Apple's cc
25550
25551 * kern/i386/pc/startup.S: Define necessary constants
25552 and address through it when using ABS with Apple's CC
25553 * boot/i386/pc/diskboot.S: likewise
25554 * boot/i386/pc/boot.S: likewise
25555 * boot/i386/pc/lnxboot.S: likewise
25556 * boot/i386/pc/cdboot.S: likewise
25557 * mmap/i386/pc/mmap_helper.S: likewise
25558 * commands/i386/pc/drivemap_int13h.S: likewise
25559
2b167a72 255602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 Check if compiler is apple cc
25563
25564 * Makefile.in (ASFLAGS): new variable
25565 (TARGET_ASFLAGS): likewise
25566 (TARGET_MODULE_FORMAT): likewise
25567 (TARGET_APPLE_CC): likewise
25568 (OBJCONV): likewise
25569 (TARGET_IMG_CFLAGS): likewise
25570 (TARGET_CPPFLAGS): add includedir
25571 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25572 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25573 Check for linker script only if compiler isn't Apple's CC
25574 (TARGET_MODULE_FORMAT): set
25575 (TARGET_APPLE_CC): likewise
25576 (TARGET_ASFLAGS): likewise
25577 (ASFLAGS): likewise
25578 Check for objcopy only if compiler isn't Apple's CC
25579 Check for BSS symbol only if compiler isn't Apple's CC
25580 * genmk.rb: adapt nm options if we use Apple's utils
25581 * aclocal.m4 (grub_apple_cc): new test
25582 (grub_apple_target_cc): likewise
473d1e45 25583
fb14123e 255842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25585
25586 Simplify sed expressions and improve awk
25587
25588 * Makefile.in (install-local): simplify sed expression
25589 * gencmdlist.sh: likewise
25590 * genmoddep.awk: avoid adding module as a dependency of itself
25591
5b889789 255922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25593
25594 Add missing start symbols
25595
25596 * boot/i386/pc/boot.S: add start
fb14123e 25597 * boot/i386/pc/pxeboot.S: likewise
473d1e45 25598
fd2bf2e3 255992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25600
25601 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 25602
25603 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 25604 (relocate_addresses): consider both r_addend and value at offset
25605 (make_mods_section): zerofill modinfo and header
25606 (convert_elf): write prefix here
473d1e45 25607
5389763d 256082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25609
25610 Use .asciz instead of .string
25611
25612 * i386/pc/diskboot.S: use .asciz instead of .string
25613 * i386/pc/boot.S: likewise
25614 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25615 (GRUB_MOD_NAME): likewise
473d1e45 25616
3eb5ed4e 256172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25618
25619 gfxpayload support
25620
25621 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25622 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25623 (grub_video_setup): remove
25624 (grub_video_set_mode): new prototype
25625 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25626 (vid_mode): remove
25627 (linux_vesafb_res): compile only on PCBIOS
25628 (grub_linux_boot): support gfxpayload
25629 * loader/i386/pc/xnu.c (video_hook): new function
25630 (grub_xnu_set_video): support gfxpayload
25631 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25632 (DEFAULT_VIDEO_HEIGHT): likewise
25633 (DEFAULT_VIDEO_FLAGS): likewise
25634 (DEFAULT_VIDEO_MODE): new definition
25635 (video_hook): new function
25636 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 25637 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 25638 loading xnu
25639 * video/video.c (grub_video_setup): removed
473d1e45 25640 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 25641 grub_video_setup
25642
4b0e1143 256432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 Avoid calling biosdisk in drivemap
25646
25647 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25648 (revparse_biosdisk): likewise
25649 (list_mappings): derive name from id directly
25650 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 25651
fda6cb98 256522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25653
25654 Script fixes
25655
25656 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25657 (grub_lexer_param): add tokenonhold
25658 (grub_script_create_cmdline): remove cmdline. All callers updated
25659 (grub_script_function_create): make functionname
25660 grub_script_arg. All callers updated
25661 (grub_script_execute_argument_to_string): new prototype
25662 * kern/parser.c (state_transitions): reorder
25663 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 25664 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 25665 make global
25666 (grub_script_execute_cmdline): use new format
25667 * script/sh/function.c (grub_script_function_create): make functionname
25668 grub_script_arg. All callers updated
473d1e45 25669 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 25670 (grub_script_yylex): remove
25671 (grub_script_yylex2): renamed to ...
25672 (grub_script_yylex): ...renamed
25673 parse the expressions like a${b}c
25674 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25675 (GRUB_PARSER_TOKEN_VAR): remove
25676 (GRUB_PARSER_TOKEN_NAME): likewise
25677 ("if"): declare as typeless
25678 ("while"): likewise
25679 ("function"): likewise
25680 ("else"): likewise
25681 ("then"): likewise
25682 ("fi"): likewise
25683 (text): remove
25684 (argument): likewise
25685 (script): accept empty scripts and make exit on error
25686 (arguments): use GRUB_PARSER_TOKEN_ARG
25687 (function): likewise
25688 (command): move error handling to script
25689 (menuentry): move grub_script_lexer_ref before
473d1e45 25690 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 25691 argument. All callers updated
25692
f4448a07 256932009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25694
25695 Prevent GRUB from probing floppies during boot.
25696
25697 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25698 * commands/search.c (options): Add --no-floppy.
25699 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25700 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25701 --no-floppy when searching for UUIDs.
25702
2bf5885a 257032009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25704
25705 Simplify the code duplication in commands/search.c.
25706
25707 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25708 (search_fs): ... this. Update all users.
25709
f6fd460a 257102009-06-03 Felix Zielcke <fzielcke@z-51.de>
25711
25712 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25713
cbb3c83e 257142009-05-28 Pavel Roskin <proski@gnu.org>
25715
57788cfd 25716 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25717 Remove the original symlink explicitly.
25718
cbb3c83e 25719 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25720 just one slash. That's how grub_fshelp_find_file() does it.
25721
cd0d5e30 257222009-05-26 Pavel Roskin <proski@gnu.org>
25723
f0f8bbe2 25724 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25725 to `str'.
25726
cd0d5e30 25727 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25728 possibly unused.
25729
8c2cab51 257302009-05-25 Christian Franke <franke@computer.org>
25731
25732 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25733 register.
25734 (grub_atapi_identify): Add wait after drive select.
25735 (grub_ata_identify): Do more strict status register check before
25736 calling grub_atapi_identify (). Suppress error message if status
25737 register is 0x00 after command failure. Add status register
25738 check after PIO read to avoid bogus identify due to stuck DRQ.
25739 Thanks to Pavel Roskin for testing.
25740 (grub_device_initialize): Remove unsafe status register check.
25741 Thanks to 'phcoder' for problem report and patch.
25742 Prevent sign extension in debug message.
25743
230c0ad6 257442009-05-23 Colin D Bennett <colin@gibibit.com>
25745
25746 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25747 definition file, and functions defined in `normal/menu.c' have had
25748 their prototypes moved to `include/grub/menu.h' for consistency.
25749
25750 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25751 from normal.h.
25752 (grub_menu_get_entry): Likewise.
25753 (grub_menu_get_timeout): Likewise.
25754 (grub_menu_set_timeout): Likewise.
25755 (grub_menu_execute_entry): Likewise.
25756 (grub_menu_execute_with_fallback): Likewise.
25757 (grub_menu_entry_run): Likewise.
25758
25759 * include/grub/normal.h: Re-ordered and grouped function
25760 prototypes by file that the function is defined in.
25761 (grub_menu_execute_callback): Removed; moved to menu.h.
25762 (grub_menu_get_entry): Likewise.
25763 (grub_menu_get_timeout): Likewise.
25764 (grub_menu_set_timeout): Likewise.
25765 (grub_menu_execute_entry): Likewise.
25766 (grub_menu_execute_with_fallback): Likewise.
25767 (grub_menu_entry_run): Likewise.
25768 (grub_menu_addentry): Renamed from this ...
25769 (grub_normal_add_menu_entry): ... to this.
25770
25771 * normal/main.c (grub_menu_addentry): Renamed from this ...
25772 (grub_normal_add_menu_entry): ... to this.
25773
25774 * script/sh/execute.c (grub_script_execute_menuentry): Update
25775 reference to renamed grub_menu_addentry function.
25776
861f03a5 257772009-05-23 Felix Zielcke <fzielcke@z-51.de>
25778
25779 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25780
96b1619a 257812009-05-22 Pavel Roskin <proski@gnu.org>
25782
bf6a5fb2 25783 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25784 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25785 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25786 compiling for the i386 targets, but not for the utilities.
25787
96b1619a 25788 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25789 to grub_uint8_t.
25790 (grub_root_drive): Likewise.
25791 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25792 remove alignment.
25793 (grub_root_drive): Change size to byte.
25794 (grub_start_addr): Remove.
25795 (grub_end_addr): Likewise.
25796 (grub_apm_bios_info): Likewise.
25797
b729776b 257982009-05-21 Felix Zielcke <fzielcke@z-51.de>
25799
25800 * normal/i386: Remove.
25801 * normal/powerpc: Likewise.
25802 * normal/sparc64: Likewise.
25803 * normal/x86_64: Likewise.
25804
0a15ce80 258052009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25806
25807 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 25808 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 25809 * loader/i386/xnu_helper.S: Likewise
d6da58e6 25810
33db9015 258112009-05-18 Colin D Bennett <colin@gibibit.com>
25812
d6da58e6 25813 Display error messages when parsing a Lua statement fails.
25814 Previously, executing a syntactically invalid statement like
25815 ")foo" or "bar;" would silently fail.
33db9015 25816
25817 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 25818 (grub_lua_parse_line): Improved reporting of Lua parser and
25819 execution errors.
33db9015 25820
46422c89 258212009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 Remove -Werror which causes build to fail on some systems
25824
25825 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25826 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25827 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 25828
22f53a96 258292009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25830
25831 trampoline for linux on 64-bit platform
25832
18f547ad 25833 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25834 loader/i386/efi/linux_trampoline.S
25835 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 25836 declaration
d6da58e6 25837 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25838 here
22f53a96 25839 * loader/i386/linux_trampoline.S: moved here
d6da58e6 25840 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25841 trampoline
22f53a96 25842 (jumpvector): removed
25843 (grub_linux_trampoline_start): new declaration
25844 (grub_linux_trampoline_end): likewise
25845 (grub_linux_boot): use trampoline when on 64-bit platform
25846 * loader/i386/linux.c: likewise
25847
cb5a0f40 258482009-05-16 Pavel Roskin <proski@gnu.org>
25849
25850 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25851 const to avoid a warning.
25852 (grub_lua_setenv): Likewise.
25853 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25854 lmsg to fix a warning.
25855
334f2c28 258562009-05-16 Felix Zielcke <fzielcke@z-51.de>
25857
25858 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 25859 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25860 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25861 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25862 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25863 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25864 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25865 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 25866
59e5d3ec 258672009-05-16 Felix Zielcke <fzielcke@z-51.de>
25868
25869 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25870
9d87a1ba 258712009-05-16 Bean <bean123ch@gmail.com>
25872
25873 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25874 (lua_mod_SOURCES): New variable.
25875 (lua_mod_CFLAGS): Likewise.
25876 (lua_mod_LDFLAGS): Likewise.
25877
25878 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25879 (setjmp_mod_SOURCES): New variable.
25880 (setjmp_mod_CFLAGS): Likewise.
25881 (setjmp_LDFLAGS): Likewise.
25882
25883 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25884 (setjmp_mod_SOURCES): New variable.
25885 (setjmp_mod_CFLAGS): Likewise.
25886 (setjmp_LDFLAGS): Likewise.
25887
25888 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25889 (setjmp_mod_SOURCES): New variable.
25890 (setjmp_mod_CFLAGS): Likewise.
25891 (setjmp_LDFLAGS): Likewise.
25892
25893 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25894 (setjmp_mod_SOURCES): New variable.
25895 (setjmp_mod_CFLAGS): Likewise.
25896 (setjmp_LDFLAGS): Likewise.
25897
25898 * normal/i386/setjmp.S: Moved from here ...
25899 * lib/i386/setjmp.S: ... Moved here
25900 * normal/x86_64/setjmp.S: Moved from here ...
25901 * lib/x86_64/setjmp.S: ... Moved here
25902 * normal/powerpc/setjmp.S: Moved from here ...
25903 * lib/powerpc/setjmp.S: ... Moved here
25904 * normal/sparc64/setjmp.S: Moved from here ...
25905 * lib/sparc64/setjmp.S: ... Moved here
25906
25907 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25908 returns_twice in mingw.
25909
25910 * script/lua/grub_lib.c: New file.
25911 * script/lua/grub_lib.h: Likewise.
25912 * script/lua/grub_lua.h: Likewise.
25913 * script/lua/grub_main.c: Likewise.
25914 * script/lua/lapi.c: Likewise.
25915 * script/lua/lapi.h: Likewise.
25916 * script/lua/lauxlib.c: Likewise.
25917 * script/lua/lauxlib.h: Likewise.
25918 * script/lua/lbaselib.c: Likewise.
25919 * script/lua/lcode.c: Likewise.
25920 * script/lua/lcode.h: Likewise.
25921 * script/lua/ldblib.c: Likewise.
25922 * script/lua/ldebug.c: Likewise.
25923 * script/lua/ldebug.h: Likewise.
25924 * script/lua/ldo.c: Likewise.
25925 * script/lua/ldo.h: Likewise.
25926 * script/lua/ldump.c: Likewise.
25927 * script/lua/lfunc.c: Likewise.
25928 * script/lua/lfunc.h: Likewise.
25929 * script/lua/lgc.c: Likewise.
25930 * script/lua/lgc.h: Likewise.
25931 * script/lua/linit.c: Likewise.
25932 * script/lua/liolib.c: Likewise.
25933 * script/lua/llex.c: Likewise.
25934 * script/lua/llex.h: Likewise.
25935 * script/lua/llimits.h: Likewise.
25936 * script/lua/lmathlib.c: Likewise.
25937 * script/lua/lmem.c: Likewise.
25938 * script/lua/lmem.h: Likewise.
25939 * script/lua/loadlib.c: Likewise.
25940 * script/lua/lobject.c: Likewise.
25941 * script/lua/lobject.h: Likewise.
25942 * script/lua/lopcodes.c: Likewise.
25943 * script/lua/lopcodes.h: Likewise.
25944 * script/lua/loslib.c: Likewise.
25945 * script/lua/lparser.c: Likewise.
25946 * script/lua/lparser.h: Likewise.
25947 * script/lua/lstate.c: Likewise.
25948 * script/lua/lstate.h: Likewise.
25949 * script/lua/lstring.c: Likewise.
25950 * script/lua/lstring.h: Likewise.
25951 * script/lua/lstrlib.c: Likewise.
25952 * script/lua/ltable.c: Likewise.
25953 * script/lua/ltable.h: Likewise.
25954 * script/lua/ltablib.c: Likewise.
25955 * script/lua/ltm.c: Likewise.
25956 * script/lua/ltm.h: Likewise.
25957 * script/lua/lua.h: Likewise.
25958 * script/lua/luaconf.h: Likewise.
25959 * script/lua/lualib.h: Likewise.
25960 * script/lua/lundump.c: Likewise.
25961 * script/lua/lundump.h: Likewise.
25962 * script/lua/lvm.c: Likewise.
25963 * script/lua/lvm.h: Likewise.
25964 * script/lua/lzio.c: Likewise.
25965 * script/lua/lzio.h: Likewise.
25966
5e898c9d 259672009-05-16 Bean <bean123ch@gmail.com>
25968
25969 * include/grub/kernel.h (grub_module_header_types): Add type
25970 OBJ_TYPE_CONFIG.
25971
25972 * kern/main.c (grub_load_config): New function.
25973 (grub_main): Call grub_load_config to read boot config.
25974
25975 * grub-mkimage (generate_image): New parameter config_path.
25976 (options): New option --config.
25977 (main): Parse --config option, and pass it to generate_image.
25978
cf353a47 259792009-05-14 Christian Franke <franke@computer.org>
25980
25981 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25982 This fixes build on Cygwin.
25983
3834887f 259842009-05-14 Pavel Roskin <proski@gnu.org>
25985
25986 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
25987 jump. This saves two bytes, so the typical case of 2 swapped
25988 drives would fit 32 bytes.
25989
8090fc01 259902009-05-13 Pavel Roskin <proski@gnu.org>
25991
ac963883 25992 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
25993 grub_uint32_t to avoid a warning.
25994
8090fc01 25995 * loader/i386/linux.c (allocate_pages): When assigning
25996 real_mode_mem, cast through grub_size_t to fix a warning. The
25997 code already makes sure that the value would fit a pointer.
25998 (grub_linux_setup_video): Cast render_target->data to
25999 grub_size_t to fix a warning.
26000
18f547ad 260012009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 26002
26003 * commands/i386/pc/drivemap.c: New file - implement drivemap
26004 command.
26005 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
26006 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
26007
6f6a8b28 260082009-05-13 Pavel Roskin <proski@gnu.org>
26009
26010 * util/i386/pc/grub-setup.c (setup): Remove unused variable
26011 embedding_area_exists.
26012
15fbf4c4 260132009-05-13 Robert Millan <rmh.grub@aybabtu.com>
26014
26015 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
26016 it easier to understand / work with.
59978c8a 26017 Improve warning messages for cases where there's no embedding area,
26018 or when it is too small (or core.img too large).
15fbf4c4 26019
238e871f 260202009-05-13 Pavel Roskin <proski@gnu.org>
26021
0ab3a9a4 26022 * loader/i386/pc/multiboot2.c: Add necessary includes for
26023 grub_multiboot2_real_boot().
26024
a2c8c5f8 26025 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
26026 PX record is always little-endian. We only need the lower 2
26027 bytes of the mode.
26028
faec96af 26029 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
26030 facilitate code reuse.
26031 (grub_cpio_mount): Use "struct head", not a char buffer. This
26032 fixes a warning reported by gcc 4.4.
26033
238e871f 26034 * kernel/disk.c (grub_disk_read): Use void pointer for the
26035 buffer.
26036 (grub_disk_write): Use const void pointer for the buffer.
26037 Adjust all callers. Remove unnecessary casts.
26038
901d2f0c 260392009-05-10 Robert Millan <rmh.grub@aybabtu.com>
26040
26041 * util/i386/pc/grub-install.in: Update copyright year.
26042
18f547ad 260432009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 26044
26045 gptsync
26046
26047 * commands/gptsync.c: new file
26048 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
26049 (gptsync_mod_SOURCES): new variable
26050 (gptsync_mod_CFLAGS): likewise
26051 (gptsync_mod_LDFLAGS): likewise
18f547ad 26052 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 26053 new definition
26054 (GRUB_PC_PARTITION_TYPE_HFS): likewise
26055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
26056 * conf/i386-ieee1275.rmk: likewise
26057 * conf/i386-pc.rmk: likewise
26058 * conf/powerpc-ieee1275.rmk: likewise
26059
b4ba690a 260602009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26061
26062 Fixed grub-emu
26063
26064 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
26065 (grub_dl_ref): likewise
26066
317e1a44 260672009-05-08 Robert Millan <rmh.grub@aybabtu.com>
26068
26069 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
26070 split in two functions (one for msdos and one for gpt).
26071
041b8094 260722009-05-08 Pavel Roskin <proski@gnu.org>
26073
752473c2 26074 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
26075 not modified.
26076
041b8094 26077 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
26078 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
26079 Initialize them with -1. Add sanity check for bad1. Eliminate
26080 nerr variable.
26081
172800ce 260822009-05-08 David S. Miller <davem@davemloft.net>
26083
26084 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
26085
29aa5e81 260862009-05-06 Robert Millan <rmh.grub@aybabtu.com>
26087
26088 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 26089 existence.
29aa5e81 26090
96613b62 260912009-05-05 Felix Zielcke <fzielcke@z-51.de>
26092
26093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 26094 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 26095
eef73c8a 260962009-05-05 David S. Miller <davem@davemloft.net>
26097
26098 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
26099
119494b5 261002009-05-05 Pavel Roskin <proski@gnu.org>
26101
26102 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
26103 of grub_dl_ref() and grub_dl_unref().
26104 * commands/parttool.c: Remove preprocessor conditionals around
26105 grub_dl_ref() and grub_dl_unref().
26106 * fs/affs.c: Likewise.
26107 * fs/afs.c: Likewise.
26108 * fs/cpio.c: Likewise.
26109 * fs/ext2.c: Likewise.
26110 * fs/fat.c: Likewise.
26111 * fs/hfs.c: Likewise.
26112 * fs/hfsplus.c: Likewise.
26113 * fs/iso9660.c: Likewise.
26114 * fs/jfs.c: Likewise.
26115 * fs/minix.c: Likewise.
26116 * fs/ntfs.c: Likewise.
26117 * fs/reiserfs.c: Likewise.
26118 * fs/sfs.c: Likewise.
26119 * fs/udf.c: Likewise.
26120 * fs/ufs.c: Likewise.
26121 * fs/xfs.c: Likewise.
26122 * include/grub/dl.h: Likewise.
26123 * loader/xnu.c: Likewise.
26124
de5fd76e 261252009-05-04 Pavel Roskin <proski@gnu.org>
26126
26127 * commands/acpi.c: Remove unused variable my_mod.
26128 * partmap/amiga.c: Likewise.
26129 * partmap/apple.c: Likewise.
26130 * partmap/gpt.c: Likewise.
26131 * partmap/pc.c: Likewise.
26132 * partmap/sun.c: Likewise.
26133 * term/gfxterm.c: Likewise.
26134 * term/i386/pc/vesafb.c: Likewise.
26135 * term/i386/pc/vga.c: Likewise.
26136
983598ad 261372009-05-04 David S. Miller <davem@davemloft.net>
26138
26139 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26140 pointer args to grub_ieee1275_get_property().
26141
8aadec43 26142 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26143
9554b15e 26144 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26145 devices, and do not traverse down under controller nodes.
26146
67e23c90 26147 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26148 (grub_ofdisk_open): Use it to un-escape "," characters.
26149 * kern/disk.c (find_part_sep): New.
26150 (grub_disk_open): Use it to find the first non-escaped ','
26151 character in the disk name.
26152 * util/ieee1275/devicemap.c (escape_of_path): New.
26153 (grub_util_emit_devicemap_entry): Use it.
26154 * util/sparc64/ieee1275/grub-install.in: Update script to
26155 strip partition specifiers properly by not triggering on
26156 '\' escaped ',' characters.
26157
74bfdd2f 261582009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26159
26160 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26161 to 0x300.
26162 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26163 resolutions.
26164 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26165 on documentation from Wikipedia).
26166
4241d2b1 261672009-05-04 Pavel Roskin <proski@gnu.org>
26168
26169 * disk/ata.c: Spelling fixes.
26170 * disk/raid.c: Likewise.
26171 * disk/usbms.c: Likewise.
26172 * disk/dmraid_nvidia.c: Likewise.
26173 * kern/ieee1275/openfw.c: Likewise.
26174 * kern/ieee1275/init.c: Likewise.
26175 * kern/ieee1275/cmain.c: Likewise.
26176 * boot/i386/pc/cdboot.S: Likewise.
26177 * video/readers/png.c: Likewise.
26178 * video/i386/pc/vbe.c: Likewise.
26179 * fs/udf.c: Likewise.
26180 * fs/hfs.c: Likewise.
26181 * fs/reiserfs.c: Likewise.
26182 * efiemu/runtime/efiemu.c: Likewise.
26183 * efiemu/main.c: Likewise.
26184 * efiemu/mm.c: Likewise.
26185 * include/grub/elf.h: Likewise.
26186 * include/grub/xnu.h: Likewise.
26187 * include/grub/usbdesc.h: Likewise.
26188 * include/grub/usb.h: Likewise.
26189 * include/grub/script_sh.h: Likewise.
26190 * include/grub/lib/LzmaEnc.h: Likewise.
26191 * include/grub/efiemu/efiemu.h: Likewise.
26192 * include/grub/command.h: Likewise.
26193 * normal/menu.c: Likewise.
26194 * normal/main.c: Likewise.
26195 * normal/datetime.c: Likewise.
26196 * bus/usb/uhci.c: Likewise.
26197 * mmap/i386/uppermem.c: Likewise.
26198 * mmap/mmap.c: Likewise.
26199 * commands/acpi.c: Likewise.
26200 * commands/test.c: Likewise.
26201 * partmap/apple.c: Likewise.
26202 * font/font.c: Likewise.
26203 * loader/sparc64/ieee1275/linux.c: Likewise.
26204 * loader/macho.c: Likewise.
26205 * loader/i386/bsd_trampoline.S: Likewise.
26206 * loader/i386/bsd.c: Likewise.
26207 * loader/xnu.c: Likewise.
26208 * term/i386/pc/vesafb.c: Likewise.
26209 * term/usb_keyboard.c: Likewise.
26210 * util/resolve.c: Likewise.
26211 * util/getroot.c: Likewise.
26212
0cfc0083 262132009-05-04 Felix Zielcke <fzielcke@z-51.de>
26214
26215 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26216
7c1d00cd 262172009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26218
26219 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26220 build error.
26221
b01f0548 262222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26225 parameter only available on BIOS.
26226
ecc3eb22 262272009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26228
26229 Removed wrong semicolon in declaration
26230
26231 * grub/misc.h (grub_dprintf): remove semicolon
26232
112972a9 262332009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26234
26235 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26236 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26237 is done by grub_cmd_linux() now).
26238 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26239 restore video to text mode.
26240 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26241 indicates lack of "vga=" parameter. "vga=0" is mapped to
26242 `GRUB_LINUX_VID_MODE_NORMAL'.
26243
afd5c115 262442009-05-04 Felix Zielcke <fzielcke@z-51.de>
26245
26246 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26247 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26248 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 26249 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 26250 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26251 `grub_script.tab.c'.
26252
26253 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26254 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26256 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26257 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26258
faa517ce 26259 * Makefile.in: Remove duplicated 2008 in Copyright line.
26260
ae0c0bdc 262612009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26262
473d1e45 26263 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 26264 unconditionally.
26265 * include/grub/util/misc.h (grub_util_warn): New declaration.
26266
26267 * util/i386/pc/grub-install.in: Understand --force and pass it down
26268 to grub-setup.
26269
26270 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26271 down to setup().
26272 (setup): Improve error messages and add warnings when requested to
26273 install in odd layouts. Refuse to install using blocklists unless
26274 --force was set.
26275
18f547ad 262762009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 26277
26278 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26279
6d260daa 262802009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26281
26282 Updated copyright year
26283
26284 * fs/hfsplus.c: updated copyright year
18f547ad 26285
69f853f8 262862009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26287
26288 HFS+ UUID
26289
18f547ad 26290 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 26291 in the space previously used by unused3
26292 (grub_hfsplus_uuid): new function
26293 (grub_hfsplus_fs): added uuid field
26294
4c402e73 262952009-05-03 Pavel Roskin <proski@gnu.org>
26296
26297 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26298 suppress warnings. It's no longer needed.
26299 * disk/host.c: Likewise.
26300 * disk/ata_pthru.c: Likewise.
26301 * disk/loopback.c: Likewise.
26302 * hook/datehook.c: Likewise.
26303 * parttool/pcpart.c: Likewise.
26304 * fs/i386/pc/pxe.c: Likewise.
26305 * fs/ntfscomp.c: Likewise.
26306 * efiemu/main.c: Likewise.
26307 * mmap/mmap.c: Likewise.
26308 * commands/crc.c: Likewise.
26309 * commands/hexdump.c: Likewise.
26310 * commands/hdparm.c: Likewise.
26311 * commands/acpi.c: Likewise.
26312 * commands/echo.c: Likewise.
26313 * commands/minicmd.c: Likewise.
26314 * commands/blocklist.c: Likewise.
26315 * commands/memrw.c: Likewise.
26316 * commands/loadenv.c: Likewise.
26317 * commands/usbtest.c: Likewise.
26318 * commands/lsmmap.c: Likewise.
26319 * commands/boot.c: Likewise.
26320 * commands/parttool.c: Likewise.
26321 * commands/configfile.c: Likewise.
26322 * commands/search.c: Likewise.
26323 * commands/ieee1275/suspend.c: Likewise.
26324 * commands/cat.c: Likewise.
26325 * commands/i386/pc/pxecmd.c: Likewise.
26326 * commands/i386/pc/play.c: Likewise.
26327 * commands/i386/pc/halt.c: Likewise.
26328 * commands/i386/pc/vbeinfo.c: Likewise.
26329 * commands/i386/pc/vbetest.c: Likewise.
26330 * commands/lspci.c: Likewise.
26331 * commands/date.c: Likewise.
26332 * commands/handler.c: Likewise.
26333 * commands/ls.c: Likewise.
26334 * commands/test.c: Likewise.
26335 * commands/cmp.c: Likewise.
26336 * commands/efi/loadbios.c: Likewise.
26337 * commands/efi/fixvideo.c: Likewise.
26338 * commands/halt.c: Likewise.
26339 * commands/help.c: Likewise.
26340 * commands/reboot.c: Likewise.
26341 * hello/hello.c: Likewise.
26342 * script/sh/main.c: Likewise.
26343 * loader/xnu.c: Likewise.
26344 * term/terminfo.c: Likewise.
26345 * term/i386/pc/serial.c: Likewise.
26346 * term/usb_keyboard.c: Likewise.
26347
515b5079 263482009-05-03 David S. Miller <davem@davemloft.net>
26349
26350 * normal/menu.c: Include grub/parser.h
26351
dfc31a22 263522009-05-03 Pavel Roskin <proski@gnu.org>
26353
2fee74f1 26354 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26355 not char*.
26356 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26357 Suggested by Javier Martín <lordhabbit@gmail.com>
26358
dfc31a22 26359 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26360 efiemu??.o doesn't exist.
26361 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26362 copying.
26363
18f547ad 263642009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 26365
26366 FreeBSD 64-bit support
26367
18f547ad 26368 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 26369 and loader/i386/bsd_trampoline.S
26370 (bsd_mod_ASFLAGS): new variable
26371 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26372 (FREEBSD_MODTYPE_KERNEL64): likewise
26373 (grub_bsd64_trampoline_start): likewise
26374 (grub_bsd64_trampoline_end): likewise
26375 (grub_bsd64_trampoline_selfjump): likewise
26376 (grub_bsd64_trampoline_gdt): likewise
26377 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26378 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26379 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26380 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 26381 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 26382 of "attrib" member
26383 * loader/i386/bsd_pagetable.c: new file
26384 * loader/i386/bsd_trampoline.S: likewise
26385 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26386 (ALIGN_VAR): likewise
26387 (entry_hi): new variable
26388 (kern_end_mdofs): likewise
26389 (is_64bit): likewise
26390 (grub_freebsd_add_meta): use ALIGN_VAR
26391 (grub_e820_mmap): new declaration
26392 (grub_freebsd_add_mmap): new function
26393 (grub_freebsd_add_meta_module): support 64 bit kernels
26394 (grub_freebsd_list_modules): use ALIGN_VAR
26395 (gdt_descriptor): new declaration
26396 (grub_freebsd_boot): support 64 bit kernels
26397 (grub_bsd_elf64_hook): new function
26398 (grub_bsd_load_elf): support elf64
26399
038c5720 264002009-05-03 Bean <bean123ch@gmail.com>
26401
26402 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26403 after we get the result of if statement.
26404
fc45fb58 264052009-05-03 Bean <bean123ch@gmail.com>
26406
26407 * Makefile.in (enable_efiemu): New variable.
26408
26409 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26410 set.
26411 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26412 path.
26413 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26414 path, add -mno-red-zone option.
26415 (efiemu64_s.o): Likewise.
26416 (efiemu64.o): Use macro $^ for source file.
26417
26418 * configure.ac (--enable-efiemu): New option.
26419
bbee0f2b 264202009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26421
26422 xnu support
26423
26424 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26425 (pkglib_MODULES): add xnu.mod
26426 (xnu_mod_SOURCES): new variable
26427 (xnu_mod_CFLAGS): likewise
26428 (xnu_mod_LDFLAGS): likewise
26429 (xnu_mod_ASFLAGS): likewise
26430 * conf/i386-pc.rmk: likewise
26431 * conf/x86_64-efi.rmk: likewise
7dd4a573 26432 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 26433 new declaration
26434 * include/grub/i386/macho.h: new file
26435 * include/grub/i386/xnu.h: likewise
26436 * include/grub/macho.h: likewise
26437 * include/grub/machoload.h: likewise
26438 * include/grub/x86_64/macho.h: likewise
26439 * include/grub/x86_64/xnu.h: likewise
26440 * include/grub/xnu.h: likewise
26441 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26442 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26443 * loader/i386/efi/xnu.c: new file
26444 * loader/i386/pc/xnu.c: likewise
26445 * loader/i386/xnu.c: likewise
26446 * loader/i386/xnu_helper.S: likewise
26447 * loader/macho.c: likewise
26448 * loader/xnu.c: likewise
26449 * loader/xnu_resume.c: likewise
26450 * util/grub-dumpdevtree: likewise
26451 * include/grub/i386/pit.h: include grub/err.h
26452 (grub_pit_wait): export
26453 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 26454
5caf964d 264552009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26456
26457 Efiemu
7dd4a573 26458
5caf964d 26459 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 26460 _linux_efi, linux_efi.
26461 new files in grub-emu
5caf964d 26462 new targets efiemu32.o and efiemu64.o
26463 * loader/linux_normal_efiemu.c: likewise
26464 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 26465 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 26466 files to copy
26467 * include/grub/autoefi.h: new file
7dd4a573 26468 * include/grub/i386/efiemu.h: likewise
5caf964d 26469 * include/grub/i386/pc/efiemu.h: likewise
26470 * include/grub/efi/api.h: add LL suffix when necessary
26471 new definitions relating to tables
26472 * include/grub/efiemu/efiemu.h: new file
26473 * include/grub/efiemu/runtime.h: likewise
26474 * efiemu/prepare.c: likewise
26475 * efiemu/loadcore_common.c: likewise
26476 * efiemu/loadcore64.c: likewise
26477 * efiemu/runtime/efiemu.sh: likewise
26478 * efiemu/runtime/efiemu.S: likewise
26479 * efiemu/runtime/efiemu.c: likewise
26480 * efiemu/runtime/config.h: likewise
26481 * efiemu/prepare32.c: likewise
26482 * efiemu/main.c: likewise
26483 * efiemu/modules/pnvram.c: likewise
26484 * efiemu/modules/i386: likewise
26485 * efiemu/modules/i386/pc: likewise
26486 * efiemu/modules/acpi.c: likewise
26487 * efiemu/i386/pc/cfgtables.c: likewise
26488 * efiemu/i386/loadcore64.c: likewise
26489 * efiemu/i386/loadcore32.c: likewise
26490 * efiemu/prepare64.c: likewise
26491 * efiemu/loadcore.c: likewise
26492 * efiemu/symbols.c: likewise
26493 * efiemu/mm.c: likewise
26494 * efiemu/loadcore32.c: likewise
7dd4a573 26495
264962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 26497
26498 ACPI spoofing
26499
26500 * commands/acpi.c: new file
26501 * commands/i386/pc/acpi.c: likewise
26502 * commands/efi/acpi.c: likewise
26503 * include/grub/acpi.h: likewise
26504 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26505 (acpi_mod_SOURCES): new variable
26506 (acpi_mod_CFLAGS): likewise
26507 (acpi_mod_LDFLAGS): likewise
26508 * conf/i386-efi.rmk: likewise
26509 * conf/x86_64-efi.rmk: likewise
26510
7dd4a573 265112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 26512
26513 Missing part from mmap patch
26514
26515 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26516 (grub_mmap_unregister)
26517 (grub_mmap_free_and_unregister): use grub_mmap_register
26518
7dd4a573 265192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 26520
26521 Mmap services
26522
26523 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26524 * loader/i386/linux.c (find_mmap_size): likewise
26525 (allocate_pages): likewise
26526 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26527 (grub_fill_multiboot_mmap): likewise
26528 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26529 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26530 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26531 (OPENBSD_MMAP_RESERVED): likewise
26532 * include/grub/i386/pc/memory.h: include grub/memory.h
26533 (grub_lower_mem): removed
26534 (grub_upper_mem): likewise
26535 (GRUB_MACHINE_MEMORY_ACPI): new definition
26536 (GRUB_MACHINE_MEMORY_NVS): likewise
26537 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26538 (GRUB_MACHINE_MEMORY_HOLE): likewise
26539 (grub_machine_mmap_register): likewise
26540 (grub_machine_mmap_unregister): likewise
26541 (grub_machine_get_upper): likewise
26542 (grub_machine_get_lower): likewise
26543 (grub_machine_get_post64): likewise
26544 * include/grub/i386/efi/memory.h: new file
26545 * include/grub/x86_64/efi/memory.h: likewise
26546 * include/grub/efi/memory.h: likewise
26547 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26548 (mmap_mod_SOURCES): new variable
26549 (mmap_mod_LDFLAGS): likewise
26550 (mmap_mod_ASFLAGS): likewise
26551 * conf/i386-coreboot.rmk: likewise
26552 * conf/i386-ieee1275.rmk: likewise
26553 * conf/i386-efi.rmk: likewise
26554 * conf/x86_64-efi.rmk: likewise
26555 * include/grub/types.h (UINT_TO_PTR): new macro
26556 (PTR_TO_UINT32): likewise
26557 (PTR_TO_UINT64): likewise
26558 * include/grub/memory.h: new file
26559 * mmap/i386/pc/mmap.c: likewise
26560 * mmap/i386/pc/mmap_helper.S: likewise
26561 * mmap/i386/uppermem.c: likewise
26562 * mmap/mmap.c: likewise
26563 * mmap/efi/mmap.c: likewise
7dd4a573 26564 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 26565 grub_upper_mem
26566 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26567 (grub_upper_mem): likewise
26568 (grub_machine_init): don't use grub_upper_mem,
26569 make grub_lower_mem local
26570 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26571 grub_mmap_iterate and grub_mmap_get_upper
26572 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26573
d558e6b5 265742009-05-02 Bean <bean123ch@gmail.com>
26575
26576 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26577 script/sh/parser.y.
26578 (pkglib_MODULES): Add normal.mod and sh.mod.
26579 (normal_SOURCES): New variable.
26580 (normal_mod_CFLAGS): Likewise.
26581 (normal_mod_LDFLAGS): Likewise.
26582 (sh_mod_SOURCES): Likewise.
26583 (sh_mod_CFLAGS): Likewise.
26584 (sh_mod_LDFLAGS): Likewise.
26585
26586 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26587 script/sh/lexer.c_DEPENDENCIES.
26588 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26589 kern/rescue_reader.c and kern/rescue_parser.c.
26590 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26591 (grub_emu_SOURCES): Change source files.
26592 (pkglib_MODULES): Remove normal.mod.
26593 (normal_SOURCES): Removed.
26594 (normal_mod_CFLAGS): Likewise.
26595 (normal_mod_LDFLAGS): Likewise.
26596 * conf/i386-coreboot.rmk: Likewise.
26597 * conf/i386-efi.rmk: Likewise.
26598 * conf/i386-ieee1276.rmk: Likewise.
26599 * conf/powerpc-ieee1275.rmk: Likewise.
26600 * conf/sparc64-ieee1275.rmk: Likewise.
26601 * conf/x86_64-efi.rmk: Likewise.
26602
26603 * include/grub/command.h (grub_command_execute): New inline function.
26604
26605 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26606
26607 * include/grub/normal.h: Remove <grub/setjmp.h>.
26608 (grub_fs_module_list): Moved to normal/autofs.c.
26609 (grub_exit_env): Removed.
26610 (grub_command_execute): Likewise.
26611 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26612 parameter script.
26613 (read_command_list): New function declaration.
26614 (read_fs_list): Likewise.
26615
26616 * include/parser.h: Include <grub/reader.h>.
26617 (grub_parser_split_cmdline): Change type of getline parameter.
26618 (grub_parser): New structure.
26619 (grub_parser_class): New variable.
26620 (grub_parser_execute): New function declaration.
26621 (grub_register_rescue_parser): Likewise.
26622 (grub_parser_register): New inline function.
26623 (grub_parser_unregister): Likewise.
26624 (grub_parser_get_current): Likewise.
26625 (grub_parser_set_current): Likewise.
26626
26627 * include/grub/reader.h: New file.
26628 * kern/reader.c: Likewise.
26629 * kern/rescue_parser.c: Likewise.
26630 * kern/rescue_reader.c: Likewise.
26631 * normal/autofs.c: Likewise.
26632 * normal/dyncmd.c: Likewise.
26633
26634 * include/grub/rescue.h: Removed.
26635 * normal/command.h: Likewise.
26636
26637 * include/grub/script.h: Moved to ...
26638 * include/grub/script_sh.h: ... Moved here.
26639 * normal/execute.c: Moved to ...
26640 * script/sh/execute.c: ... Moved here.
26641 * normal/function.c: Moved to ...
26642 * script/sh/function.c: ... Moved here.
26643 * normal/lexer.c: Moved to ...
26644 * script/sh/lexer.c: ... Moved here.
26645 * normal/parser.y: Moved to ...
26646 * script/sh/parser.y: ... Moved here.
26647 * normal/script.c: Moved to ...
26648 * script/sh/script.c: ... Moved here.
26649
26650 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26651 <grub/reader.h>.
26652 (grub_exit_env): Removed.
26653 (fs_module_list): Moved to normal/autofs.c.
26654 (grub_file_getline): Don't handle comment here.
26655 (free_menu): Skip removed field entry->commands.
26656 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26657 script parameter.
26658 (read_config_file): Removed nested parameter, change getline function.
26659 (grub_enter_normal_mode): Removed.
26660 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26661 (read_command_list): Likewise.
26662 (autoload_fs_module): Moved to normal/autofs.c.
26663 (read_fs_list): Likewise.
26664 (reader_nested): New variable.
26665 (grub_normal_execute): Run parser.sh to switch to sh parser.
26666 (grub_cmd_rescue): Removed.
26667 (cmd_normal): Removed.
26668 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26669 rescue command.
26670 (grub_cmdline_run): New function.
26671 (grub_normal_reader_init): Likewise.
26672 (grub_normal_read_line): Likewise.
26673 (grub_env_write_pager): Likewise.
26674 (cmdline): New variable.
26675 (grub_normal_reader): Likewise.
26676 (GRUB_MOD_INIT): Register normal reader and set as current, register
26677 pager hook, register normal command with grub_register_command_prio,
26678 so that it won't show up in command.lst.
26679 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26680 grub_fs_autoload_hook.
26681
26682 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26683 (grub_menu_execute_entry): Replace grub_script_execute with
26684 grub_parser_execute, change parameter to grub_command_execute.
26685
26686 * normal/menu_text.c: Remove <grub/script.h>.
26687
26688 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26689 and <grub/parser.h>.
26690 (run): Change editor_getline to use new parser interface. Change
26691 parameter to grub_command_execute.
26692
26693 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26694 <grub/reader.h> and <grub/parser.h>.
26695 (grub_load_normal_mode): Execute normal command.
26696 (grub_main): Call grub_register_core_commands,
26697 grub_register_rescue_parser and grub_register_rescue_reader, use
26698 grub_reader_loop to enter input loop.
26699
7dd4a573 26700 * kern/parser.c (grub_parser_split_cmdline): Change type of
26701 getline parameter.
d558e6b5 26702 (grub_parser_class): New variable.
26703 (grub_parser_execute): New function.
26704
26705 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26706 * loader/multiboot2.c: Likewise.
26707 * loader/sparc64/ieee1275/linux.c: Likewise.
26708
26709 * util/grub-emu.c (read_command_list): New dummy function.
26710
18db813d 267112009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26712
26713 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26714 count to 16 for CCISS and IDA.
26715
6c67de15 267162009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26717
26718 * normal/menu_text.c (grub_wait_after_message): Print a newline
26719 after waiting for user input.
26720
26721 * loader/i386/linux.c: Include `<grub/normal.h>'.
26722 (grub_cmd_linux): Improve the error message about `ask' mode, by
26723 waiting for user input so it's not missed (we can do this, since
26724 user requested interaction).
26725
d9dc87b0 267262009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26727
26728 Added missing lst to grub-mkrescue
26729
26730 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26731 and ${input_dir}/parttool.lst
26732
ac8a2baa 267332009-04-30 David S. Miller <davem@davemloft.net>
26734
ad22a610 26735 * util/hostdisk.c (device_is_wholedisk): New function.
26736 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26737 zero only if device_is_wholedisk() returns true.
26738
6966215d 26739 * util/hostdisk.c (convert_system_partition_to_system_disk):
26740 Handle virtual disk devices named /dev/vdiskX as found on sparc
26741 and powerpc.
26742
ac8a2baa 26743 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26744 lettered partition specifier is found, convert to numbered.
26745
979b4fb4 267462009-04-29 David S. Miller <davem@davemloft.net>
26747
e2bf39b2 26748 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26749 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26750
3c64e104 26751 * normal/command.c: Add missing newline at end of file.
26752
979b4fb4 26753 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26754 warnings.
26755 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26756 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26757 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26758 ihandles have a 32-bit type but need to be stored in a "void *".
26759
136d9f82 267602009-04-28 Pavel Roskin <proski@gnu.org>
26761
9459c306 26762 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26763 not disk. Adjust all dependencies.
2e08a26a 26764 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 26765 grub_disk_close().
26766
136d9f82 26767 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26768 parent's partition, don't copy it by reference, as it gets freed
26769 on close.
26770
7dd4a573 267712009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 26772
26773 Preboot hooks support
26774
26775 * commands/boot.c (struct grub_preboot_t): new declaration
26776 (preboots_head): new variable
26777 (preboots_tail): likewise
26778 (grub_loader_register_preboot_hook): new function
26779 (grub_loader_unregister_preboot_hook): likewise
26780 (grub_loader_set): launch preboot hooks
26781 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26782 (grub_loader_register_preboot_hook): new declaration
26783 (grub_loader_unregister_preboot_hook): likewise
26784
5af922b5 267852009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26786
26787 Warning fix
26788
7dd4a573 26789 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 26790 calling grub_dprintf
26791
a5562c30 267922009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26793
26794 Bug and warning fixes
26795
7dd4a573 26796 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 26797 declaration
26798 * commands/test.c (test_parse): fixed bug with file tests and corrected
26799 declaration of find_file
26800
4006f85c 268012009-04-26 Pavel Roskin <proski@gnu.org>
26802
26803 * Makefile.in: Don't install empty manual pages if help2man is
26804 missing. Use help2man option for output, not shell redirection.
26805
5c77c3de 268062009-04-26 David S. Miller <davem@davemloft.net>
26807
26808 * util/grub-mkdevicemap.c (make_device_map): Add missing
26809 NESTED_FUNC_ATTR to process_device().
26810
033b10a8 268112009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26812
26813 Test command
26814
26815 * commands/test.c: rewritten to use bash-like test
26816
e4343593 268172009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26818
26819 Parttool autoloading and improvements
26820
7dd4a573 26821 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 26822 (parttool.lst): new target
26823 * genmk.rb: generate parttool-*
26824 (CLEANFILES): add #{parttool}
26825 (PARTTOOLFILES): new variable
26826 * genparttoollist.sh: new file
7dd4a573 26827 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 26828 (grub_pcpart_type): likewise
26829 * commands/parttool.c (helpmsg): new variable
26830 (grub_cmd_parttool): output help if not enough arguments are supplied
26831 autoload modules
26832 (GRUB_MOD_INIT(parttool)): use helpmsg
26833
0d312500 268342009-04-24 David S. Miller <davem@davemloft.net>
26835
7dd4a573 26836 Avoiding opening same device multiple times in device iterator.
0d312500 26837
26838 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 26839 and use it to build a list of partitions in iterate_disk() and
0d312500 26840 iterate_partition().
26841
ac20caff 26842 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26843 on disk->data.
26844
0dcf7495 26845 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26846 grub_devalias_iterate() result instead of unconditional 0.
26847 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26848 Also, capture hook return value, either directly or via
26849 grub_children_iterate(), and propagate to caller.
26850 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26851 grub_children_iterate): Return value is now 'int' instead of
26852 'grub_err_t'.
26853 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26854 like a proper iterator, stopping when hooks return non-zero.
26855 (grub_devalias_iterate): Likewise.
26856
c8c08833 268572009-04-23 David S. Miller <davem@davemloft.net>
26858
26859 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26860
f01005a8 268612009-04-22 David S. Miller <davem@davemloft.net>
26862
26863 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26864 is larger than address_cells, use that value for address_cells too.
26865
4e8269da 26866 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26867 IEEE1275_MAX_PATH_LEN): Define.
26868 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26869 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26870 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26871 'devtype'. Explicitly NULL terminate devalias expansion.
26872
a1447506 26873 * util/sparc64/ieee1275/misc.c: New file.
26874 * util/sparc64/ieee1275/grub-setup.c: New file.
26875 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26876 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26877 * util/sparc64/ieee1275/grub-install.in: New file.
26878 * util/ieee1275/ofpath.c: New file.
26879 * util/ieee1275/devicemap.c: New file.
26880 * util/devicemap.c: New file.
26881 * util/deviceiter.c: New file.
26882 * kern/sparc64/ieee1275/init.c: New file.
26883 * include/grub/util/ofpath.h: New file.
26884 * include/grub/util/deviceiter.h: New file.
26885 * util/grub-mkdevicemap.c: Include deviceiter.h.
26886 Implement using grub_util_emit_devicemap_entry and
26887 grub_util_iterate_devices.
26888 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26889 util/devicemap.c into grub-mkdevicemap
26890 * conf/i386-efi.rmk: Likewise.
26891 * conf/i386-ieee1275.rmk: Likewise.
26892 * conf/i386-pc.rmk: Likewise.
26893 * conf/powerpc-ieee1275.rmk: Likewise.
26894 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26895 images and installation utilities. Build kernel as image
26896 instead of as elf binary. Use common rules as much as possible.
26897
7dd4a573 268982009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 26899
26900 Correct GPT definition
26901
7dd4a573 26902 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 26903 of "attrib" member
26904
c6c5219f 269052009-04-19 Felix Zielcke <fzielcke@z-51.de>
26906
26907 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26908
0552ff9f 269092009-04-19 David S. Miller <davem@davemloft.net>
26910
26911 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26912 (grub_rescue_cmd_linux): Rename to...
26913 (grub_cmd_linux): and fix prototype.
26914 (grub_rescue_cmd_initrd): Rename to...
26915 (grub_cmd_initrd): and fix prototype.
26916 (cmd_linux, cmd_initrd): New.
26917 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26918 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26919
d1a282fc 269202009-04-17 Pavel Roskin <proski@gnu.org>
26921
07c5039f 26922 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26923 format.
26924 (grub_ohci_transfer): Likewise.
26925
b012002d 26926 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26927
1bc09c35 26928 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26929 return without a value. Fix inconsistent indentation.
26930
e0ff9126 26931 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26932 match struct grub_fs.
26933
d1a282fc 26934 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26935 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26936 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26937 * commands/lspci.c (grub_lspci_iter): Likewise.
26938
a96df3f2 269392009-04-16 Bean <bean123ch@gmail.com>
26940
26941 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26942 value.
26943
41bb0fe9 269442009-04-15 Pavel Roskin <proski@gnu.org>
26945
26946 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26947 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26948 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26949 definitions.
26950
596c6970 269512009-04-15 Felix Zielcke <fzielcke@z-51.de>
26952
26953 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 26954 that no multiple data or metadata areas are supported and `Unknown
596c6970 26955 metadata header'.
26956
7dd4a573 269572009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 26958
26959 Move loader out of the kernel
26960
26961 * kern/loader.c: moved to ...
26962 * commands/boot.c: ... moved here
26963 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26964 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26965 * include/grub/kernel.h (grub_machine_fini): export
26966 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26967 (grub_loader_set): likewise
26968 (grub_loader_unset): likewise
26969 (grub_loader_boot): likewise
26970 * conf/common.rmk: new module boot.mod
26971 (pkglib_MODULES): add boot.mod
26972 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26973 (grub_emu_SOURCES): likewise
26974 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26975 (grub_emu_SOURCES): likewise
26976 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26977 (grub_emu_SOURCES): likewise
26978 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26979 (grub_emu_SOURCES): likewise
26980 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26981 (grub_emu_SOURCES): likewise
7dd4a573 26982 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26983 (grub_emu_SOURCES): likewise
0d5d5653 26984 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 26985 (grub_emu_SOURCES): likewise
0d5d5653 26986
7dd4a573 269872009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 26988
26989 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 26990
5999d619 26991 * kern/misc.c (grub_itoa): Removed function
26992 (grub_ltoa): likewise
26993 (grub_vsprintf): use grub_lltoa
26994
7dd4a573 269952009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 26996
26997 Restore grub-emu
26998
26999 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
27000 * conf/i386-coreboot.rmk: likewise
27001 * conf/i386-ieee1275.rmk: likewise
27002 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27003
20318222 270042009-04-15 Felix Zielcke <fzielcke@z-51.de>
27005
27006 * INSTALL: Add that `./autogen.sh' needs to be run before
27007 `./configure.'.
27008
d05f0df3 270092009-04-14 Bean <bean123ch@gmail.com>
27010
27011 * Makefile.in (pkglib_DATA): Add handler.lst.
27012 (handler.lst): New rule.
27013
27014 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
27015 * conf/i386-coreboot.rmk: Likewise.
27016 * conf/i386-ieee1275.rmk: Likewise.
27017 * conf/i386-efi.rmk: Likewise.
27018 * conf/x86_64-efi.rmk: Likewise.
27019 * conf/powerpc-ieee1275.rmk: Likewise.
27020 * conf/sparc64-ieee1275.rmk: Likewise.
27021
27022 * genhandlerlist.sh: New file.
27023
27024 * genmk.rb: Add rules to generate handler.lst.
27025
27026 * include/grub/normal.h (grub_file_getline): New function definition.
27027 (read_handler_list): Likewise.
27028 (free_handler_list): Likewise.
27029
27030 * include/grub/term.h (grub_term_register_input): Add name parameter
27031 for auto generation of handler.lst.
27032 (grub_term_register_output): Likewise.
27033
27034 * normal/handler.c: New file.
27035
27036 * normal/main.c (get_line): Renamed to grub_file_getline.
27037 (read_config_file): Use the newly renamed grub_file_getline.
27038 (read_command_list): Likewise.
27039 (read_fs_list): Likewise.
27040 (grub_normal_execute): Call read_handler_list to parse handler.lst.
27041 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
27042
27043 * term/efi/console.c (grub_console_init): Add name parameter for auto
27044 generation of handler.lst.
27045 * term/gfxterm.c: Likewise.
27046 * term/i386/pc/at_keyboard.c: Likewise.
27047 * term/i386/pc/console.c: Likewise.
27048 * term/i386/pc/serial.c: Likewise.
27049 * term/i386/pc/vesafb.c: Likewise.
27050 * term/i386/pc/vga.c: Likewise.
27051 * term/i386/pc/vga_text.c: Likewise.
27052 * term/ieee1275/ofconsole.c: Likewise.
27053 * term/usb_keyboard.c: Likewise.
27054
33c846be 270552009-04-14 Bean <bean123ch@gmail.com>
27056
27057 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
27058 properly with null character.
27059
4484e01e 270602009-04-14 Felix Zielcke <fzielcke@z-51.de>
27061
27062 * configure: Remove.
27063 * config.h.in: Likewise.
f93d668e 27064 * stamp-h.in: Likewise.
4484e01e 27065 * DISTLIST: Likewise.
27066 * conf/common.mk: Likewise.
27067 * conf/i386-coreboot.mk: Likewise.
27068 * conf/i386-efi.mk: Likewise.
27069 * conf/i386-ieee1275.mk: Likewise.
27070 * conf/i386.mk: Likewise.
27071 * conf/i386-pc.mk: Likewise.
27072 * conf/powerpc-ieee1275.mk: Likewise.
27073 * conf/sparc64-ieee1275.mk: Likewise.
27074 * conf/x86_64-efi.mk: Likewise.
27075
27076 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
27077 develop on GRUB.
27078
7dd4a573 270792009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 27080 David S. Miller <davem@davemloft.net>
27081
27082 * util/hostdisk.c (make_device_name): Fix buffer length
27083 calculations.
27084
e25b5a8c 270852009-04-14 Felix Zielcke <fzielcke@z-51.de>
27086
27087 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
27088 <sys/param.h> and <sys/sysctl.h>.
27089 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
27090 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
27091 opening the device and reset them afterwards.
27092
1f1f580c 270932009-04-13 Pavel Roskin <proski@gnu.org>
27094
27095 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
27096 Reported by John Stanley <jpsinthemix@verizon.net>
27097
7ebc2d6b 270982009-04-13 Robert Millan <rmh@aybabtu.com>
27099
27100 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 27101 that name for menuentries when appropriate.
7ebc2d6b 27102
d8ba3667 271032009-04-13 Felix Zielcke <fzielcke@z-51.de>
27104
27105 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27106
cba416eb 271072009-04-13 Robert Millan <rmh@aybabtu.com>
27108
27109 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27110 to Linux, simply abort telling the user it's no longer supported.
27111
a547a745 271122009-04-13 Felix Zielcke <fzielcke@z-51.de>
27113
27114 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 27115 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 27116 `freebsd_loadenv' only when devices.hints exist.
27117
232a769c 271182009-04-13 Pavel Roskin <proski@gnu.org>
27119
27120 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27121
c3012039 271222009-04-13 Felix Zielcke <fzielcke@z-51.de>
27123
27124 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27125 partition number.
27126 (grub_drive): Likewise.
27127
234022fe 271282009-04-13 David S. Miller <davem@davemloft.net>
27129
27130 * kern/sparc64/ieee1275/ieee1275.c: New file.
27131 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27132 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27133 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27134 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27135 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27136 grub_ieee1275_alloc_physmem): Declare new exported functions.
27137
d8e1836c 27138 * include/grub/sparc64/ieee1275/loader.h: New file.
27139 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27140 * include/grub/sparc64/kernel.h: Likewise.
27141 * loader/sparc64/ieee1275/linux.c: Likewise.
27142
96bd81ec 27143 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27144 (grub_fstest_SOURCES): Likewise.
27145
6a4737e5 27146 * util/hostdisk.c (make_device_name): Do not make any assumptions
27147 about the length of drive names.
27148
1d7a72fd 27149 * kern/dl.c (grub_dl_load_file): Close file immediately when
27150 we are done using it.
27151
56bc2471 271522009-04-12 David S. Miller <davem@davemloft.net>
27153
27154 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27155 values. Noticed by Pavel Roskin.
27156
df38d0bb 27157 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27158 target compiler.
7dd4a573 27159
e382e93a 27160 * genmk.rb: Add more flexible image type specification, also
27161 pass --strip-unneeded to objcopy.
27162 * conf/i386-pc.rmk: Use *_FORMAT.
27163 * conf/i386-pc.mk: Rebuilt.
27164
f5dbbca9 27165 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27166 (OFDISK_HASH_SZ): Define.
27167 (ofdisk_hash): New hash table.
27168 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27169 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27170 instead of device phandle which is not unique.
27171
91c88b12 27172 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27173 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27174 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27175 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27176 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27177 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27178 GRUB_KERNEL_MACHINE_DATA_END): Define.
27179 (grub_kernel_image_size, grub_total_module_size): Declare.
27180
5b5d4aa5 271812009-04-12 Pavel Roskin <proski@gnu.org>
27182
7dd4a573 27183 * configure.ac: Change the logic when we check for target tools.
27184 Do it when the target is specified and it's different from the
27185 specified value of the host.
5b5d4aa5 27186
c91e1793 271872009-04-11 Felix Zielcke <fzielcke@z-51.de>
27188
27189 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27190 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27191 GNU/kFreeBSD. Check if a device is a character device. Use
27192 DIOCGMEDIASIZE to get the size.
27193 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27194 support for GNU/kFreeBSD.
27195 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27196 is a character device instead of a block device. Add support for
27197 FreeBSD device names.
27198
27199 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27200 is a character device instead of a block device.
27201
27202 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27203 is a character device instead of a block device.
27204
b1ac8644 272052009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27206
27207 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27208 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27209 FreeBSD. Check if a device is a character device. Use
27210 DIOCGMEDIASIZE to get the size.
27211 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27212 support for FreeBSD.
27213 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27214 is a character device instead of a block device. Add support for
27215 FreeBSD device names.
27216
27217 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27218 a character device instead of a block device.
27219 (grub_util_check_char_device): New function.
27220
27221 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27222 a character device instead of a block device.
27223
27224 * include/grub/util/getroot.h (grub_util_check_char_device): New
27225 prototype.
27226
a3f7515a 272272009-04-11 David S. Miller <davem@davemloft.net>
27228
27229 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27230 static libgcc.
27231 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27232 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27233 function, if present.
27234 (__bswapdi2): Likewise.
27235
0d44993d 27236 * include/grub/sparc64/ieee1275/boot.h: New file.
27237 * boot/sparc64/ieee1275/boot.S: Likewise.
27238 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27239
ed3d2bc2 27240 * kern/misc.c (grub_ltoa): New function.
27241 (grub_vsprintf): Use it to format 'long' integers.
27242
d3bfb59c 272432009-04-10 David S. Miller <davem@davemloft.net>
27244
27245 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27246 slots are of type grub_ieee1275_cell_t.
27247 (grub_nand_read): Likewise.
27248 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27249 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27250 macros are used to compare values in arg/ret block of the call.
27251 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27252 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27253 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27254 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27255 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27256 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27257 grub_ieee1275_close, grub_ieee1275_set_property,
27258 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27259 grub_ieee1275_cell_t.
27260 * kern/ieee1275/openfw.c (grub_map): Likewise.
27261 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27262 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27263
450e2238 27264 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27265 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27266 (grub_devalias_iterate): Likewise.
27267
7dd4a573 272682009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 27269
27270 UFS improvements
27271
27272 * fs/ufs.c (INODE_NBLOCKS): new definition
27273 (struct grub_ufs_dirent): added fields for non-BSD dirents
27274 (grub_ufs_get_file_block): fixed double indirect handling
27275 (grub_ufs_lookup_symlink): use more robust way to determine whether
27276 symlink is inline
27277 (grub_ufs_find_file): support for non-BSD dirents
27278 (grub_ufs_dir): support for non-BSD dirents
27279
e7e6862a 272802009-04-10 Bean <bean123ch@gnail.com>
27281
27282 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27283 attribute, otherwise the size would be wrong for i386 platform.
27284
27285 * include/grub/pci.h (grub_pci_read_word): New inline function.
27286 (grub_pci_read_byte): Likewise.
27287 (grub_pci_write): Likewise.
27288 (grub_pci_write_word): Likewise.
27289 (grub_pci_write_byte): Likewise.
27290
27291 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27292
27293 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27294 (find_framebuf): Scan pci to locate the frame buffer address.
27295
27296 * commands/efi/fixvideo.c: New file.
27297
27298 * commands/efi/loadbios.c: Likewise.
27299
27300 * commands/memrw.c: Likewise.
27301
27302 * util/grub-dumpbios.in: Likewise.
27303
27304 * conf/common.rmk (grub-dumpbios): New utility.
27305 (pkglib_MODULES): New module memrw.mod.
27306 (memrw_mod_SOURCE): New macro.
27307 (memrw_mod_CFLAGS): Likewise.
27308 (memrw_mod_LDFLAGS): Likewise.
27309
7dd4a573 27310 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27311 fixvideo.mod.
27312 (loadbios_mod_SOURCE): New macro.
27313 (loadbios_mod_CFLAGS): Likewise.
27314 (loadbios_mod_LDFLAGS): Likewise.
27315 (fixvideo_mod_SOURCE): Likewise.
27316 (fixvideo_mod_CFLAGS): Likewise.
27317 (fixvideo_mod_LDFLAGS): Likewise.
27318
7dd4a573 27319 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27320 fixvideo.mod.
27321 (loadbios_mod_SOURCE): New macro.
27322 (loadbios_mod_CFLAGS): Likewise.
27323 (loadbios_mod_LDFLAGS): Likewise.
27324 (fixvideo_mod_SOURCE): Likewise.
27325 (fixvideo_mod_CFLAGS): Likewise.
27326 (fixvideo_mod_LDFLAGS): Likewise.
27327
af63ada2 273282009-04-08 Felix Zielcke <fzielcke@z-51.de>
27329
27330 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27331
c2cdde70 273322009-04-07 David S. Miller <davem@davemloft.net>
27333
27334 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27335 support for R_SPARC_OLO10 relocations. Fix compile warning for
27336 R_SPARC_WDISP30 case.
ea3f72cf 27337 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 27338
761319cf 273392009-04-06 Pavel Roskin <proski@gnu.org>
27340
1007d1f5 27341 * include/grub/misc.h (ARRAY_SIZE): New macro.
27342 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27343 New macro.
27344 * loader/i386/linux.c (allocate_pages): Use free_pages().
27345 (grub_linux_unload): Don't use free_pages().
27346 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27347 wrong index. Treat all other modes as text modes.
27348 (grub_cmd_linux): Initialize vid_mode unconditionally to
27349 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27350
761319cf 27351 * commands/help.c (print_command_help): Use cmd->prio, not
27352 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27353
ea761d40 273542009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 27355
ea761d40 27356 Parttool
27357
27358 * parttool/pcpart.c: new file
27359 * commands/parttool.c: likewise
27360 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27361 (parttool_mod_SOURCES): new variable
27362 (parttool_mod_CFLAGS): likewise
27363 (parttool_mod_LDFLAGS): likewise
27364 (pcpart_mod_SOURCES): likewise
27365 (pcpart_mod_CFLAGS): likewise
27366 (pcpart_mod_LDFLAGS): likewise
7dd4a573 27367 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 27368 and parttool/pcpart.c
27369 * conf/i386-efi.rmk: likewise
27370 * conf/i386-ieee1275.rmk: likewise
27371 * conf/i386-pc.rmk: likewise
27372 * conf/powerpc-ieee1275.rmk: likewise
27373 * conf/sparc64-ieee1275.rmk: likewise
27374 * conf/x86_64-ieee1275.rmk: likewise
27375
05aaebfb 273762009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27377
27378 Support for mtime and further expandability of dir command
27379
27380 * include/grub/lib/datetime.h: moved to ...
7dd4a573 27381 * include/grub/datetime.h: ... moved here and added
05aaebfb 27382 declaration of grub_unixtime2datetime. All users updated
7dd4a573 27383 * include/grub/fs.h: new syntax for dir and mtime functions in
27384 struct grub_fs
05aaebfb 27385 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27386 and GRUB_FSHELP_FLAGS_MASK
27387 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27388 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27389 (grub_ext2_mtime): new function
27390 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27391 (grub_hfsplus_mtime): new function
27392 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27393 (GRUB_UFS_ATTR_FILE): likewise
27394 (GRUB_UFS_ATTR_LNK): likewise
27395 (struct grub_ufs_sblock): new fields mtime
27396 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27397 all users updated
27398 (grub_ufs_dir): mtime support
27399 (grub_ufs_mtime): new function
27400 * fs/affs.c (grub_affs_dir): use new dir syntax
27401 * fs/afs.c (grub_afs_dir): likewise
27402 * fs/cpio.c (grub_cpio_dir): likewise
27403 * fs/fat.c (grub_fat_find_dir): likewise
27404 * fs/hfs.c (grub_hfs_dir): likewise
27405 * fs/iso9660.c (grub_iso9660_dir): likewise
27406 * fs/jfs.c (grub_jfs_dir): likewise
27407 * fs/minix.c (grub_minix_dir): likewise
27408 * fs/ntfs.c (grub_ntfs_dir): likewise
27409 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27410 * fs/sfs.c (grub_sfs_dir): likewise
27411 * fs/xfs.c (grub_xfs_dir): likewise
27412 * util/hostfs.c (grub_hostfs_dir): likewise
27413 * lib/datetime.c: moved to ...
27414 * normal/datetime.c: ... moved here
27415 (grub_unixtime2datetime): new function
27416 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 27417 * normal/completion.c (iterate_dir): use new dir syntax
27418 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 27419 last modification time of a volume
7dd4a573 27420 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 27421 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 27422 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 27423 (normal_mod_SOURCES): likewise
27424 (datetime_mod_SOURCES): Removed lib/datetime.c
27425 * conf/i386-efi.rmk: likewise
7dd4a573 27426 * conf/i386-ieee1275.rmk: likewise
05aaebfb 27427 * conf/i386-pc.rmk: likewise
27428 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27429 * conf/sparc64-ieee1275.rmk: likewise
27430 * conf/x86_64-efi.rmk: likewise
05aaebfb 27431
8a7e1a14 274322009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27433
27434 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 27435
27436 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 27437 on grub_fat_find_dir
27438 (grub_fat_find_dir): use grub_fat_iterate_dir
27439 (grub_fat_label): likewise
27440
04186a9c 274412009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27442
7dd4a573 27443 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 27444 and command.h
27445 remove extraneous kernel_elf_HEADERS
27446
da4c0bb6 274472009-04-04 Bean <bean123ch@gnail.com>
27448
27449 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27450
27451 * util/misc.c: Likewise.
27452
54ad9555 274532009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27454
27455 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27456 instead of grub_printf.
27457
7a6bf9f2 274582009-04-03 Robert Millan <rmh@aybabtu.com>
27459
27460 * loader/i386/linux.c (grub_linux_setup_video): Fill
27461 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27462 values from `mode info' structure instead of hardcoded
27463 values.
27464
3fcc2083 274652009-04-01 Pavel Roskin <proski@gnu.org>
27466
27467 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27468 unused now.
27469 * genmk.rb: Likewise.
27470 * configure.ac: Likewise.
27471
5ec9740b 274722009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27473
27474 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27475 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27476
5270cec8 274772009-04-01 David S. Miller <davem@davemloft.net>
27478
27479 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 27480 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 27481 (grub_setjmp): Mark with 'returns_twice' attribute.
27482 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27483 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27484 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27485
9c3dd854 274862009-04-01 Robert Millan <rmh@aybabtu.com>
27487
27488 Reapply fix from 2008-07-28 which was accidentally reverted; also
27489 perform the same fix to a similar check in same function.
27490
27491 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27492 with the same number are found, just use issue a warning with
27493 grub_dprintf(), as this error has been reported to be non-fatal.
27494
0d818b7e 274952009-03-31 Pavel Roskin <proski@gnu.org>
27496
27497 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27498 for cross-compilation.
27499
95646d92 275002009-03-30 Robert Millan <rmh@aybabtu.com>
27501
27502 Fix i386-ieee1275 build.
27503
27504 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27505 Remove declaration.
27506
6a003ed1 275072009-03-30 Pavel Roskin <proski@gnu.org>
27508
27509 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27510 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27511 zero-terminated, rely only on the strlen value. Fix comparison
27512 of strings differing in length.
27513
92f33540 275142009-03-30 Robert Millan <rmh@aybabtu.com>
27515
27516 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27517 checking for abi version. Improve error messages on BIOS to notify
27518 user about `linux16' command.
27519
a8c48fd5 275202009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27521
f968172e 27522 Leak fixes
a8c48fd5 27523
f968172e 27524 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27525 in case of collision
27526 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 27527
9c323f09 275282009-03-29 Robert Millan <rmh@aybabtu.com>
27529
27530 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27531 set `vid_mode' accordingly.
27532 (grub_linux_boot): Process `vid_mode' and set video mode.
27533
ae68f423 275342009-03-29 Robert Millan <rmh@aybabtu.com>
27535
27536 * util/grub.d/10_linux.in (linux_entry): New function.
27537 Factorize generation of Linux boot entries.
27538
5709cfc4 275392009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27540
27541 Make the format of Environment Block plain text. The boot loader
27542 part is not tested well yet.
7dd4a573 27543
5709cfc4 27544 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27545 (buffer): Removed.
27546 (envblk): Likewise.
27547 (usage): Remove "info" and "clear". Add "unset". Update the
27548 description of "set", as this does not delete variables any
27549 longer.
27550 (create_envblk_file): Complete rewrite.
27551 (open_envblk_file): Likewise.
27552 (cmd_info): Removed.
27553 (cmd_list): Likewise.
27554 (cmd_set): Likewise.
27555 (cmd_clear): Likewise.
27556 (list_variables): New function.
27557 (write_envblk): Likewise.
27558 (set_variables): Likewise.
27559 (unset_variables): Likewise.
27560 (main): Complete rewrite.
27561
27562 * commands/loadenv.c (buffer): Removed.
27563 (envblk): Likewise.
27564 (open_envblk_file): New function.
27565 (read_envblk_file): Complete rewrite.
27566 (grub_cmd_load_env): Likewise.
27567 (grub_cmd_list_env): Likewise.
27568 (struct blocklist): New struct.
27569 (free_blocklists): New function.
27570 (check_blocklists): Likewise.
27571 (write_blocklists): Likewise.
27572 (grub_cmd_save_env): Complete rewrite.
27573
27574 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27575 a plain text signature.
27576 (GRUB_ENVBLK_MAXLEN): Removed.
27577 (struct grub_envblk): Complete rewrite.
27578 (grub_envblk_find): Removed.
27579 (grub_envblk_insert): Likewise.
27580 (grub_envblk_open): New prototype.
27581 (grub_envblk_set): Likewise.
27582 (grub_envblk_delete): Put const to VALUE.
27583 (grub_envblk_iterate): Put const to NAME and VALUE.
27584 (grub_envblk_close): New prototype.
27585 (grub_envblk_buffer): New inline function.
27586 (grub_envblk_size): Likewise.
27587
27588 * lib/envblk.c: Include grub/mm.h.
27589 (grub_env_find): Removed.
27590 (grub_envblk_open): New function.
27591 (grub_envblk_close): Likewise.
27592 (escaped_value_len): Likewise.
27593 (find_next_line): Likewise.
27594 (grub_envblk_insert): Removed.
27595 (grub_envblk_set): New function.
27596 (grub_envblk_delete): Complete rewrite.
27597 (grub_envblk_iterate): Likewise.
27598
a9368fd3 275992009-03-28 Robert Millan <rmh@aybabtu.com>
27600
27601 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27602 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27603 variables. Use 16-bit loader.
27604 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27605 loader.
27606 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27607 (grub_linux16_boot): ... this. Update all users.
27608 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27609 (grub_linux_boot): ... this. Update all users.
27610
27611 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27612 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27613 commands to `linux16' and `initrd16'.
27614 (GRUB_MOD_FINI(linux)): Rename to ...
27615 (GRUB_MOD_FINI(linux16)): ... this.
27616
e4dd5a7e 276172009-03-24 Pavel Roskin <proski@gnu.org>
27618
27619 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27620 not just for compilation.
27621
c04d6e05 276222009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 Move multiboot helper out of kernel
27625
27626 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27627 `loader/i386/multiboot_helper.S'.
27628 * conf/i386-coreboot.rmk: Likewise
27629 * conf/i386-ieee1275.rmk: Likewise
27630
27631 * kern/i386/loader.S: Move multiboot helpers from here...
27632 * loader/i386/multiboot_helper.S: ...moved here
27633 * include/grub/i386/loader.h: Move declarations of multiboot
27634 helpers from here...
27635 * include/grub/i386/multiboot.h: ...moved here
27636 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27637
42a5b3fc 276382009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27639
27640 * kern/env.c (grub_env_context_open): Added an argument to specify
27641 whether a new context inherits exported variables from current
27642 one. This is useful when making a sandbox to interpret a config
27643 file.
27644 All callers updated.
27645
27646 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27647
b28bbc4e 276482009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27649
27650 * kern/env.c (grub_env_context_close): Fix memory leaks.
27651
f04f02e4 276522009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27653
27654 * normal/main.c (grub_normal_execute): Added an argument
27655 BATCH to specify if an interactive interface should be provided
27656 after reading a config file.
27657 All callers updated.
27658 (read_command_list): Prevent being executed twice.
27659 (read_fs_list): Likewise.
27660
42a5b3fc 27661 * include/grub/normal.h (grub_normal_execute): Updated the
27662 prototype.
f04f02e4 27663
41473ac2 276642009-03-22 Pavel Roskin <proski@gno.org>
27665
fbc00b0c 27666 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27667 _start.
27668 * kern/i386/pc/startup.S: Likewise.
27669 * kern/i386/efi/startup.S: Likewise.
27670 * kern/i386/ieee1275/startup.S: Likewise.
27671 * kern/i386/coreboot/startup.S: Likewise.
27672 * kern/x86_64/efi/startup.S: Likewise.
27673
41473ac2 27674 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27675 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27676 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27677
2274cc8f 276782009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27679
27680 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27681
27682 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27683 limit detection.
27684 Use vaddr of correct segment for entry_point.
27685
b1b797cb 276862009-03-21 Bean <bean123ch@gmail.com>
27687
27688 * commands/blocklist.c: Add include file <grub/command.h>, remove
27689 <grub/normal.h> and <grub/arg.h>.
27690 (grub_cmd_blocklist): Use the new command interface.
27691 (GRUB_MOD_INIT): Likewise.
27692 (GRUB_MOD_FINI): Likewise.
27693 * commands/boot.c: Likewise.
27694 * commands/cat.c: Likewise.
27695 * commands/cmp.c: Likewise.
27696 * commands/configfile.c: Likewise.
27697 * commands/crc.c: Likewise.
27698 * commands/echo.c: Likewise.
27699 * commands/halt.c: Likewise.
27700 * commands/handler.c: Likewise.
27701 * commands/hdparm.c: Likewise.
27702 * commands/help.c: Likewise.
27703 * commands/hexdump.c: Likewise.
27704 * commands/loadenv.c: Likewise.
27705 * commands/ls.c: Likewise.
27706 * commands/lsmmap.c: Likewise.
27707 * commands/lspci.c: Likewise.
27708 * commands/loadenv.c: Likewise.
27709 * commands/read.c: Likewise.
27710 * commands/reboot.c: Likewise.
27711 * commands/search.c: Likewise.
27712 * commands/sleep.c: Likewise.
27713 * commands/test.c: Likewise.
27714 * commands/usbtest.c: Likewise.
27715 * commands/videotest.c: Likewise.
27716 * commands/i386/cpuid.c: Likewise.
27717 * commands/i386/pc/halt.c: Likewise.
27718 * commands/i386/pc/play.c: Likewise.
27719 * commands/i386/pc/pxecmd.c: Likewise.
27720 * commands/i386/pc/vbeinfo.c: Likewise.
27721 * commands/i386/pc/vbetest.c: Likewise.
27722 * commands/ieee1275/suspend.c: Likewise.
27723 * disk/loopback.c: Likewise.
27724 * font/font_cmd.c: Likewise.
27725 * hello/hello.c: Likewise.
27726 * loader/efi/appleloader.c: Likewise.
27727 * loader/efi/chainloader.c: Likewise.
27728 * loader/i386/bsd.c: Likewise.
27729 * loader/i386/efi/linux.c: Likewise.
27730 * loader/i386/ieee1275/linux.c: Likewise.
27731 * loader/i386/linux.c: Likewise.
27732 * loader/i386/pc/chainloader.c: Likewise.
27733 * loader/i386/pc/linux.c: Likewise.
27734 * loader/powerpc/ieee1275/linux.c: Likewise.
27735 * loader/multiboot_loader.c: Likewise.
27736 * term/gfxterm.c: Likewise.
27737 * term/i386/pc/serial.c: Likewise.
27738 * term/terminfo.c: Likewise.
27739
27740 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27741 * term/i386/pc/vga.c: Likewise.
27742 * video/readers/jpeg.c: Likewise.
27743 * video/readers/png.c: Likewise.
27744 * video/readers/tga.c: Likewise.
27745
27746 * util/grub-fstest (cmd_loopback): Removed.
27747 (cmd_blocklist): Likewise.
27748 (cmd_ls): Likewise.
27749 (grub_register_command): Likewise.
27750 (grub_unregister_command): Likewise.
27751 (execute_command): Use grub_command_find to locate command and execute
27752 it.
27753
27754 * include/grub/efi/chainloader.h: Removed.
27755 * loader/efi/chainloader_normal.c: Likewise.
27756 * loader/i386/bsd_normal.c: Likewise.
27757 * loader/i386/pc/chainloader_normal.c: Likewise.
27758 * loader/i386/pc/multiboot_normal.c: Likewise.
27759 * loader/linux_normal.c: Likewise.
27760 * loader/multiboot_loader_normal.c: Likewise.
27761 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27762
27763 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27764 and grub_register_command_p1.
27765
27766 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27767 kern/command.c, lib/arg.c and commands/extcmd.c.
27768 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27769 (minicmd_mod_SOURCES): New variable.
27770 (minicmd_mod_CFLAGS): Likewise.
27771 (minicmd_mod_LDFLAGS): Likewise.
27772 (extcmd_mod_SOURCES): Likewise.
27773 (extcmd_mod_CFLAGS): Likewise.
27774 (extcmd_mod_LDFLAGS): Likewise.
27775 (boot_mod_SOURCES): Removed.
27776 (boot_mod_CFLAGS): Likewise.
27777 (boot_mod_LDFLAGS): Likewise.
27778
27779 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27780 kern/corecmd.c.
27781 (kernel_img_HEADERS): Add command.h.
27782 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27783 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27784 and lib/arg.c.
27785 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27786 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27787 remove the corresponding normal mode command.
27788 (normal_mod_SOURCES): Remove normal/arg.c.
27789 * conf/i386-coreboot.rmk: Likewise.
27790 * conf/i386-efi.rmk: Likewise.
27791 * conf/i386-ieee1275.rmk: Likewise.
27792 * conf/powerpc-ieee1275.rmk: Likewise.
27793 * conf/x86_64-efi.rmk: Likewise.
27794
27795 * include/grub/arg.h: Move from here ...
27796 * include/grub/lib/arg.h: ... to here.
27797
27798 * normal/arg.c: Move from here ...
27799 * lib/arg.c: ... to here.
27800
27801 * commands/extcmd.c: New file.
27802 * commands/minicmd.c: Likewise.
27803 * include/grub/command.h: Likewise.
27804 * include/grub/extcmd.h: Likewise.
27805 * kern/command.c: Likewise.
27806 * kern/corecmd.c: Likewise.
27807
27808 * kern/list.c (grub_list_iterate): Return int instead of void.
27809 (grub_list_insert): New function.
27810 (grub_prio_list_insert): Likewise.
27811
27812 * kern/rescue.c (grub_rescue_command): Removed.
27813 (grub_rescue_command_list): Likewise.
27814 (grub_rescue_register_command): Likewise.
27815 (grub_rescue_unregister_command): Likewise.
27816 (grub_rescue_cmd_boot): Move to minicmd.c
27817 (grub_rescue_cmd_help): Likewise.
27818 (grub_rescue_cmd_info): Likewise.
27819 (grub_rescue_cmd_boot): Likewise.
27820 (grub_rescue_cmd_testload): Likewise.
27821 (grub_rescue_cmd_dump): Likewise.
27822 (grub_rescue_cmd_rmmod): Likewise.
27823 (grub_rescue_cmd_lsmod): Likewise.
27824 (grub_rescue_cmd_exit): Likewise.
27825 (grub_rescue_print_devices): Moved to corecmd.c.
27826 (grub_rescue_print_files): Likewise.
27827 (grub_rescue_cmd_ls): Likewise.
27828 (grub_rescue_cmd_insmod): Likewise.
27829 (grub_rescue_cmd_set): Likewise.
27830 (grub_rescue_cmd_unset): Likewise.
7d074e3c 27831 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 27832 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 27833 commands, remove grub_rescue_register_command calls.
b1b797cb 27834
7d074e3c 27835 * normal/command.c (grub_register_command): Removed.
b1b797cb 27836 (grub_unregister_command): Likewise.
27837 (grub_command_find): Likewise.
27838 (grub_iterate_commands): Likewise.
27839 (rescue_command): Likewise.
27840 (export_command): Moved to corecmd.c.
27841 (set_command): Removed.
27842 (unset_command): Likewise.
27843 (insmod_command): Likewise.
27844 (rmmod_command): Likewise.
27845 (lsmod_command): Likewise.
27846 (grub_command_init): Likewise.
27847
27848 * normal/completion.c (iterate_command): Use cmd->prio to check for
27849 active command.
27850 (complete_arguments): Use grub_extcmd_t structure to find options.
27851 (grub_normal_do_completion): Change function grub_iterate_commands to
27852 grub_command_iterate.
27853
27854 * normal/execute.c (grub_script_execute_cmd): No need to parse
27855 argument here.
27856
27857 * normal/main.c (grub_dyncmd_dispatcher): New function.
27858 (read_command_list): Register unload commands as dyncmd.
27859 (grub_cmd_normal): Use new command interface, register rescue,
27860 unregister normal at entry, register normal, unregister rescue at exit.
27861
27862 * include/grub/list.h (grub_list_test_t): New type.
27863 (grub_list_iterate): Return int instead of void.
27864 (grub_list_insert): New function.
27865 (GRUB_AS_NAMED_LIST_P): New macro.
27866 (GRUB_AS_PRIO_LIST): Likewise.
27867 (GRUB_AS_PRIO_LIST_P): Likewise.
27868 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27869 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27870 (grub_prio_list): New structure.
27871 (grub_prio_list_insert): New function.
27872 (grub_prio_list_remove): New inline function.
27873
27874 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27875 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27876 (GRUB_COMMAND_FLAG_MENU): Likewise.
27877 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27878 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27879 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27880 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27881 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27882 (grub_command): Likewise.
27883 (grub_register_command): Likewise.
27884 (grub_command_find): Likewise.
27885 (grub_iterate_commands): Likewise.
27886 (grub_command_init): Likewise.
27887 (grub_arg_parse): Likewise.
27888 (grub_arg_show_help): Likewise.
27889
27890 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27891 (grub_rescue_unregister_command): Likewise.
27892
27893 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27894 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27895 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27896
27897 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27898 grub_rescue_cmd_initrd.
27899 * include/grub/i386/loader.h: Likewise.
27900 * include/grub/x86_64/loader.h: Likewise.
27901
27902 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27903
1f4147aa 279042009-03-21 Bean <bean123ch@gmail.com>
27905
27906 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27907 instead of stat in mingw environment.
27908
27909 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27910
27911 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27912
27913 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27914 AC_CONFIG_LINKS.
27915
2156d5ba 279162009-03-21 Bean <bean123ch@gmail.com>
27917
27918 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27919 out of range error.
27920
177b82ca 279212009-03-18 Michel Dänzer <michel@daenzer.net>
27922
27923 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27924 checking inode flags for EXT4_EXTENTS_FLAG.
27925
14aad807 279262009-03-18 Robert Millan <rmh@aybabtu.com>
27927
27928 * loader/i386/linux.c: Include `<grub/video.h>' and
27929 `<grub/i386/pc/vbe.h>'..
27930 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27931 (grub_linux32_boot): Attempt to configure video settings with
27932 grub_linux_setup_video().
27933 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27934 to avoid grub_console_fini() which would step out of graphical mode
27935 unconditionally.
27936
8cf83a27 279372009-03-14 Robert Millan <rmh@aybabtu.com>
27938
27939 Fix build on powerpc.
27940 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27941
40164e75 279422009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27943
27944 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27945 background image command.
27946
c58bc32a 279472009-03-12 Colin D Bennett <colin@gibibit.com>
27948
27949 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27950 (grub_gfxterm_putchar): Extract pairs of identical calls to
27951 draw_cursor out of conditional blocks.
27952
5415144a 279532009-03-11 Pavel Roskin <proski@gnu.org>
27954
27955 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27956 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27957
6394042e 279582009-03-11 Robert Millan <rmh@aybabtu.com>
27959
27960 * loader/i386/multiboot_elfxx.c
27961 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27962
b7b50e5f 279632009-03-11 Felix Zielcke <fzielcke@z-51.de>
27964
27965 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27966 `kern/handler.c'.
27967
1ca7fc96 279682009-03-11 Robert Millan <rmh@aybabtu.com>
27969
27970 * loader/i386/multiboot.c (code_size): New variable.
27971 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 27972 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 27973 4-byte alignment to MBI and others by increasing
7d074e3c 27974 `boot_loader_name_length' appropriately.
1ca7fc96 27975
27976 * loader/i386/multiboot_elfxx.c
27977 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27978
a83ea1d2 279792009-03-09 Felix Zielcke <fzielcke@z-51.de>
27980
27981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27982 `fs/ext2.c'.
27983
aa9f3bff 279842009-03-08 Robert Millan <rmh@aybabtu.com>
27985
27986 Make loader/i386/linux.c usable on i386-pc again.
27987
27988 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
27989 memory to heap.
27990 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
27991 `#error' stanza.
27992
d8b3b60e 279932009-03-07 Bean <bean123ch@gmail.com>
27994
27995 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
27996 allocation.
27997
b362c9e9 279982009-03-06 Robert Millan <rmh@aybabtu.com>
27999
28000 Fix display issue on terminals with screen size other than 80x25
28001 (e.g. gfxterm with resolution higher than 640x480).
28002
28003 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 28004 position relative to the center of the terminal instead of relying
b362c9e9 28005 on a hardcoded offset.
28006
9304eef1 280072009-03-04 Robert Millan <rmh@aybabtu.com>
28008
28009 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
28010 installed.
28011
28012 * Makefile.in (host_kernel): New variable.
28013 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
28014 scripts instead of just the windows one.
28015 * configure.ac: Initialize and AC_SUBST `host_kernel'.
28016
eabc95fb 280172009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 28018
28019 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
28020 `kern/handler.c'.
28021 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28022 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28026 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28027
ceb1223c 280282009-03-04 Felix Zielcke <fzielcke@z-51.de>
28029
28030 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
28031 or if there's no space for the disk label and print the partition number on a
28032 invalid magic.
28033
4910684a 280342009-03-04 Felix Zielcke <fzielcke@z-51.de>
28035
28036 * util/misc.c: Include <time.h>.
28037 (grub_millisleep): New function.
28038
7e9ca17a 280392009-03-04 Bean <bean123ch@gmail.com>
28040
28041 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
28042 another option -mno-red-zone.
28043
28044 * commands/handler.c: Change module description.
28045
28046 * kern/handler.c: Add missing space at the end of description line.
28047
28048 * kern/list.c: Likewise.
28049
f501677c 280502009-03-03 Robert Millan <rmh@aybabtu.com>
28051
28052 Move more components to the relocation area, and fix mbi pointer
28053 handling to use the destination rather than the origin (thanks to
28054 Vladimir Serbinenko for spotting).
28055
28056 * loader/i386/multiboot.c (mbi_dest): New variable.
28057 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
28058 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
28059 relocation area.
28060
9902d047 280612009-03-01 Bean <bean123ch@gmail.com>
28062
50fb7002 28063 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 28064 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
28065 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
28066 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
28067
28068 * loader/i386/efi/linux.c (acpi_guid): New variable.
28069 (acpi_guid): Likewise.
28070 (EBDA_SEG_ADDR): New constant.
28071 (LOW_MEM_ADDR): Likewise.
28072 (FAKE_EBDA_SEG): Likewise.
28073 (fake_bios_data): New function.
28074 (grub_linux_boot): Call fake_bios_data.
28075
71b9f361 280762009-03-01 Bean <bean123ch@gmail.com>
28077
28078 * commands/terminal.c: Removed.
28079
28080 * commands/handler.c: New file.
28081
28082 * include/grub/list.h: Likewise.
28083
28084 * include/grub/handler.h: Likewise.
28085
28086 * kern/list.c: Likewise.
28087
28088 * kern/handler.c: Likewise.
28089
28090 * kern/term.h: Include header file <grub/handler.h>.
28091 (grub_term_input): Move next field to the beginning.
28092 (grub_term_output): Likewise.
28093 (grub_term_input_class): New variable.
28094 (grub_term_output_class): Likewise.
28095 (grub_term_register_input): Changed to inline function.
28096 (grub_term_register_output): Likewise.
28097 (grub_term_unregister_input): Likewise.
28098 (grub_term_unregister_output): Likewise.
28099 (grub_term_set_current_input): Likewise.
28100 (grub_term_set_current_output): Likewise.
28101 (grub_term_get_current_input): Likewise.
28102 (grub_term_get_current_output): Likewise.
28103 (grub_term_iterate_input): Removed.
28104 (grub_term_iterate_output): Likewise.
28105
28106 * kern/term.c (grub_term_list_input): Removed.
28107 (grub_term_list_output): Likewise.
28108 (grub_term_input_class): New variable.
28109 (grub_term_output_class): Likewise.
50fb7002 28110 (grub_cur_term_input): Change variable as macro.
71b9f361 28111 (grub_cur_term_output): Likewise.
28112 (grub_term_register_input): Removed.
28113 (grub_term_register_output): Likewise.
28114 (grub_term_unregister_input): Likewise.
28115 (grub_term_unregister_output): Likewise.
28116 (grub_term_set_current_input): Likewise.
28117 (grub_term_set_current_output): Likewise.
28118 (grub_term_iterate_input): Likewise.
28119 (grub_term_iterate_output): Likewise.
28120 (grub_term_get_current_input): Likewise.
28121 (grub_term_get_current_output): Likewise.
28122
28123 * util/grub-editenv.c: Include header file <grub/handler.h>.
28124 (grub_term_get_current_input): Removed.
28125 (grub_term_get_current_output): Likewise.
28126 (grub_term_input_class): New variable.
50fb7002 28127 (grub_term_output_class): Likewise.
71b9f361 28128
28129 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28130 (grub_term_get_current_output): Likewise.
28131 (grub_term_input_class): New variable.
50fb7002 28132 (grub_term_output_class): Likewise.
71b9f361 28133
28134 * util/grub-probe.c (grub_term_get_current_input): Removed.
28135 (grub_term_get_current_output): Likewise.
28136 (grub_term_input_class): New variable.
50fb7002 28137 (grub_term_output_class): Likewise.
71b9f361 28138
28139 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28140 (grub_term_get_current_output): Likewise.
28141 (grub_term_input_class): New variable.
50fb7002 28142 (grub_term_output_class): Likewise.
71b9f361 28143
28144 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28145 (terminal_mod_SOURCES): Likewise.
28146 (terminal_mod_CFLAGS): Likewise.
28147 (terminal_mod_LDFLAGS): Likewise.
28148
28149 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28150 handler.c.
28151 (kernel_img_SOURCES): Add list.c and handler.c.
28152 (kernel_img_HEADERS): Add list.h and handler.h.
28153
28154 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28155 handler.c.
28156 (kernel_mod_SOURCES): Add list.c and handler.c.
28157 (kernel_mod_HEADERS): Add list.h and handler.h.
28158
28159 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28160 handler.c.
28161 (kernel_elf_SOURCES): Add list.c and handler.c.
28162 (kernel_elf_HEADERS): Add list.h and handler.h.
28163
28164 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28165 handler.c.
28166 (kernel_elf_SOURCES): Add list.c and handler.c.
28167 (kernel_elf_HEADERS): Add list.h and handler.h.
28168
28169 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28170 handler.c.
28171 (kernel_mod_SOURCES): Add list.c and handler.c.
28172 (kernel_mod_HEADERS): Add list.h and handler.h.
28173
28174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28175 handler.c.
28176 (kernel_elf_SOURCES): Add list.c and handler.c.
28177 (kernel_elf_HEADERS): Add list.h and handler.h.
28178
8a31787f 281792009-02-27 Robert Millan <rmh@aybabtu.com>
28180
28181 Factorize elf32 / elf64 code in Multiboot loader. This will
28182 prevent it from getting out of sync again.
28183
28184 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28185 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28186 grub_multiboot_load_elf64): Move from here ...
28187 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28188 grub_multiboot_load_elf): ... to here (new file).
28189
51cd3dfc 281902009-02-27 Robert Millan <rmh@aybabtu.com>
28191
28192 * util/grub.d/10_linux.in: Rename "single-user mode" to
28193 "recovery mode".
28194
6e8c9c3a 281952009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28196
28197 Don't leak in SCSI code.
28198 * disk/scsi.c (grub_scsi_close): free `scsi'.
28199
4b6bf4f9 282002009-02-27 Robert Millan <rmh@aybabtu.com>
28201
28202 * loader/i386/pc/multiboot.c: Move from here ...
28203 * loader/i386/multiboot.c: ... to here. Update all users.
28204
b9413424 282052009-02-27 Robert Millan <rmh@aybabtu.com>
28206
28207 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28208 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28209
50fb7002 282102009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 28211
28212 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28213 b-tree.
28214
8cc50345 282152009-02-27 Robert Millan <rmh@aybabtu.com>
28216
28217 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28218 `0x' qualifier as 0 when base is specified as parameter).
28219
6e09b8b7 282202009-02-24 Bean <bean123ch@gmail.com>
28221
28222 * configure.ac: Check for -mcmodel=large in x86_64 target.
28223
28224 * include/grub/efi/api.h (efi_call_10): New macro.
28225 (efi_wrap_10): New function.
28226
28227 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28228 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28229 (GRUB_PE32_REL_BASED_LOW): Likewise.
28230 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28231 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28232 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28233 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28234 (GRUB_PE32_REL_BASED_REL): Likewise.
28235 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28236 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28237 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28238
28239 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28240 issue.
28241
28242 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28243 (efi_wrap_10): New function.
28244
28245 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28246
28247 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28248 MB/MBP model (NV chipset).
28249 (devdata_devs): Add devpath_5 to the list.
28250
28251 * load/i386/efi/linux.c (video_base): Remove variable.
28252 (RGB_MASK): New macro.
28253 (RGB_MAGIC): Likewise.
28254 (LINE_MIN): Likewise.
28255 (LINE_MAX): Likewise.
28256 (FBTEST_STEP): Likewise.
28257 (FBTEST_COUNT): Likewise.
28258 (fb_list): New variable.
28259 (grub_find_video_card): Remove function.
28260 (find_framebuf): New function.
28261 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28262 line length.
28263
28264 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28265 problem for x86_64.
28266
74b21bee 282672009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28268
28269 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28270
28271 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28272 coding tool name.
28273
a455f472 282742009-02-22 Robert Millan <rmh@aybabtu.com>
28275
28276 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28277 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28278 in our relocation, instead of using it directly from heap. Also
28279 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28280
6374daf3 282812009-02-21 Robert Millan <rmh@aybabtu.com>
28282
28283 Implement USB keyboard support (based on patch by Marco Gerards)
28284
28285 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28286 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28287 (usb_keyboard_mod_LDFLAGS): New variables.
28288
28289 * term/usb_keyboard.c: New file.
28290
8fa4ea70 282912009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28292
28293 Corrected wrong declaration
28294
28295 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28296
353976ac 282972009-02-14 Christian Franke <franke@computer.org>
28298
28299 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28300 (grub_lspci_iter): Print class code and programming interface byte.
28301
6aa1169b 283022009-02-14 Christian Franke <franke@computer.org>
28303
28304 * gendistlist.sh: Ignore `.svn' directories.
28305
265372ca 283062009-02-14 Felix Zielcke <fzielcke@z-51.de>
28307
28308 * fs/fat.c: Add 2009 to Copyright line.
28309
9ff516f3 283102009-02-14 Christian Franke <franke@computer.org>
28311
28312 * commands/hdparm.c: New file. Provides `hdparm' command
28313 which sends ATA commands via grub_disk_ata_pass_through ().
28314
28315 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28316
28317 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28318 and <grub/cpu/io.h> to include/grub/ata.h.
28319 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28320 (GRUB_CDROM_SECTOR_SIZE): Remove.
28321 (GRUB_ATA_*): Move to include/grub/ata.h.
28322 (GRUB_ATAPI_*): Likewise.
28323 (enum grub_ata_commands): Likewise.
28324 (enum grub_ata_timeout_milliseconds): Likewise.
28325 (struct grub_ata_device): Likewise.
28326 (grub_ata_regset): Likewise.
28327 (grub_ata_regget): Likewise.
28328 (grub_ata_regset2): Likewise.
28329 (grub_ata_regget2): Likewise.
28330 (grub_ata_check_ready): Likewise.
28331 (grub_ata_wait_not_busy): Remove static, exported in
28332 include/grub/ata.h.
28333 (grub_ata_wait_drq): Likewise.
28334 (grub_ata_pio_read): Likewise.
28335
28336 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28337 function for hdparm.mod.
28338
28339 * include/grub/ata.h: New file, contains declarations from
28340 disk/ata.c.
28341 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28342
28343 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28344 (grub_disk_ata_pass_through): New exported variable.
28345
28346 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28347
772e23da 283482009-02-13 Colin D Bennett <colin@gibibit.com>
28349
28350 Support multiple fallback entries, and provide an API to support
28351 executing default+fallback menu entries. Renamed the `terminal' menu
28352 viewer to `text'.
28353
28354 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28355 variable declaration.
28356 (grub_menu_execute_callback): New structure declaration.
28357 (grub_menu_execute_callback_t): New typedef.
28358 (grub_menu_execute_with_fallback): New function declaration.
28359 (grub_menu_get_entry): Likewise.
28360 (grub_menu_get_timeout): Likewise.
28361 (grub_menu_set_timeout): Likewise.
28362
28363 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28364
28365 * normal/menu.c (grub_wait_after_message): Moved to
28366 `normal/menu_text.c'.
28367 (draw_border): Likewise.
28368 (print_message): Likewise.
28369 (print_entry): Likewise.
28370 (print_entries): Likewise.
28371 (grub_menu_init_page): Likewise.
28372 (get_entry_number): Likewise.
28373 (print_timeout): Likewise.
28374 (run_menu): Likewise.
28375 (grub_menu_execute_entry): Likewise.
28376 (show_text_menu): Likewise.
28377 (get_and_remove_first_entry_number): New function.
28378 (grub_menu_execute_with_fallback): Likewise.
28379 (get_entry): Renamed to ...
28380 (grub_menu_get_entry): .. this and made it global.
28381 (get_timeout): Renamed to ...
28382 (grub_menu_get_timeout): ... this and made it global.
28383 (set_timeout): Renamed to ...
28384 (grub_menu_set_timeout): ... this and made it global.
28385 (grub_normal_terminal_menu_viewer): Renamed to ...
28386 (grub_normal_text_menu_viewer): ... this.
28387
28388 * normal/menu_text.c: New file. Extracted text-menu-specific code
28389 from normal/menu.c.
28390
28391 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28392 (normal_mod_SOURCES): Likewise.
28393
28394 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28395 (normal_mod_SOURCES): Likewise.
28396
28397 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28398 (normal_mod_SOURCES): Likewise.
28399
28400 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28401 (normal_mod_SOURCES): Likewise.
28402
28403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28404 (normal_mod_SOURCES): Likewise.
28405
28406 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28407 (normal_mod_SOURCES): Likewise.
28408
28409 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28410 (normal_mod_SOURCES): Likewise.
28411
16ac430e 284122009-02-11 Robert Millan <rmh@aybabtu.com>
28413
28414 * util/grub.d/00_header.in: Update old reference to `font' command.
28415
06ff20fc 284162009-02-10 Felix Zielcke <fzielcke@z-51.de>
28417
28418 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28419
28420 Based on patch from Javier Martín.
28421
96da9407 284222009-02-09 Felix Zielcke <fzielcke@z-51.de>
28423
28424 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 28425 to avoid false positives with FAT.
96da9407 28426 (grub_fstest_SOURCES): Likewise.
28427 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28428 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28430 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28431 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28433
6dca6fe4 284342009-02-09 Felix Zielcke <fzielcke@z-51.de>
28435
06ff20fc 28436 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 28437 bpb.version_specific.fat12_or_fat16.fstype and
28438 bpb.version_specific.fat32.fstype.
28439
2550c62f 284402009-02-08 Robert Millan <rmh@aybabtu.com>
28441
be110b30 28442 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 28443
56978920 284442009-02-08 Robert Millan <rmh@aybabtu.com>
28445
28446 * Makefile.in (host_os, host_cpu): New variables.
28447 (target_os): Remove. Update all users.
28448
d64399b5 284492009-02-08 Marco Gerards <marco@gnu.org>
28450
28451 * Makefile.in (enable_grub_emu_usb): New variable.
28452 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28453 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28454 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28455 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28456 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28457 `usbtest.mod' and `usbms.mod'.
28458 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28459 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28460 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28461 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28462 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28463 variables.
28464
28465 * disk/usbms.c: New file.
28466
28467 * include/grub/usb.h: Likewise.
28468
28469 * include/grub/usbtrans.h: Likewise.
28470
28471 * include/grub/usbdesc.h: Likewise.
28472
28473 * bus/usb/usbtrans.c: Likewise.
28474
28475 * bus/usb/ohci.c: Likewise.
28476
28477 * bus/usb/uhci.c: Likewise.
28478
28479 * bus/usb/usbhub.c: Likewise.
28480
28481 * bus/usb/usb.c: Likewise.
28482
28483 * commands/usbtest.c: Likewise.
28484
28485 * util/usb.c: Likewise.
50fb7002 28486
d64399b5 28487 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28488
28489 * configure.ac: Test for libusb presence.
50fb7002 28490
d64399b5 28491 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28492
2b40d6bb 284932009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28494
28495 * kern/mm.c: Add more comments.
28496
73a4ce81 284972009-02-08 Robert Millan <rmh@aybabtu.com>
28498
28499 Patch from Javier Martín.
28500 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28501 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28502
f821ce59 285032009-02-08 Robert Millan <rmh@aybabtu.com>
28504
28505 * fs/cpio.c: Split tar functionality to ...
28506 * fs/tar.c: ... here (new file). Update all users.
28507
aebfc4b0 285082009-02-07 Robert Millan <rmh@aybabtu.com>
28509
28510 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28511 backward-incompatible features.
28512
28513 Based on patch from Javier Martín, with some adjustments.
28514
50fb7002 285152009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 28516
28517 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28518
0bb5115e 285192009-02-07 Robert Millan <rmh@aybabtu.com>
28520
28521 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28522 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28523 after the RAID stuff.
28524
38a0f8e7 285252009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28526
50fb7002 28527 Fixes problem when running vbetest command as reported by
38a0f8e7 28528 Vladimir Serbinenko <phcoder@gmail.com>.
28529
28530 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28531
3143cc1c 285322009-02-04 Felix Zielcke <fzielcke@z-51.de>
28533
28534 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28535 /dev/md/NpN style mdraid devices.
28536
9cba6fce 285372009-02-03 Felix Zielcke <fzielcke@z-51.de>
28538
28539 * util/unifont2pff.rb: Remove.
28540
e507a2c1 285412009-02-03 Felix Zielcke <fzielcke@z-51.de>
28542
28543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28544 `#'.
28545
d2c2b4cd 285462009-02-03 Felix Zielcke <fzielcke@z-51.de>
28547
28548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28549 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28550 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28551 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28553 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28554 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28555
b4315fb0 285562009-02-02 Christian Franke <franke@computer.org>
28557
28558 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28559
de3aa260 285602009-02-01 Felix Zielcke <fzielcke@z-51.de>
28561
7c3ff286 28562 * INSTALL: Note that we now require at least autoconf 2.59 and
28563 that LZO is optional.
de3aa260 28564
825a182b 285652009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28566
28567 Base on patch on bug #24154 created by Tomas Tintera
28568 <trosos@seznam.cz>.
28569
28570 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28571
a69ef770 285722009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28573
7c3ff286 28574 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 28575 <bero@arklinux.org>.
28576
28577 * normal/parser.y (script_init): Add missing semicolon.
28578
6fa42fa6 285792009-01-31 Colin D Bennett <colin@gibibit.com>
28580
7c3ff286 28581 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 28582 (free_menu_entry_classes): Added.
28583 (grub_normal_menu_addentry): Added class property handling.
28584 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28585 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28586
28587 * normal/menu_viewer.c: New file.
28588
28589 * normal/menu.c (run_menu_entry): Renamed to ...
28590 (grub_menu_execute_entry): ... this and made it as global.
28591 (grub_menu_run): Renamed to ...
28592 (show_text_menu): ... this and made it local.
28593 (show_text_menu): Adapt to new function names.
28594 (grub_normal_terminal_menu_viewer): New global variable.
28595
28596 * include/grub/menu.h: New file.
28597
28598 * include/grub/menu_viewer.h: New file.
28599
28600 * include/grub/normal.h: Added include to grub/menu.h.
28601 (grub_menu_entry): Moved to include/grub/menu.h.
28602 (grub_menu_entry_t): Likewise.
28603 (grub_menu): Likewise.
28604 (grub_menu_t): Likewise.
28605 (grub_normal_terminal_menu_viewer): Added.
28606 (grub_menu_execute_entry): Likewise.
28607 (grub_menu_run): Removed.
28608
28609 * DISTLIST: Added include/grub/menu.h.
28610 Added include/grub/menu_viewer.h.
28611 Added normal/menu_viewer.c.
28612
286132009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28614
28615 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28616 arglist for menutitle arguments.
28617
28618 * normal/main.c (grub_normal_menu_addentry): Likewise.
28619
28620 * normal/parser.y (menuentry): Likewise.
28621
28622 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28623
28624 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28625 (grub_script_create_cmdmenu): Likewise.
28626
28627 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28628
28629 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28630 changes.
28631
28632 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28633
28634 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28635
28636 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28637
28638 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28639
28640 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28641
28642 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28643
56192c23 286442009-01-30 Christian Franke <franke@computer.org>
28645
28646 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28647 in option help text.
28648
d72521b3 286492009-01-27 Pavel Roskin <proski@gnu.org>
28650
28651 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28652
994b5e84 286532009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28654
28655 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28656
28657 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28658
28659 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28660 unregister function.
28661
6a7eab2c 286622009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28663
28664 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28665
28666 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28667
28668 * util/grub-mkfont.c (usage): Fix typo.
28669
28670 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28671
1806b56e 286722009-01-26 Daniel Mierswa <impulze@impulze.org>
28673
3fb18f09 28674 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28675
336e1fb9 28676 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28677
1806b56e 28678 * kern/misc.c (grub_strcasecmp): New function.
28679 (grub_strcasecmp): Use grub_size_t instead of int for length.
28680 Fix return value.
28681 * include/grub/misc.h: Update function prototypes.
28682
580b2a0f 286832009-01-26 Robert Millan <rmh@aybabtu.com>
28684
28685 * configure.ac: Fix cross-compilation check.
ef257b36 28686
d31c24f1 286872009-01-22 Christian Franke <franke@computer.org>
28688
28689 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28690 (precision) digit string. Allow `.format2' without `format1' (width).
28691 Limit input chars for `%s' output to `format2' if specified. This is
28692 compatible with standard printf ().
28693
3138b44c 286942009-01-22 Christian Franke <franke@computer.org>
28695
28696 * disk/ata.c (grub_ata_wait_status): Replace by ...
28697 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28698 other status bits may be invalid while BSY is asserted.
28699 (grub_ata_check_ready): New function.
28700 (grub_ata_cmd): Removed.
28701 (grub_ata_wait_drq): New function.
28702 (grub_ata_strncpy): Remove inline.
28703 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28704 and error check now done by grub_ata_wait_drq ().
28705 (grub_ata_pio_write): Likewise.
28706 (grub_atapi_identify): Set DEV before check for !BSY. Use
28707 grub_ata_wait_drq () to wait for data.
28708 (grub_ata_device_initialize): Add status register check to
28709 detect missing SATA slave devices. Add debug messages.
28710 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28711 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28712 transfer loop by grub_ata_pio_write ().
28713 (grub_ata_identify): Set DEV before check for !BSY. Use
28714 grub_ata_wait_drq () to wait for data.
ef257b36 28715 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 28716 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28717 read/write in one loop. Fix invalid command on write. Fix incomplete
28718 command on (size % batch) == 0. Add missing error check after write of
28719 last block. Add debug messages.
28720 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28721
59a64ef6 287222009-01-19 Christian Franke <franke@computer.org>
28723
28724 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28725 (GRUB_ATAPI_IREASON_*): Likewise.
28726 (grub_ata_pio_write): Fix timeout error return.
28727 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28728 (grub_atapi_wait_drq): New function.
28729 (grub_atapi_packet): New parameter `size'.
28730 Use grub_atapi_wait_drq () and direct write instead of
28731 grub_ata_pio_write ().
28732 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28733 reads the number of bytes requested by the device for each DRQ
28734 assertion.
28735 (grub_atapi_write): Remove old implementation, return not
28736 implemented instead.
28737
1cfe20b3 287382009-01-19 Christian Franke <franke@computer.org>
28739
28740 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28741 of 512 to calculate data size.
28742 (grub_scsi_read12): Likewise.
28743 (grub_scsi_write10): Likewise.
28744 (grub_scsi_write12): Likewise.
28745 (grub_scsi_read): Adjust size according to blocksize.
28746 Add checks for invalid blocksize and unaligned transfer.
28747
bee5fe5d 287482009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28749
28750 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28751
ef257b36 28752 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 28753 width glyphs.
28754
3e643f8c 287552009-01-19 Robert Millan <rmh@aybabtu.com>
28756
28757 * config.guess: Update to latest version from config git.
28758 * config.sub: Likewise.
28759
4fa80998 287602009-01-17 Felix Zielcke <fzielcke@z-51.de>
28761
28762 * Makefile.in: Change font compilation to use new grub-mkfont instead
28763 of java version.
28764
28765 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28766 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28767 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28768 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28769 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28770 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28771 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28772 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28773 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28774
7086085b 287752009-01-16 Christian Franke <franke@computer.org>
28776
28777 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28778 (enum grub_ata_timeout_milliseconds): New enum.
28779 (grub_ata_wait_status): Add parameter milliseconds.
28780 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28781 recovery from timed-out commands.
28782 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28783 return grub_errno instead of REG_ERROR.
28784 (grub_ata_pio_write): Add parameter milliseconds.
28785 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28786 Pass milliseconds to grub_ata_wait_status () and
28787 grub_ata_pio_read ().
28788 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28789 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28790 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28791 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28792 It is not suitable for device detection, because DEV bit is ignored,
28793 the command may run too long, and not all devices set the signature
28794 properly.
28795 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28796 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28797 Fix device selection, DEV bit must be set first to address the registers
28798 of the correct device.
28799 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28800 grub_ata_pio_read/write ().
28801 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28802 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28803
4a412913 288042009-01-13 Carles Pina i Estany <carles@pina.cat>
28805
28806 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28807
7795c55e 288082009-01-13 Bean <bean123ch@gmail.com>
d913988c 28809
28810 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28811
7795c55e 288122009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 28813
28814 * Makefile.in: (enable_grub_mkfont): New variable.
28815 (freetype_cflags): Likewise.
28816 (freetype_libs): Likewise.
28817
28818 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28819 (grub_mkfont_SOURCES): New variable.
28820 (grub_mkfont_CFLAGS): Likewise.
28821 (grub_mkfont_LDFLAGS): Likewise.
28822
28823 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28824 library if `--enable-grub-mkfont' is requested.
28825 (enable_grub_mkfont): New variable.
28826 (freetype_cflags): Likewise.
28827 (freetype_libs): Likewise.
28828
28829 * util/grub-mkfont.c: New file.
28830
093af1fe 288312009-01-12 Christian Franke <franke@computer.org>
28832
28833 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28834 mode check. Fix setting of compat_use[].
28835
f36cc108 288362009-01-10 Robert Millan <rmh@aybabtu.com>
28837
28838 Update a few copyright years which we forgot to do in 2008 (only for
28839 files whose changes made in 2008 were copyright-significant)
28840
28841 * Makefile.in: Add 2008 to Copyright line.
28842 * disk/ieee1275/ofdisk.c: Likewise.
28843 * disk/efi/efidisk.c: Likewise.
28844 * kern/dl.c: Likewise.
28845 * kern/sparc64/ieee1275/init.c: Likewise.
28846 * kern/mm.c: Likewise.
28847 * kern/efi/mm.c: Likewise.
28848 * boot/i386/pc/boot.S: Likewise.
28849 * genfslist.sh: Likewise.
28850 * fs/iso9660.c: Likewise.
28851 * fs/hfs.c: Likewise.
28852 * fs/jfs.c: Likewise.
28853 * fs/minix.c: Likewise.
28854 * fs/ufs.c: Likewise.
28855 * gensymlist.sh.in: Likewise.
28856 * genkernsyms.sh.in: Likewise.
28857 * include/grub/misc.h: Likewise.
28858 * include/grub/types.h: Likewise.
28859 * include/grub/symbol.h: Likewise.
28860 * include/grub/elf.h: Likewise.
28861 * include/grub/kernel.h: Likewise.
28862 * include/grub/disk.h: Likewise.
28863 * include/grub/dl.h: Likewise.
28864 * include/grub/i386/linux.h: Likewise.
28865 * include/grub/i386/pc/biosdisk.h: Likewise.
28866 * include/grub/efi/api.h: Likewise.
28867 * include/grub/efi/pe32.h: Likewise.
28868 * include/grub/util/misc.h: Likewise.
28869 * normal/execute.c: Likewise.
28870 * normal/arg.c: Likewise.
28871 * normal/completion.c: Likewise.
28872 * normal/lexer.c: Likewise.
28873 * normal/parser.y: Likewise.
28874 * normal/misc.c: Likewise.
28875 * commands/i386/pc/vbeinfo.c: Likewise.
28876 * commands/hexdump.c: Likewise.
28877 * commands/terminal.c: Likewise.
28878 * commands/ls.c: Likewise.
28879 * commands/help.c: Likewise.
28880 * partmap/pc.c: Likewise.
28881 * loader/efi/chainloader.c: Likewise.
28882 * loader/multiboot_loader.c: Likewise.
28883 * loader/i386/pc/multiboot2.c: Likewise.
28884 * term/efi/console.c: Likewise.
28885 * term/i386/pc/serial.c: Likewise.
28886 * util/lvm.c: Likewise.
28887 * util/console.c: Likewise.
28888 * util/i386/efi/grub-mkimage.c: Likewise.
28889 * util/raid.c: Likewise.
28890
7f02114b 288912009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28892
28893 * commands/videotest.c: Removed include to grub/machine/memory.h.
28894
28895 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28896 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28897 (video_mod_SOURCES): Removed.
28898 (video_mod_CFLAGS): Likewise.
28899 (video_mod_LDFLAGS): Likewise.
28900 (gfxterm_mod_SOURCES): Likewise.
28901 (gfxterm_mod_CFLAGS): Likewise.
28902 (gfxterm_mod_LDFLAGS): Likewise.
28903 (videotest_mod_SOURCES): Likewise.
28904 (videotest_mod_CFLAGS): Likewise.
28905 (videotest_mod_LDFLAGS): Likewise.
28906 (bitmap_mod_SOURCES): Likewise.
28907 (bitmap_mod_CFLAGS): Likewise.
28908 (bitmap_mod_LDFLAGS): Likewise.
28909 (tga_mod_SOURCES): Likewise.
28910 (tga_mod_CFLAGS): Likewise.
28911 (tga_mod_LDFLAGS): Likewise.
28912 (jpeg_mod_SOURCES): Likewise.
28913 (jpeg_mod_CFLAGS): Likewise.
28914 (jpeg_mod_LDFLAGS): Likewise.
28915 (png_mod_SOURCES): Likewise.
28916 (png_mod_CFLAGS): Likewise.
28917 (png_mod_LDFLAGS): Likewise.
28918
28919 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28920 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28921 (video_mod_SOURCES): Added.
28922 (video_mod_CFLAGS): Likewise.
28923 (video_mod_LDFLAGS): Likewise.
28924 (videotest_mod_SOURCES): Likewise.
28925 (videotest_mod_CFLAGS): Likewise.
28926 (videotest_mod_LDFLAGS): Likewise.
28927 (bitmap_mod_SOURCES): Likewise.
28928 (bitmap_mod_CFLAGS): Likewise.
28929 (bitmap_mod_LDFLAGS): Likewise.
28930 (tga_mod_SOURCES): Likewise.
28931 (tga_mod_CFLAGS): Likewise.
28932 (tga_mod_LDFLAGS): Likewise.
28933 (jpeg_mod_SOURCES): Likewise.
28934 (jpeg_mod_CFLAGS): Likewise.
28935 (jpeg_mod_LDFLAGS): Likewise.
28936 (png_mod_SOURCES): Likewise.
28937 (png_mod_CFLAGS): Likewise.
28938 (png_mod_LDFLAGS): Likewise.
28939 (gfxterm_mod_SOURCES): Likewise.
28940 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 28941 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 28942
28943 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28944 grub/machine/console.h.
28945
644fff97 289462009-01-04 Jerone Young <jerone@gmail.com>
28947
28948 Make on screen instructions clearer
28949
28950 Based on patch created by Jidanni <jidanni@jidanni.org>
28951
28952 * normal/menu.c: print clearer instructions on the screen
28953
1e901a75 289542009-01-02 Colin D Bennett <colin@gibibit.com>
28955
28956 New font engine.
34c44600 28957
1e901a75 28958 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28959 build system and fixed gfxterm.c to work with different sized fonts.
28960
28961 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 28962
1e901a75 28963 * configure: Re-generated.
34c44600 28964
1e901a75 28965 * DISTLIST: Removed font/manager.c.
28966 Added font/font.c.
28967 Added font/font_cmd.c.
34c44600 28968
1e901a75 28969 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28970 compilation.
34c44600 28971
1e901a75 28972 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 28973
28974 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 28975
28976 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 28977
1e901a75 28978 * normal/menu.c: Likewise.
34c44600 28979
1e901a75 28980 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28981 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 28982
1e901a75 28983 * include/grub/font.h: Replaced with new file.
34c44600 28984
1e901a75 28985 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28986 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
28987 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
28988 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
28989 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 28990 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 28991 fg_red, fg_green, fg_blue, fg_alpha.
28992 (grub_video_adapter): Removed blit_glyph.
34c44600 28993 (grub_video_blit_glyph): Removed.
28994
1e901a75 28995 * font/manager.c: Removed file.
34c44600 28996
28997 * font/font.c: New file.
28998
1e901a75 28999 * font/font_cmd.c: Likewise.
34c44600 29000
1e901a75 29001 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 29002
1e901a75 29003 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
29004 (grub_video_vbe_map_rgba): Likewise.
29005 (grub_video_vbe_unmap_color_int): Likewise.
29006 (grub_video_vbe_blit_glyph): Removed.
29007 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 29008
1e901a75 29009 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
29010 (get_pixel): Likewise.
34c44600 29011 (set_pixel): Likewise.
29012
1e901a75 29013 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 29014
1e901a75 29015 * term/gfxterm.c: Adapted to new font engine.
34c44600 29016
1e901a75 29017 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 29018
1e901a75 29019 * term/i386/pc/vga.c: Likewise.
34c44600 29020
1e901a75 29021 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 29022
1e901a75 29023 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 29024
1e901a75 29025 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29026
1e901a75 29027 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29028
1e901a75 29029 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 29030
1e901a75 29031 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 29032
1e901a75 29033 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 29034
1e901a75 29035 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 29036
1e901a75 29037 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29038
29039 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 29040
1e901a75 29041 * util/grub-mkconfig_lib.in: Changed font extension.
29042
278922e8 290432008-12-28 Felix Zielcke <fzielcke@z-51.de>
29044
29045 * util/getroot.c (grub_util_get_grub_dev): Add support for
29046 /dev/md/dNNpNN style partitionable mdraid devices.
29047
3ced05cf 290482008-12-12 Alex Smith <alex@alex-smith.me.uk>
29049
29050 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
29051 at a time limit of the PXE TFTP API correctly.
29052 (grub_pxefs_close): Likewise.
29053
7fd0ee30 290542008-11-29 Robert Millan <rmh@aybabtu.com>
29055
34c44600 29056 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 29057 grub_ata_device_initialize() calls.
29058
34c44600 290592008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 29060
29061 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
29062 iteration failed.
29063 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
29064
89313780 290652008-11-28 Robert Millan <rmh@aybabtu.com>
29066
29067 Fix build on powerpc-ieee1275. Based on patch created by
29068 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
29069 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29070 `kern/ieee1275/mmap.c'.
29071 * include/grub/powerpc/ieee1275/memory.h: New file.
29072
15257703 29073 Provide grub-install on coreboot.
29074 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
29075 (grub_install_SOURCES): New variable.
29076 * util/i386/pc/grub-install.in: Add a few condition checks to make it
29077 usable on coreboot.
29078
9fc5388a 290792008-11-25 Felix Zielcke <fzielcke@z-51.de>
29080
29081 * util/grub-fstest.c (grub_term_get_current_input): Change return type
29082 to `grub_term_input_t'.
29083 (grub_term_get_current_output): Change return type to
29084 `grub_term_output_t'.
29085
bc3a2f31 290862008-11-22 Robert Millan <rmh@aybabtu.com>
29087
34c44600 29088 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 29089 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
29090 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
29091 grub_vga_text_cls().
29092
80fc88f2 29093 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 29094 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 29095
cbf36fd3 29096 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
29097 to 0x200000 (avoids trouble with some OFW implementations, and matches
29098 with the one in Yaboot).
29099 Reported by Manoel Abranches
29100
73e8e268 291012008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 29102
29103 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
29104 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
29105
73e8e268 29106 * util/grub-mkconfig_lib.in (grub_warn): New function.
29107 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29108 warnings, to obtain consistent formatting.
29109 * util/grub.d/00_header.in: Likewise.
29110 * util/update-grub_lib.in: Likewise.
29111
e94045a1 29112 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 29113 Move comment text to `#error' stanza.
e94045a1 29114
79d29fd7 29115 Harmonize ieee1275's grub_available_iterate() with the generic
29116 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29117 build problem on i386-ieee1275):
29118 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29119 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29120 parameter `type'. Update all users of this function.
29121 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29122 `kern/ieee1275/mmap.c'.
29123 * kern/ieee1275/init.c
29124 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29125 with ...
29126 (grub_machine_mmap_iterate): ... this.
29127 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29128 return type to `grub_err_t'. Update all implementations of this
29129 function prototype.
29130 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29131 Likewise.
29132
60d6b16e 29133 Add `lsmmap' command (lists firmware-provided memory map):
29134 * commands/lsmmap.c: New file.
29135 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29136 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29137 variables.
29138 * conf/powerpc-ieee1275.rmk: Likewise.
29139 * conf/i386-coreboot.rmk: Likewise.
29140 * conf/i386-ieee1275.rmk: Likewise.
29141
ebaaf49b 291422008-11-19 Robert Millan <rmh@aybabtu.com>
29143
29144 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 29145 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29146 constraints to initrd allocation (based on code from
29147 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29148 for Linux to find it.
ebaaf49b 29149
dfab719f 291502008-11-14 Robert Millan <rmh@aybabtu.com>
29151
29152 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29153 order to cope with duplicate slashes.
29154
10fc3eb9 291552008-11-14 Robert Millan <rmh@aybabtu.com>
29156
29157 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29158 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29159 don't want to mess with lower memory, because it is used in the Linux
29160 loader.
29161
29162 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 29163 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 29164 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29165 is in our heap (probably as a result of it being corrupted during
2f2a3442 29166 decompression). Add #error instance with comment to explain why this
29167 loader isn't currently usable on PC/BIOS.
10fc3eb9 29168
e2e07847 291692008-11-14 Robert Millan <rmh@aybabtu.com>
29170
29171 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 29172 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 29173
fe8e8d69 291742008-11-12 Robert Millan <rmh@aybabtu.com>
29175
29176 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29177
29178 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29179 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29180 from here ...
29181 * include/grub/i386/pc/memory.h: ... to here.
29182
976b07d0 291832008-11-12 Robert Millan <rmh@aybabtu.com>
29184
29185 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29186 split).
29187
29188 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29189 (grub_console_cur_color, grub_console_real_putchar)
29190 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29191 (grub_console_setcolorstate, grub_console_setcolor)
29192 (grub_console_getcolor): Move from here ...
29193 * include/grub/i386/vga_common.h: ... to here (new file).
29194
29195 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29196 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29197 `<grub/i386/io.h>'.
29198 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29199 `<grub/i386/vga_common.h>'.
29200
76679cd3 292012008-11-12 Robert Millan <rmh@aybabtu.com>
29202
29203 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29204 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29205 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29206 variables.
29207 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29208 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29209
29210 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29211 grub_console_init() with call to grub_vga_text_init().
29212 (grub_machine_fini): Replace call to
29213 grub_console_fini() with call to grub_vga_text_fini() and
29214 grub_at_keyboard_fini().
29215
29216 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29217 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29218 (grub_console_setcolorstate, grub_console_setcolor)
29219 (grub_console_getcolor): New function prototypes.
29220
29221 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29222 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29223 (grub_vga_text_setcursor): Static-ize.
29224 (grub_vga_text_term): New structure.
29225 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29226
29227 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29228 (grub_console_cur_color, grub_console_standard_color)
29229 (grub_console_normal_color, grub_console_highlight_color)
29230 (map_char, grub_console_putchar, grub_console_getcharwidth)
29231 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29232 (grub_console_getcolor): Move from here ...
29233 * term/i386/vga_common.c: ... to here (same function names).
29234
95b841d3 292352008-11-12 Robert Millan <rmh@aybabtu.com>
29236
29237 Use newly-added Multiboot support in coreboot.
29238
29239 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29240 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29241
29242 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29243 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29244 (codestart): Store the MBI in `startup_multiboot_info' when we're
29245 being loaded using Multiboot.
29246
29247 * kern/i386/coreboot/init.c (grub_machine_init): Move
29248 grub_at_keyboard_init() call to beginning of function (useful for
29249 debugging). Call grub_machine_mmap_init() before attempting to use
29250 grub_machine_mmap_iterate().
29251 (grub_lower_mem, grub_upper_mem): Move from here ...
29252 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29253 here (new file).
29254
29255 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29256 function prototype.
29257
761ca975 292582008-11-12 Robert Millan <rmh@aybabtu.com>
29259
29260 Fix a regression introduced by the at_keyboard.mod split. Because
29261 some terminals are default on some platforms and non-default on
29262 others, the first terminal being registered determines which is
29263 going to be default.
29264
29265 * kern/term.c (grub_term_register_input): If this is the first
29266 terminal being registered, set it as the current one.
29267 (grub_term_register_output): Likewise.
29268
29269 * term/efi/console.c (grub_console_init): Do not call
29270 grub_term_set_current_output() or grub_term_set_current_input().
29271 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29272 * term/i386/pc/console.c (grub_console_init): Likewise.
29273 (grub_console_fini): Do not call grub_term_set_current_input()
29274 (but leave grub_term_set_current_output() to restore text mode).
29275
6c529df7 292762008-11-10 Robert Millan <rmh@aybabtu.com>
29277
29278 * util/grub.d/00_header.in: Add backward compatibility check for
29279 versions of terminal.mod that don't understand `terminal_input' or
29280 `terminal_output'.
29281
132e4113 292822008-11-09 Robert Millan <rmh@aybabtu.com>
29283
29284 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29285 `terminal_input' / `terminal_output', not `terminal'.
29286
ac293d50 292872008-11-08 Robert Millan <rmh@aybabtu.com>
29288
29289 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 29290 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 29291
0025933a 292922008-11-08 Robert Millan <rmh@aybabtu.com>
29293
29294 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 29295 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 29296 members. Update all users.
29297 * util/console.c (grub_ncurses_term): Split in ...
29298 (grub_ncurses_term_input): ... this, and ...
29299 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 29300 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 29301
37c86336 293022008-11-08 Robert Millan <rmh@aybabtu.com>
29303
29304 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29305 (PKGDATA): Add $(pkgdata_SRCDIR).
29306 (pkglib_BUILDDIR): New variable.
29307 (pkgdata_SRCDIR): New variable.
29308 (build_env.mk): New target.
29309 (include_DATA): New variable.
29310 (install-local): Install $(include_DATA) files in $(includedir).
29311
b6c15a2d 293122008-11-07 Pavel Roskin <proski@gnu.org>
29313
d99d46f1 29314 * gendistlist.sh: Use C locale for sorting to ensure consistent
29315 output on all systems.
29316
b6c15a2d 29317 * util/grub.d/00_header.in: Remove incorrect space before
29318 "serial".
29319
c32ee8c9 293202008-11-07 Robert Millan <rmh@aybabtu.com>
29321
29322 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29323 per specification.
29324 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29325 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29326 (based on find_multi_boot1_header).
29327 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29328 using find_multi_boot2_header(), and abort if neither Multiboot or
29329 Multiboot headers were found.
29330
651c29b7 293312008-11-07 Robert Millan <rmh@aybabtu.com>
29332
29333 Modularize at_keyboard.mod:
29334
29335 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29336 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29337 (at_keyboard_mod_LDFLAGS): New variables.
29338
29339 Actual terminal split:
29340
29341 * include/grub/term.h (struct grub_term): Split in ...
29342 (struct grub_term_input): ... this, and ...
29343 (struct grub_term_output): ... this. Update all users.
29344 (grub_term_set_current): Split in ...
29345 (grub_term_set_current_input): ... this, and ...
29346 (grub_term_set_current_output): ... this.
29347 (grub_term_get_current): Split in ...
29348 (grub_term_get_current_input): ... this, and ...
29349 (grub_term_get_current_output): ... this.
29350 (grub_term_register): Split in ...
29351 (grub_term_register_input): ... this, and ...
29352 (grub_term_register_output): ... this.
29353 (grub_term_unregister): Split in ...
29354 (grub_term_unregister_input): ... this, and ...
29355 (grub_term_unregister_output): ... this.
29356 (grub_term_iterate): Split in ...
29357 (grub_term_iterate_input): ... this, and ...
29358 (grub_term_iterate_output): ... this.
29359
29360 * kern/term.c (grub_term_list): Split in ...
29361 (grub_term_list_input): ... this, and ...
29362 (grub_term_list_output): ... this. Update all users.
29363 (grub_cur_term): Split in ...
29364 (grub_cur_term_input): ... this, and ...
29365 (grub_cur_term_output): ... this. Update all users.
29366 (grub_term_set_current): Split in ...
29367 (grub_term_set_current_input): ... this, and ...
29368 (grub_term_set_current_output): ... this.
29369 (grub_term_get_current): Split in ...
29370 (grub_term_get_current_input): ... this, and ...
29371 (grub_term_get_current_output): ... this.
29372 (grub_term_register): Split in ...
29373 (grub_term_register_input): ... this, and ...
29374 (grub_term_register_output): ... this.
29375 (grub_term_unregister): Split in ...
29376 (grub_term_unregister_input): ... this, and ...
29377 (grub_term_unregister_output): ... this.
29378 (grub_term_iterate): Split in ...
29379 (grub_term_iterate_input): ... this, and ...
29380 (grub_term_iterate_output): ... this.
29381
29382 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29383 a check for input and one for output (and only attempt to get keys
29384 from user when input works).
29385
29386 * util/grub-probe.c (grub_term_get_current): Split in ...
29387 (grub_term_get_current_input): ... this, and ...
29388 (grub_term_get_current_output): ... this.
29389 * util/grub-fstest.c: Likewise.
29390 * util/i386/pc/grub-setup.c: Likewise.
29391 * util/grub-editenv.c: Likewise.
29392
29393 Portability adjustments:
29394
29395 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29396 `term/i386/pc/at_keyboard.c'.
29397 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29398 grub_keyboard_controller_init() (now handled by terminal .init).
29399 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29400 grub_at_keyboard_init().
29401 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29402 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29403 at_keyboard.mod via input terminal interface).
29404 * include/grub/i386/coreboot/console.h: Convert into a stub for
29405 `<grub/i386/pc/console.h>'.
29406
29407 Migrate full terminals to new API:
29408
29409 * term/efi/console.c (grub_console_term): Split into ...
29410 (grub_console_term_input): ... this, and ...
29411 (grub_console_term_output): ... this. Update all users.
29412 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29413 (grub_ofconsole_init): Split into ...
29414 (grub_ofconsole_init_input): ... this, and ...
29415 (grub_ofconsole_init_output): ... this.
29416 (grub_ofconsole_term): Split into ...
29417 (grub_ofconsole_term_input): ... this, and ...
29418 (grub_ofconsole_term_output): ... this. Update all users.
29419 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29420 (grub_serial_term_input): ... this, and ...
29421 (grub_serial_term_output): ... this. Update all users.
29422 * term/i386/pc/console.c (grub_console_term): Split into ...
29423 (grub_console_term_input): ... this, and ...
29424 (grub_console_term_output): ... this. Update all users.
29425 (grub_console_term_input): Only enable it on PC/BIOS platform.
29426 (grub_console_init): Remove grub_keyboard_controller_init() call.
29427
29428 Migrate input terminals to new API:
29429
29430 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29431 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29432 i386-specific anyway).
29433 (grub_console_checkkey): Rename to ...
29434 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29435 users.
29436 (grub_keyboard_controller_orig): New variable.
29437 (grub_console_getkey): Rename to ...
29438 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29439 users.
29440 (grub_keyboard_controller_init): Static-ize. Save original
29441 controller value so that it can be restored ...
29442 (grub_keyboard_controller_fini): ... here (new function).
29443 (grub_at_keyboard_term): New structure.
29444 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29445 functions.
29446
29447 Migrate output terminals to new API:
29448
29449 * term/i386/pc/vga.c (grub_vga_term): Change type to
29450 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29451 members. Update all users.
29452 * term/gfxterm.c (grub_video_term): Change type to
29453 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29454 members. Update all users.
29455 * include/grub/i386/pc/console.h (grub_console_checkkey)
29456 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29457 etc).
29458
29459 Migrate `terminal' command and userland tools to new API:
29460
29461 * commands/terminal.c (grub_cmd_terminal): Split into ...
29462 (grub_cmd_terminal_input): ... this, and ...
29463 (grub_cmd_terminal_output): ... this.
29464 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29465 `terminal_input' and `terminal_output'.
29466 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29467 `terminal_input' / `terminal_output' API.
29468 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29469 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29470 provided ${GRUB_TERMINAL}, convert it).
29471
96e5d876 294722008-11-04 Robert Millan <rmh@aybabtu.com>
29473
29474 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29475 for FreeBSD.
29476 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29477
556f3775 294782008-11-03 Bean <bean123ch@gmail.com>
29479
29480 * kern/elf.c (grub_elf32_load): Revert to previous code.
29481 (grub_elf64_load): Likewise.
29482
29483 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29484
926b9823 294852008-11-01 Robert Millan <rmh@aybabtu.com>
29486
29487 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29488 (TARGET_CPPFLAGS): Likewise.
29489 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29490
1432e958 294912008-11-01 Carles Pina i Estany <carles@pina.cat>
29492
29493 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29494
dba3f844 294952008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 29496
29497 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29498 addition of objects until the code is not going to be able to fail.
29499
dba3f844 295002008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 29501
29502 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29503 (add a missing NULL check, and correct them by moving the pointer
29504 operations after the actual check).
29505
7ab28c21 295062008-10-29 Robert Millan <rmh@aybabtu.com>
29507
29508 * util/i386/pc/grub-install.in: Handle empty string as output from
29509 make_system_path_relative_to_its_root().
29510
1b7748eb 295112008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29512
29513 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29514 circular metadata worst case scenario. If the metadata is circular
29515 then copy the wrap in place.
29516 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29517 project lib/format_text/layout.h
29518 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29519
c9618ab2 295202008-10-03 Felix Zielcke <fzielcke@z-51.de>
29521
7a36edca 29522 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 29523
bf981c62 295242008-10-03 Felix Zielcke <fzielcke@z-51.de>
29525
29526 * util/update-grub_lib.in: Mention filename in warning message.
29527
6d994591 295282008-09-29 Felix Zielcke <fzielcke@z-51.de>
29529
29530 * NEWS: Update for rename of update-grub to grub-mkconfig.
29531
18ade780 295322008-09-29 Felix Zielcke <fzielcke@z-51.de>
29533
29534 * util/update-grub_lib.in: Copy to ...
29535 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 29536 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 29537 * util/update-grub.in: Rename to ...
29538 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29539 option. Add `--output' option to allow users to specify the generated
29540 configuration file. Default to stdout.
29541 (update_grub_dir): Rename to ...
29542 (grub_mkconfig_dir): ... this.
29543 (grub_cfg): Default to an empty string.
29544 * conf/common.rmk (update-grub): Rename to ...
29545 (grub-mkconfig): ... this.
29546 (update-grub_lib): Copy to ...
29547 (grub-mkconfig_lib): ... this.
29548 (update-grub_SCRIPTS): Copy to ...
29549 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29550 (update-grub_DATA): Rename to ...
29551 (grub-mkconfig_DATA): ... this.
29552
556ce6ac 295532008-09-28 Robert Millan <rmh@aybabtu.com>
29554
29555 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29556 to `modified'. Add the real `created' field.
29557 (grub_iso9660_uuid): Use `modified' rather than `created' for
29558 constructing the UUID.
29559
295602008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 29561
29562 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29563 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29564
92274e85 295652008-09-28 Bean <bean123ch@gmail.com>
29566
29567 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29568 Thanks to Christian Franke for finding this bug.
29569
add6f17a 295702008-09-25 Robert Millan <rmh@aybabtu.com>
29571
29572 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29573 instances of grub_util_get_disk_name() (see previous commit).
29574
d2a367b8 295752008-09-25 Robert Millan <rmh@aybabtu.com>
29576
29577 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29578 `util/i386/get_disk_name.c'.
29579 * conf/i386-efi.rmk: Likewise.
29580 * conf/x86_64-efi.rmk: Likewise.
29581 * conf/i386-coreboot.rmk: Likewise.
29582 * conf/i386-ieee1275.rmk: Likewise.
29583 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29584 `util/ieee1275/get_disk_name.c'.
29585 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29586 * util/ieee1275/get_disk_name.c: Remove file.
29587 * util/i386/get_disk_name.c: Remove file.
29588 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29589 "hd%d" for device.map entries, rather than using
29590 grub_util_get_disk_name().
29591
81a06771 295922008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 29593
29594 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29595 warning.
29596 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29597
5a004279 295982008-09-24 Carles Pina i Estany <carles@pina.cat>
29599
29600 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29601 Changed to 0x5100.
29602 (GRUB_TERM_PPAGE): Changed to 0x4900.
29603
397093d3 296042008-09-24 Robert Millan <rmh@aybabtu.com>
29605
29606 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29607 macros (they were i386-pc specific).
29608 * include/grub/sparc64/ieee1275/console.h: Likewise.
29609 * include/grub/efi/console.h: Likewise.
29610
a91b6c7c 296112008-09-22 Bean <bean123ch@gmail.com>
29612
29613 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29614 resident and in attribute list.
29615
29616 * include/grub/ntfs.h (BMP_LEN): Removed.
29617
c40fd116 296182008-09-22 Bean <bean123ch@gmail.com>
29619
81a06771 29620 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 29621 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29622
29623 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29624 error occurs, as grub_disk_open will call grub_disk_close, which will
29625 call p->close (scsi).
29626
81a06771 296272008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 29628
29629 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29630 (AC_PREREQ): Bumped to 2.59.
29631 (AC_TRY_COMPILE): Replace obsolete macro with ...
29632 (AC_COMPILE_IFELSE): ... this.
29633 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29634 (AC_LINK_IFELSE): ... this.
29635
5dc43410 296362008-09-21 Felix Zielcke <fzielcke@z-51.de>
29637
29638 * autogen.sh: Add a call to `gendistlist.sh'.
29639
9035dce4 296402008-09-19 Christian Franke <franke@computer.org>
29641
29642 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29643 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29644 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29645 Export __enable_execute_stack() to modules.
29646 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29647 New function.
29648
7fd75377 296492008-09-09 Felix Zielcke <fzielcke@z-51.de>
29650
040030b3 29651 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29652 Sort the list.
29653
296542008-09-09 Felix Zielcke <fzielcke@z-51.de>
29655
29656 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 29657 #include <grub/util/hostdisk.h>.
29658
89d5ffcf 296592008-09-08 Robert Millan <rmh@aybabtu.com>
29660
29661 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29662 segments when their filesz is zero (grub_file_read() interprets
81a06771 29663 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 29664 Use `lowest_segment' rather than 0 for calculating the current
29665 segment load address.
29666
40da438f 296672008-09-08 Robert Millan <rmh@aybabtu.com>
29668
29669 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29670 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29671 clobbered useful information.
29672
ddbf5556 296732008-09-08 Robert Millan <rmh@aybabtu.com>
29674
29675 * include/grub/util/biosdisk.h: Move to ...
29676 * include/grub/util/hostdisk.h: ... here. Update all users.
29677 * util/biosdisk.c: Move to ...
29678 * util/hostdisk.c: ... here. Update all users.
29679
783d0f48 296802008-09-07 Robert Millan <rmh@aybabtu.com>
29681
29682 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29683 variables.
29684 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29685 and length can be stored directly in the `mbi->mmap_addr' and
29686 `mbi->mmap_length' struct fields.
29687
548e2ea5 296882008-09-07 Robert Millan <rmh@aybabtu.com>
29689
29690 * conf/i386.rmk: New file. Provides declaration for building
29691 `cpuid.mod'.
29692 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29693 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29694 variables.
29695 Include `conf/i386.mk'.
29696 * conf/i386-efi.rmk: Likewise.
29697 * conf/x86_64-efi.rmk: Likewise.
29698 * conf/i386-coreboot.rmk: Likewise.
29699 * conf/i386-ieee1275.rmk: Likewise.
29700
0ea85a37 297012008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29702
29703 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29704 Adds optimization support for BGR based modes.
29705
29706 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29707 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29708 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29709 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29710 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29711 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29712 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29713 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29714 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29715 (grub_video_i386_vbeblit_index_index): Likewise.
29716 (grub_video_i386_vbeblit_replace_directN): Added.
29717 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29718 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29719 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29720 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29721 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29722 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 29723 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 29724 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29725 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29726 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29727 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29728 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29729 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29730
29731 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29732 (grub_video_i386_vbefill_R8G8B8): Likewise.
29733 (grub_video_i386_vbefill_index): Likewise.
29734 (grub_video_i386_vbefill_direct32): Added.
29735 (grub_video_i386_vbefill_direct24): Likewise.
29736 (grub_video_i386_vbefill_direct16): Likewise.
29737 (grub_video_i386_vbefill_direct8): Likewise.
29738
81a06771 29739 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 29740 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29741 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29742 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29743 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29744 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 29745
0ea85a37 29746 * video/video.c (grub_video_get_blit_format): Updated to use new
29747 blit formats. Added handling for 16 bit color modes.
81a06771 29748
29749 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 29750 fillers.
29751 (common_blitter): Updated to use new blitters.
29752
29753 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29754 Removed.
29755 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29756 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29757 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29758 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29759 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29760 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29761 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29762 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29763 (grub_video_i386_vbeblit_index_index): Likewise.
29764 (grub_video_i386_vbeblit_replace_directN): Added.
29765 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29766 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29767 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29768 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29769 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29770 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29771 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29772 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29773 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29774 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29775 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29776 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29777 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 29778
0ea85a37 29779 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29780 (grub_video_i386_vbefill_R8G8B8): Likewise.
29781 (grub_video_i386_vbefill_index): Likewise.
29782 (grub_video_i386_vbefill_direct32): Added.
29783 (grub_video_i386_vbefill_direct24): Likewise.
29784 (grub_video_i386_vbefill_direct16): Likewise.
29785 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 29786
0ea85a37 29787 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29788 types.
81a06771 29789
0ea85a37 29790 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29791 types.
81a06771 29792
0ea85a37 29793 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29794 blitter types.
81a06771 29795
0ea85a37 29796 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29797 types.
29798
e8a83df6 297992008-09-06 Felix Zielcke <fzielcke@z-51.de>
29800
29801 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29802 RAID level 1.
29803
6bcd8ee5 298042008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 29805
6bcd8ee5 29806 * fs/iso9660.c (grub_iso9660_date): New structure.
29807 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29808 (grub_iso9660_uuid): New function.
c375ae58 29809
59261157 298102008-09-05 Bean <bean123ch@gmail.com>
29811
29812 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29813
29814 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29815 insensitive bit for names in Win32 and Win32 & DOS namespace.
29816
29817 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29818
29819 * include/grub/types.h (LONG_MAX): Likewise.
29820
58b6645a 298212008-09-04 Felix Zielcke <fzielcke@z-51.de>
29822
4ee55921 29823 * util/getroot.c: Include <config.h>.
29824 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29825 add support for /dev/md/N devices and handle LVM double dash escaping.
29826
298272008-09-04 Felix Zielcke <fzielcke@z-51.de>
29828
29829 * config.guess: Update to latest version from config git.
29830 * config.sub: Likewise.
58b6645a 29831
9124f65d 298322008-09-03 Robert Millan <rmh@aybabtu.com>
29833
29834 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29835 `disk->total_sectors'.
29836
81a06771 298372008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 29838
29839 * include/grub/normal.h: Fixed incorrect comment for
29840 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29841
81a06771 298422008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 29843
29844 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29845 values with defines.
29846
29847 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29848 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29849 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29850 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29851 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29852 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29853 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29854 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29855 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29856 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29857 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29858 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29859 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29860 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29861 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29862 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29863 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29864 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29865 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29866
93d5cbf8 298672008-08-31 Robert Millan <rmh@aybabtu.com>
29868
29869 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29870 declaration.
29871 (grub_multiboot): Fix a few warnings.
29872
21751d50 298732008-08-31 Robert Millan <rmh@aybabtu.com>
29874
29875 * loader/i386/pc/multiboot.c: Update comment not to say that
29876 boot_device support is unimplemented.
29877
e27a75c5 298782008-08-31 Robert Millan <rmh@aybabtu.com>
29879
29880 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29881 or memory map support are unimplemented.
29882
81a06771 298832008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 29884
29885 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29886
81a06771 298872008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 29888
29889 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29890 total video memory in 'vbeinfo' output; show color format details for
29891 each video mode.
29892
7c5d8d95 298932008-08-30 Pavel Roskin <proski@gnu.org>
29894
29895 * util/genmoddep.c: Remove for real this time.
29896 * DISTLIST: Remove util/genmoddep.c.
29897
4cebd25a 298982008-08-30 Robert Millan <rmh@aybabtu.com>
29899
29900 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29901 as required by Multiboot spec (it was already 4-byte aligned, but
29902 only by chance).
29903
b497a269 299042008-08-29 Pavel Roskin <proski@gnu.org>
29905
e3925185 29906 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29907 * kern/powerpc/ieee1275/startup.S: ... this.
29908 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29909 * DISTLIST: Likewise.
29910
b497a269 29911 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29912 grub/cpu/kernel.h. Add start label for consistency with other
29913 platforms. Add grub_prefix immediately after start. Add jump
29914 to the code after grub_prefix.
29915 * include/grub/powerpc/kernel.h: Provide valid values for
29916 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29917
6e5a42fe 299182008-08-29 Bean <bean123ch@gmail.com>
29919
29920 * configure.ac: Change host_os to cygwin for mingw.
29921 (asprintf): New check for function.
29922
29923 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29924 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29925
29926 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 29927 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 29928 sync, sleep and grub_util_get_disk_size for mingw.
29929
29930 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29931 to get size in mingw.
29932 (open_device): Use flag O_BINARY if it's defined.
29933 (find_root_device): Add dummy code for mingw.
29934
29935 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29936 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29937 (get_scsi_disk_name): Return 0 for mingw.
29938
29939 * util/hostfs.c: #include <grub/util/misc.h>.
29940 (grub_hostfs_open): Use "rb" flag to open file, use
29941 grub_util_get_disk_size to get disk size for mingw.
29942
29943 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29944 (asprintf): New function if HAVE_ASPRINTF is not set.
29945 (sync): New function for mingw.
29946 (sleep): Likewise.
29947 (grub_util_get_disk_size): Likewise.
29948
ab3f2673 299492008-08-28 Pavel Roskin <proski@gnu.org>
29950
29951 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29952 kern/time.c.
29953
1c282483 299542008-08-28 Robert Millan <rmh@aybabtu.com>
29955
29956 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29957
678e849c 299582008-08-28 Robert Millan <rmh@aybabtu.com>
29959
29960 Change find_grub_drive() syntax so it doesn't prevent it from
29961 detecting NULL names as errors.
29962
29963 * util/biosdisk.c (find_grub_drive): Move free slot search code
29964 from here ...
29965 (find_free_slot): ... to here.
29966 (read_device_map): Use find_free_slot() to search for free slots.
29967
965c75ca 299682008-08-27 Marco Gerards <marco@gnu.org>
29969
29970 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29971 (scsi_mod_SOURCES): New variable.
29972 (scsi_mod_CFLAGS): Likewise
29973 (scsi_mod_LDFLAGS): Likewise.
29974
29975 * disk/scsi.c: New file.
29976
29977 * include/grub/scsi.h: Likewise.
29978
29979 * include/grub/scsicmd.h: Likewise.
29980
29981 * disk/ata.c: Include <grub/scsi.h>.
29982 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29983 instead.
29984 (grub_ata_iterate): Skip ATAPI devices.
29985 (grub_ata_open): Only handle ATAPI devices.
29986 (struct grub_atapi_read): Removed.
29987 (grub_atapi_readsector): Likewise.
29988 (grub_ata_read): No longer handle ATAPI devices.
29989 (grub_ata_write): Likewise.
29990 (grub_atapi_iterate): New function.
29991 (grub_atapi_read): Likewise.
29992 (grub_atapi_write): Likewise.
29993 (grub_atapi_open): Likewise.
29994 (grub_atapi_close): Likewise.
29995 (grub_atapi_dev): New variable.
29996 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
29997 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
29998
29999 * include/grub/disk.h (enum grub_disk_dev_id): Add
30000 `GRUB_DISK_DEVICE_SCSI_ID'.
30001
c07ae501 300022008-08-26 Robert Millan <rmh@aybabtu.com>
30003
30004 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
30005 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
30006 descriptive.
30007
5ed20adc 300082008-08-23 Bean <bean123ch@gmail.com>
30009
30010 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
30011 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30012 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
30013 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
30014 dm_nv.mod.
30015 (raid5rec_mod_SOURCES): New macro.
30016 (raid5rec_mod_CFLAGS): Likewise.
30017 (raid5rec_mod_LDFLAGS): Likewise.
30018 (raid6rec_mod_SOURCES): Likewise.
30019 (raid6rec_mod_CFLAGS): Likewise.
30020 (raid6rec_mod_LDFLAGS): Likewise.
30021 (mdraid_mod_SOURCES): Likewise.
30022 (mdraid_mod_CFLAGS): Likewise.
30023 (mdraid_mod_LDFLAGS): Likewise.
30024 (dm_nv_mod_SOURCES): Likewise.
30025 (dm_nv_mod_CFLAGS): Likewise.
30026 (dm_nv_mod_LDFLAGS): Likewise.
30027
30028 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
30029 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30030 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30031
30032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
30033 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30034
30035 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30036
30037 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30038
30039 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30040
30041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30042
30043 * disk/raid5_recover.c: New file.
30044
30045 * disk/raid6_recover.c: Likewise.
30046
30047 * disk/mdraid_linux.c: Likewise.
30048
30049 * disk/dmraid_nvidia.c: Likewise.
30050
30051 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
30052 ULONG_MAX.
30053
30054 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
30055 calculate the size of raid device.
30056 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
30057 different layout of raid5.
30058 (grub_raid_scan_device): Remove code specific to mdraid.
30059 (grub_raid_list): New variable.
30060 (free_array): New function.
30061 (grub_raid_register): Likewise.
30062 (grub_raid_unregister): Likewise.
30063 (grub_raid_rescan): Likewise.
30064 (GRUB_MOD_INIT): Don't iterate device here.
30065 (GRUB_MOD_FINI): Use free_array to release resource.
30066
30067 * include/grub/raid.h: Remove macro and structure specific to mdraid.
30068 (grub_raid5_recover_func_t): New function variable type.
30069 (grub_raid6_recover_func_t): Likewise.
30070 (grub_raid5_recover_func): New variable.
30071 (grub_raid6_recover_func): Likewise.
30072 (grub_raid_register): New function.
30073 (grub_raid_unregister): Likewise.
30074 (grub_raid_rescan): Likewise.
30075 (grub_raid_block_xor): Likewise.
30076
30077 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
30078 (CMD_CRC): New macro.
30079 (part): Removed.
30080 (read_file): Handle device as well as file.
30081 (cmd_crc): New function.
30082 (fstest): Handle multiple disks.
30083 (options): Remove part, raw and long, add root and diskcount.
30084 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 30085 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 30086 add handling for the new options, support multiple disks.
30087
30088 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
30089
29c18915 300902008-08-23 Bean <bean123ch@gmail.com>
30091
30092 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
30093
30094 * genfslist.sh: Ignore kernel.mod.
30095
30096 * genpartmaplist.sh: Likewise.
30097
8415f261 300982008-08-23 Robert Millan <rmh@aybabtu.com>
30099
30100 * util/getroot.c (find_root_device): Skip anything that starts with
30101 a dot, not just directories. This avoids things like /dev/.tmp.md0.
30102
d5a7dc5b 301032008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 30104
d5a7dc5b 30105 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30106 * util/grub.d/00_header.in: Allow the administrator to change default
30107 gfxmode via ${GRUB_GFXMODE}.
30108
380cfbb4 301092008-08-21 Felix Zielcke <fzielcke@z-51.de>
30110
30111 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30112
c9baafe7 301132008-08-21 Robert Millan <rmh@aybabtu.com>
30114
30115 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30116 loader.
30117 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30118 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30119
e290bef2 301202008-08-20 Carles Pina i Estany <carles@pina.cat>
30121
30122 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30123 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30124
f9dbfc96 301252008-08-19 Robert Millan <rmh@aybabtu.com>
30126
30127 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30128 (struct grub_virtual_screen): Remove `cursor_color'.
30129 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30130 initialization.
30131 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30132
dd6bd6ab 301332008-08-18 Robert Millan <rmh@aybabtu.com>
30134
30135 Unify (identical) linux_normal.c files.
30136 * loader/i386/efi/linux_normal.c: Move from here ...
30137 * loader/linux_normal.c: ... to here. Update all users.
30138 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30139 * loader/i386/ieee1275/linux_normal.c: Likewise.
30140
7f42f83e 301412008-08-18 Robert Millan <rmh@aybabtu.com>
30142
30143 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30144 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30145 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30146 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30147 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30148 New macros.
30149 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30150 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30151 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30152 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30153 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30154 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30155 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30156 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30157 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30158 portably using grub_getxy().
30159 Replace `-EFI' with `-bzImage' in boot message.
30160
38487ddb 301612008-08-17 Robert Millan <rmh@aybabtu.com>
30162
30163 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30164
deceb3ec 301652008-08-17 Robert Millan <rmh@aybabtu.com>
30166
30167 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30168
30169 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30170 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30171 (grub_machine_mmap_iterate): New function declaration.
30172 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30173 structure.
30174 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30175 macros.
30176
30177 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30178 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30179 Move e820 parsing from here ...
30180 * kern/i386/pc/mmap.c: New file.
30181 (grub_machine_mmap_iterate): ... to here.
30182
30183 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30184 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30185 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30186 (grub_available_iterate): Redeclare to return `void', and redeclare
30187 its hook to use grub_uint64_t as addr and size parameters, and rename
30188 to ...
30189 (grub_machine_mmap_iterate): ... this. Update all users.
30190
30191 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30192 to make it more readable. Rename to ...
30193 (grub_machine_mmap_iterate): ... this.
30194
30195 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30196 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30197 (grub_multiboot): Allocate an extra region after the payload, and fill
30198 it with a Multiboot memory map. Adjust a.out loader to calculate size
30199 with the extra space.
30200 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30201 with the extra space.
30202
f8aa0f43 302032008-08-17 Carles Pina i Estany <carles@pina.cat>
30204
9807deb9 30205 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 30206
605f5bb6 302072008-08-17 Felix Zielcke <fzielcke@z-51.de>
30208
30209 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30210 mdate-sh to the list `find' searches for.
30211 * DISTLIST: Regenerated.
30212
210db6c6 302132008-08-16 Felix Zielcke <fzielcke@z-51.de>
30214
30215 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30216 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 30217 genmoddep.awk, gensymlist.sh.in.
30218 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 30219 * DISTLIST: Regenerated.
48cdbfd4 30220 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 30221
1082b929 302222008-08-16 Robert Millan <rmh@aybabtu.com>
30223
30224 * disk/raid.c (grub_raid_init): Handle/report errors set by
30225 grub_device_iterate().
30226 * disk/lvm.c (grub_lvm_init): Likewise.
30227
42ce5170 302282008-08-15 Bean <bean123ch@gmail.com>
30229
30230 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30231 and datehook.mod.
30232 (datetime_mod_SOURCES): New macro.
30233 (datetime_mod_CFLAGS): Likewise.
30234 (datetime_mod_LDFLAGS): Likewise.
30235 (date_mod_SOURCES): Likewise.
30236 (date_mod_CFLAGS): Likewise.
30237 (date_mod_LDFLAGS): Likewise.
30238 (datehook_mod_SOURCES): Likewise.
30239 (datehook_mod_CFLAGS): Likewise.
30240 (datehook_mod_LDFLAGS): Likewise.
30241
30242 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30243 and datehook.mod.
30244 (datetime_mod_SOURCES): New macro.
30245 (datetime_mod_CFLAGS): Likewise.
30246 (datetime_mod_LDFLAGS): Likewise.
30247 (date_mod_SOURCES): Likewise.
30248 (date_mod_CFLAGS): Likewise.
30249 (date_mod_LDFLAGS): Likewise.
30250 (datehook_mod_SOURCES): Likewise.
30251 (datehook_mod_CFLAGS): Likewise.
30252 (datehook_mod_LDFLAGS): Likewise.
30253
30254 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30255 and datehook.mod.
30256 (datetime_mod_SOURCES): New macro.
30257 (datetime_mod_CFLAGS): Likewise.
30258 (datetime_mod_LDFLAGS): Likewise.
30259 (date_mod_SOURCES): Likewise.
30260 (date_mod_CFLAGS): Likewise.
30261 (date_mod_LDFLAGS): Likewise.
30262 (datehook_mod_SOURCES): Likewise.
30263 (datehook_mod_CFLAGS): Likewise.
30264 (datehook_mod_LDFLAGS): Likewise.
30265
30266 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30267 and datehook.mod.
30268 (datetime_mod_SOURCES): New macro.
30269 (datetime_mod_CFLAGS): Likewise.
30270 (datetime_mod_LDFLAGS): Likewise.
30271 (date_mod_SOURCES): Likewise.
30272 (date_mod_CFLAGS): Likewise.
30273 (date_mod_LDFLAGS): Likewise.
30274 (datehook_mod_SOURCES): Likewise.
30275 (datehook_mod_CFLAGS): Likewise.
30276 (datehook_mod_LDFLAGS): Likewise.
30277
30278 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30279 and datehook.mod.
30280 (datetime_mod_SOURCES): New macro.
30281 (datetime_mod_CFLAGS): Likewise.
30282 (datetime_mod_LDFLAGS): Likewise.
30283 (date_mod_SOURCES): Likewise.
30284 (date_mod_CFLAGS): Likewise.
30285 (date_mod_LDFLAGS): Likewise.
30286 (datehook_mod_SOURCES): Likewise.
30287 (datehook_mod_CFLAGS): Likewise.
30288 (datehook_mod_LDFLAGS): Likewise.
30289
30290 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30291
30292 * commands/date.c: New file.
30293
30294 * hook/datehook.c: Likewise.
30295
30296 * include/grub/lib/datetime.h: Likewise.
30297
30298 * include/grub/i386/cmos.h: Likewise.
30299
30300 * lib/datetime.c: Likewise.
30301
30302 * lib/i386/datetime.c: Likewise.
30303
30304 * lib/efi/datetime.c: Likewise.
30305
0e9242da 303062008-08-14 Robert Millan <rmh@aybabtu.com>
30307
30308 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30309 (grub_mkelfimage_SOURCES): New variable.
30310 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30311
30312 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30313 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30314 * conf/powerpc-ieee1275.rmk: Likewise.
30315 * conf/i386-ieee1275.rmk: Likewise.
30316
30317 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30318 * kern/i386/coreboot/init.c: Likewise.
30319
30320 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30321 with `<grub/cpu/kernel.h>'.
30322 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30323 to ...
30324 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30325 * kern/i386/coreboot/startup.S: Likewise.
30326
30327 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30328 (GRUB_MOD_GAP): Remove.
30329 * include/grub/powerpc/kernel.h: New file.
30330 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30331 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30332 * include/grub/i386/kernel.h: New file.
30333 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30334 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30335 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30336
30337 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30338 `grub-mkelfimage'.
30339 Use --directory when invoking grub_mkimage.
30340
30341 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30342 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30343 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30344 and GRUB_KERNEL_CPU_PREFIX.
30345
b86408f8 303462008-08-14 Felix Zielcke <fzielcke@z-51.de>
30347
d5e619ca 30348 * include/grub/err.h (grub_err_printf): New function prototype.
30349 * util/misc.c (grub_err_printf): New function.
30350 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30351 grub_printf.
30352 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 30353
7161f0e0 303542008-08-13 Robert Millan <rmh@aybabtu.com>
30355
30356 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30357
a1967522 303582008-08-13 Robert Millan <rmh@aybabtu.com>
30359
30360 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30361 boot entry.
30362
371458b5 303632008-08-12 Robert Millan <rmh@aybabtu.com>
30364
30365 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30366 of the relocation code from here ...
30367 (grub_multiboot): ... to here.
30368 (forward_relocator, backward_relocator): Move from here ...
30369 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30370 (grub_multiboot_backward_relocator): ... to here.
30371 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30372 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30373 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30374 (grub_multiboot_forward_relocator_end)
30375 (grub_multiboot_backward_relocator)
30376 (grub_multiboot_backward_relocator_end): New variables.
30377
05f9452b 303782008-08-12 Bean <bean123ch@gmail.com>
30379
30380 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30381
20024ab0 303822008-08-11 Robert Millan <rmh@aybabtu.com>
30383
30384 * kern/i386/linuxbios/startup.S: Move from here ...
30385 * kern/i386/coreboot/startup.S: ... to here.
30386
30387 * kern/i386/linuxbios/init.c: Move from here ...
30388 * kern/i386/coreboot/init.c: ... to here.
30389
30390 * kern/i386/linuxbios/table.c: Move from here ...
30391 * kern/i386/coreboot/mmap.c: ... to here.
30392
30393 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30394
e352e9cd 303952008-08-11 Robert Millan <rmh@aybabtu.com>
30396
30397 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30398 errors. Leave it to the upper layer to handle them.
30399
2d05bc6a 304002008-08-09 Christian Franke <franke@computer.org>
30401
30402 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30403 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30404 Install `grub.d/10_windows' only on Cygwin.
30405 * configure.ac: Add subst of `target_os'.
30406 Check `target_os' also before setting TARGET_OBJ2ELF.
30407 Add `--enable-grub-pe2elf'.
30408
042bd419 304092008-08-08 Robert Millan <rmh@aybabtu.com>
30410
30411 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30412 (grub_last_time): Change type to grub_uint64_t.
30413 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30414 (grub_disk_close): Likewise.
30415
30416 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30417 (run_menu): Migrate code from to using grub_get_time_ms().
30418
30419 * util/misc.c (grub_get_time_ms): New function.
30420
7f280db5 304212008-08-08 Marco Gerards <marco@gnu.org>
30422
30423 * disk/ata.c (grub_ata_regget): Change return type to
30424 `grub_uint8_t'.
30425 (grub_ata_regget2): Likewise.
30426 (grub_ata_wait_status): New function.
30427 (grub_ata_wait_busy): Removed function, updated all users to use
30428 `grub_ata_wait_status'.
30429 (grub_ata_wait_drq): Likewise.
30430 (grub_ata_cmd): New function.
30431 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30432 error handling.
30433 (grub_ata_pio_write): Add error handling.
30434 (grub_atapi_identify): Likewise.
30435 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30436 handling.
30437 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30438 handling. Actually use the detected registers. Reorder the
30439 detection logic such that it is easier to read.
30440 (grub_ata_pciinit): Do not assign the same ID to each controller.
30441 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30442 handling.
30443 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30444
30445 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30446
1fbc5e66 304472008-08-08 Marco Gerards <marco@gnu.org>
30448
30449 * NEWS: Update.
30450
819ce6c0 304512008-08-07 Bean <bean123ch@gmail.com>
30452
30453 * include/grub/x86_64/pci.h: New file.
30454
5c41d44d 304552008-08-07 Christian Franke <franke@computer.org>
30456
30457 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30458 (TIMER2_GATE): Likewise.
30459 (grub_pit_wait): Add enable/disable of the timer2 gate
30460 bit of port 0x61. This fixes a possible infinite loop.
30461
5ebc275d 304622008-08-07 Bean <bean123ch@gmail.com>
30463
30464 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30465 kern/i386/tsc.c and kern/i386/pit.c.
30466
30467 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30468 x86_64 platform.
30469
30470 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30471 <grub/i386/tsc.h>.
30472
30473 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30474
e383b3d0 304752008-08-07 Bean <bean123ch@gmail.com>
30476
30477 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30478
30479 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30480
30481 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30482 multiple inclusion. Add #include <grub/types.h>.
30483
1cbb58ac 304842008-08-06 Christian Franke <franke@computer.org>
30485
30486 * conf/common.rmk: Build and install `10_windows'.
30487 * util/grub.d/10_windows.in: New script.
30488
337f5a1e 304892008-08-06 Pavel Roskin <proski@gnu.org>
30490
30491 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30492
057bc4ac 304932008-08-06 Robert Millan <rmh@aybabtu.com>
30494
30495 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30496 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30497
2b99f123 304982008-08-06 Bean <bean123ch@gmail.com>
30499
30500 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30501 (grub_pxefs_fs_int): Remove dummy definition.
30502 (grub_pxefs_open): Use data->block_size to store the current block
30503 size setting.
30504 (grub_pxefs_read): Use block size stored in data->block_size. As the
30505 value of grub_pxe_blksize can be changed after the file is opened.
30506
9f0234cb 305072008-08-06 Bean <bean123ch@gmail.com>
30508
30509 * fs/i386/pc/pxe.c (curr_file): new variable.
30510 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30511 require the dummy internal file system anymore.
30512 (grub_pxefs_read): Removed.
30513 (grub_pxefs_close): Likewise.
30514 (grub_pxefs_fs_int): Likewise.
30515 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30516 connection when we switch file.
30517 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30518
a55d42e0 305192008-08-06 Robert Millan <rmh@aybabtu.com>
30520
30521 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30522 `halt.mod'.
30523 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30524 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30525
30526 * kern/i386/halt.c: New file.
30527 * kern/i386/reboot.c: Likewise.
30528 * include/grub/i386/reboot.h: Likewise.
30529 * include/grub/i386/halt.h: Likewise.
30530
30531 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30532 Include `<grub/cpu/halt.h>'.
30533 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30534 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30535
30536 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30537 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30538 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30539 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30540 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30541 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30542 from here ...
30543 * include/grub/i386/at_keyboard.h: ... to here.
30544
24371d26 305452008-08-05 Robert Millan <rmh@aybabtu.com>
30546
30547 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30548 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30549 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30550 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30551 `kern/generic/millisleep.c'.
30552
30553 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30554 instead of grub_get_rtc().
30555 (grub_tsc_init): Initialize `tsc_boot_time'.
30556
30557 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30558 (grub_machine_init): Use grub_tsc_init() rather than
30559 installing an RTC-based handler via grub_install_get_time_ms().
30560
30561 * kern/i386/pit.c: New file.
30562 * include/grub/i386/pit.h: Likewise.
30563
9e7007b3 305642008-08-05 Bean <bean123ch@gmail.com>
30565
30566 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30567
30568 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30569 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30570 (pxe_mod_SOURCES): New macro.
30571 (pxe_mod_CFLAGS): Likewise.
30572 (pxe_mod_LDFLAGS): Likewise.
30573 (pxecmd_mod_SOURCES): Likewise.
30574 (pxecmd_mod_CFLAGS): Likewise.
30575 (pxecmd_mod_LDFLAGS): Likewise.
30576
30577 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30578 (grub_pxe_call): Likewise.
30579
30580 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30581
30582 * commands/i386/pc/pxecmd.c: New file.
30583
9f0234cb 30584 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 30585
30586 * include/grub/i386/pc/pxe.h: Likewise.
30587
6977d49f 305882008-08-05 Bean <bean123ch@gmail.com>
30589
30590 * util/console.c (grub_console_cur_color): New variable.
30591 (grub_console_standard_color): Likewise.
30592 (grub_console_normal_color): Likewise.
30593 (grub_console_highlight_color): Likewise.
30594 (color_map): Likewise.
30595 (use_color): Likewise.
30596 (NUM_COLORS): New macro.
30597 (grub_ncurses_setcolorstate): Handle color properly.
30598 (grub_ncurses_setcolor): Don't change color here, just remember the
30599 settings, color will be set in grub_ncurses_setcolorstate.
30600 (grub_ncurses_getcolor): New function.
30601 (grub_ncurses_init): Initialize color pairs.
30602 (grub_ncurses_term): New member grub_ncurses_getcolor.
30603
9c2ff3ee 306042008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 30605
9c2ff3ee 30606 High resolution timer support. Implemented for x86 CPUs using TSC.
30607 Extracted generic grub_millisleep() so it's linked in only as needed.
30608 This requires a Pentium compatible CPU; if the RDTSC instruction is
30609 not supported, then it falls back on the generic grub_get_time_ms()
30610 implementation that uses the machine's RTC.
30611
30612 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30613 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30614 `kern/generic/millisleep.c'.
30615
30616 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30617 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30618
30619 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30620 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30621
30622 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30623
30624 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30625 `kern/generic/millisleep.c'.
30626
30627 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30628
30629 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30630
30631 * kern/generic/rtc_get_time_ms.c: New file.
30632
30633 * kern/generic/millisleep.c: New file.
337f5a1e 30634
9c2ff3ee 30635 * kern/misc.c: Don't include
30636 <kern/time.h> anymore.
30637 (grub_millisleep_generic): Removed.
30638
30639 * commands/sleep.c (grub_interruptible_millisleep): Uses
30640 grub_get_time_ms() instead of grub_get_rtc().
30641
30642 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30643 function.
30644 (grub_cpu_is_cpuid_supported): New inline function.
30645 (grub_cpu_is_tsc_supported): New inline function.
30646 (grub_tsc_init): New function prototype.
30647 (grub_tsc_get_time_ms): New function prototype.
30648
30649 * kern/i386/tsc.c (grub_get_time_ms): New file.
30650
30651 * include/grub/time.h: Include <grub/types.h.
30652 (grub_millisleep_generic): Removed.
30653 (grub_get_time_ms): New prototype.
30654 (grub_install_get_time_ms): New prototype.
30655 (grub_rtc_get_time_ms): New prototype.
30656
30657 * kern/time.c (grub_get_time_ms): New function.
30658 (grub_install_get_time_ms): New function.
30659
30660 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30661 <grub/time.h> anymore.
30662 (grub_millisleep): Removed.
30663 (grub_machine_init): Call grub_tsc_init.
30664
30665 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30666 get_time_ms() implementation.
30667
30668 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30669 (ieee1275_get_time_ms): New function.
30670 (grub_machine_init): Install get_time_ms() implementation.
30671
30672 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30673 (grub_machine_init): Call grub_tsc_init().
30674 (grub_millisleep): Removed.
bf06a93f 30675
9c2ff3ee 30676 * kern/ieee1275/init.c (grub_millisleep): Removed.
30677 (grub_machine_init): Install ieee1275_get_time_ms()
30678 implementation.
30679 (ieee1275_get_time_ms): New function.
30680 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30681 real work.
30682
9ec92aaf 306832008-08-05 Marco Gerards <marco@gnu.org>
30684
30685 * disk/ata.c: Include <grub/pci.h>.
30686 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30687 (grub_ata_initialize): Rewritten.
30688 (grub_ata_device_initialize): New function.
30689
8d23f507 306902008-08-04 Pavel Roskin <proski@gnu.org>
30691
30692 * kern/main.c: Include grub/mm.h.
30693
5e15ee3d 306942008-08-04 Robert Millan <rmh@aybabtu.com>
30695
30696 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30697 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30698 corruption problem).
30699
a9053f8f 307002008-08-04 Robert Millan <rmh@aybabtu.com>
30701
30702 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30703 warnings introduced in my last commit.
30704
dd19c7d7 307052008-08-03 Robert Millan <rmh@aybabtu.com>
30706
30707 Make PCI available on all i386 architectures.
30708
30709 * include/grub/i386/pc/pci.h: Move from here ...
30710 * include/grub/i386/pci.h: ... to here.
30711
30712 * include/grub/i386/pc/pci.h: Remove.
30713 * include/grub/i386/efi/pci.h: Remove.
30714 * include/grub/x86_64/efi/pci.h: Remove.
30715
30716 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30717 `<grub/cpu/pci.h>'.
30718
30719 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30720 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30721 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30722
30723 * conf/i386-ieee1275.rmk: Likewise.
30724
e14a6184 307252008-08-03 Robert Millan <rmh@aybabtu.com>
30726
30727 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30728 (grub_console_setcursor): Make it possible to set cursor off.
30729
52768e37 307302008-08-03 Robert Millan <rmh@aybabtu.com>
30731
30732 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30733 of modules instead of assuming which platform provides what.
30734 * util/update-grub.in: Likewise.
30735
2d52f57f 307362008-08-03 Robert Millan <rmh@aybabtu.com>
30737
30738 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30739 instead of `grub_install_dos_part' to determine whether a drive needs
30740 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 30741 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 30742
2a5cd121 307432008-08-02 Robert Millan <rmh@aybabtu.com>
30744
30745 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30746
93808428 307472008-08-02 Robert Millan <rmh@aybabtu.com>
30748
30749 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30750 of informational grub_dprintf() calls.
30751
3bd0a12a 307522008-08-02 Robert Millan <rmh@aybabtu.com>
30753
30754 * disk/memdisk.c (memdisk_size): Don't initialize.
30755 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30756
30757 * include/grub/i386/pc/kernel.h
30758 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30759 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30760 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30761 (grub_arch_memdisk_size): Remove.
30762
30763 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30764 field (was only used to transfer a constant). Add `type' field to
30765 support multiple module types.
30766 (grub_module_iterate): New function.
30767
30768 * kern/device.c (grub_device_open): Do not hide error messages
30769 when grub_disk_open() fails. Use grub_print_error() instead.
30770
30771 * kern/i386/pc/init.c (grub_arch_modules_addr)
30772 (grub_arch_memdisk_size): Remove functions.
30773 (grub_arch_modules_addr): Return the module address in high memory
30774 (now that it isn't copied anymore).
30775
30776 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30777 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30778 decompression routine (grub_total_module_size already includes that
30779 now). Don't copy modules back to low memory.
30780
30781 * kern/main.c: Include `<grub/mm.h>'.
30782 (grub_load_modules): Split out (and use) ...
30783 (grub_module_iterate): ... this function, which iterates through
30784 module objects and runs a hook.
30785 Comment out grub_mm_init_region() call, as it would cause non-ELF
30786 modules to be overwritten.
30787
30788 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30789 the memdisk image in its own region, make it part of the module list.
30790 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30791 (main): Parse --memdisk|-m option, and pass user-provided path as
30792 parameter to generate_image().
30793 (add_segments): Pass `memdisk_path' down to load_modules().
30794 (load_modules): Embed memdisk image in module section when requested.
30795 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30796 `header.type' instead of `header.offset'.
30797
30798 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30799 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30800 (memdisk_mod_LDFLAGS): New variables.
30801 * conf/i386-coreboot.rmk: Likewise.
30802 * conf/i386-ieee1275.rmk: Likewise.
30803
a927cc73 308042008-08-02 Robert Millan <rmh@aybabtu.com>
30805
30806 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30807 (backward_relocator): New variables. Used to allocate and relocate
30808 the payload, respectively.
30809 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 30810 address, install the appropriate relocator code in each bound of
a927cc73 30811 the payload, and set the entry point such that
30812 grub_multiboot_real_boot() will jump to one of them.
30813
30814 * kern/i386/loader.S (grub_multiboot_payload_size)
30815 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30816 (grub_multiboot_payload_entry_offset): New variables.
30817 (grub_multiboot_real_boot): Set cpu context to what the relocator
30818 expects, and jump to the relocator instead of the payload.
30819
30820 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30821 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30822 (grub_multiboot_payload_entry_offset): Export.
30823
b15d8a0c 308242008-08-01 Bean <bean123ch@gmail.com>
30825
30826 * normal/menu_entry.c (editor_getline): Don't return the original
30827 string as result, as it will be released by lexer once it has done
30828 using it.
30829
cdfb3d22 308302008-08-01 Robert Millan <rmh@aybabtu.com>
30831
30832 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30833 within menuentries, not before them.
30834 util/grub.d/10_hurd.in: Likewise.
30835
9175e93d 308362008-08-01 Bean <bean123ch@gmail.com>
30837
30838 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30839 (bufio_mod_SOURCES): New macro.
30840 (bufio_mod_CFLAGS): Likewise.
30841 (bufio_mod_LDFLAGS): Likewise.
30842
30843 * include/grub/bufio.h: New file.
30844
30845 * io/bufio.c: Likewise.
30846
30847 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30848 (grub_video_reader_png): Use grub_buffile_open to open file.
30849
30850 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30851 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30852
30853 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30854 (grub_video_reader_tga): Use grub_buffile_open to open file.
30855
30856 * font/manager.c: Include <grub/bufio.h>.
30857 (add_font): Use grub_buffile_open to open file.
30858
3d8383e7 308592008-07-31 Robert Millan <rmh@aybabtu.com>
30860
30861 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30862 ELF segments, use a macro for arbitrarily accessing any of them instead
30863 of preparing a pointer that allows access to one at a time.
30864 (grub_multiboot_load_elf64): Likewise.
30865
16e641b6 308662008-07-31 Bean <bean123ch@gmail.com>
30867
30868 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30869 GRUB_KERNEL_MACHINE_DATA_END.
30870
59198b72 308712008-07-30 Robert Millan <rmh@aybabtu.com>
30872
30873 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30874 Increase from 0x50 to 0x60.
30875 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30876 use UUIDs to identify the root drive for them. If that's not
30877 possible, abort.
30878 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30879 check, for cross-disk installs.
30880
ae88bca3 308812008-07-30 Robert Millan <rmh@aybabtu.com>
30882
30883 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30884 is non-empty, use it to set the `prefix' environment variable instead
30885 of the usual approach.
30886 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30887 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30888 environment variable instead of dummy make_install_device().
30889
30890 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30891 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 30892 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 30893
30894 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30895 New variable reference.
30896 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30897 New macro. Defines offset of `grub_prefix' within startup.S (relative
30898 to `start').
30899 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30900 section within startup.S (relative to `start').
30901 * include/grub/i386/coreboot/kernel.h: Likewise.
30902
30903 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30904 Overwrite grub_prefix with its contents, at the beginning of the
30905 first segment.
30906 (main): Understand -p|--prefix.
30907
14f41dd1 309082008-07-30 Robert Millan <rmh@aybabtu.com>
30909
30910 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30911
4ca049a3 309122008-07-30 Robert Millan <rmh@aybabtu.com>
30913
30914 * term/i386/pc/vga_text.c (grub_console_cls): Use
30915 grub_console_gotoxy() to go back to beginning of the screen.
30916 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30917
2921d337 309182008-07-29 Christian Franke <franke@computer.org>
30919
30920 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30921 Add conversion of emulated mount points on Cygwin.
30922
b609876d 309232008-07-29 Christian Franke <franke@computer.org>
30924
30925 * util/update-grub.in: Add a check for admin
30926 group on Cygwin.
30927 Remove old `grub.cfg.new' before creation.
30928 Add `-f' to `mv' to handle the different filesystem
30929 semantics of Windows.
30930
e93e4679 309312008-07-29 Bean <bean123ch@gmail.com>
30932
30933 * normal/main.c (get_line): Fix buffer overflow bug.
30934
41694fd0 309352008-07-28 Robert Millan <rmh@aybabtu.com>
30936
30937 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30938 (struct grub_apple_header): New struct. Describes the layout of
30939 the partmap header.
30940 (apple_partition_map_iterate): Check the header magic as well as the
30941 partition magic (which was already being checked).
30942
cfd0b4e6 309432008-07-28 Pavel Roskin <proski@gnu.org>
30944
30945 * genmk.rb: Add a warning to the beginning of the output that
30946 it's a generated file and should not be edited.
30947
93cce016 309482008-07-28 Robert Millan <rmh@aybabtu.com>
30949
30950 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30951 with the same number are found, just use issue a warning with
30952 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 30953
cd1df915 309542008-07-27 Robert Millan <rmh@aybabtu.com>
30955
30956 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30957 information.
30958
b70a8427 309592008-07-27 Bean <bean123ch@gmail.com>
30960
30961 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30962 (grub_fat_find_dir): Ignore case when comparing filename.
30963
8f5e379f 309642008-07-27 Bean <bean123ch@gmail.com>
30965
30966 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30967 smallino, as it's more descriptive, and i8count can be confused with
30968 the other field count.
30969 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30970 inode type.
30971
a85cd5a0 309722008-07-27 Bean <bean123ch@gmail.com>
30973
30974 * commands/crc.c: New file.
30975
30976 * lib/crc.c: Likewise.
30977
30978 * include/grub/lib/crc.h: Likewise.
30979
30980 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30981
30982 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30983 (hexdump): Move this function to ...
30984
30985 * lib/hexdump.c: ... here.
30986
30987 * include/grub/hexdump.h: Renamed to ...
30988
30989 * include/grub/lib/hexdump.h: ... this.
30990
30991 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
30992
30993 * util/grub-editenv.c: Likewise.
30994
30995 * include/envblk.h: Renamed to ...
30996
30997 * include/lib/envblk.h: ... this.
30998
30999 * util/envblk.c: Renamed to ...
31000
31001 * lib/envblk.c: ... this.
31002
31003 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
31004 lib/hexdump.c.
31005 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
31006 (pkglib_MODULES): Add crc.mod.
31007 (hexdump_mod_SOURCES): Add lib/hexdump.c.
31008 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
31009 (crc_mod_SOURCES): New macro.
31010 (crc_mod_CFLAGS): Likewise.
31011 (crc_mod_LDFLAGS): Likewise.
31012
31013 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
31014
31015 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31016
31017 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31018
31019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31020
31021 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31022
c298def0 310232008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 31024
31025 * commands/help.c: Include <grub/term.h>.
31026 (TERM_WIDTH): Removed. Updated all users.
31027
cc349fb3 310282008-07-27 Pavel Roskin <proski@gnu.org>
31029
31030 * util/getroot.c (find_root_device): Rephrase a comment to avoid
31031 spurious warnings about a comment within a comment.
31032
9051607e 310332008-07-25 Robert Millan <rmh@aybabtu.com>
31034
31035 * util/getroot.c (find_root_device): Skip devices that match
31036 /dev/dm-[0-9]. This lets the real device be found for any type of
31037 abstraction (LVM, EVMS, RAID..).
31038 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
31039 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
31040 device is found first, find_root_device() will now skip it.
31041
01453bfc 310422008-07-24 Pavel Roskin <proski@gnu.org>
31043
31044 * include/grub/types.h: Use __builtin_bswap32() and
31045 __builtin_bswap64() with gcc 4.3 and newer.
31046
6af9849f 310472008-07-24 Christian Franke <franke@computer.org>
31048
3a0fa256 31049 * util/i386/pc/grub-install.in: If `--debug' is specified,
31050 pass `--verbose' to grub-setup.
31051 Abort script if make_system_path_relative_to_its_root() fails.
31052
7810e747 310532008-07-24 Bean <bean123ch@gmail.com>
31054
31055 * configure.ac: Fixed a bug caused by the previous cygwin patch,
31056 variable `target_platform' should be `platform'.
31057
42290e17 310582008-07-24 Bean <bean123ch@gmail.com>
31059
51cc5193 31060 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 31061 (grub_png_init_fixed_block): New function.
31062 (grub_png_decode_image_data): Handle fixed huffman code compression.
31063
2a8a80e4 310642008-07-24 Bean <bean123ch@gmail.com>
31065
31066 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
31067 (grub_pe2elf_SOURCES): New macro.
31068 (CLEANFILES): Add grub-pe2elf.
31069
31070 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
31071 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
31072 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
31073 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
31074 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
31075 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
31076 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
31077 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
31078 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
31079 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
31080 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
31081 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
31082 (GRUB_PE32_DT_FUNCTION): Likewise.
31083 (GRUB_PE32_REL_I386_DIR32): Likewise.
31084 (GRUB_PE32_REL_I386_REL32): Likewise.
31085 (grub_pe32_symbol): New structure.
31086 (grub_pe32_reloc): Likewise.
31087
31088 * util/grub-pe2elf.c: New file.
31089
31090 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
31091 start symbol in non pc platform.
31092
31093 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
31094
31095 The following patches are from Christian Franke.
31096
31097 * include/grub/dl.h: Remove .previous, gas supports this only
31098 for ELF format.
31099
31100 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
31101 Remove .type, gas supports this only for ELF format.
31102
31103 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
31104 nullbytes in symbol table. This fixes an infinite loop if table is
31105 zero filled.
31106
31107 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31108 TARGET_IMG_LDFLAGS and EXEEXT.
31109
31110 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31111 TARGET_IMG_LDFLAGS_AC.
31112 (grub_CHECK_STACK_ARG_PROBE): New function.
31113
31114 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31115
31116 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31117
31118 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31119 to set TARGET_IMG_LD* accordingly.
31120 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31121 Add call to grub_CHECK_STACK_ARG_PROBE.
31122 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31123
31124 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31125
31126 * genmk.rb: Add EXEEXT to CLEANFILES.
31127
12ccdb75 311282008-07-23 Robert Millan <rmh@aybabtu.com>
31129
31130 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31131 define the codes for arrows and lines used for the menu).
31132 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31133 as well.
31134
31135 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31136 fonts, because the latter are too slow.
31137
18eeaf04 311382008-07-21 Bean <bean123ch@gmail.com>
31139
31140 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31141 a20. Run keyboard test last, as it will cause macbook to halt.
31142
b095e2ad 311432008-07-18 Pavel Roskin <proski@gnu.org>
31144
31145 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31146 load foreign architecture modules correctly anyway. Keep
31147 support for loading host architecture modules, whether we
31148 compile them or not.
31149
737feb35 311502008-07-17 Pavel Roskin <proski@gnu.org>
31151
3f4ce737 31152 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31153 change target_cpu. The compiler default can mismatch target_cpu
31154 in any case.
31155
4ad2d049 31156 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31157 * kern/efi/efi.c: Likewise.
31158
f6130a12 31159 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31160 target compiler is functional.
31161 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31162 are set up.
31163
58393a2d 31164 * configure.ac: Default to efi platform for x86_64-apple. Allow
31165 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31166 adjustments from the rest, only do them if target is not
31167 explicitly given. Merge other adjustments with the final sanity
31168 check. Remove an extraneous check for supported CPU. Be
31169 specific which CPU and which platform is not supported.
31170
737feb35 31171 * configure.ac: Default to pc platform for x86_64.
31172
546f966a 311732008-07-17 Robert Millan <rmh@aybabtu.com>
31174
31175 Partial LinuxBIOS -> Coreboot rename.
31176
31177 * conf/i386-linuxbios.rmk: Renamed to ...
31178 * conf/i386-coreboot.rmk: ... this.
31179 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31180 * configure.ac: Accept "coreboot" as input platform (but maintain
31181 compatibility with "linuxbios").
31182 * include/grub/i386/linuxbios: Renamed to ...
31183 * include/grub/i386/coreboot: ... this.
31184
20011694 311852008-07-17 Bean <bean123ch@gmail.com>
31186
31187 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 31188 (appleldr_mod_SOURCE): New variable.
20011694 31189 (appleldr_mod_CFLAGS): Likewise.
31190 (appleldr_mod_LDFLAGS): Likewise.
31191 (pci_mod_SOURCES): Likewise.
31192 (pci_mod_CFLAGS): Likewise.
31193 (pci_mod_LDFLAGS): Likewise.
31194 (lspci_mod_SOURCES): Likewise.
31195 (lspci_mod_CFLAGS): Likewise.
31196 (lspci_mod_LDFLAGS): Likewise.
31197
31198 * conf/x86_64-efi.rmk: New file.
31199
31200 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31201 macro.
31202 (grub_efidisk_write): Likewise.
31203
31204 * include/efi/api.h (efi_call_0): New macro.
31205 (efi_call_1): Likewise.
31206 (efi_call_2): Likewise.
31207 (efi_call_3): Likewise.
31208 (efi_call_4): Likewise.
31209 (efi_call_5): Likewise.
31210 (efi_call_6): Likewise.
31211
31212 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31213 grub_rescue_cmd_chainloader.
31214
31215 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31216 (grub_pe32_optional_header): Change some fields based on i386 or
31217 x86_64 platform.
31218 (GRUB_PE32_PE32_MAGIC): Likewise.
31219
31220 * include/grub/efi/uga_draw.h: New file.
31221
31222 * include/grub/elf.h (STN_ABS): New constant.
31223 (R_X86_64_NONE): Relocation constant for x86_64.
31224 (R_X86_64_64): Likewise.
31225 (R_X86_64_PC32): Likewise.
31226 (R_X86_64_GOT32): Likewise.
31227 (R_X86_64_PLT32): Likewise.
31228 (R_X86_64_COPY): Likewise.
31229 (R_X86_64_GLOB_DAT): Likewise.
31230 (R_X86_64_JUMP_SLOT): Likewise.
31231 (R_X86_64_RELATIVE): Likewise.
31232 (R_X86_64_GOTPCREL): Likewise.
31233 (R_X86_64_32): Likewise.
31234 (R_X86_64_32S): Likewise.
31235 (R_X86_64_16): Likewise.
31236 (R_X86_64_PC16): Likewise.
31237 (R_X86_64_8): Likewise.
31238 (R_X86_64_PC8): Likewise.
31239
31240 * include/grub/i386/efi/pci.h: New file.
31241
31242 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31243 Change it value based on platform.
31244 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31245 (GRUB_E820_RAM): Likewise.
31246 (GRUB_E820_RESERVED): Likewise.
31247 (GRUB_E820_ACPI): Likewise.
31248 (GRUB_E820_NVS): Likewise.
31249 (GRUB_E820_EXEC_CODE): Likewise.
31250 (GRUB_E820_MAX_ENTRY): Likewise.
31251 (grub_e820_mmap): New structure.
31252 (linux_kernel_header): Change the efi field according to different
31253 kernel version, also field from linux_kernel_header.
31254
31255 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31256
31257 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31258 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31259 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31260 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31261 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31262 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31263 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31264 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31265 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31266 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31267
31268 * include/grub/x86_64/efi/kernel.h: New file.
31269
31270 * include/grub/x86_64/efi/loader.h: Likewise.
31271
31272 * include/grub/x86_64/efi/machine.h: Likewise.
31273
31274 * include/grub/x86_64/efi/pci.h: Likewise.
31275
31276 * include/grub/x86_64/efi/time.h: Likewise.
31277
31278 * include/grub/x86_64/linux.h: Likewise.
31279
31280 * include/grub/x86_64/setjmp.h: Likewise.
31281
31282 * include/grub/x86_64/time.h: Likewise.
31283
31284 * include/grub/x86_64/types.h: Likewise.
31285
31286 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31287 GRUB_TARGET_SIZEOF_VOID_P.
31288
31289 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31290 (grub_efi_locate_handle): Likewise.
31291 (grub_efi_open_protocol): Likewise.
31292 (grub_efi_set_text_mode): Likewise.
31293 (grub_efi_stall): Likewise.
31294 (grub_exit): Likewise.
31295 (grub_reboot): Likewise.
31296 (grub_halt): Likewise.
31297 (grub_efi_exit_boot_services): Likewise.
31298 (grub_get_rtc): Likewise.
31299
31300 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31301 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31302 (grub_efi_allocate_pages): Wrap efi calls.
31303 (grub_efi_free_pages): Wrap efi calls.
31304 (grub_efi_get_memory_map): Wrap efi calls.
31305
31306 * kern/x86_64/dl.c: New file.
31307
31308 * kern/x86_64/efi/callwrap.S: Likewise.
31309
31310 * kern/x86_64/efi/startup.S: Likewise.
31311
31312 * loader/efi/appleloader.c: Likewise.
31313
31314 * loader/efi/chainloader.c (cmdline): New variable.
31315 (grub_chainloader_unload): Wrap efi calls.
31316 (grub_chainloader_boot): Likewise.
31317 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31318 command line.
31319
31320 * loader/efi/chainloader_normal.c (chainloader_command):
31321 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31322 command line.
31323
31324 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31325 method.
31326 (grub_e820_add_region): New function.
31327 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31328 booting.
31329 (grub_find_video_card): New function.
31330 (grub_linux_setup_video): New function.
31331 (grub_rescue_cmd_linux): Probe for video information.
31332
31333 * normal/x86_64/setjmp.S: New file.
31334
31335 * term/efi/console.c (map_char): New function.
31336 (grub_console_putchar): Map unicode char.
31337 (grub_console_checkkey): Wrap efi calls.
31338 (grub_console_getkey): Likewise.
31339 (grub_console_getwh): Likewise.
31340 (grub_console_gotoxy): Likewise.
31341 (grub_console_cls): Likewise.
31342 (grub_console_setcolorstate): Likewise.
31343 (grub_console_setcursor): Likewise.
31344
31345 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31346
59652a20 313472008-07-16 Pavel Roskin <proski@gnu.org>
31348
ef294055 31349 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31350 format strings.
31351
59652a20 31352 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31353 pointer, not an integer. This fixes a warning and prevents
31354 precision loss on 64-bit systems.
31355 (relocate_addresses): Remove unneeded cast.
31356
afc3b5d7 313572008-07-15 Pavel Roskin <proski@gnu.org>
31358
506b2b3e 31359 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31360
62ead89c 31361 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31362
c4cd51d7 31363 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31364 Fix comparison between signed and unsigned.
31365
0d3d8f28 31366 * include/grub/i386/ieee1275/console.h: Declare
31367 grub_console_init() and grub_console_fini().
31368
8804b286 31369 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31370 It's empty and unused.
31371
ee01cf35 31372 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31373 beginning to avoid warnings with some compilers.
31374
afc3b5d7 31375 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31376 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31377
e4e8eaa5 313782008-07-14 Pavel Roskin <proski@gnu.org>
31379
407aceb4 31380 * kern/env.c (grub_register_variable_hook): Don't copy empty
31381 string, it leaks memory. Pass "" to grub_env_set(), it should
31382 handle constant strings.
31383
e4e8eaa5 31384 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31385 * commands/cmp.c (grub_cmd_cmp): Likewise.
31386 * kern/dl.c (grub_dl_flush_cache): Likewise.
31387 (grub_dl_load_core): Likewise.
31388 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31389 (grub_elf64_load_phdrs): Likewise.
31390
d4e2dad3 313912008-07-13 Pavel Roskin <proski@gnu.org>
31392
31393 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31394 between signed and unsigned.
31395 (LzmaEnc_Finish): Fix warning about an unused parameter.
31396
aa24b516 313972008-07-13 Bean <bean123ch@gmail.com>
31398
31399 * Makefile.in (enable_lzo): New rule.
31400
31401 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31402
31403 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31404
31405 * boot/i386/pc/lnxboot.S: #include <config.h>.
31406
31407 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 31408 its value according to the compression algorithm used, lzo or lzma.
aa24b516 31409
31410 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31411 compression algorithm according to configure macro.
31412
31413 * kern/i386/pc/startup.S (codestart): Likewise.
31414
31415 * kern/i386/pc/lzma_decode.S: New file.
31416
31417 * include/grub/lib/LzFind.h: Likewise.
31418
31419 * include/grub/lib/LzHash.h: Likewise.
31420
31421 * include/grub/lib/LzmaDec.h: Likewise.
31422
31423 * include/grub/lib/LzmaEnc.h: Likewise.
31424
31425 * include/grub/lib/LzmaTypes.h: Likewise.
31426
31427 * lib/LzFind.c: Likewise.
31428
31429 * lib/LzmaDec.c: Likewise.
31430
31431 * lib/LzmaEnc.c: Likewise.
31432
4ae821ac 314332008-07-13 Bean <bean123ch@gmail.com>
31434
31435 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31436 (grub_ext4_extent_header): New structure.
31437 (grub_ext4_extent): Likewise.
31438 (grub_ext4_extent_idx): Likewise.
31439 (grub_ext4_find_leaf): New function.
31440 (grub_ext2_read_block): Handle extents.
31441
9a745147 314422008-07-12 Robert Millan <rmh@aybabtu.com>
31443
31444 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31445
d49a4cf6 314462008-07-11 Robert Millan <rmh@aybabtu.com>
31447
31448 * util/grub.d/40_custom.in: New file. Example on how to add custom
31449 entries to /etc/grub.d.
31450 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31451 40_custom (implicitly, by merging all the grub.d rules).
31452
947414b4 314532008-07-11 Pavel Roskin <proski@gnu.org>
31454
0059cf6f 31455 * commands/read.c (grub_getline): Fix invalid memory access.
31456 Don't add newline to the variable value.
31457
947414b4 31458 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31459 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31460 (serial_hw_get_port): Check validity of the port number.
31461 (grub_cmd_serial): Check return value of serial_hw_get_port().
31462
62a02d00 314632008-07-07 Pavel Roskin <proski@gnu.org>
31464
31465 * boot/i386/pc/diskboot.S (notification_string): Replace
31466 "Loading kernel" with just "loading". This is shorter, less
31467 confusing and saves a few bytes for possible future changes.
31468
3e5581b0 314692008-07-05 Pavel Roskin <proski@gnu.org>
31470
ea387a48 31471 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31472 size for ATAPI devices, they are undefined. Output sector
31473 number in decimal form.
31474
3e5581b0 31475 * disk/ata.c: Use named constants for status bits.
31476
fdecb8fd 314772008-07-04 Pavel Roskin <proski@gnu.org>
31478
bcd35b90 31479 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31480 grub_addr_t before casting it to the void pointer to fix a
31481 warning. Non-addressable regions are discarded earlier.
31482 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31483 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31484 (check_signature): Don't shadow table_header.
31485 (grub_linuxbios_table_iterate): Cast numeric constants to
31486 grub_linuxbios_table_header_t.
31487 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31488 grub_stop().
31489
af58ab3d 31490 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31491 prevent warnings.
31492
1759aa57 31493 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31494 pointer, which can cause warnings. Support 64-bit addresses.
31495
fdecb8fd 31496 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31497 of sizeof(long). This fixes PowerPC image generation on x86_64.
31498
8516d2a8 314992008-07-04 Robert Millan <rmh@aybabtu.com>
31500
31501 This fixes a performance issue when pc & gpt partmap iterators
31502 didn't abort iteration even after our hook found what it was
fe987087 31503 looking for (often causing expensive probes of non-existent drives).
8516d2a8 31504
31505 Some callers relied on previous buggy behaviour, since they would
34c44600 31506 raise an error when their own hooks caused early abortion of its
8516d2a8 31507 iteration.
31508
31509 * kern/device.c (grub_device_open): Improve error message.
31510 * disk/lvm.c (grub_lvm_open): Likewise.
31511 * disk/raid.c (grub_raid_open): Likewise.
31512
31513 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31514 when hook requests it, independently of grub_errno.
31515 (pc_partition_map_probe): Do not fail when find_func() caused
31516 early abortion of pc_partition_map_iterate().
31517
31518 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31519 when hook requests it, independently of grub_errno.
31520 (gpt_partition_map_probe): Do not fail when find_func() caused
31521 early abortion of gpt_partition_map_iterate().
31522
31523 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31524 when hook requests it, independently of grub_errno. Do not fail when
31525 part_map_iterate_hook() caused early abortion of p->iterate().
31526
31527 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31528 when grub_partition_iterate() returned with non-zero.
31529
277d0de9 315302008-07-03 Pavel Roskin <proski@gnu.org>
31531
31532 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31533 like we do in grub_ata_pio_read().
31534 (grub_ata_readwrite): Always write individual sectors. Fix the
31535 sector count for the remainder.
31536 (grub_ata_write): Enable writing to ATA devices. Correctly
31537 report error for ATAPI devices.
31538
d4c9b428 315392008-07-02 Pavel Roskin <proski@gnu.org>
31540
e43fc690 31541 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31542 warning.
31543
f707af42 31544 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31545 for every read sector, we already increment it for the whole
31546 batch. This fixes reading more than 256 sectors at once.
31547
11e16b15 31548 * util/grub-editenv.c (cmd_info): Cast argument to long
31549 explicitly. ptrdiff_t reduces to int on i386.
31550
cbabfdd4 31551 * util/grub-editenv.c (main): Be specific which parameter is
31552 missing.
31553
b8fbce0a 31554 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31555 (memdisk): Make memdisk_orig_addr a pointer.
31556
c9c8e606 31557 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31558 for file offsets, use grub_off_t instead. Fix printf format
31559 warnings.
31560
ca62e598 31561 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31562 there. Real unexpected warnings should not drown in the noise
31563 about known problems.
31564
ce8d1766 31565 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31566 grub_disk_addr_t for memory addresses.
31567
00c7a56a 31568 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31569 explicitly to fix a warning.
31570
08d3ef09 31571 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31572
cb71ba20 31573 * Makefile.in (MODULE_LDFLAGS): New variable.
31574 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31575 the linker accepts --build-id=none.
31576 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31577 MODULE_LDFLAGS.
31578 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31579
d4c9b428 31580 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31581 those in Linux XFS code. Provide a way to access 64-bit parent
31582 inode.
31583 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31584 the end of struct grub_xfs_dir_header.
31585
d4156eee 315862008-07-02 Bean <bean123ch@gmail.com>
31587
31588 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31589 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31590 and GRUB_IEEE1275_FLAG_NO_ANSI.
31591
31592 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31593 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31594 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31595
31596 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31597 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31598
31599 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31600 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31601
31602 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31603 esc sequence on non ANSI terminal.
31604 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31605
31606 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31607 beginning of file.
31608
2270f77b 316092008-07-02 Bean <bean123ch@gmail.com>
31610
31611 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31612 (grub_editenv_SOURCES): New variable.
31613 (pkglib_MODULES): Add loadenv.mod.
31614 (loadenv_mod_SOURCES): New variable.
31615 (loadenv_mod_CFLAGS): Likewise.
31616 (loadenv_mod_LDFLAGS): Likewise.
31617
31618 * include/grub/envblk.h: New file.
31619
31620 * util/envblk.c: New file.
31621
31622 * util/grub-editenv.c: New file.
31623
31624 * commands/loadenv.c: New file.
31625
0e9e51ec 316262008-07-01 Pavel Roskin <proski@gnu.org>
31627
d89b7634 31628 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31629 not unsigned char. This fixes warnings and is consistent with
31630 other tags.
31631
bf1835b1 31632 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31633
8222a04b 31634 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31635
6a42d99d 31636 * term/tparm.c (analyze): Always set *popcount.
31637
10b159d1 31638 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31639 cast to fix a warning.
31640
b8789f6c 31641 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31642 cast to suppress a warning.
31643
29d7e38a 31644 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31645 grub_fshelp_read_file() expects.
31646
f341f669 31647 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31648 write uuid as a 32-bit value in CPU byte order, so declare and
31649 use it as such.
31650
0e9e51ec 31651 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31652 long if the format specifier expects it.
31653 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31654 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31655 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31656 long to fix a warning.
31657 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31658 grub_dprintf() arguments to fix warnings.
31659
3aefa857 316602008-06-30 Pavel Roskin <proski@gnu.org>
31661
56c7668b 31662 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31663 install_bsd_part immediately before core.img is embedded or
31664 modified on disk. This fixes core.img verification if core.img
31665 cannot be embedded.
31666
3aefa857 31667 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31668 core_path to calculate the blocklist.
31669 Patch from Javier Martín <lordhabbit@gmail.com>
31670
5444088d 316712008-06-29 Robert Millan <rmh@aybabtu.com>
31672
31673 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31674 block to disk block.
31675 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31676 Patch from Niels Böhm <bitbucket@arcor.de>
31677
674835c8 316782008-06-29 Robert Millan <rmh@aybabtu.com>
31679
31680 * util/update-grub_lib.in (font_path): Search for fonts in
31681 /boot/grub first, which is more likely to be readable (we aren't
31682 deciding where fonts live, just looking for them).
31683
f527dbc8 316842008-06-26 Pavel Roskin <proski@gnu.org>
31685
6c2d8df6 31686 * util/biosdisk.c (read_device_map): Don't leave dead map
31687 entries for devices failing stat() check.
31688
f527dbc8 31689 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31690 core_path_dev for the core.img path on the target device.
31691
aebe3d13 316922008-06-26 Robert Millan <rmh@aybabtu.com>
31693
31694 * disk/fs_uuid.c: New file.
31695 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31696 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31697 (fs_uuid_mod_LDFLAGS): New variables.
31698 * include/grub/disk.h (grub_disk_dev_id): Add
31699 `GRUB_DISK_DEVICE_UUID_ID'.
31700 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31701 implement iterate().
31702
37aaf354 317032008-06-26 Robert Millan <rmh@aybabtu.com>
31704
31705 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31706 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31707 Linux image includes no initrd.
31708
25ff262a 317092008-06-21 Javier Martín <lordhabbit@gmail.com>
31710
31711 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31712 call to resolve the core image location that effectively appended the
31713 name twice.
31714
76a2bd44 317152008-06-21 Robert Millan <rmh@aybabtu.com>
31716
31717 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31718 call from here ...
31719
31720 * util/grub.d/10_hurd.in: ... to here ...
31721 * util/grub.d/10_linux.in: ... and here.
31722
650e1c79 317232008-06-19 Robert Millan <rmh@aybabtu.com>
31724
fe987087 31725 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 31726 after it has been set by grub_machine_set_prefix().
31727
6ce63911 317282008-06-19 Robert Millan <rmh@aybabtu.com>
31729
31730 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31731 search result when not saving to variable, not the other way around.
31732 When saving to variable, abort iteration as soon as a match is found.
31733
73940cec 317342008-06-19 Robert Millan <rmh@aybabtu.com>
31735
31736 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31737 check for partition that provides /boot/grub. Its logic is flawed,
31738 as it prevents prepare_grub_to_access_device() from being called
31739 multiple times.
31740
3c62a39d 317412008-06-19 Robert Millan <rmh@aybabtu.com>
31742
31743 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31744 "insmod" command directly when abstraction modules are needed,
fe987087 31745 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 31746 since it had already been processed).
31747
47395a42 317482008-06-19 Pavel Roskin <proski@gnu.org>
31749
31750 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31751 changed. This is needed in case GRUB_LIBDIR changes.
31752 * conf/i386-ieee1275.rmk: Likewise.
31753 * conf/i386-linuxbios.rmk: Likewise.
31754 * conf/i386-pc.rmk: Likewise.
31755 * conf/powerpc-ieee1275.rmk: Likewise.
31756
a145ac2d 317572008-06-18 Pavel Roskin <proski@gnu.org>
31758
31759 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31760 kernel_elf_symlist.c to symlist.c for consistency with other
31761 architectures. Update all users.
31762 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31763
7847c51e 317642008-06-18 Robert Millan <rmh@aybabtu.com>
31765
31766 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31767 it in prefix.
31768
31769 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31770 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31771 a RAID device, run setup() for all members independently on whether
31772 LVM abstraction is being used.
31773 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31774 If grub-mkimage has set `*install_dos_part == -2', don't override this
31775 value.
31776 Perform *install_dos_part adjustments independently on whether
31777 we're embedding or not.
31778 Clarify error message when image is too big for embedding.
31779 Remove duplicate *install_dos_part stanza.
31780
b23e5644 317812008-06-17 Robert Millan <rmh@aybabtu.com>
31782
31783 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31784 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31785 variables.
31786 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31787 values in grub_ofconsole_normal_color and
31788 grub_ofconsole_highlight_color (they're not directly related to
31789 background and foreground).
31790 (grub_ofconsole_setcolorstate): Extract background and foreground
31791 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31792
0aac2f79 317932008-06-17 Robert Millan <rmh@aybabtu.com>
31794
31795 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31796 /boot/grub for the check in last commit, not /boot (they could be
31797 different partitions).
31798
3cca7ef3 317992008-06-16 Robert Millan <rmh@aybabtu.com>
31800
31801 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31802 asked to setup access for the same partition that provides /boot,
31803 don't bother using UUIDs since our root already has the value we
31804 want.
31805
347396d8 318062008-06-16 Robert Millan <rmh@aybabtu.com>
31807
31808 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31809 I2O devices.
31810 Patch from Sven Mueller <sven@debian.org>.
31811
991477f8 318122008-06-16 Robert Millan <rmh@aybabtu.com>
31813
31814 * util/update-grub.in: Check for $EUID instead of $UID.
31815 Reported by Vincent Zweije.
31816
d31a32a1 318172008-06-16 Bean <bean123ch@gmail.com>
31818
fe987087 31819 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 31820 (grub_ext2_read_block): Likewise.
31821 (grub_ext2_read_inode): Likewise.
31822 (grub_ext2_mount): Likewise.
31823 (grub_ext2_close): Likewise.
31824 (grub_ext3_get_journal): Removed.
31825
fe987087 31826 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 31827 (grub_reiserfs_read_symlink): Likewise.
31828 (grub_reiserfs_mount): Likewise.
31829 (grub_reiserfs_open): Likewise.
31830 (grub_reiserfs_read): Likewise.
31831 (grub_reiserfs_close): Likewise.
31832 (grub_reiserfs_get_journal): Removed.
31833
31834 * fs/fshelp.c (grub_fshelp_read): Removed.
31835 (grub_fshelp_map_block): Likewise.
31836
31837 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31838 (grub_fshelp_journal): Likewise.
31839 (grub_fshelp_read): Likewise.
31840 (grub_fshelp_map_block): Likewise.
31841
3540a760 318422008-06-16 Pavel Roskin <proski@gnu.org>
31843
31844 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31845 floating point anymore.
31846 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31847
95614c84 318482008-06-15 Pavel Roskin <proski@gnu.org>
31849
31850 * commands/ls.c (grub_ls_list_files): Use integer calculations
31851 for human readable format, avoid floating point use.
31852 * kern/misc.c (grub_ftoa): Remove.
31853 (grub_vsprintf): Remove floating point support.
31854
50465dd6 318552008-06-15 Robert Millan <rmh@aybabtu.com>
31856
fe6b695a 31857 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 31858 devices.
31859 Reported by Max Vozeler.
31860
a9207284 318612008-06-15 Robert Millan <rmh@aybabtu.com>
31862
31863 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31864 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31865 skipped later.
31866 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31867 the beginning of the prefix.
31868
31869 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31870 It is assumed that if we have a memdisk, grub-mkimage has set
31871 grub_prefix to include the "(memdisk)" drive in it.
31872
a7cbd45a 318732008-06-15 Robert Millan <rmh@aybabtu.com>
31874
31875 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31876 Initialize keyboard controller after registering the terminal, so that
31877 grub_printf() can be called from grub_keyboard_controller_init().
31878
21cf716a 318792008-06-15 Robert Millan <rmh@aybabtu.com>
31880
31881 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31882 extent-btree which is written as big endian on disk.
31883 Reported by Alain Greppin <al@chilibi.org>.
31884
23a64d8e 318852008-06-14 Robert Millan <rmh@aybabtu.com>
31886
31887 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31888 * util/i386/pc/grub-install.in (modules): Likewise.
31889
d687651c 318902008-06-13 Pavel Roskin <proski@gnu.org>
31891
31892 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31893
dfe9ddd4 318942008-06-13 Bean <bean123ch@gmail.com>
31895
31896 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31897
31898 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31899
31900 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31901 to indicate sparse block.
31902
16ae7781 319032008-06-12 Pavel Roskin <proski@gnu.org>
31904
e6d1a308 31905 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31906 number, grub_fshelp_read() does it for us.
31907
16ae7781 31908 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31909 linear disk read with journal translation.
31910 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31911 * include/grub/fshelp.h: Declare grub_fshelp_read().
31912
40fd3a2b 319132008-06-09 Pavel Roskin <proski@gnu.org>
31914
31915 * fs/minix.c (grub_minix_mount): Handle error reading
31916 superblock.
31917
f5679726 319182008-06-08 Robert Millan <rmh@aybabtu.com>
31919
31920 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31921 don't append the RAID prefix afterwards.
31922 Reported by Clint Adams.
31923
ce525529 319242008-06-08 Robert Millan <rmh@aybabtu.com>
31925
31926 Based on description from Pavel:
31927 * kern/disk.c (grub_disk_check_range): Rename to ...
31928 (grub_disk_adjust_range): ... this. Add a comment explaining the
31929 tasks performed by this function.
31930
ad4936a0 319312008-06-08 Robert Millan <rmh@aybabtu.com>
31932
31933 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31934 `num_serial' (for consistency with other variables).
31935 (struct grub_ntfs_data): Add `uuid' member.
31936 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31937 (grub_ntfs_uuid): New function.
31938 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31939
dc20b0f9 319402008-06-07 Pavel Roskin <proski@gnu.org>
31941
31942 * util/biosdisk.c (open_device): Revert last change to the
31943 function, it broke installation. The sector needs to be
31944 different dependent on which device is opened.
31945
c5e3cfba 319462008-06-06 Robert Millan <rmh@aybabtu.com>
31947
31948 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31949 rest of GRUB, and breakage doesn't happen if its value were modified.
31950
31951 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31952 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31953 a constant (same value).
31954 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31955 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31956
26a1f8c4 319572008-06-06 Robert Millan <rmh@aybabtu.com>
31958
31959 * util/biosdisk.c (open_device): Do not modify sector offset when
31960 accessing a partition. kern/disk.c already handles this for us.
31961
25d6b327 319622008-06-06 Robert Millan <rmh@aybabtu.com>
31963
31964 * util/grub-emu.c (grub_machine_init): Move code in this function from
31965 here ...
31966 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31967 segfault in case grub_printf() is called).
31968
31969 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31970 grub_probe. Update all users not to explicitly add it again.
31971 (grub_device): New variable; contains corresponding device for grubdir.
31972 (fs_module, partmap_module, devabstraction_module): Pass
31973 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31974 every time.
31975
9ece62fb 319762008-06-05 Robert Millan <rmh@aybabtu.com>
31977
31978 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31979 is found, print it (same layout as with labels).
31980
1ad36d37 319812008-06-04 Robert Millan <rmh@aybabtu.com>
31982
31983 * util/biosdisk.c (get_drive): Rename to ...
31984 (find_grub_drive): ... this. Update all users.
31985
31986 (get_os_disk): Rename to ...
31987 (convert_system_partition_to_system_disk): ... this. Update all users.
31988
31989 (find_drive): Rename to ...
31990 (find_system_device): ... this. Update all users.
31991
e6a30859 319922008-06-04 Robert Millan <rmh@aybabtu.com>
31993
31994 * util/biosdisk.c (get_os_disk): Handle IDA devices.
31995 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31996 (make_device_map): Likewise.
31997
00c108a4 319982008-06-01 Robert Millan <rmh@aybabtu.com>
31999
32000 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
32001 before dereferencing it.
32002
32003 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
32004 union with fat12/fat16-specific ones. Add some new fields, including
32005 `num_serial' for both versions.
32006 (struct grub_fat_data): Add `uuid' member.
32007 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
32008 names. Initialize `data->uuid' using `num_serial'.
32009 (grub_fat_uuid): New function.
32010 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
32011
32012 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
32013 (grub_reiserfs_uuid): New function.
32014 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
32015 member.
32016
32017 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
32018 (grub_xfs_uuid): New function.
32019 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
32020
1385c5bb 320212008-06-01 Robert Millan <rmh@aybabtu.com>
32022
32023 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
32024 code that is backward compatible with pre-uuid search command.
32025
c682dfd7 320262008-05-31 Robert Millan <rmh@aybabtu.com>
32027
32028 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
32029 floppies after everything else, to ensure floppy drive isn't accessed
32030 unnecessarily (patch from Bean).
32031
b7db5d47 320322008-05-31 Robert Millan <rmh@aybabtu.com>
32033
32034 * commands/search.c (search_label, search_fs_uuid, search_file): Do
32035 not print device names when we were asked to set a variable.
32036
6e037aa9 320372008-05-31 Robert Millan <rmh@aybabtu.com>
32038
32039 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
32040 using "cursor-on" and "cursor-off" commands (understood at least by
32041 the Open Firmware flavour on OLPC).
32042
41305bc8 320432008-05-31 Michael Gorven <michael@gorven.za.net>
32044
32045 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
32046 on and off sequences.
32047
69ba137e 320482008-05-31 Robert Millan <rmh@aybabtu.com>
32049
32050 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
32051 * util/update-grub.in: Likewise.
32052
520ae21b 320532008-05-30 Pavel Roskin <proski@gnu.org>
32054
32055 * util/biosdisk.c (linux_find_partition): Simplify logic and
32056 make the code more universal. Keep special processing for
32057 devfs, but use a simple rule for all other devices. If the
32058 device ends with a number, append 'p' and the partition number.
32059 Otherwise, append only the partition number.
32060
5786569b 320612008-05-30 Robert Millan <rmh@aybabtu.com>
32062
32063 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
32064 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
32065 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
32066 the `root' parameter to Linux.
32067
51500452 320682008-05-30 Robert Millan <rmh@aybabtu.com>
32069
32070 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
32071 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
32072 --fs_uuid with --fs-uuid.
32073 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
32074 all filesystems support them).
32075
811d3878 320762008-05-30 Robert Millan <rmh@aybabtu.com>
32077
32078 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 32079 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 32080
cab63c95 320812008-05-30 Robert Millan <rmh@aybabtu.com>
32082
32083 * util/grub.d/00_header.in: Remove obsolete comment referencing
32084 convert_system_path_to_grub_path().
32085 * util/update-grub.in: Likewise.
32086 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
32087 (convert_system_path_to_grub_path): Add a warning message explaining
32088 that this function is deprecated. Rely on is_path_readable_by_grub()
32089 for the readability checks.
32090 (font_path): Use is_path_readable_by_grub() for the readability
32091 check rather than convert_system_path_to_grub_path().
32092
972e2f7a 320932008-05-30 Robert Millan <rmh@aybabtu.com>
32094
32095 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
32096 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
32097 converting it first.
32098 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
32099 grub.cfg for access to font file, and afterwards call it again to set
32100 the root device.
32101
62191274 321022008-05-30 Robert Millan <rmh@aybabtu.com>
32103
32104 * commands/search.c (options): Add --fs_uuid option.
32105 (search_fs_uuid): New function.
32106 (grub_cmd_search): Fix --set argument passing.
32107 Use search_fs_uuid() when requested via --fs_uuid.
32108 (grub_search_init): Update help message.
32109 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32110 and redeclare it as an array of 16-bit words.
32111 (grub_ext2_uuid): New function.
32112 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32113 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32114 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32115 (GRUB_DEVICE_BOOT_UUID): New variables.
32116 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32117 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32118 whenever possible.
32119 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32120 just assume `root' variable has the right value.
32121 * util/grub.d/10_linux.in: Likewise.
32122 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32123 via PRINT_FS_UUID.
32124 (main): Recognise `-t fs_uuid' argument.
32125
01b73ec8 321262008-05-30 Robert Millan <rmh@aybabtu.com>
32127
32128 * util/biosdisk.c (map): Redefine structure to hold information
32129 about GRUB drive name.
fe6b695a 32130 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 32131 drive names.
32132 (call_hook): Remove.
32133 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32134 member. Assume drive has partitions.
32135 (grub_util_biosdisk_open): Access device names via `.device' struct
32136 member.
32137 (open_device): Likewise.
32138 (find_drive): Likewise.
32139 (read_device_map): Adjust map[] usage to match the new struct
32140 definition. Don't check for duplicates (still possible, but not cheap
32141 anymore).
32142 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32143 (make_device_name): Remove assumption of BIOS-like drive names.
32144
22f16596 321452008-05-30 Pavel Roskin <proski@gnu.org>
32146
32147 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32148 compiling execute.c doesn't need grub_script.tab.h anymore.
32149 (normal/command.c_DEPENDENCIES): Likewise.
32150 (normal/function.c_DEPENDENCIES): Likewise.
32151 * conf/i386-ieee1275.rmk: Likewise.
32152 * conf/i386-linuxbios.rmk: Likewise.
32153 * conf/i386-pc.rmk: Likewise.
32154 * conf/powerpc-ieee1275.rmk: Likewise.
32155 * conf/sparc64-ieee1275.rmk: Likewise.
32156
528ad8f2 321572008-05-29 Pavel Roskin <proski@gnu.org>
32158
d1dff95d 32159 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32160 when scanning metadata for volume group name.
32161
528ad8f2 32162 * include/grub/script.h: Don't include grub_script.tab.h. It's
32163 a generated file, which may only be included from the files with
32164 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32165 use union YYSTYPE, as the later allows forward declaration.
32166 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32167
47248e08 321682008-05-29 Robert Millan <rmh@aybabtu.com>
32169
32170 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32171 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32172 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32173 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32174 scan codes.
32175
ee632529 321762008-05-29 Robert Millan <rmh@aybabtu.com>
32177
32178 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32179 control key combinations.
32180
eee96e08 321812008-05-29 Robert Millan <rmh@aybabtu.com>
32182
32183 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32184 * util/ieee1275/grub-install.in: ... to here.
32185 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32186 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32187 (grub_install_SOURCES): Likewise.
32188
da9a6a94 321892008-05-29 Robert Millan <rmh@aybabtu.com>
32190
32191 * fs/affs.c: Update copyright year.
32192 * fs/ext2.c: Likewise.
32193 * fs/fshelp.c: Likewise.
32194 * fs/hfsplus.c: Likewise.
32195 * fs/ntfs.c: Likewise.
32196 * fs/xfs.c: Likewise.
32197 * include/grub/fshelp.h: Likewise.
32198 * util/grub-mkdevicemap.c: Likewise.
32199
12e65f3a 322002008-05-28 Robert Millan <rmh@aybabtu.com>
32201
32202 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32203 might need to be fatfs to support some firmware implementations
32204 (e.g. OFW or EFI).
32205
23023641 322062008-05-28 Robert Millan <rmh@aybabtu.com>
32207
32208 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32209 devices.
32210 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32211 (make_device_map): Likewise.
32212
887d2619 322132008-05-20 Bean <bean123ch@gmail.com>
32214
32215 * fs/fshelp.c (grub_fshelp_map_block): New function.
32216 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32217 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32218
32219 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32220 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32221 (grub_fshelp_journal): New structure.
32222 (grub_fshelp_map_block): New function prototype.
32223 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32224 (grub_fshelp_map_block): Likewise.
32225
32226 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32227 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32228 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32229 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32230 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32231 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32232 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32233 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32234 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32235 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32236 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32237 (grub_ext2_sblock): New members for journal support.
32238 (grub_ext3_journal_header): New structure.
32239 (grub_ext3_journal_revoke_header): Likewise.
32240 (grub_ext3_journal_block_tag): Likewise.
32241 (grub_ext3_journal_sblock): Likewise.
32242 (grub_fshelp_node): New members logfile and journal.
32243 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32244 grub_fshelp_map_block to get real block number.
32245 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32246 number.
32247 (grub_ext2_read_inode): Likewise.
32248 (grub_ext3_get_journal): New function.
32249 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32250 (grub_ext2_close): Release memory used by journal.
32251
32252 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32253 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32254 (grub_reiserfs_transaction_header): Renamed to
32255 grub_reiserfs_description_block, replace field data with real_blocks.
32256 (grub_reiserfs_commit_block): New structure.
32257 (grub_reiserfs_data): New member journal.
32258 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32259 number.
32260 (grub_reiserfs_read_symlink): Likewise.
32261 (grub_reiserfs_iterate_dir): Likewise.
32262 (grub_reiserfs_open): Likewise.
32263 (grub_reiserfs_read): Likewise.
32264 (grub_reiserfs_get_journal): New function.
32265 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32266 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32267 using grub_reiserfs_get_journal.
32268 (grub_reiserfs_close): Release memory used by journal.
32269
32270 * fs/affs.c (grub_affs_read_block): Change block type to
32271 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32272
32273 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32274
32275 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32276
32277 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32278
32279 * fs/udf.c (grub_udf_read_block): Change block type to
32280 grub_disk_addr_t. Use type cast to avoid warning.
32281
32282 * fs/xfs.c (grub_xfs_read_block): Likewise.
32283
b7c6bed5 322842008-05-16 Christian Franke <franke@computer.org>
32285
32286 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32287 to ensure that break with ESC will always work.
32288 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32289 Remove ESC from keyboard queue.
32290
eedf167f 322912008-05-16 Christian Franke <franke@computer.org>
32292
32293 * util/biosdisk.c: [__CYGWIN__] Add includes.
32294 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32295 (get_os_disk): Move variable declarations to OS specific
32296 parts to avoid warning.
32297 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32298 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32299 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32300 Cygwin.
32301 * util/getroot.c: [__CYGWIN__] Add includes.
32302 (strip_extra_slashes): Fix "/" case.
32303 [__CYGWIN__] (get_win32_path): New function.
32304 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32305 [__CYGWIN__] (find_root_device): Disable.
32306 [__CYGWIN__] (get_bootsec_serial): New function.
32307 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32308 [__linux__] (grub_guess_root_device): Add early returns to simplify
32309 structure.
32310 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32311 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32312 check for Linux only.
32313
a079699e 323142008-05-15 Bean <bean123ch@gmail.com>
32315
32316 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32317 keyboard hang problem in apple's intel mac.
32318
1cf4059a 323192008-05-09 Robert Millan <rmh@aybabtu.com>
32320
32321 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32322 devices.
32323 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32324 (make_device_map): Likewise.
32325 Reported by Aurelien Jarno <aurel32@debian.org>
32326
ed759390 323272008-05-07 Ian Campbell <ijc@hellion.org.uk>
32328
32329 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32330 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32331 (make_device_map): Output entries for xvd type disks.
32332
b56c4eaa 323332008-05-07 Robert Millan <rmh@aybabtu.com>
32334
32335 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32336 devices.
32337 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32338 (make_device_map): Likewise.
32339 Reported by Roland Dreier <rdreier@cisco.com>
32340
7f8866ed 323412008-05-07 Robert Millan <rmh@aybabtu.com>
32342
32343 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32344 grub_strstr() call. Correct a few mistakes in failure path handling.
32345
b0346e0f 323462008-05-06 Robert Millan <rmh@aybabtu.com>
32347
32348 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32349 Do not print a trailing slash (therefore, the root directory is an
32350 empty string).
32351 (convert_system_path_to_grub_path): Do not remove trailing slash
32352 from make_system_path_relative_to_its_root() output.
32353
32354 * util/i386/pc/grub-install.in: Add trailing slash to output from
32355 make_system_path_relative_to_its_root().
32356
6cf12cbd 323572008-05-06 Robert Millan <rmh@aybabtu.com>
32358
32359 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32360 ensures that output lines aren't intermangled with those sent to
32361 stderr (via grub_util_info()).
32362 * util/grub-probe.c (grub_refresh): Likewise.
32363 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32364
0fbb3117 323652008-05-05 Christian Franke <franke@computer.org>
32366
32367 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32368 Add Cygwin device names.
32369 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32370 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32371 (check_device): Return error instead of success on empty name.
32372 (make_device_map): Move label inside linux specific code to
32373 prevent compiler warning.
32374
8124cdb7 323752008-04-30 Robert Millan <rmh@aybabtu.com>
32376
32377 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32378 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32379 first boot option.
32380 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32381
094c01d0 323822008-04-29 Robert Millan <rmh@aybabtu.com>
32383
32384 * docs/grub.cfg: New file (example GRUB configuration).
32385
f4b1fc02 323862008-04-26 Robert Millan <rmh@aybabtu.com>
32387
329ce2a5 32388 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32389 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32390 and `disk/ieee1275/nand.c'.
f4b1fc02 32391
25f16ec1 323922008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 32393
25f16ec1 32394 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32395 i386-linuxbios.
32396
32397 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32398 change the buffer size to 4096 for cdrom device.
32399
32400 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32401 and nand.mod.
32402 (_linux_mod_SOURCES): New variable.
32403 (_linux_mod_CFLAGS): Likewise.
32404 (_linux_mod_LDFLAGS): Likewise.
32405 (linux_mod_SOURCES): Likewise.
32406 (linux_mod_CFLAGS): Likewise.
32407 (linux_mod_LDFLAGS): Likewise.
32408 (nand_mod_SOURCES): Likewise.
32409 (nand_mod_CFLAGS): Likewise.
32410 (nand_mod_LDFLAGS): Likewise.
32411
32412 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32413 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32414 type property. (nand device in olpc don't have this property)
32415
32416 * include/grub/disk.h (grub_disk_dev_id): New macro
32417 GRUB_DISK_DEVICE_NAND_ID.
32418
32419 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32420 function prototype.
32421 (grub_rescue_cmd_initrd): Likewise.
32422
32423 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32424 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32425 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 32426
25f16ec1 32427 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32428 GRUB_MACHINE_IEEE1275 is defined.
32429
32430 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32431 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32432
32433 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32434 on nested function heap_init.
32435 (grub_upper_mem): New variable for i386-ieee1275.
32436 (grub_get_extended_memory): New function for i386-ieee1275.
32437 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32438
32439 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32440 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32441 property.
f19dbdb7 32442
25f16ec1 32443 * loader/i386/ieee1275/linux.c: New file.
32444
32445 * loader/i386/ieee1275/linux_normal.c: New file.
32446
32447 * disk/ieee1275/nand.c: New file.
32448
e89d61e9 324492008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32450
32451 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32452 value.
32453 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32454
602566f6 324552008-04-18 Robert Millan <rmh@aybabtu.com>
32456
32457 Restructures early code path on ieee1275 to unify grub_main() as
32458 the first C function that is executed in every platform.
32459
32460 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32461 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32462 cmain().
32463 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32464 * kern/ieee1275/cmain.c (cmain): Rename to ...
32465 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32466 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32467 at the beginning.
32468
57490c2b 324692008-04-18 Robert Millan <rmh@aybabtu.com>
32470
32471 * util/update-grub.in: Fix syntax error when setting
32472 `GRUB_PRELOAD_MODULES'.
32473 Reported by Stephane Chazelas <stephane@artesyncp.com>
32474
1977517d 324752008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32476
32477 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32478 section into account, newer toolchains generate unique build ids
32479 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 32480 we want build ids to be preserved
1977517d 32481 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32482 far from other sections don't cause the raw binary images grow
32483 size
32484
bfb1f1a2 324852008-04-15 Robert Millan <rmh@aybabtu.com>
32486
32487 * disk/lvm.c: Update copyright year.
32488 * kern/misc.c: Likewise.
32489
01979850 324902008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32491
32492 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 32493 there is no memory left for physical volume name.
01979850 32494
0a1150e2 324952008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32496
32497 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32498 volume name mapping to support bigger than 9 character names properly.
32499
82ead3fe 325002008-04-13 Robert Millan <rmh@aybabtu.com>
32501
32502 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32503 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32504
e54a72f5 325052008-04-13 Christian Franke <franke@computer.org>
32506
32507 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32508 to create a floppy emulation boot CD when non emulation mode
32509 does not work.
32510 Enable Joliet CD filesystem extension.
32511
9fe86034 325122008-04-13 Robert Millan <rmh@aybabtu.com>
32513
32514 * kern/misc.c (grub_strncat): Fix off-by-one error.
32515 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32516
32517 * kern/env.c (grub_env_context_close): Clear current context, not
32518 previous one.
32519 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32520
32521 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32522
7ceeee39 325232008-04-13 Robert Millan <rmh@aybabtu.com>
32524
32525 Improve robustness when handling LVM.
32526
32527 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 32528 (and leave `*p' unmodified).
7ceeee39 32529 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32530 through it.
32531 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32532 iterating through it.
32533 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32534 through it.
fe6b695a 32535 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 32536 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32537 Don't assume `vg->pvs != NULL' when iterating through it.
32538
58cd3d85 325392008-04-13 Robert Millan <rmh@aybabtu.com>
32540
32541 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32542 * genmk.rb (partmap): New variable.
32543 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32544 (#{partmap}): New target rule.
32545 * genpartmaplist.sh: New file.
32546 * Makefile.in (pkglib_DATA): Add partmap.lst.
32547 (partmap.lst): New target rule.
32548 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32549 modules (including all partition maps), instead of preloading them.
32550
78b51059 325512007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32552
32553 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32554 `linux-boot-prober' (if installed) to detect other operating
32555 systems which are installed on the computer and add them to
32556 the boot menu.
32557 * conf/common.rmk: Build and install 30_os-prober.
32558
a91627b4 325592008-04-12 Robert Millan <rmh@aybabtu.com>
32560
32561 * kern/powerpc/ieee1275/init.c: Move from here ...
32562 * kern/ieee1275/init.c: ... to here. Update all users.
32563
32564 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32565 * kern/ieee1275/cmain.c: ... to here. Update all users.
32566
32567 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32568 * kern/ieee1275/openfw.c: ... to here. Update all users.
32569
32570 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32571 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32572
322562ea 325732008-04-10 Pavel Roskin <proski@gnu.org>
32574
32575 * configure.ac: Always use "_cv_" in cache variables for
32576 compatibility with Autoconf 2.62.
32577
a02a73c5 325782008-04-07 Robert Millan <rmh@aybabtu.com>
32579
32580 Revert grub/machine/init.h addition by Pavel (since it breaks on
32581 i386-ieee1275 and others):
32582 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32583 * util/powerpc/ieee1275/misc.c: Likewise.
32584
25c024b1 325852008-04-07 Robert Millan <rmh@aybabtu.com>
32586
32587 * util/grub-probe.c (probe): Improve error message.
32588
3cbd2f98 325892008-04-07 Robert Millan <rmh@aybabtu.com>
32590
32591 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32592 (this prevents the presence of a bogus entry from ruining the whole
32593 thing).
32594
87a297bf 325952008-04-06 Pavel Roskin <proski@gnu.org>
32596
36747a62 32597 * util/biosdisk.c: Include grub/util/biosdisk.h.
32598 * util/grub-fstest.c (execute_command): Make static.
32599 * util/grub-mkdevicemap.c (check_device): Likewise.
32600 * util/i386/pc/misc.c: Include grub/machine/init.h.
32601 * util/powerpc/ieee1275/misc.c: Likewise.
32602 * util/lvm.c: Include grub/util/lvm.h.
32603 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32604 grub/cache.h.
32605 * util/raid.c: Include grub/util/raid.h.
32606 (grub_util_getdiskname): Make static.
32607
87a297bf 32608 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32609 grub_hostfs_fini(), as they are called from grub_init_all() and
32610 grub_fini_all() respectively. This fixes an infinite loop in
32611 grub-fstest due to double registration of hostfs.
32612 Reported by Christian Franke <Christian.Franke@t-online.de>
32613
f6ce7629 326142008-04-05 Pavel Roskin <proski@gnu.org>
32615
32616 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32617 all 8 functions. Otherwise, probe function 0 only.
32618
070e49e4 326192008-04-04 Pavel Roskin <proski@gnu.org>
32620
8b088a4c 32621 * commands/lspci.c (grub_lspci_iter): Print the bus number
32622 correctly.
32623
4f657021 32624 * commands/lspci.c (grub_pci_classes): Fix typos.
32625 (grub_lspci_iter): Don't print func twice. Print vendor ID
32626 before device ID, as it's normally done.
32627
070e49e4 32628 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32629 Fix signedness warnings.
32630 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32631 Likewise.
32632 * util/ieee1275/get_disk_name.c: Include config.h so that
32633 _GNU_SOURCE is defined and getline() is declared. Mark an
32634 unused argument as such. Fix a signedness warning.
32635
ba7328dc 326362008-04-02 Pavel Roskin <proski@gnu.org>
32637
26887f22 32638 * genkernsyms.sh.in: Use more robust assignments for CC and
32639 srcdir. Quote srcdir.
32640 * gensymlist.sh.in: Likewise. Assert at the compile time that
32641 the symbol table is not empty.
32642
ba7328dc 32643 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32644 * fs/cpio.c (grub_cpio_read): Likewise.
32645
0f582c6b 326462008-04-01 Pavel Roskin <proski@gnu.org>
32647
4b6e1995 32648 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32649 * disk/host.c (grub_host_open): Likewise.
32650 * disk/loopback.c (grub_loopback_open): Likewise.
32651 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32652 disk->id as in disk/host.c, not a multi-character constant.
32653
828a2768 32654 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32655 later is obsolete, potentially dangerous and sets a bad example.
32656 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32657 * util/misc.c (grub_util_get_image_size): Likewise.
32658
2bb4fb47 32659 * disk/loopback.c (options): Improve help for "--partitions".
32660
0f582c6b 32661 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32662 options to align them with the short options, e.g. "echo -e".
32663
a33224e0 326642008-03-31 Bean <bean123ch@gmail.com>
32665
32666 * video/reader/png.c (grub_png_data): New member is_16bit and
32667 image_data.
32668 (grub_png_decode_image_header): Detect 16 bit png image.
32669 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32670 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32671 (grub_video_reader_png): Release memory occupied by image_data.
32672
32673 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32674 4096 bytes.
32675 (grub_nfs_mount): Skip the test for sector per cluster.
32676
32677 * include/grub/ntfs.h (MAX_SPC): Removed.
32678
86cb4f54 326792008-03-31 Bean <bean123ch@gmail.com>
32680
32681 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32682 (grub_probe_SOURCES): Add fs/afs.c.
32683 (grub_fstest_SOURCES): Likewise.
32684 (afs_mod_SOURCES): New variable.
32685 (afs_mod_CFLAGS): Likewise.
32686 (afs_mod_LDFLAGS): Likewise.
32687
32688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32689 (grub_emu_SOURCES): Likewise.
32690
32691 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32692
32693 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32694
32695 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32696
32697 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32698
32699 * fs/afs.c: New file.
32700
17c74c21 327012008-03-30 Pavel Roskin <proski@gnu.org>
32702
4cb68e89 32703 * disk/host.c: Include grub/misc.h to fix a warning.
32704 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32705 warnings about implicit declarations.
32706
8790bb04 32707 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32708 variable.
32709 * include/grub/i386/loader.h: Change declaration of
32710 grub_linux_boot() to match what grub_loader_set() expects.
32711 * util/getroot.c (grub_guess_root_device): Return const char* to
32712 fix a warning.
32713 * util/grub-probe.c (probe): Fix a warning about uninitialized
32714 abstraction_name variable.
32715 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32716 second argument as unused to fix a warning.
32717
9a3f3296 32718 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32719 missing grub_error() call.
32720
0ecef90d 32721 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32722 2.60 and newer uses it to define datadir.
32723
0bf6d401 32724 * commands/sleep.c: Fix warning about implicit declaration.
32725 * disk/memdisk.c: Likewise.
32726 * loader/aout.c: Likewise.
32727 * loader/i386/bsd_normal.c: Likewise.
32728 * util/grub-probe.c: Likewise.
32729
7cdacf97 32730 * commands/i386/cpuid.c (has_longmode): Make static.
32731 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32732 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32733
17c74c21 32734 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32735 GDT. This is more robust, as %ds can change.
32736 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32737 calling real_to_prot().
32738 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32739
80a3e68b 327402008-03-28 Pavel Roskin <proski@gnu.org>
32741
32742 * kern/i386/pc/startup.S: Assert that uncompressed functions
32743 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32744 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32745 code, as they push parts of the code (error handlers) beyond
32746 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32747 code as correctness and size.
32748
77bcd272 327492008-03-28 Pavel Roskin <proski@gnu.org>
32750
32751 * kern/i386/pc/startup.S
32752 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32753 data block address to the real mode, keep offset minimal. This
32754 works around a bug in AWARD BIOS on old Athlon systems, which
32755 makes CD detection hang.
32756
c5dfd43b 327572008-03-26 Pavel Roskin <proski@gnu.org>
32758
32759 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32760 const.
32761 * include/grub/normal.h: Add grub_parse_color_name_pair()
32762 declaration.
32763
bf962df2 327642008-03-24 Bean <bean123ch@gmail.com>
32765
32766 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32767 (cd_count): Removed.
32768 (cd_drive): New variable.
32769 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32770 (grub_biosdisk_call_hook): Likewise.
32771 (grub_biosdisk_iterate): Change cdrom detection method.
32772 (grub_biosdisk_open): Replace cd_start with cd_drive.
32773 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32774 detect cdrom device.
32775
32776 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32777 Removed.
32778 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32779 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32780 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32781 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32782 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32783 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32784 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32785 (grub_biosdisk_cdrp): New structure.
32786 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32787
32788 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32789
32790 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32791 device.
32792
32793 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32794 New function.
32795
68e7fc7a 327962008-03-20 Robert Millan <rmh@aybabtu.com>
32797
32798 Remove 2 TiB limit in ata.mod.
32799 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32800 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32801 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32802 grub_uint64_t instead of grub_uint32_t.
32803
38ad2cf5 328042008-03-05 Bean <bean123ch@gmail.com>
32805
32806 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32807 (grub_multiboot): Set boot device.
32808
32809 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32810
2b89344e 328112008-03-02 Bean <bean123ch@gmail.com>
32812
32813 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32814 symlink_buffer.
32815
87a95d1f 328162008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32817
32818 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32819 texinfo.tex.
32820
32821 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32822 modified.
32823
32824 * docs/fdl.texi: New file.
f19dbdb7 32825
87a95d1f 32826 * docs/mdate-sh: New file. Copied from gnulib.
32827 * docs/texinfo.tex: Likewise.
32828
32829 * config.guess: Updated from gnulib.
32830 * install-sh: Likewise.
32831
7dc15d8e 328322008-02-28 Robert Millan <rmh@aybabtu.com>
32833
32834 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32835 (aout_mod_SOURCES): New variable.
32836 (aout_mod_CFLAGS): Likewise.
32837 (aout_mod_LDFLAGS): Likewise.
32838
32839 * conf/i386-ieee1275.rmk: Likewise.
32840
b00ab696 328412008-02-28 Robert Millan <rmh@aybabtu.com>
32842
32843 * util/update-grub.in: Reorganise terminal validity check. Accept
32844 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32845 Based on suggestion by Franklin PIAT.
32846
79ca2d78 328472008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32848
32849 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32850 function.
32851 * util/getroot.c (grub_util_check_block_device): New function that
32852 returns the given argument if it is a block device and returns NULL else.
32853 * util/grub-probe.c (argument_is_device): New variable.
32854 (probe): Promote device_name from a variable to an argument. Receive
32855 device_name from grub_util_check_block_device() if path is NULL and from
32856 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 32857 (options): Introduce new parameter '-d, --device'.
79ca2d78 32858 (main): Add description of the new parameter to the help screen.
32859 Rename path variable to argument. Set argument_is_device if the '-d'
32860 option is given. Pass argument to probe() depending on
32861 argument_is_device.
32862
0d16e571 328632008-02-24 Bean <bean123ch@gmail.com>
32864
32865 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32866 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32867 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32868 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32869 (GRUB_ISO9660_VOLDESC_END): Likewise.
32870 (grub_iso9660_primary_voldesc): New member escape.
32871 (grub_iso9660_data): New member joliet.
32872 (grub_iso9660_convert_string): New function.
32873 (grub_iso9660_mount): Detect joliet extension.
32874 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32875 (grub_iso9660_iso9660_label): Likewise.
32876
32877 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32878 (grub_setup_SOURCES): Add fs/udf.c.
32879 (grub_fstest_SOURCES): Likewise.
32880 (udf_mod_SOURCES): New variable.
32881 (udf_mod_CFLAGS): Likewise.
32882 (udf_mod_LDFLAGS): Likewise.
32883
32884 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32885 (grub_emu_SOURCES): Likewise.
32886
32887 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32888
32889 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32890
32891 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32892
32893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32894
32895 * fs/udf.c: New file.
32896
8a594a17 328972008-02-24 Robert Millan <rmh@aybabtu.com>
32898
32899 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32900 (normal/lexer.c_DEPENDENCIES): New variables.
32901 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32902 (normal/lexer.c_DEPENDENCIES): Likewise.
32903 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32904 (normal/lexer.c_DEPENDENCIES): Likewise.
32905 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32906 (normal/lexer.c_DEPENDENCIES): Likewise.
32907 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32908 (normal/lexer.c_DEPENDENCIES): Likewise.
32909 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32910 (normal/lexer.c_DEPENDENCIES): Likewise.
32911
2dc33c03 329122008-02-23 Robert Millan <rmh@aybabtu.com>
32913
32914 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32915 since they were intended to be in hex. This didn't break previously
32916 because of a bug in gpt_partition_map_iterate() (see below).
32917
32918 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32919 when checking the validity of GPT header.
32920 Remove `partno', since it always provides the same information as `i'.
32921
f6f4cfb0 329222008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32923
32924 * include/grub/efi/time.h: Fix a wrong comment.
32925
79ff665f 329262008-02-19 Pavel Roskin <proski@gnu.org>
32927
32928 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32929 message.
32930
d38e24c2 329312008-02-19 Bean <bean123ch@gmail.com>
32932
32933 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32934 (aout_mod_SOURCES): New variable.
32935 (aout_mod_CFLAGS): Likewise.
32936 (aout_mod_LDFLAGS): Likewise.
32937 (_bsd_mod_SOURCES): New variable.
32938 (_bsd_mod_CFLAGS): Likewise.
32939 (_bsd_mod_LDFLAGS): Likewise.
32940 (bsd_mod_SOURCES): New variable.
32941 (bsd_mod_CFLAGS): Likewise.
32942 (bsd_mod_LDFLAGS): Likewise.
32943
32944 * include/grub/aout.h: New file.
32945
32946 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32947
32948 * include/grub/i386/bsd.h: New file.
32949
32950 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32951 to make it public.
32952
32953 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32954 function is called, so that it's possible to change it inside the hook.
32955 (grub_elf64_load): Likewise.
32956 (grub_elf_file): Don't close the file if elf header is not found.
32957 (grub_elf_close): Close the file if grub_elf_file fails (The new
32958 grub_elf_file won't close it).
32959 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32960 (grub_elf64_size): Likewise.
32961
32962 * kern/i386/loader.S (grub_unix_real_boot): New function.
32963
32964 * loader/aout.c: New file.
32965
32966 * loader/i386/bsd.c: New file.
32967
32968 * loader/i386/bsd_normal.c: New file.
32969
32970 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32971
32972 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 32973 can test other formats.
d38e24c2 32974
b93bdb0f 329752008-02-19 Robert Millan <rmh@aybabtu.com>
32976
32977 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32978 (grub_gpt_partition_type_empty): Redefine with macro from
32979 `<grub/gpt_partition.h>'.
32980 (gpt_partition_map_iterate): Adjust partition type comparison.
32981
32982 Export `entry' as partmap-specific `part.data' struct.
32983 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32984
32985 * include/grub/gpt_partition.h (grub_gpt_header)
32986 (grub_gpt_partentry): ... to here (new file).
32987
32988 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
32989
32990 (grub_gpt_partition_type_bios_boot): New const variable, defined
32991 with macro from `<grub/gpt_partition.h>'.
32992
32993 (setup): Replace `first_start' with `embed_region', which keeps
32994 track of the embed region (and is partmap-agnostic).
32995
32996 Replace find_first_partition_start() with find_usable_region(),
32997 which finds a usable region for embedding using partmap-specific
32998 knowledge (supports PC/MSDOS and GPT).
32999
33000 Fix all assumptions that the embed region start at sector 1, using
33001 `embed_region.start' from now on. Similarly, use `embed_region.end'
33002 rather than `first_start' to calculate available size.
33003
33004 In grub_util_info() message, replace "into after the MBR" with an
33005 indication of the specific sector our embed region starts at.
33006
66cb40f6 330072008-02-19 Robert Millan <rmh@aybabtu.com>
33008
33009 * DISTLIST: Replace `commands/ieee1275/halt.c' and
33010 `commands/ieee1275/reboot.c' with `commands/halt.c' and
33011 `commands/reboot.c'.
33012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33013 (halt_mod_SOURCES): Likewise.
33014 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33015 (halt_mod_SOURCES): Likewise.
33016
b7202015 330172008-02-17 Christian Franke <franke@computer.org>
33018
33019 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
33020
32b0fc49 330212008-02-17 Robert Millan <rmh@aybabtu.com>
33022
33023 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33024 set `first_start' to 0 for non-PC/MSDOS partition maps.
33025
aca63502 330262008-02-16 Robert Millan <rmh@aybabtu.com>
33027
33028 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33029 do not assume partition map is PC/MSDOS before performing checks that
33030 are specific to that layout.
33031
0de8be86 330322008-02-13 Robert Millan <rmh@aybabtu.com>
33033
33034 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
33035 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
33036 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
33037
c3db8364 330382008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
33039
33040 * configure.ac: Only a cosmetic change on the handling of
33041 -fno-stack-protector.
33042
f714229e 330432008-02-12 Alexandre Boeglin <alex@boeglin.org>
33044
c3db8364 33045 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
33046 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
33047 reboot.c.
f714229e 33048 (grub_install_SOURCES): Add halt.mod and reboot.mod.
33049 (halt_mod_SOURCES): New variable.
33050 (halt_mod_CFLAGS): Likewise.
33051 (halt_mod_LDFLAGS): Likewise.
33052 (reboot_mod_SOURCES): Likewise.
33053 (reboot_mod_CFLAGS): Likewise.
33054 (reboot_mod_LDFLAGS): Likewise.
33055
c3db8364 33056 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
33057 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
33058 reboot.c.
f714229e 33059 (halt_mod_SOURCES): Likewise.
33060 (reboot_mod_SOURCES): Likewise.
33061
c3db8364 33062 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
33063 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 33064 (reboot_mod_SOURCES): Likewise.
33065
33066 * commands/i386/pc/reboot.c: merge this file ...
33067
33068 * commands/ieee1275/reboot.c: ... and this file ...
33069
33070 * commands/reboot.c: ... to this file.
c3db8364 33071 Add some precompiler directive to include the correct header for
33072 each machine.
f714229e 33073
33074 * commands/ieee1275/halt.c: move this file ...
33075
33076 * commands/halt.c: ... to here.
c3db8364 33077 Add some precompiler directive to include the correct header for
33078 each machine.
f714229e 33079
33080 * include/grub/efi/efi.h (grub_reboot): New function declaration.
33081 (grub_halt): Likewise.
33082
33083 * kern/efi/efi.c (grub_reboot): New function.
33084 (grub_halt): Likewise.
33085
c74493e0 330862008-02-12 Robert Millan <rmh@aybabtu.com>
33087
33088 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
33089 /dev (like it is done for /dev/mapper). This doesn't provide support
33090 for EVMS, but at least it is now easy to identify the problem when it
33091 arises.
33092
d0db4b04 330932008-02-11 Robert Millan <rmh@aybabtu.com>
33094
33095 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
33096 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
33097 comparing it with -1, not 0.
33098
bf748642 330992008-02-10 Robert Millan <rmh@aybabtu.com>
33100
33101 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
33102 `disk/lvm.c'.
33103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33104 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33105
33106 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33107 `disk/lvm.c' to the end of the list.
33108 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33109 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33110
b5db202a 331112008-02-10 Robert Millan <rmh@aybabtu.com>
33112
33113 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33114 grub_print_error() instead. This will let user know why we're entering
33115 rescue mode.
33116 Based on suggestions from Sam Morris.
33117
83abee31 331182008-02-10 Alexandre Boeglin <alex@boeglin.org>
33119
33120 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33121 on remaining N args, instead of "--" arg N times.
33122
78d5a08b 331232008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33124
33125 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33126 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33127 pattern for unknown glyphs.
33128
68807e5f 331292008-02-09 Robert Millan <rmh@aybabtu.com>
33130
33131 * configure.ac: Probe for `help2man'.
33132 * Makefile.in (builddir): New variable.
33133 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33134 or otherwise add a few flags/options to it.
33135 (install-local): For every executable utility or script that is
33136 installed, invoke $(HELP2MAN) to install a manpage based on --help
33137 output.
33138
33139 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33140 that it doesn't prevent --help from working in build tree.
33141
33142 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33143 with `bug-grub@gnu.org'.
33144 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33145 * util/update-grub.in (usage): New function.
33146 Implement proper argument check, with support for --help and --version
33147 (as well as existing -y).
33148
331492008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 33150
33151 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33152 avoid overwriting previous output.
33153 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33154
c1962162 331552008-02-09 Robert Millan <rmh@aybabtu.com>
33156
33157 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33158 drawing the menu.
33159
3dac2e3f 331602008-02-09 Robert Millan <rmh@aybabtu.com>
33161
33162 * commands/sleep.c: New file.
33163 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33164 (sleep_mod_SOURCES): New variable.
33165 (sleep_mod_CFLAGS): Likewise.
33166 (sleep_mod_LDFLAGS): Likewise.
33167
7a634e08 331682008-02-09 Robert Millan <rmh@aybabtu.com>
33169
33170 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33171 situations in which we can deduce the RAID size and the superblock
33172 doesn't match it.
33173
b92f0c18 331742008-02-09 Robert Millan <rmh@aybabtu.com>
33175
33176 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33177 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33178 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33179
33180 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33181 and return a grub_diskmemberlist_t composed of physical array members.
33182 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33183
33184 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33185 prototype.
33186 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33187 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33188 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33189
33190 * util/grub-probe.c (probe): Move partmap probing code from here ...
33191 (probe_partmap): ... to here.
33192 (probe): Use probe_partmap() once for the disk we're probing, and
33193 additionally, when such disk contains a memberlist() struct member,
33194 once for each disk that is contained in the structure returned by
33195 memberlist().
33196
91a4bf68 331972008-02-09 Robert Millan <rmh@aybabtu.com>
33198
33199 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33200 environment variable to 'all' in order to obtain debug output from
33201 non-util/ code.
33202 * util/i386/pc/grub-setup.c (main): Likewise.
33203
a96f9caa 332042008-02-08 Robert Millan <rmh@aybabtu.com>
33205
33206 * disk/raid.c (grub_raid_scan_device): Check for
33207 `array->device[sb.this_disk.number]' rather than for
33208 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 33209 guaranteed to be accessible.
a96f9caa 33210
b37a9222 332112008-02-08 Robert Millan <rmh@aybabtu.com>
33212
33213 * disk/raid.c: Update copyright.
33214 * fs/cpio.c: Likewise.
33215 * include/grub/raid.h: Likewise.
33216 * loader/i386/pc/multiboot.c: Likewise.
33217 * util/hostfs.c: Likewise.
33218
5626aee1 332192008-02-08 Robert Millan <rmh@aybabtu.com>
33220
33221 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33222 to a grub_disk_t array.
33223 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33224 `device[x]'.
33225 (grub_raid_scan_device): Replace `device[x].name' accesses with
33226 `device[x]->name'. Simplify initialization of `array->device[x]'.
33227
554f0187 332282008-02-08 Robert Millan <rmh@aybabtu.com>
33229
33230 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33231 grub_dprintf() calls.
33232 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33233 error message.
33234
1ec8425d 332352008-02-07 Christian Franke <franke@computer.org>
33236
33237 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33238 instead of fseek and ftell to support large files.
33239 (grub_hostfs_read): Likewise.
33240
f2156fda 332412008-02-07 Robert Millan <rmh@aybabtu.com>
33242
33243 Patch from Jeroen Dekkers.
33244 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 33245 failure, since successfully reading all array members might not be
f2156fda 33246 required.
33247
9216e0e7 332482008-02-06 Robert Millan <rmh@aybabtu.com>
33249
33250 * util/grub-probe.c (probe): Simplify partmap probing (with the
33251 assumption that the first word up to the underscore equals to
33252 the module name).
33253
b0dfd29a 332542008-02-06 Christian Franke <franke@computer.org>
33255
33256 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33257 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33258 last block of a cpio or tar stream.
33259 Check for "TRAILER!!!" instead of any empty data
33260 block to detect last block of a cpio stream.
33261 (grub_cpio_dir): Fix constness of variable np.
33262 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33263 cpio or tar trailer is detected. This fixes a crash
33264 on open of a non existing file.
33265
c32865bf 332662008-02-05 Bean <bean123ch@gmail.com>
33267
33268 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33269 address of entry.
33270 (grub_multiboot_load_elf64): Likewise.
33271 (grub_multiboot): Initialize mbi structure.
33272
33273 * util/grub-fstest.c: Don't include unused header file script.h.
33274
fe6b695a 33275 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 33276 of file.
33277 (grub_fstest_SOURCES): Likewise.
33278
409480b7 332792008-02-05 Robert Millan <rmh@aybabtu.com>
33280
33281 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33282 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33283 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33284 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33285
33286 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33287 (translation_table): Replace hardcoded values with macros
33288 provided by `<grub/term.h>'.
33289
33290 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33291 (keyboard_map): Correct/add a few values, with macros provided
33292 by `<grub/term.h>'.
33293 (keyboard_map_shift): Zero values that don't differ from their
33294 `keyboard_map' equivalents.
33295 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33296 Discard the second scan code that is always sent by Caps lock.
33297 Only use `keyboard_map_shift' when it provides a non-zero value,
33298 otherwise fallback to `keyboard_map'.
33299
99fadbaa 333002008-02-04 Bean <bean123ch@gmail.com>
33301
33302 * Makefile.in (enable_grub_fstest): New variable.
33303
33304 * conf/common.rmk (grub_fstest_init.lst): New rule.
33305 (grub_fstest_init.h): Likewise.
33306 (grub_fstest_init.c): Likewise.
33307 (util/grub-fstest.c_DEPENDENCIES): New variable.
33308 (grub_fstest_SOURCES): Likewise.
33309
33310 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33311
33312 * util/grub-fstest.c: New file.
33313
bf567c50 333142008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33315
33316 Make grub-setup handle a separate root device.
f19dbdb7 33317
bf567c50 33318 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33319 so that the root device can be compared with the destination
33320 device.
33321 When embedding the core image, if the root and destination devices
33322 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33323 0xFF.
33324 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 33325
9be6b98b 333262008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33327
33328 Add support for having a grub directory in a different drive. This
33329 is still only the data handling part.
f19dbdb7 33330
9be6b98b 33331 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33332 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33333 (grub_root_drive): New variable.
33334
33335 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33336 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33337 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33338 as it was.
33339
33340 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33341
33342 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33343 macro.
33344 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33345
33346 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33347 is bogus, because PXE booting does not specify any drive
33348 correctly.
33349
33350 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33351 am not sure if this is really correct.
33352
33353 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33354 is always identical to the boot drive when booting from a CD.
33355
33356 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33357 longer.
33358 (root_drive): New variable.
33359 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33360 (setup_sectors): Push %dx right after popping it, because %dh will
33361 be modified later.
33362 (copy_buffer): Restore %dx.
33363
e0ca0677 333642008-02-03 Robert Millan <rmh@aybabtu.com>
33365
33366 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33367 use `cdboot.img' for cdrom images.
33368
3b3f6629 333692008-02-03 Robert Millan <rmh@aybabtu.com>
33370
33371 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33372 only setup gfxterm when `font' command has succeeded.
33373
d42b3672 333742008-02-03 Robert Millan <rmh@aybabtu.com>
33375
33376 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33377 (grub_rescue_cmd_multiboot_loader)
33378 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33379
fa370ea6 333802008-02-03 Pavel Roskin <proski@gnu.org>
33381
e0c5dacb 33382 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 33383 %edx and %esi from stack only after grub_gate_a20() is called.
33384 grub_gate_a20() clobbers %edx.
33385
f2a76e1d 333862008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33387
33388 * configure.ac (AC_INIT): Bumped to 1.96.
33389
33390 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33391 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33392 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33393 video/readers/png.c.
33394
90fd32d1 333952008-02-03 Bean <bean123ch@gmail.com>
9be665dd 33396
33397 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33398 (cdboot_img_SOURCES): New variable.
33399 (cdboot_img_ASFLAGS): New variable.
33400 (cdboot_img_LDFLAGS): New variable.
33401
33402 * boot/i386/pc/cdboot.S: New file.
33403
33404 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33405 (cd_count): Likewise.
33406 (grub_biosdisk_get_drive): Add support for cd device.
33407 (grub_biosdisk_call_hook): Likewise.
33408 (grub_biosdisk_iterate): Likewise.
33409 (grub_biosdisk_open): Likewise.
33410 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33411 (grub_biosdisk_rw): Support reading from cd device.
33412 (GRUB_MOD_INIT): Iterate cd devices.
33413
33414 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33415 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33416 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33417
33418 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33419
4020aa53 334202008-02-02 Robert Millan <rmh@aybabtu.com>
33421
33422 * commands/read.c: New file.
33423 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33424 (read_mod_SOURCES): New variable.
33425 (read_mod_CFLAGS): Likewise.
33426 (read_mod_LDFLAGS): Likewise.
33427
e03a1132 334282008-02-02 Robert Millan <rmh@aybabtu.com>
33429
33430 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33431 determining whether menu has to be displayed.
33432
58c69220 334332008-02-02 Marco Gerards <marco@gnu.org>
33434
33435 * bus/pci.c: New file.
33436
33437 * include/grub/pci.h: Likewise.
33438
33439 * include/grub/i386/pc/pci.h: Likewise.
33440
33441 * commands/lspci.c: Likewise.
33442
33443 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33444 `lspci.mod'.
33445 (pci_mod_SOURCES): New variable.
33446 (pci_mod_CFLAGS): Likewise.
33447 (pci_mod_LDFLAGS): Likewise.
33448 (lspci_mod_SOURCES): Likewise.
33449 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 33450 (lspci_mod_LDFLAGS): Likewise.
58c69220 33451
c004e1b4 334522008-02-02 Bean <bean123ch@gmail.com>
33453
33454 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33455 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33456
33457 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33458 (grub_xfs_btree_node): New structure.
33459 (grub_xfs_btree_root): New structure.
33460 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33461 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33462 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33463 (GRUB_XFS_EXTENT_SIZE): Likewise.
33464 (grub_xfs_read_block): Support btree format type.
33465 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33466 Use directory block as basic unit.
33467
33468 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33469
33470 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33471 __attribute__ ((__regparm__ (1))).
33472
f95562bf 334732008-02-01 Robert Millan <rmh@aybabtu.com>
33474
33475 Correct a mistake in previous commit.
33476
33477 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33478 top.
33479 (normal/command.c_DEPENDENCIES): New variable.
33480
7d31f41f 334812008-02-01 Robert Millan <rmh@aybabtu.com>
33482
33483 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33484 top.
33485 (normal/command.c_DEPENDENCIES): New variable.
33486 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33487 * conf/i386-ieee1275.rmk: Likewise.
33488 * conf/i386-linuxbios.rmk: Likewise.
33489 * conf/i386-pc.rmk: Likewise.
33490 * conf/sparc64-ieee1275.rmk: Likewise.
33491 * conf/powerpc-ieee1275.rmk: Likewise.
33492 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33493
33494 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33495
60b6be74 334962008-02-01 Robert Millan <rmh@aybabtu.com>
33497
33498 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33499 call at beginning of function.
33500
078522ab 335012008-01-31 Pavel Roskin <proski@gnu.org>
33502
33503 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 33504 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33505 (grub_mkrescue_SOURCES): Likewise.
078522ab 33506 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33507
ccaa8a5f 335082008-01-30 Robert Millan <rmh@aybabtu.com>
33509
33510 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33511 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33512 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33513 (grub_probe_SOURCES): ... to here.
33514
33515 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33516 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33517 * conf/i386-ieee1275.rmk: Likewise.
33518 * conf/i386-linuxbios.rmk: Likewise.
33519 * conf/powerpc-ieee1275.rmk: Likewise.
33520
ae5a9cd7 335212008-01-30 Tristan Gingold <gingold@free.fr>
33522
33523 * kern/rescue.c: Silently accept empty lines.
33524
70bc2ef2 335252008-01-29 Bean <bean123ch@gmail.com>
33526
33527 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33528 (real_code_2): Code cleanup and change comment style.
33529 (move_memory): Avoid using 32-bit address mode.
33530
6a4d50ea 335312008-01-29 Bean <bean123ch@gmail.com>
33532
33533 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33534 (png_mod_SOURCES): New variable.
33535 (png_mod_CFLAGS): Likewise.
33536 (png_mod_LDFLAGS): Likewise.
33537
33538 * video/readers/png.c: New file.
33539
11cc30ac 335402008-01-28 Robert Millan <rmh@aybabtu.com>
33541
33542 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33543 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33544 `ifndef GRUB_MOD_GAP' hack.
33545 * util/elf/grub-mkimage.c (add_segments): Likewise.
33546
3abc589f 335472008-01-27 Robert Millan <rmh@aybabtu.com>
33548
33549 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33550 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 33551 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 33552
e1907778 335532008-01-27 Robert Millan <rmh@aybabtu.com>
33554
33555 Get grub-emu to build again (including parallel builds).
33556
33557 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33558 Split into ...
33559 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33560 (normal/execute.c_DEPENDENCIES): ... this, ...
33561 (grub-emu_DEPENDENCIES): ... and this.
33562
33563 * conf/i386-efi.rmk: Likewise.
33564 * conf/i386-linuxbios.rmk: Likewise.
33565 * conf/i386-ieee1275.rmk: Likewise.
33566 * conf/powerpc-ieee1275.rmk: Likewise.
33567 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33568
2216b101 335692008-01-27 Robert Millan <rmh@aybabtu.com>
33570
33571 * NEWS: Add a few items.
33572
f75172d9 335732008-01-27 Robert Millan <rmh@aybabtu.com>
33574
33575 Fix parallel builds with grub-emu. Based on earlier commit for
33576 grub-probe and grub-setup.
33577
33578 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33579 (util/grub-emu.c_DEPENDENCIES): ... this.
33580 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33581 (util/grub-emu.c_DEPENDENCIES): ... this.
33582 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33583 (util/grub-emu.c_DEPENDENCIES): ... this.
33584 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33585 (util/grub-emu.c_DEPENDENCIES): ... this.
33586 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33587 (util/grub-emu.c_DEPENDENCIES): ... this.
33588
3f51de77 335892008-01-27 Pavel Roskin <proski@gnu.org>
33590
33591 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33592 to create a gap between _end and the modules added to the image
33593 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33594 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33595 * util/elf/grub-mkimage.c (add_segments): Likewise.
33596
2033f53e 335972008-01-26 Pavel Roskin <proski@gnu.org>
33598
33599 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33600 just return an error.
33601
22da1f6f 336022008-01-26 Bean <bean123ch@gmail.com>
33603
33604 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33605 (grub_reiserfs_get_item): Save offset of the next item.
33606 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33607
2a9525e6 336082008-01-25 Robert Millan <rmh@aybabtu.com>
33609
33610 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33611 make all filesystem sources appear together (possibly fixing omissions
33612 while at it).
33613 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33614 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33615 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33617
33618 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33619 add `kern/file.c'.
33620 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33621 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33622 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33623 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33624
33625 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33626 (probe): Add a sanity check to make sure of our ability to read
33627 requested files when probing for filesystem type.
33628
33629 * genmk.rb: Update copyright year (2007).
33630
33631 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33632 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33633 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33634 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33635 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33636 : Remove function prototypes.
33637
b95f71b5 336382008-01-25 Robert Millan <rmh@aybabtu.com>
33639
33640 Revert my previous commits (based on wrong assumption of how grub_errno
33641 works).
33642
fe6b695a 33643 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 33644 * kern/file.c (grub_file_open): Likewise.
33645
d08bbb49 336462008-01-24 Pavel Roskin <proski@gnu.org>
33647
33648 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33649 that hang if GRUB tries to setup colors.
33650 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33651 colors for firmwares that don't support it.
33652 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33653 Recognize Open Hack'Ware, set flags to work around its
33654 limitations.
33655
605e36ed 336562008-01-24 Robert Millan <rmh@aybabtu.com>
33657
33658 * kern/file.c (grub_file_open): Do not account previous failures of
33659 unrelated functions when grub_errno is checked for.
33660 Reported by Oleg Strikov.
33661
bac332a1 336622008-01-24 Bean <bean123ch@gmail.com>
33663
33664 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33665 (grub_ufs_sblock): New member volume name.
33666 (grub_ufs_find_file): Fix string copy bug.
33667 (grub_ufs_label): Implement this function properly.
33668
33669 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33670 (grub_hfs_iterate_records): Use the correct file number for extents
33671 and catalog file. Fix problem in next index calculation.
33672 (grub_hfs_find_node): Replace recursive function call with loop.
33673 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33674
15c80c09 336752008-01-23 Robert Millan <rmh@aybabtu.com>
33676
33677 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33678 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33679 (grub_multiboot2_real_boot): New function prototype.
33680
33681 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33682 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33683
33684 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33685 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33686
305338fd 336872008-01-23 Robert Millan <rmh@aybabtu.com>
33688
33689 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33690 #ifdef'ed out grub_printf().
33691
3ea52685 336922008-01-23 Robert Millan <rmh@aybabtu.com>
33693
33694 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33695 grub_dprintf calls, since they make "debug=all" mode unusable.
33696 (grub_console_checkkey): Likewise.
33697
5882ae4b 336982008-01-23 Robert Millan <rmh@aybabtu.com>
33699
33700 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33701 `term/i386/pc/at_keyboard.c'.
33702 (pkglib_MODULES): Add `serial.mod'.
33703 (serial_mod_SOURCES): New variable.
33704 (serial_mod_CFLAGS): Likewise.
33705 (serial_mod_LDFLAGS): Likewise.
33706
33707 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33708 `<grub/powerpc/ieee1275/console.h>'.
33709 (grub_keyboard_controller_init): New function prototype.
33710 (grub_console_checkkey): Likewise.
33711 (grub_console_getkey): Likewise.
33712
33713 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33714 keyboard on i386.
33715
33716 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33717 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33718
06ab5303 337192008-01-23 Robert Millan <rmh@aybabtu.com>
33720
33721 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33722 present, "(memdisk)/boot/grub" becomes the default prefix.
33723
33724 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33725 a memdisk tarball with all the modules. Add --overlay=DIR option that
33726 allows users to overlay additional files into the image.
33727
dbb475a4 337282008-01-23 Robert Millan <rmh@aybabtu.com>
33729
33730 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33731 and `machine/memory.h'.
33732 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33733 (_multiboot_mod_SOURCES): New variable.
33734 (_multiboot_mod_CFLAGS): Likewise.
33735 (_multiboot_mod_LDFLAGS): Likewise.
33736 (multiboot_mod_SOURCES): Likewise.
33737 (multiboot_mod_CFLAGS): Likewise.
33738 (multiboot_mod_LDFLAGS): Likewise.
33739
33740 * include/grub/i386/ieee1275/loader.h: New file.
33741
33742 * include/grub/i386/ieee1275/machine.h: Likewise.
33743
33744 * include/grub/i386/ieee1275/memory.h: Likewise.
33745
33746 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33747 variable declaration.
33748 (grub_os_area_size): Likewise.
33749
33750 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33751 (grub_lower_mem, grub_upper_mem): New variables.
33752 (grub_stop_floppy): New function (just to make
33753 grub_multiboot2_real_boot() happy).
33754
33755 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33756 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33757 (grub_stop): New function.
33758 Include `"../realmode.S"' and `"../loader.S"'.
33759
33760 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33761 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33762
33763 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33764 rely on grub_multiboot2_real_boot() for final boot.
33765
25638629 337662008-01-22 Robert Millan <rmh@aybabtu.com>
33767
33768 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33769 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33770 device that doesn't look like an SD card.
33771 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33772 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33773 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33774 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33775 found.
33776
9dad816d 337772008-01-22 Robert Millan <rmh@aybabtu.com>
33778
33779 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33780 avoid claiming over our own code.
33781
34842f2d 337822008-01-22 Bean <bean123ch@gmail.com>
33783
33784 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33785 (jpeg_mod_SOURCES): New variable.
33786 (jpeg_mod_CFLAGS): Likewise.
33787 (jpeg_mod_LDFLAGS): Likewise.
33788
33789 * video/readers/jpeg.c : New file.
33790
44023a28 337912008-01-22 Bean <bean123ch@gmail.com>
33792
33793 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33794 there are no more items.
33795
bc2d8ac6 337962008-01-21 Robert Millan <rmh@aybabtu.com>
33797
33798 * kern/mm.c (grub_mm_init_region): Improve debug message.
33799
261bd4bc 338002008-01-21 Robert Millan <rmh@aybabtu.com>
33801
33802 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33803 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33804 address.
33805 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33806 a C macro.
33807 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33808 Indicates start of upper memory.
33809 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33810 (generate_image): Abort when image size is big enough to corrupt
33811 upper memory.
33812
33813 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33814 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33815 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33816 instead of hardcoding 0xA0000.
33817 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33818 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33819 instead of hardcoding 0xA0000.
33820
f970b55e 338212008-01-21 Robert Millan <rmh@aybabtu.com>
33822
33823 * disk/memdisk.c (memdisk_size): New variable.
33824 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33825 `memdisk_size'.
33826 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33827 image to dynamic memory.
33828 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33829 `memdisk_size'. Free memdisk block.
33830
1a8b0526 338312008-01-21 Robert Millan <rmh@aybabtu.com>
33832
33833 Fix detection of very small filesystems (like tar).
33834
33835 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33836 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33837 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33838 a problem with this disk).
33839
6e9b4aab 338402008-01-21 Robert Millan <rmh@aybabtu.com>
33841
33842 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33843 on grub_biosdisk_rw_standard() error.
33844
0d8837b2 338452008-01-21 Robert Millan <rmh@aybabtu.com>
33846
33847 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33848 recent changes.
33849 * kern/elf.c: Likewise.
33850 * kern/ieee1275/ieee1275.c: Likewise.
33851 * kern/powerpc/ieee1275/openfw.c: Likewise.
33852 * term/ieee1275/ofconsole.c: Likewise.
33853
ffd36e34 338542008-01-21 Robert Millan <rmh@aybabtu.com>
33855
33856 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33857
3f0093d0 33858 * include/grub/kernel.h (grub_arch_memdisk_addr)
33859 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 33860
3f0093d0 33861 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33862 (grub_arch_memdisk_size): ... to here.
ffd36e34 33863
6c391b21 338642008-01-21 Robert Millan <rmh@aybabtu.com>
33865
33866 Mostly based on bugfix from Bean.
33867
33868 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33869 attribute with hook() parameter.
33870 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33871 declaration.
33872 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33873 attribute with hook() parameter.
33874 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33875 declaration.
33876
55a581dc 338772008-01-21 Robert Millan <rmh@aybabtu.com>
33878
33879 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33880 (pkglib_MODULES): Add `memdisk.mod'.
33881 (memdisk_mod_SOURCES): New variable.
33882 (memdisk_mod_CFLAGS): Likewise.
33883 (memdisk_mod_LDFLAGS): Likewise.
33884
33885 * disk/memdisk.c: New file.
33886
33887 * include/grub/disk.h (grub_disk_dev_id): Add
33888 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33889
33890 * include/grub/i386/pc/kernel.h
33891 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33892 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33893 (grub_kernel_image_size): New variable declaration.
33894 (grub_total_module_size): Likewise.
33895 (grub_memdisk_image_size): Likewise.
33896
33897 * include/grub/i386/pc/memory.h
33898 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33899
33900 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33901 (grub_arch_memdisk_addr): New variable declaration.
33902 (grub_arch_memdisk_size): Likewise.
33903
33904 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33905 (grub_arch_memdisk_size): Likewise.
33906
33907 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33908 (codestart): Replace hardcoded `0x100000' with
33909 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33910
33911 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33912 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33913 not NULL, append the contents of the file it refers to, at the end of
33914 the compressed kernel image. Initialize `grub_memdisk_image_size'
33915 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33916 (options): Add "memdisk"|'m' option.
33917 (main): Parse --memdisk|-m option, and pass user-provided path as
33918 parameter to generate_image().
33919
3d7f54c9 339202008-01-20 Robert Millan <rmh@aybabtu.com>
33921
33922 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33923 grub_dprintf() calls from here ...
33924 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33925
0bf74728 339262008-01-20 Robert Millan <rmh@aybabtu.com>
33927
33928 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33929
33930 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33931 declaration.
33932 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33933 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33934 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 33935 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 33936 property).
33937 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33938 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33939
33bf70a7 339402008-01-19 Robert Millan <rmh@aybabtu.com>
33941
fe6b695a 33942 Get rid of confusing function (superseded by
33bf70a7 33943 `grub_ieee1275_get_integer_property')
33944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33945 prototype.
33946 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33947 function.
33948 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33949 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 33950 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 33951
e2da7d26 339522008-01-19 Robert Millan <rmh@aybabtu.com>
33953
33954 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33955 command after "shut-down", since implementations differ on which
33956 the command for halt is.
33957
59f1fd8d 339582008-01-19 Robert Millan <rmh@aybabtu.com>
33959
33960 * include/grub/i386/linuxbios/console.h: Add header protection.
33961 (grub_keyboard_controller_init): New function prototype.
33962 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33963 (KEYBOARD_COMMAND_READ): Likewise.
33964 (KEYBOARD_COMMAND_WRITE): Likewise.
33965 (KEYBOARD_SCANCODE_SET1): Likewise.
33966 (grub_keyboard_controller_write): New function.
33967 (grub_keyboard_controller_read): Likewise.
33968 (grub_keyboard_controller_init): Likewise.
33969
33970 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33971 (grub_console_init): On coreboot/LinuxBIOS, call
33972 grub_keyboard_controller_init().
33973
5f5a7c15 339742008-01-19 Robert Millan <rmh@aybabtu.com>
33975
33976 PowerPC changes provided by Pavel Roskin.
33977
33978 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33979 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33980 don't rely on cmain() doing it.
33981 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33982 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33983
1210e168 339842008-01-16 Robert Millan <rmh@aybabtu.com>
33985
33986 * include/grub/i386/linuxbios/memory.h
33987 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
33988 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
33989 receive `table_header' as argument. Instead, probe for it in the
33990 known memory ranges where it can be present.
33991 (grub_available_iterate): Do not pass a fixed `table_header' address
33992 to grub_linuxbios_table_iterate().
33993
3d04eab8 339942008-01-15 Robert Millan <rmh@aybabtu.com>
33995
33996 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
33997 * conf/i386-ieee1275.rmk: New file.
33998 * include/grub/i386/ieee1275/console.h: Likewise.
33999 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
34000 * include/grub/i386/ieee1275/kernel.h: Likewise.
34001 * include/grub/i386/ieee1275/time.h: Likewise.
34002 * kern/i386/ieee1275/init.c: Likewise.
34003 * kern/i386/ieee1275/startup.S: Likewise.
34004
d1bc1b73 340052008-01-15 Robert Millan <rmh@aybabtu.com>
34006
34007 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
34008 when pointers are 32-bit (but still do set it to one when they are
34009 64-bit).
34010
66a65807 340112008-01-15 Robert Millan <rmh@aybabtu.com>
34012
34013 * include/grub/ieee1275/ieee1275.h
34014 (grub_ieee1275_get_integer_property): New function prototype.
34015
34016 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
34017 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 34018 grub_ieee1275_get_property() to handle endianness.
66a65807 34019
34020 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
34021 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 34022 where appropriate.
66a65807 34023 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
34024 (grub_map): Likewise.
34025 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
34026
a83ccafd 340272008-01-15 Bean <bean123ch@gmail.com>
34028
34029 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
34030 (grub_script_execute_cmdline): Reset grub_errno.
34031
34032 * normal/main.c (read_config_file): Reset grub_errno.
34033
34034 * normal/parse.y (script_init): New.
34035 (script): Move function and menuentry here.
34036 (delimiter): New.
34037 (command): Add delimiter at the end of command.
34038 (commands): Adjust to match the new command.
34039 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 34040 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 34041 (if): Use the new commands.
34042
34043 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
34044
df6ecfc6 340452008-01-15 Robert Millan <rmh@aybabtu.com>
34046
34047 * normal/menu.c (run_menu): Move timeout message from here ...
34048 (print_timeout): ... to here.
34049 (run_menu): Use print_timeout() once during initial draw to print
34050 the whole message, and again in every clock tick to update only
34051 the number of seconds.
34052
87ae25eb 340532008-01-15 Robert Millan <rmh@aybabtu.com>
34054
34055 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
34056 actual size of `available' from grub_ieee1275_get_property(), and
34057 restrict parsing to that bound.
34058
47bf09a4 340592008-01-15 Christian Franke <franke@computer.org>
34060
34061 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
34062 (argp_program_version): Remove variable.
34063 (argp_program_bug_address): Likewise.
34064 (options): Convert from struct argp_option to struct option.
34065 (struct arguments): Remove.
34066 (parse_opt): Remove.
34067 (usage): New function.
34068 (main): Replace struct args members by simple variables.
34069 Replace argp_parse() by getopt_long().
34070 Add switch to evaluate options.
34071 Add missing "(...)" around root_dev in prefix string.
34072
c86f1469 340732008-01-14 Robert Millan <rmh@aybabtu.com>
34074
34075 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
34076 for grub_ieee1275_exit(), in order to improve portability.
34077
e622c559 340782008-01-14 Robert Millan <rmh@aybabtu.com>
34079
34080 * util/grub.d/10_linux.in (prefix): Define.
34081 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
34082
44cb1ec8 340832008-01-13 Pavel Roskin <proski@gnu.org>
34084
34085 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
34086 grub_errno if no errors have been detected.
34087
1eb8c802 340882008-01-12 Robert Millan <rmh@aybabtu.com>
34089
34090 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
34091 (grub_util_get_dev_abstraction): New function prototype.
34092
34093 * util/getroot.c: Include `<grub/util/getroot.h>'
34094 (grub_util_get_grub_dev): Move detection of abstraction type to ...
34095 (grub_util_get_dev_abstraction): ... here (new function).
34096
34097 * util/grub-probe.c: Convert PRINT_* to an enum. Add
34098 `PRINT_ABSTRACTION'.
34099 (probe): Probe for abstraction type when requested.
34100 (main): Understand `--target=abstraction'.
34101
34102 * util/i386/efi/grub-install.in: Add abstraction module to core
34103 image when it is found to be necessary.
34104 * util/i386/pc/grub-install.in: Likewise.
34105 * util/powerpc/ieee1275/grub-install.in: Likewise.
34106
34107 * util/update-grub_lib.in (font_path): Return system path without
34108 converting to GRUB path.
34109 * util/update-grub.in: Convert system path returned by font_path()
34110 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34111 abstraction module is needed for loading fonts (if any). Export
34112 that as `GRUB_PRELOAD_MODULES'.
34113 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34114 insmod commands).
34115
52bd3de9 341162008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34117
34118 Remove some unused code from reiserfs.
f19dbdb7 34119
52bd3de9 34120 * fs/reiserfs.c (struct grub_reiserfs_key)
34121 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34122 (struct grub_reiserfs_node_body): Removed.
34123 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34124 Likewise.
34125 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34126 Likewise.
34127 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34128 Likewise.
34129 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34130 Likewise.
34131 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34132 Likewise.
34133 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34134 Likewise.
34135 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34136 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34137 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34138
2f80039d 341392008-01-10 Robert Millan <rmh@aybabtu.com>
34140
34141 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34142 Determines if a file is garbage left by packaging systems, etc.
34143 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34144 for processing /etc/grub.d scripts.
34145 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34146 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34147 as a condition for processing Linux images.
34148
87888032 341492008-01-10 Pavel Roskin <proski@gnu.org>
34150
34151 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34152 to compile reiserfs.c on PowerPC.
34153
7e54fced 341542008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 34155
34156 * kern/device.c (grub_device_iterate): Do not abort device iteration
34157 when one of the devices cannot be opened.
34158 * kern/disk.c (grub_disk_open): Do not account previous failures of
34159 unrelated functions when grub_errno is checked for.
34160
5aa541e6 341612008-01-08 Robert Millan <rmh@aybabtu.com>
34162
34163 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34164 `! grub_linux_is_bzimage', change order of address comparison to make
34165 it more intuitive, and improve "too big zImage" error message.
34166
7076340d 341672008-01-08 Robert Millan <rmh@aybabtu.com>
34168
34169 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34170 `$(update-grub_DATA)'.
34171 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34172 targets.
34173
9ca70333 341742008-01-07 Robert Millan <rmh@aybabtu.com>
34175
34176 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34177 which instruction is modified by grub-setup during installation
34178 (since it wasn't obvious by only looking at this file).
34179
38ccf575 341802008-01-07 Robert Millan <rmh@aybabtu.com>
34181
34182 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34183 listing actual TODO items.
34184
f5db4291 341852008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34186
868967cf 34187 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34188 correctly.
34189 (grub_reiserfs_get_key_offset): Likewise.
34190 (grub_reiserfs_set_key_offset): Likewise.
34191 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 34192 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 34193
34194 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34195 better to remove the bitfield version completely.
f19dbdb7 34196
868967cf 341972008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34198
f5db4291 34199 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34200 allocated from the heap, due to the fshelp implementation.
34201 (grub_reiserfs_dir): Free NODE, due to the same reason.
34202
492e6d9d 342032008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34204
34205 Mostly from Vincent Pelletier:
f19dbdb7 34206
492e6d9d 34207 * fs/reiserfs.c: New file.
f19dbdb7 34208
492e6d9d 34209 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34210 (reiserfs_mod_SOURCES): New variable.
34211 (reiserfs_mod_CFLAGS): Likewise.
34212 (reiserfs_mod_LDFLAGS): Likewise.
34213
34214 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34215 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34216 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34217 normal/color.c.
34218
9ce3e7c1 342192008-01-06 Robert Millan <rmh@aybabtu.com>
34220
34221 * normal/color.c: Remove `<grub/env.h>'.
34222
f3b58148 342232008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34224
34225 * include/grub/normal.h: Include <grub/env.h>.
34226
7ac3bcfa 342272008-01-05 Robert Millan <rmh@aybabtu.com>
34228
34229 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34230 usage example with `(hd0,1)'.
fb358190 34231 Reported by Samuel Thibault.
7ac3bcfa 34232
c8ee99d7 342332008-01-05 Robert Millan <rmh@aybabtu.com>
34234
34235 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34236 (grub_linux_boot_zimage): Rename to ...
34237 (grub_linux_boot): ... this.
34238 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34239 (grub_linux_boot_zimage): Conditionalize zImage copy.
34240
34241 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34242 (grub_linux_boot_bzimage): Remove prototype.
34243 (grub_linux_boot_zimage): Rename to ...
34244 (grub_linux_boot): ... this.
34245
34246 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34247 (grub_linux_boot): Remove function.
34248
0ece25b1 342492008-01-05 Robert Millan <rmh@aybabtu.com>
34250
34251 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34252 (grub_env_write_color_highlight): Likewise.
34253 (grub_wait_after_message): Likewise.
34254
34255 * normal/color.c: New file.
34256
34257 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34258 (normal_mod_DEPENDENCIES): Likewise.
34259
34260 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34261 (normal_mod_DEPENDENCIES): Likewise.
34262
34263 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34264 (normal_mod_DEPENDENCIES): Likewise.
34265
34266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34267 (normal_mod_DEPENDENCIES): Likewise.
34268
34269 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34270 for waiting after a message is printed.
34271 * normal/main.c (read_config_file): Likewise.
34272 (grub_normal_init): Register grub_env_write_color_normal() and
34273 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34274 `color_highlight' variables as global.
34275
34276 * normal/menu.c (grub_wait_after_message): New function.
34277 (grub_color_menu_normal): New variable. Replaces ...
34278 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34279 (grub_color_menu_highlight): New variable. Replaces ...
34280 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34281 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34282 `GRUB_TERM_COLOR_STANDARD'.
34283 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34284 `normal_code' and `highlight_code' to `old_color_normal' and
34285 `old_color_highlight', respectively.
34286 (grub_menu_init_page): Update colors when drawing the menu, based on
34287 `menu_color_normal' and `menu_color_highlight' variables.
34288 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34289 a message is printed.
34290
182dd4e5 342912008-01-05 Robert Millan <rmh@aybabtu.com>
34292
34293 * kern/env.c (grub_env_context_open): Propagate hooks for global
34294 variables to new context.
34295
34296 * kern/main.c (grub_set_root_dev): Export `root' variable.
34297
ddf8f6ad 342982008-01-05 Robert Millan <rmh@aybabtu.com>
34299
34300 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 34301 discs unconditionally, since udev and others have options to provide
ddf8f6ad 34302 them.
34303
d8b43d9b 343042008-01-05 Robert Millan <rmh@aybabtu.com>
34305
34306 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34307
2bff2de3 343082008-01-04 Christian Franke <franke@computer.org>
34309
34310 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34311 of eisa_mmap.
34312
97eab917 343132008-01-03 Pavel Roskin <proski@gnu.org>
34314
34315 * kern/i386/linuxbios/init.c: Put "void" to all function
34316 declarations with no arguments.
34317 * kern/powerpc/ieee1275/init.c: Likewise.
34318 * term/i386/pc/at_keyboard.c: Likewise.
34319 * term/i386/pc/vga_text.c: Likewise.
34320 * util/grub-mkdevicemap.c: Likewise.
34321
b9416d00 343222008-01-02 Robert Millan <rmh@aybabtu.com>
34323
34324 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34325 message when loaded image is out of bounds.
34326 (grub_multiboot_load_elf64): Likewise.
34327
92695df9 343282008-01-02 Pavel Roskin <proski@gnu.org>
34329
34330 * util/grub.d/10_linux.in: Try version without ".old" when
34331 looking for initrd. It's better to use initrd from the newer
34332 kernel of the same version than no initrd at all.
34333
d98d9cad 343342008-01-01 Robert Millan <rmh@aybabtu.com>
34335
34336 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34337
dbfdce36 343382008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34339
f19dbdb7 34340 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 34341 grub_video_get_active_render_target.
34342 (grub_video_adapter): Added unmap_color and get_active_render_target.
34343
f19dbdb7 34344 * video/video.c: Added grub_video_unmap_color and
dbfdce36 34345 grub_video_get_active_render_target.
34346 (grub_video_get_info): Changed method to accept NULL pointer as an
34347 argument to allow detection of active video adapter.
34348
34349 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34350 grub_video_vbe_unmap_color_int.
34351 Added grub_video_vbe_unmap_color and
34352 grub_video_vbe_get_active_render_target.
34353 (grub_video_vbe_adapter): Added unmap_color and
34354 get_active_render_target.
34355
f19dbdb7 34356 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 34357 with grub_video_vbe_unmap_color_int.
34358
34359 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34360 (DEFAULT_NORMAL_COLOR): Likewise.
34361 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34362 (DEFAULT_FG_COLOR): Removed.
34363 (DEFAULT_BG_COLOR): Likewise.
34364 (DEFAULT_CURSOR_COLOR): Changed value.
34365 (grub_virtual_screen): Added standard_color_setting,
34366 normal_color_setting, highlight_color_setting and term_color.
34367 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34368 (bitmap_width): Added.
34369 (bitmap_height): Likewise.
34370 (bitmap): Likewise.
34371 (set_term_color): Likewise.
34372 (grub_virtual_screen_setup): Changed to use new terminal coloring
34373 settings.
34374 (grub_gfxterm_init): Added init for bitmap.
34375 (grub_gfxterm_fini): Added destroy for bitmap.
34376 (redraw_screen_rect): Updated to use background bitmap and new
34377 terminal coloring.
34378 (scroll_up): Added optimization for case when there is no bitmap.
34379 (grub_gfxterm_cls): Fixed to use correct background color.
34380 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34381 coloring.
34382 (grub_virtual_screen_setcolor): Likewise.
34383 (grub_virtual_screen_getcolor): Added.
34384 (grub_gfxterm_background_image_cmd): Likewise.
34385 (grub_video_term): Added setcolor and getcolor.
34386 (MOD_INIT): Added registration of background_image command.
34387 (MOD_TERM): Added unregistration for background_image command.
34388
c3c20931 343892007-12-30 Pavel Roskin <proski@gnu.org>
34390
34391 * loader/multiboot_loader.c: Fix multiboot command
34392 unregistration. Fix all typos in the word "multiboot".
34393
df266716 343942007-12-29 Pavel Roskin <proski@gnu.org>
94239199 34395
34396 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34397 support for initrd names used in Fedora.
34398
fc6e896c 343992007-12-26 Bean <bean123ch@gmail.com>
34400
34401 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34402 (cpio_mod_SOURCES): New variable.
34403 (cpio_mod_CFLAGS): Likewise.
34404 (cpio_mod_LDFLAGS): Likewise.
34405
34406 * fs/cpio.c: New file.
34407
34408 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34409
34410 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34411
34412 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34413
34414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34415
533110ad 344162007-12-25 Robert Millan <rmh@aybabtu.com>
34417
34418 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34419 (grub_getcolor): New function.
34420
34421 * kern/term.c (grub_getcolor): New function.
34422 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34423 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34424 (print_entry): Set normal and highlight colors to
34425 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34426 respectively, before printing and restore them to old
34427 values afterwards.
34428 (grub_menu_init_page): Likewise. Fill an additional colored space
34429 that would otherwise be left blank.
34430
34431 * term/efi/console.c (grub_console_getcolor): New function.
34432 (struct grub_console_term.getcolor): New variable.
34433 * term/i386/pc/console.c (grub_console_getcolor): New function.
34434 (struct grub_console_term.getcolor): New variable.
34435 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34436 (struct grub_console_term.getcolor): New variable.
34437
34438 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34439 (struct grub_console_term.setcolor): Remove variable.
34440 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34441 (struct grub_console_term.setcolor): Remove variable.
34442 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34443 (struct grub_console_term.setcolor): Remove variable.
34444 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34445 (struct grub_console_term.setcolor): Remove variable.
34446
4931827f 344472007-12-25 Robert Millan <rmh@aybabtu.com>
34448
34449 * configure.ac: Search for possible unifont.hex locations, and
34450 define UNIFONT_HEX if found.
34451
34452 * Makefile.in (UNIFONT_HEX): Define variable.
34453 (DATA): Rename to ...
34454 (PKGLIB): ... this. Update all users.
34455 (PKGDATA): New variable.
34456 (pkgdata_IMAGES): Rename to ...
34457 (pkglib_IMAGES): ... this. Update all users.
34458 (pkgdata_MODULES): Rename to ...
34459 (pkglib_MODULES): ... this. Update all users.
34460 (pkgdata_PROGRAMS): Rename to ...
34461 (pkglib_PROGRAMS): ... this. Update all users.
34462 (pkgdata_DATA): Rename to ...
34463 (pkglib_DATA): ... this. Update all users.
34464 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34465 (unicode.pff, ascii.pff): New rules.
34466 (all-local): Add `$(PKGDATA)' dependency.
34467 (install-local): Process `$(PKGDATA)'.
34468
34469 * util/update-grub_lib.in (font_path): Search for *.pff files in
34470 a few more locations, including `${pkgdata}'.
34471
57e57e31 344722007-12-23 Robert Millan <rmh@aybabtu.com>
34473
34474 Patch from Bean <bean123ch@gmail.com>:
34475 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34476 `size'.
34477
4bc72aa9 344782007-12-21 Bean <bean123ch@gmail.com>
34479
34480 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34481 (ntfscomp_mod_SOURCES): New variable.
34482 (ntfscomp_mod_CFLAGS): Likewise.
34483 (ntfscomp_mod_LDFLAGS): Likewise.
34484
34485 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34486 (grub_probe_SOURCES): Likewise.
34487 (grub_emu_SOURCES): Likewise.
34488
34489 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34490 (grub_emu_SOURCES): Likewise.
34491
34492 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34493 (grub_emu_SOURCES): Likewise.
34494
34495 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34496 (grub_emu_SOURCES): Likewise.
34497
34498 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34499 (read_run_list): Renamed to grub_ntfs_read_run_list.
34500 (decomp_nextvcn): Moved to ntfscomp.c.
34501 (decomp_getch): Likewise.
34502 (decomp_get16): Likewise.
34503 (decomp_block): Likewise.
34504 (read_block): Likewise.
34505 (read_data): Partially moved to ntfscomp.c.
34506 (fixup): Change unsigned to grub_uint16_t.
34507 (read_mft): Change unsigned long to grub_uint32_t.
34508 (read_attr): Likewise.
34509 (read_data): Likewise.
34510 (read_run_data): Likewise.
34511 (read_run_list): Likewise.
34512 (read_mft): Likewise.
34513
34514 * fs/ntfscomp.c: New file.
34515
34516 * include/grub/ntfs.h: New file.
34517
af680a87 345182007-12-16 Robert Millan <rmh@aybabtu.com>
34519
34520 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34521 IDE disk check, since Linux is known to support 20 IDE disks.
34522 Reported by Colin Watson.
34523
84be7599 345242007-12-15 Bean <bean123ch@gmail.com>
34525
34526 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34527 (lnxboot_img_SOURCES): New variable.
34528 (lnxboot_img_ASFLAGS): Likewise.
34529 (lnxboot_img_LDFLAGS): Likewise.
34530
34531 * boot/i386/pc/lnxboot.S: New file.
34532
6af9db01 345332007-11-24 Pavel Roskin <proski@gnu.org>
34534
34535 * configure.ac: Test if '--build-id=none' is supported by the
34536 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34537 objcopy to generate incorrect binary files (binutils
34538 2.17.50.0.18-1 as shipped by Fedora 8).
34539 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34540 linking, so that build ID doesn't break the test.
34541
7361cfe6 345422007-11-24 Pavel Roskin <proski@gnu.org>
34543
34544 * include/grub/i386/time.h: use "void" in the argument list
34545 of grub_cpu_idle().
34546 * include/grub/powerpc/time.h: Likewise.
34547 * include/grub/sparc64/time.h: Likewise.
34548
1593e10c 345492007-11-18 Christian Franke <franke@computer.org>
34550
34551 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34552 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34553 This fixes the problem that function keys did not work in grub-emu.
34554
3b8db1a8 345552007-11-18 Christian Franke <franke@computer.org>
34556
34557 * disk/host.c (grub_host_open): Remove attribute unused from
34558 name parameter. Add check for "host". This fixes the problem
34559 that grub-emu does not find partitions.
34560
2e29408d 345612007-11-18 Christian Franke <franke@computer.org>
34562
34563 * util/hostfs.c (is_dir): New function.
34564 (grub_hostfs_dir): Handle missing dirent.d_type case.
34565 (grub_hostfs_read): Add missing fseek().
34566 (grub_hostfs_label): Clear label pointer. This fixes a crash
34567 of grub-emu on "ls (host)".
34568
398cd047 345692007-11-18 Christian Franke <franke@computer.org>
34570
34571 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34572 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34573 to 64 bit boundary by default.
34574
c405c391 345752007-11-18 Bean <bean123ch@gmail.com>
34576
34577 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34578 (hexdump_mod_SOURCES): New variable.
34579 (hexdump_mod_CFLAGS): Likewise.
34580 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 34581
c405c391 34582 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34583
34584 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34585
34586 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34587
34588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34589
34590 * include/grub/hexdump.h: New file.
34591
34592 * commands/hexdump.c: New file.
34593
5cced7fd 345942007-11-10 Robert Millan <rmh@aybabtu.com>
34595
34596 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34597 in grub_outb() calls.
34598 (beep_on): Likewise.
34599
8b714eb0 346002007-11-10 Christian Franke <franke@computer.org>
34601
34602 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34603 (grub_menu_run): Likewise.
34604
ce0f1839 346052007-11-10 Robert Millan <rmh@aybabtu.com>
34606
34607 * include/grub/i386/efi/machine.h: New file.
34608 * include/grub/i386/linuxbios/machine.h: Likewise.
34609 * include/grub/i386/pc/machine.h: Likewise.
34610 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34611 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34612
34613 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34614 (serial_hw_io_addr): New variable.
34615 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34616 instead of `(unsigned short *) 0x400'.
34617
270c237d 346182007-11-10 Bean <bean123ch@gmail.com>
34619
34620 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34621
a87783bf 346222007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34623
34624 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34625 (vga_mod_SOURCES): Added.
34626 (vga_mod_CFLAGS): Likewise.
34627 (vga_mod_LDFLAGS): Likewise.
34628
34629 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34630 grub_outb() calls.
34631 (set_map_mask): Likewise.
34632 (set_read_map): Likewise.
34633 (set_read_address): Likewise.
34634 (vga_font): Removed variable.
34635 (get_vga_glyph): Removed function.
34636 (invalidate_char): Likewise.
34637 (write_char): Changed to use grub_font_get_glyph() for font
34638 information.
34639 (grub_vga_putchar): Likewise.
34640 (grub_vga_getcharwidth): Likewise.
34641
6433b448 346422007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34643
34644 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34645 flags.
34646 (pxeboot_img_LDFLAGS): Likewise.
34647 (diskboot_img_LDFLAGS): Likewise.
34648 (kernel_img_LDFLAGS): Likewise.
34649
49178511 346502007-11-06 Robert Millan <rmh@aybabtu.com>
34651
34652 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34653 in grub_outb() calls.
34654 (serial_hw_init): Likewise.
34655
53b052de 346562007-11-05 Robert Millan <rmh@aybabtu.com>
34657
34658 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34659 spaces. Skip non-regular files.
34660
5ab33bba 346612007-11-05 Robert Millan <rmh@aybabtu.com>
34662
34663 * kern/disk.c (grub_disk_firmware_fini)
34664 (grub_disk_firmware_is_tainted): New variables.
34665
34666 * include/grub/disk.h (grub_disk_firmware_fini)
34667 (grub_disk_firmware_is_tainted): Likewise.
34668
34669 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34670 (grub_disk_biosdisk_fini): ... to here.
34671 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34672 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34673 is set. Register grub_disk_biosdisk_fini() in
34674 `grub_disk_firmware_fini'.
34675
34676 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34677 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34678 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34679 to finish existing firmware disk interface.
34680
34681 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34682 (ata_mod_SOURCES): New variable.
34683 (ata_mod_CFLAGS): Likewise.
34684 (ata_mod_LDFLAGS): Likewise.
34685
0149ab7c 346862007-11-05 Robert Millan <rmh@aybabtu.com>
34687
34688 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34689 (grub_ata_wait): Reimplement using grub_millisleep().
34690
34691 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34692 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34693
be7ac41e 346942007-11-03 Marco Gerards <marco@gnu.org>
34695
34696 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34697 (CRTC_ADDR_PORT): New macro.
34698 (CRTC_DATA_PORT): Likewise.
34699 (CRTC_CURSOR): Likewise.
34700 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34701 (CRTC_CURSOR_ADDR_LOW): Likewise.
34702 (update_cursor): New function.
34703 (grub_console_real_putchar): Call `update_cursor'.
34704 (grub_console_gotoxy): Likewise.
34705 (grub_console_cls): Set the default color when clearing the
34706 screen.
34707 (grub_console_setcursor): Implemented.
34708
bb06ab2e 347092007-11-03 Marco Gerards <marco@gnu.org>
34710
34711 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34712 become activate.
34713 (grub_ata_pio_write): Likewise.
34714
34715 (grub_atapi_identify): Wait after issuing an ATA command.
34716 (grub_atapi_packet): Likewise.
34717 (grub_ata_identify): Likewise.
34718 (grub_ata_readwrite): Likewise.
34719
cf8f780b 347202007-11-03 Marco Gerards <marco@gnu.org>
34721
34722 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34723 (grub_ata_pio_write): Likewise.
34724 (grub_ata_readwrite): Use `grub_error', instead of
34725 returning `grub_errno'.
34726
ed649e54 347272007-11-03 Marco Gerards <marco@gnu.org>
34728
34729 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34730 grub_ata_pio_write once for every single sector, instead of for
34731 multiple sectors.
34732
ca25d8f0 347332007-10-31 Robert Millan <rmh@aybabtu.com>
34734
34735 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34736
34737 * conf/i386-linuxbios.rmk: New file.
34738
34739 * kern/i386/pc/hardware.c: Likewise.
34740 * term/i386/pc/at_keyboard.c: Likewise.
34741 * term/i386/pc/vga_text.c: Likewise.
34742
34743 * include/grub/i386/linuxbios/boot.h: Likewise.
34744 * include/grub/i386/linuxbios/console.h: Likewise.
34745 * include/grub/i386/linuxbios/init.h: Likewise.
34746 * include/grub/i386/linuxbios/kernel.h: Likewise.
34747 * include/grub/i386/linuxbios/loader.h: Likewise.
34748 * include/grub/i386/linuxbios/memory.h: Likewise.
34749 * include/grub/i386/linuxbios/serial.h: Likewise.
34750 * include/grub/i386/linuxbios/time.h: Likewise.
34751
34752 * kern/i386/linuxbios/init.c: Likewise.
34753 * kern/i386/linuxbios/startup.S: Likewise.
34754 * kern/i386/linuxbios/table.c: Likewise.
34755
e911ecc1 347562007-10-31 Marco Gerards <marco@gnu.org>
34757
34758 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34759 (ata_mod_SOURCES): New variable.
34760 (ata_mod_CFLAGS): Likewise.
34761 (ata_mod_LDFLAGS): Likewise.
34762
34763 * disk/ata.c: New file.
34764
34765 * include/grub/disk.h (grub_disk_dev_id): Add
34766 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 34767
7f66d0e0 347682007-10-31 Robert Millan <rmh@aybabtu.com>
34769
34770 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34771 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34772
34773 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34774 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34775
34776 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34777 `<grub/types.h>'.
34778
34779 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34780
5cd7dd46 347812007-10-27 Robert Millan <rmh@aybabtu.com>
34782
3236ca65 34783 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 34784
2ebfc90f 347852007-10-22 Robert Millan <rmh@aybabtu.com>
34786
34787 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34788 `"../realmode.S"'.
34789 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34790
73fcb0f3 347912007-10-22 Robert Millan <rmh@aybabtu.com>
34792
34793 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34794 (pkgdata_MODULES): Add `biosdisk.mod'.
34795 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34796 variables.
34797
34798 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34799 (grub_biosdisk_init): Replace with ...
34800 (GRUB_MOD_INIT(biosdisk)): ... this.
34801 (grub_biosdisk_fini): Replace with ...
34802 (GRUB_MOD_FINI(biosdisk)): ... this.
34803
34804 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34805 (grub_machine_init): Remove call to grub_biosdisk_init().
34806 (grub_machine_fini): Remove call to grub_machine_fini().
34807
34808 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34809
3381d274 348102007-10-22 Robert Millan <rmh@aybabtu.com>
34811
34812 * include/grub/time.h: New file.
34813 * include/grub/i386/time.h: Likewise.
34814 * include/grub/powerpc/time.h: Likewise.
34815 * include/grub/sparc64/time.h: Likewise.
34816
34817 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34818 instances to ...
34819 (KERNEL_MACHINE_TIME_HEADER): ... this.
34820 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34821 instances to ...
34822 (KERNEL_MACHINE_TIME_HEADER): ... this.
34823 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34824 instances to ...
34825 (KERNEL_MACHINE_TIME_HEADER): ... this.
34826
34827 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34828 (grub_millisleep): New function.
34829 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34830 (grub_millisleep): New function.
34831 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34832 Remove `grub/machine/time.h' include.
34833 (grub_millisleep): New function.
34834 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34835 Remove `grub/machine/time.h' include.
34836 (grub_millisleep): New function.
34837
34838 * include/grub/misc.h (grub_div_roundup): New function.
34839
34840 * kern/misc.c: Include `<grub/time.h>'.
34841 (grub_millisleep_generic): New function.
34842
34843 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34844 Add `time.h'.
34845 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34846 Add `time.h'.
34847 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34848 `machine/time.h'. Add `time.h'.
34849 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34850
a39a0312 348512007-10-21 Robert Millan <rmh@aybabtu.com>
34852
34853 * include/grub/misc.h (grub_max): New function.
34854
2aad70e2 348552007-10-21 Robert Millan <rmh@aybabtu.com>
34856
34857 * util/misc.c (grub_util_info): Call fflush() before returning.
34858
54b71c4b 348592007-10-20 Robert Millan <rmh@aybabtu.com>
34860
34861 * genmk.rb (Image): Copy `extra_flags' from here ...
34862 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34863
34864 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34865 to `argc' and `args' arguments.
34866
a979f513 348672007-10-17 Robert Millan <rmh@aybabtu.com>
34868
34869 * kern/i386/loader.S: New file.
34870
34871 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34872 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34873 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34874 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34875 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34876 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34877 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34878 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34879 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34880 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34881 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34882 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34883 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34884 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34885
34886 * kern/i386/realmode.S: New file.
34887
34888 * kern/i386/pc/startup.S (protstack): Moved from here ...
34889 * kern/i386/realmode.S (protstack)... to here.
34890 * kern/i386/pc/startup.S (gdt): Moved from here ...
34891 * kern/i386/realmode.S (gdt)... to here.
34892 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34893 * kern/i386/realmode.S (prot_to_real)... to here.
34894
34895 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34896 `kern/i386/realmode.S'.
34897
825fc8fd 348982007-10-17 Robert Millan <rmh@aybabtu.com>
34899
34900 * include/grub/i386/loader.h: New file.
34901
34902 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34903 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34904 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34905 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34906 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34907 * include/grub/i386/loader.h (grub_linux_prot_size)
34908 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34909 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34910 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34911 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34912
34913 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34914
e179b2f4 349152007-10-15 Robert Millan <rmh@aybabtu.com>
34916
34917 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34918 filesystem when dev->disk is unset.
34919 Do probe for filesystem even when dev->disk->has_partitions is set.
34920 In case a filesystem is found, always report it.
34921 In case it isn't, if dev->disk->has_partitions is set, report that
34922 a partition table was found instead of reporting that no filesystem
34923 could be identified.
34924
5db82af6 349252007-10-12 Robert Millan <rmh@aybabtu.com>
34926
34927 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34928 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34929
68f6ac74 34930 * include/grub/types.h (grub_host_to_target16): New macro.
34931 (grub_host_to_target32): Likewise.
34932 (grub_host_to_target64): Likewise.
34933 (grub_target_to_host16): Likewise.
34934 (grub_target_to_host32): Likewise.
34935 (grub_target_to_host64): Likewise.
5db82af6 34936
34937 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34938 Renamed from to ...
34939 (GRUB_MOD_ALIGN): ...this. Update all users.
34940
68f6ac74 34941 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34942 grub_host_to_target32.
34943 Replace grub_be_to_cpu32 with grub_target_to_host32.
34944 (load_modules): Likewise.
34945 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34946 Replace grub_be_to_cpu32 with grub_target_to_host32.
34947 Replace grub_cpu_to_be16 with grub_host_to_target16.
34948 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 34949
3cf497cc 349502007-10-12 Robert Millan <rmh@aybabtu.com>
34951
34952 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34953 * util/elf/grub-mkimage.c: ... here.
34954
34955 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34956 `util/powerpc/ieee1275/grub-mkimage.c'.
34957
c8cc3692 349582007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 34959
c8cc3692 34960 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34961 and make it easier to figure out.
34962 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34963 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34964 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34965 leave us with less than HEAP_MIN_SIZE total heap.
34966 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 34967
5c58b791 349682007-10-03 Robert Millan <rmh@aybabtu.com>
34969
34970 * include/grub/i386/io.h: New file.
34971 * commands/i386/pc/play.c (inb): Removed.
34972 (outb): Removed.
34973 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34974 with grub_outb().
afcd2ef8 34975 * term/i386/pc/serial.c (inb): Removed.
34976 (outb): Removed.
34977 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34978 with grub_outb().
34979 * term/i386/pc/vga.c (inb): Removed.
34980 (outb): Removed.
34981 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34982 with grub_outb().
5c58b791 34983
1a477ed6 349842007-10-02 Robert Millan <rmh@aybabtu.com>
34985
34986 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
34987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34988 Reported by Marcin Kurek.
34989
6b5d80fa 349902007-09-07 Robert Millan <rmh@aybabtu.com>
34991
34992 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
34993 SmartFirmware version updates (as released by Sven Luther), and avoid
34994 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
34995 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
34996 known broken.
34997
5618afbf 349982007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34999
35000 From Hitoshi Ozeki:
35001 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
35002 when merging two regions.
35003
6139dcd9 350042007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35005
508e39ee 35006 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
35007 * normal/completion.c (grub_normal_do_completion): Likewise.
35008 Reported by Hitoshi Ozeki.
35009
350102007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35011
6139dcd9 35012 Do not use devices at boot in chainloading.
f19dbdb7 35013
6139dcd9 35014 * loader/i386/pc/chainloader.c (boot_drive): New variable.
35015 (boot_part_addr): Likewise.
35016 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
35017 with BOOT_DRIVE and BOOT_PART_ADDR.
35018 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
35019 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
35020
38da6516 350212007-08-29 Robert Millan <rmh@aybabtu.com>
35022
35023 Patch from Simon Peter <dn.tlp@gmx.net>:
35024 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
35025 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
35026 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
35027 util/i386/pc/grub-setup.c_DEPENDENCIES.
35028 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
35029 util/grub-probe.c_DEPENDENCIES.
35030 * conf/powerpc-ieee1275.rmk: Likewise.
35031
29d0928c 350322007-08-28 Robert Millan <rmh@aybabtu.com>
35033
35034 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
35035 to tell grub-mkdevicemap how to name devices.
35036 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
35037 feature).
35038
35039 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
35040 util/i386/get_disk_name.c.
35041 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
35042 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
35043 util/ieee1275/get_disk_name.c.
35044
35045 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
35046
35047 * DISTLIST: Add util/i386/get_disk_name.c and
35048 util/ieee1275/get_disk_name.c.
35049
35050 * util/grub-mkdevicemap.c: Replace device naming logic with
35051 grub_util_get_disk_name() calls.
35052
5a0d3cca 350532007-08-20 Robert Millan <rmh@aybabtu.com>
35054
35055 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
35056 (so that it works for both plural and singular quantities).
35057
8b72db2f 350582007-08-05 Robert Millan <rmh@aybabtu.com>
35059
35060 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
35061 so that [xz] isn't taken into account when determining order.
35062
352466bf 350632007-08-02 Marco Gerards <marco@gnu.org>
35064
35065 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
35066 `include/multiboot2.h', `include/grub/elfload.h',
35067 `include/multiboot.h', `include/grub/multiboot.h',
35068 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
35069 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
35070 `kern/elf.c', `loader/multiboot_loader.c',
35071 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
35072 `loader/i386/pc/multiboot2.c',
35073 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
35074 `util/i386/pc/grub-mkrescue.in'. Remove
35075 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
35076 `include/grub/i386/pc/util/biosdisk.h' and
35077 `include/grub/powerpc/ieee1275/multiboot.h'.
35078
8f096014 350792007-08-02 Bean <bean123ch@gmail.com>
35080
35081 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
35082 (ntfs_mod_SOURCES): New variable.
35083 (ntfs_mod_CFLAGS): Likewise.
35084 (ntfs_mod_LDFLAGS): Likewise.
35085
35086 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
35087 (grub_probe_SOURCES): Likewise.
35088 (grub_emu_SOURCES): Likewise.
35089
35090 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35091 (grub_emu_SOURCES): Likewise.
35092
35093 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35094 (grub_emu_SOURCES): Likewise.
f19dbdb7 35095
8f096014 35096 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
35097
35098 * fs/ntfs.c: New file.
35099
9959f7db 351002007-08-02 Bean <bean123ch@gmail.com>
35101
35102 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
35103
35104 * file.h (grub_file): Likewise.
35105
35106 * fshelp.h (grub_fshelp_read_file): Likewise.
35107
35108 * util/i386/pc/grub-setup.c (setup): Likewise.
35109 (save_first_sector): Likewise.
35110 (save_blocklists): Likewise.
f19dbdb7 35111
9959f7db 35112 * fs/affs.c (grub_affs_read_file): Likewise.
35113
35114 * fs/ext2.c (grub_ext2_read_file): Likewise.
35115
35116 * fs/fat.c (grub_fat_read_data): Likewise.
35117
35118 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35119
35120 * fs/hfs.c (grub_hfs_read_file): Likewise.
35121
35122 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35123
35124 * fs/jfs.c (grub_jfs_read_file): Likewise.
35125
35126 * fs/minix.c (grub_minix_read_file): Likewise.
35127
35128 * fs/sfs.c (grub_sfs_read_file): Likewise.
35129
35130 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 35131
9959f7db 35132 * fs/xfs.c (grub_xfs_read_file): Likewise.
35133
35134 * command/blocklist.c (read_blocklist): Likewise.
35135 (print_blocklist): Likewise.
35136
0a203f83 351372007-08-02 Marco Gerards <marco@gnu.org>
35138
35139 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35140 `util/hostfs.c'.
35141
35142 * disk/host.c: New file.
35143
35144 * util/hostfs.c: Likewise.
35145
35146 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35147 return `GRUB_ERR_BAD_FS'.
35148 * fs/sfs.c (grub_sfs_mount): Likewise.
35149 * fs/xfs.c (grub_xfs_mount): Likewise.
35150
35151 * include/grub/disk.h (enum grub_disk_dev_id): Add
35152 `GRUB_DISK_DEVICE_HOST_ID'.
35153
35154 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35155
e5dfe777 351562007-07-24 Jerone Young <jerone@gmail.com>
35157
f19dbdb7 35158 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 35159 modules for compilation.
35160 * conf/powerpc-ieee1275.rmk: Likewise.
35161
35162 * include/multiboot.h: Move multiboot definitions to one file. Rename
35163 many definitions to not get grub specific.
35164 * include/multiboot2.h: Create header with multiboot 2 definitions.
35165 * include/grub/multiboot.h: Header for grub specific function
35166 prototypes and definitions.
35167 * include/grub/multiboot2.h: Likewise.
35168 * include/grub/multiboot_loader.h: Likewise.
35169 * include/grub/i386/pc/multiboot.h: Removed.
35170 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35171
35172 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35173 and 2 to allow for one multiboot and module commands.
35174 * loader/multiboot2.c: Add multiboot2 functionality.
35175 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35176 and definition names.
35177 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35178 2 functions.
35179 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35180 ieee1275 specific multiboot2 code.
35181
35182 * kern/i386/pc/startup.S: Change headers and definition names for
35183 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35184
daf0f0ba 351852007-07-22 Robert Millan <rmh@aybabtu.com>
35186
35187 * geninitheader.sh: Process file specified in first parameter rather
35188 than hardcoding grub_modules_init.lst.
fe6b695a 35189 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 35190 than hardcoding grub_modules_init.h.
35191
35192 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35193 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35194 grub_probe_init.[ch] and grub_setup_init.[ch].
35195
35196 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35197 grub_modules_init.h with grub_emu_init.h.
35198 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35199 grub_probe_init.[ch] files.
35200 * conf/i386-efi.rmk: Likewise.
35201 * conf/i386-pc.rmk: Likewise.
35202 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35203 grub_setup_init.[ch] files.
35204
35205 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35206 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35207 to initialize modules rather than a list of hardcoded functions.
35208 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35209 grub_init_all() to initialize modules rather than a list of hardcoded
35210 functions.
35211
54cdc1cc 352122007-07-22 Robert Millan <rmh@aybabtu.com>
35213
35214 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35215 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35216
ad0686cc 352172007-07-22 Robert Millan <rmh@aybabtu.com>
35218
35219 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35220 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35221 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35222 flag when running on SmartFirmware.
35223 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35224 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35225 was set.
35226
35227 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35228 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35229 rather than decreasing it.
35230
35231 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35232 there's not enough space to do it, fail in the same way as when it
35233 can't be done because there are no partitions.
35234
35235 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35236 when nvsetenv failed.
35237
969c02ec 352382007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35239
35240 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35241 because this rule is automatically generated.
35242 (grub-mkrescue): Removed for the same reason as above.
35243
5a79f472 352442007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35245
35246 Migrate to GNU General Public License Version 3.
f19dbdb7 35247
5a79f472 35248 * COPYING: Replaced with the plain text version of GPLv3.
35249
35250 * config.guess: Updated from gnulib.
35251 * config.sub: Likewise.
35252
35253 * geninit.sh: Output a GPLv3 copyright notice.
35254 * geninitheader.sh: Likewise.
35255 * genmodsrc.sh: Likewise.
35256 * gensymlist.sh.in: Likewise.
35257
35258 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35259 * boot/i386/pc/diskboot.S: Likewise.
35260 * boot/i386/pc/pxeboot.S: Likewise.
35261 * commands/blocklist.c: Likewise.
35262 * commands/boot.c: Likewise.
35263 * commands/cat.c: Likewise.
35264 * commands/cmp.c: Likewise.
35265 * commands/configfile.c: Likewise.
35266 * commands/echo.c: Likewise.
35267 * commands/help.c: Likewise.
35268 * commands/ls.c: Likewise.
35269 * commands/search.c: Likewise.
35270 * commands/terminal.c: Likewise.
35271 * commands/test.c: Likewise.
35272 * commands/videotest.c: Likewise.
35273 * commands/i386/cpuid.c: Likewise.
35274 * commands/i386/pc/halt.c: Likewise.
35275 * commands/i386/pc/play.c: Likewise.
35276 * commands/i386/pc/reboot.c: Likewise.
35277 * commands/i386/pc/vbeinfo.c: Likewise.
35278 * commands/i386/pc/vbetest.c: Likewise.
35279 * commands/ieee1275/halt.c: Likewise.
35280 * commands/ieee1275/reboot.c: Likewise.
35281 * commands/ieee1275/suspend.c: Likewise.
35282 * disk/loopback.c: Likewise.
35283 * disk/lvm.c: Likewise.
35284 * disk/raid.c: Likewise.
35285 * disk/efi/efidisk.c: Likewise.
35286 * disk/i386/pc/biosdisk.c: Likewise.
35287 * disk/ieee1275/ofdisk.c: Likewise.
35288 * font/manager.c: Likewise.
35289 * fs/affs.c: Likewise.
35290 * fs/ext2.c: Likewise.
35291 * fs/fat.c: Likewise.
35292 * fs/fshelp.c: Likewise.
35293 * fs/hfs.c: Likewise.
35294 * fs/hfsplus.c: Likewise.
35295 * fs/iso9660.c: Likewise.
35296 * fs/jfs.c: Likewise.
35297 * fs/minix.c: Likewise.
35298 * fs/sfs.c: Likewise.
35299 * fs/ufs.c: Likewise.
35300 * fs/xfs.c: Likewise.
35301 * hello/hello.c: Likewise.
35302 * include/grub/acorn_filecore.h: Likewise.
35303 * include/grub/arg.h: Likewise.
35304 * include/grub/bitmap.h: Likewise.
35305 * include/grub/boot.h: Likewise.
35306 * include/grub/cache.h: Likewise.
35307 * include/grub/device.h: Likewise.
35308 * include/grub/disk.h: Likewise.
35309 * include/grub/dl.h: Likewise.
35310 * include/grub/elfload.h: Likewise.
35311 * include/grub/env.h: Likewise.
35312 * include/grub/err.h: Likewise.
35313 * include/grub/file.h: Likewise.
35314 * include/grub/font.h: Likewise.
35315 * include/grub/fs.h: Likewise.
35316 * include/grub/fshelp.h: Likewise.
35317 * include/grub/gzio.h: Likewise.
35318 * include/grub/hfs.h: Likewise.
35319 * include/grub/kernel.h: Likewise.
35320 * include/grub/loader.h: Likewise.
35321 * include/grub/lvm.h: Likewise.
35322 * include/grub/misc.h: Likewise.
35323 * include/grub/mm.h: Likewise.
35324 * include/grub/net.h: Likewise.
35325 * include/grub/normal.h: Likewise.
35326 * include/grub/parser.h: Likewise.
35327 * include/grub/partition.h: Likewise.
35328 * include/grub/pc_partition.h: Likewise.
35329 * include/grub/raid.h: Likewise.
35330 * include/grub/rescue.h: Likewise.
35331 * include/grub/script.h: Likewise.
35332 * include/grub/setjmp.h: Likewise.
35333 * include/grub/symbol.h: Likewise.
35334 * include/grub/term.h: Likewise.
35335 * include/grub/terminfo.h: Likewise.
35336 * include/grub/tparm.h: Likewise.
35337 * include/grub/types.h: Likewise.
35338 * include/grub/video.h: Likewise.
35339 * include/grub/efi/api.h: Likewise.
35340 * include/grub/efi/chainloader.h: Likewise.
35341 * include/grub/efi/console.h: Likewise.
35342 * include/grub/efi/console_control.h: Likewise.
35343 * include/grub/efi/disk.h: Likewise.
35344 * include/grub/efi/efi.h: Likewise.
35345 * include/grub/efi/pe32.h: Likewise.
35346 * include/grub/efi/time.h: Likewise.
35347 * include/grub/i386/linux.h: Likewise.
35348 * include/grub/i386/setjmp.h: Likewise.
35349 * include/grub/i386/types.h: Likewise.
35350 * include/grub/i386/efi/kernel.h: Likewise.
35351 * include/grub/i386/efi/loader.h: Likewise.
35352 * include/grub/i386/efi/time.h: Likewise.
35353 * include/grub/i386/pc/biosdisk.h: Likewise.
35354 * include/grub/i386/pc/boot.h: Likewise.
35355 * include/grub/i386/pc/chainloader.h: Likewise.
35356 * include/grub/i386/pc/console.h: Likewise.
35357 * include/grub/i386/pc/init.h: Likewise.
35358 * include/grub/i386/pc/kernel.h: Likewise.
35359 * include/grub/i386/pc/loader.h: Likewise.
35360 * include/grub/i386/pc/memory.h: Likewise.
35361 * include/grub/i386/pc/multiboot.h: Likewise.
35362 * include/grub/i386/pc/serial.h: Likewise.
35363 * include/grub/i386/pc/time.h: Likewise.
35364 * include/grub/i386/pc/vbe.h: Likewise.
35365 * include/grub/i386/pc/vbeblit.h: Likewise.
35366 * include/grub/i386/pc/vbefill.h: Likewise.
35367 * include/grub/i386/pc/vbeutil.h: Likewise.
35368 * include/grub/i386/pc/vga.h: Likewise.
35369 * include/grub/ieee1275/ieee1275.h: Likewise.
35370 * include/grub/ieee1275/ofdisk.h: Likewise.
35371 * include/grub/powerpc/libgcc.h: Likewise.
35372 * include/grub/powerpc/setjmp.h: Likewise.
35373 * include/grub/powerpc/types.h: Likewise.
35374 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35375 * include/grub/powerpc/ieee1275/console.h: Likewise.
35376 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35377 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35378 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35379 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35380 * include/grub/powerpc/ieee1275/time.h: Likewise.
35381 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35382 * include/grub/sparc64/libgcc.h: Likewise.
35383 * include/grub/sparc64/setjmp.h: Likewise.
35384 * include/grub/sparc64/types.h: Likewise.
35385 * include/grub/sparc64/ieee1275/console.h: Likewise.
35386 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35387 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35388 * include/grub/sparc64/ieee1275/time.h: Likewise.
35389 * include/grub/util/biosdisk.h: Likewise.
35390 * include/grub/util/getroot.h: Likewise.
35391 * include/grub/util/lvm.h: Likewise.
35392 * include/grub/util/misc.h: Likewise.
35393 * include/grub/util/raid.h: Likewise.
35394 * include/grub/util/resolve.h: Likewise.
35395 * io/gzio.c: Likewise.
35396 * kern/device.c: Likewise.
35397 * kern/disk.c: Likewise.
35398 * kern/dl.c: Likewise.
35399 * kern/elf.c: Likewise.
35400 * kern/env.c: Likewise.
35401 * kern/err.c: Likewise.
35402 * kern/file.c: Likewise.
35403 * kern/fs.c: Likewise.
35404 * kern/loader.c: Likewise.
35405 * kern/main.c: Likewise.
35406 * kern/misc.c: Likewise.
35407 * kern/mm.c: Likewise.
35408 * kern/parser.c: Likewise.
35409 * kern/partition.c: Likewise.
35410 * kern/rescue.c: Likewise.
35411 * kern/term.c: Likewise.
35412 * kern/efi/efi.c: Likewise.
35413 * kern/efi/init.c: Likewise.
35414 * kern/efi/mm.c: Likewise.
35415 * kern/i386/dl.c: Likewise.
35416 * kern/i386/efi/init.c: Likewise.
35417 * kern/i386/efi/startup.S: Likewise.
35418 * kern/i386/pc/init.c: Likewise.
35419 * kern/i386/pc/lzo1x.S: Likewise.
35420 * kern/i386/pc/startup.S: Likewise.
35421 * kern/ieee1275/ieee1275.c: Likewise.
35422 * kern/powerpc/cache.S: Likewise.
35423 * kern/powerpc/dl.c: Likewise.
35424 * kern/powerpc/ieee1275/cmain.c: Likewise.
35425 * kern/powerpc/ieee1275/crt0.S: Likewise.
35426 * kern/powerpc/ieee1275/init.c: Likewise.
35427 * kern/powerpc/ieee1275/openfw.c: Likewise.
35428 * kern/sparc64/cache.S: Likewise.
35429 * kern/sparc64/dl.c: Likewise.
35430 * kern/sparc64/ieee1275/init.c: Likewise.
35431 * kern/sparc64/ieee1275/openfw.c: Likewise.
35432 * loader/efi/chainloader.c: Likewise.
35433 * loader/efi/chainloader_normal.c: Likewise.
35434 * loader/i386/efi/linux.c: Likewise.
35435 * loader/i386/efi/linux_normal.c: Likewise.
35436 * loader/i386/pc/chainloader.c: Likewise.
35437 * loader/i386/pc/chainloader_normal.c: Likewise.
35438 * loader/i386/pc/linux.c: Likewise.
35439 * loader/i386/pc/linux_normal.c: Likewise.
35440 * loader/i386/pc/multiboot.c: Likewise.
35441 * loader/i386/pc/multiboot_normal.c: Likewise.
35442 * loader/powerpc/ieee1275/linux.c: Likewise.
35443 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35444 * normal/arg.c: Likewise.
35445 * normal/cmdline.c: Likewise.
35446 * normal/command.c: Likewise.
35447 * normal/completion.c: Likewise.
35448 * normal/execute.c: Likewise.
35449 * normal/function.c: Likewise.
35450 * normal/lexer.c: Likewise.
35451 * normal/main.c: Likewise.
35452 * normal/menu.c: Likewise.
35453 * normal/menu_entry.c: Likewise.
35454 * normal/misc.c: Likewise.
35455 * normal/parser.y: Likewise.
35456 * normal/script.c: Likewise.
35457 * normal/i386/setjmp.S: Likewise.
35458 * normal/powerpc/setjmp.S: Likewise.
35459 * normal/sparc64/setjmp.S: Likewise.
35460 * partmap/acorn.c: Likewise.
35461 * partmap/amiga.c: Likewise.
35462 * partmap/apple.c: Likewise.
35463 * partmap/gpt.c: Likewise.
35464 * partmap/pc.c: Likewise.
35465 * partmap/sun.c: Likewise.
35466 * term/gfxterm.c: Likewise.
35467 * term/terminfo.c: Likewise.
35468 * term/efi/console.c: Likewise.
35469 * term/i386/pc/console.c: Likewise.
35470 * term/i386/pc/serial.c: Likewise.
35471 * term/i386/pc/vesafb.c: Likewise.
35472 * term/i386/pc/vga.c: Likewise.
35473 * term/ieee1275/ofconsole.c: Likewise.
35474 * util/biosdisk.c: Likewise.
35475 * util/console.c: Likewise.
35476 * util/genmoddep.c: Likewise.
35477 * util/getroot.c: Likewise.
35478 * util/grub-emu.c: Likewise.
35479 * util/grub-mkdevicemap.c: Likewise.
35480 * util/grub-probe.c: Likewise.
35481 * util/lvm.c: Likewise.
35482 * util/misc.c: Likewise.
35483 * util/raid.c: Likewise.
35484 * util/resolve.c: Likewise.
35485 * util/update-grub.in: Likewise.
35486 * util/update-grub_lib.in: Likewise.
35487 * util/grub.d/00_header.in: Likewise.
35488 * util/grub.d/10_hurd.in: Likewise.
35489 * util/grub.d/10_linux.in: Likewise.
35490 * util/i386/efi/grub-install.in: Likewise.
35491 * util/i386/efi/grub-mkimage.c: Likewise.
35492 * util/i386/pc/grub-install.in: Likewise.
35493 * util/i386/pc/grub-mkimage.c: Likewise.
35494 * util/i386/pc/grub-mkrescue.in: Likewise.
35495 * util/i386/pc/grub-setup.c: Likewise.
35496 * util/i386/pc/misc.c: Likewise.
35497 * util/powerpc/ieee1275/grub-install.in: Likewise.
35498 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35499 * util/powerpc/ieee1275/misc.c: Likewise.
35500 * video/bitmap.c: Likewise.
35501 * video/video.c: Likewise.
35502 * video/i386/pc/vbe.c: Likewise.
35503 * video/i386/pc/vbeblit.c: Likewise.
35504 * video/i386/pc/vbefill.c: Likewise.
35505 * video/i386/pc/vbeutil.c: Likewise.
35506 * video/readers/tga.c: Likewise.
35507
3572d015 355082007-07-02 Robert Millan <rmh@aybabtu.com>
35509
35510 * conf/i386-efi.rmk: Replace obsolete reference to
35511 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35512 with util/getroot.c.
35513 * conf/powerpc-ieee1275.rmk: Likewise.
35514 * conf/sparc64-ieee1275.rmk: Likewise.
35515
35516 * util/grub-emu.c (main): Fix unchecked pointer handling.
35517
2c2a681b 355182007-07-02 Robert Millan <rmh@aybabtu.com>
35519
35520 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35521 invocation to fail, in order to support partition-less media.
35522
35523 * util/i386/pc/grub-install.in: Likewise.
35524
35525 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35526 which fs or partmap modules are needed (akin to its sister scripts).
35527
35528 Also use grub-probe to get rid of unportable /proc/mounts check.
35529
35530 Print the same informational message that the other scripts do, before
fe6b695a 35531 exiting.
2c2a681b 35532
6193defe 355332007-06-23 Robert Millan <rmh@aybabtu.com>
35534
fe6b695a 35535 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 35536 a font file can be found and, if so, echo the GRUB path to it.
35537
35538 * util/update-grub.in: Handle multiple terminals depending on user
35539 input, platform availability and font file presence. Propagate
35540 variables of our findings to /etc/grub.d/ children.
35541
35542 * util/grub.d/00_header.in: Handle multiple terminals, based on
35543 environment setup by update-grub.
35544
eface1dc 355452007-06-23 Robert Millan <rmh@aybabtu.com>
35546
ba50d28f 35547 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 35548
bf697e28 355492007-06-21 Robert Millan <rmh@aybabtu.com>
35550
35551 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35552 indicate end of data section in kernel image.
35553 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35554 GRUB_KERNEL_MACHINE_DATA_END.
35555
35556 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35557 space for it.
35558 * kern/i386/efi/startup.S: Likewise.
35559
35560 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35561 during image generation. Implement --prefix option to override this
35562 patch.
35563 * util/i386/efi/grub-mkimage.c: Likewise.
35564
35565 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35566 code to make path relative to its root into a separate function.
35567
35568 * util/i386/pc/grub-install.in: Use newly provided
35569 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35570 pass the result to grub-install --prefix.
35571
baa574b4 355722007-06-13 Robert Millan <rmh@aybabtu.com>
35573
35574 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35575 DEFAULT_DEVICE_MAP.
35576 * util/grub-emu.c: Use above definitions from misc.h instead of
35577 defining them.
35578 * util/grub-mkdevicemap.c: Likewise.
35579 * util/i386/pc/grub-setup.c: Likewise.
35580 * util/grub-probe.c: Likewise.
35581 (probe): Abort with grub_util_error() when either
35582 grub_guess_root_device or grub_util_get_grub_dev fails.
35583
0215dcbf 355842007-06-12 Robert Millan <rmh@aybabtu.com>
35585
35586 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35587 "pager" assignment.
35588 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35589 "pcdata".
35590 * util/grub-probe.c (probe): Likewise for "drive_name".
35591
8af2ab7b 355922007-06-11 Robert Millan <rmh@aybabtu.com>
35593
35594 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35595 not just the cdrom one.
35596
59d31694 355972007-06-11 Robert Millan <rmh@aybabtu.com>
35598
35599 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35600 Add --pkglibdir=DIR option to override pkglibdir.
35601 Mention --image-type=TYPE in help output.
35602 Fix --grub-mkimage (it was a no-op).
fe6b695a 35603 Abort gracefully when no parameter is given.
59d31694 35604
7ee367e4 356052007-06-11 Robert Millan <rmh@aybabtu.com>
35606
35607 * util/i386/pc/grub-mkrescue.in: New file.
35608 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35609 * Makefile.in: Handle bin_SCRIPTS.
35610
29b0ed46 356112007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35612
35613 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35614 list of video modes.
35615
c0f90770 356162007-06-06 Robert Millan <rmh@aybabtu.com>
35617
35618 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35619 file doesn't exist, or if it is in a filesystem grub can't read.
35620
35621 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35622 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35623 header comment to fit in 80 columns when the variables are resolved.
35624
35625 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35626 could be identified by update-grub. Remove redundant check for
fe6b695a 35627 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 35628 handles that).
35629
fb36dc26 356302007-06-04 Robert Millan <rmh@aybabtu.com>
35631
35632 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35633
35634 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35635
35636 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35637
0c68c93e 356382007-06-04 Robert Millan <rmh@aybabtu.com>
35639
35640 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35641
35642 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35643 grub_apple_partition_map_fini.
35644
35645 * util/biosdisk.c
35646 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35647 to access >2 TiB disks).
35648
35649 Print disk->total_sectors with %llu instead of %lu, since this
35650 variable is always 64-bit (prevents wrong disk size from being displayed
35651 on either >2 TiB disk or big-endian CPU).
35652
35653 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35654 into a generic case that supports all (sane) partition maps.
35655
35656 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35657 breaks big-endian.
35658
35659 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35660 and grub_apple_partition_map_fini() after that.
35661
0f23eb74 356622007-06-01 Robert Millan <rmh@aybabtu.com>
35663
35664 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35665
35666 * util/grub.d/00_header.in: Only enable gfxterm when
35667 convert_system_path_to_grub_path() succeeds.
35668
42c71976 356692007-05-20 Robert Millan <rmh@aybabtu.com>
35670
35671 * util/update-grub_lib.in: New file.
35672 * DISTLIST: Add update-grub_lib.in.
35673 * conf/common.rmk: Generate update-grub_lib and install it in
35674 $(lib_DATA).
35675 * Makefile.in: Add install routine for $(lib_DATA).
35676
35677 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35678 function provided by update-grub_lib to support arbitrary paths of
35679 unifont.pff.
35680 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35681 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35682
5beb2291 356832007-05-19 Robert Millan <rmh@aybabtu.com>
35684
35685 * commands/i386/cpuid.c: New module.
35686 * DISTLIST: Add it.
35687 * conf/i386-efi.rmk: Enable cpuid.mod.
35688 * conf/i386-pc.rmk: Likewise.
35689
7262eca1 356902007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35691
35692 * kern/disk.c (grub_disk_read): Check return value of
35693 grub_realloc().
35694
260ba823 356952007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35696
35697 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35698 arrays.
35699 * disk/raid.c (grub_raid_open): Likewise.
35700
1ecb6cf2 357012007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35702
35703 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35704 stack instead of on the heap.
35705
35706 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35707 before doing a read on it.
35708
35709 * configure.ac: Only use -fno-stack-protector for the target
35710 environment.
f19dbdb7 35711
21c8cbb1 357122007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35713
35714 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35715 __attribute_ ((unused)) to mode_type argument.
35716
35717 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 35718
21c8cbb1 35719 * kern/misc.c (memcmp): Fix prototype.
35720
35721 * include/grub/partition.h [GRUB_UTIL]
35722 (grub_gpt_partition_map_init): Add prototype.
35723 (grub_gpt_partition_map_fini): Likewise.
35724
35725 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35726 at the right place.
35727
35728 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35729 (grub_fat_read_data): Likewise.
35730 (grub_fat_find_dir): Likewise.
35731
35732 * font/manager.c (find_glyph): Make table a const.
35733 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 35734
849d55d3 357352007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35736
35737 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35738 code, first search for device in /dev/mapper, then in /dev.
35739 (grub_util_get_grub_dev): New function.
35740 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35741 prototype.
35742 * util/grub-probe.c (probe): Remove check for RAID, call
35743 grub_util_get_grub_dev() instead of
35744 grub_util_biosdisk_get_grub_dev().
35745 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35746 grub_util_biosdisk_get_grub_dev().
35747 * util/i386/pc/grub-setup.c (main): Likewise.
35748
8fff7c2f 357492007-05-16 Robert Millan <rmh@aybabtu.com>
35750
35751 * DISTLIST: Update for the latest changes.
35752 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35753 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35754 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35755 grub/util/biosdisk.h.
35756 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35757 grub/util/biosdisk.h.
35758
48e12b52 357592007-05-16 Robert Millan <rmh@aybabtu.com>
35760
35761 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35762
46b9d128 357632007-05-16 Robert Millan <rmh@aybabtu.com>
35764
35765 * util/i386/efi/grub-install.in: New.
35766 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35767 newly added grub-install.
35768 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35769 include.
35770 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35771 grub/util/biosdisk.h.
35772 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35773 grub/util/biosdisk.h.
35774
2d1a40a9 357752007-05-16 Robert Millan <rmh@aybabtu.com>
35776
35777 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35778 * include/grub/util/biosdisk.h: ... here.
35779 * util/i386/pc/biosdisk.c: Moved to ...
35780 * util/biosdisk.c: ... here.
35781 * util/i386/pc/getroot.c: Moved to ...
35782 * util/getroot.c: ... here.
35783 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35784 * util/grub-mkdevicemap.c: ... here.
35785 * util/i386/pc/grub-probe.c: Moved to ...
35786 * util/grub-probe.c: ... here.
35787
9e26e3bc 357882007-05-15 Robert Millan <rmh@aybabtu.com>
35789
35790 * util/update-grub.in: Remove duplicated line in grub.cfg header
35791 message.
35792
57f96397 357932007-05-13 Robert Millan <rmh@aybabtu.com>
35794
35795 * util/update-grub.in: Fix a few assumptions about the devices holding
35796 /, /boot and /boot/grub being the same.
35797 * util/grub.d/00_header.in: Likewise.
35798 * util/grub.d/10_hurd.in: Likewise.
35799 * util/grub.d/10_linux.in: Likewise.
35800
35801 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35802 patterns. Use that to define the `.old' suffix as older than `'.
35803
35804 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35805
35806 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35807 the grub.cfg header message.
35808
2e610d62 358092007-05-11 Robert Millan <rmh@aybabtu.com>
35810
35811 * util/update-grub.in: Create device.map if it doesn't already exist,
35812 before attempting to run grub-probe.
35813 Check for grub-probe and grub-mkdevicemap with the same code
35814 grub-install is using.
35815 Remove test mode.
35816
3f6a10ef 358172007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35818
35819 * Makefile.in: Add the datarootdir autoconf variable.
35820
02e7b75e 358212007-05-09 Robert Millan <rmh@aybabtu.com>
35822
35823 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 35824 fail gracefully if dev->disk->partition == NULL.
02e7b75e 35825
75f396cc 358262007-05-07 Robert Millan <rmh@aybabtu.com>
35827
35828 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35829 determine partition map module.
35830 * util/i386/pc/grub-install.in: Use this feature to decide which
35831 partition module to load, instead of hardcoding pc and gpt.
35832
da65cb36 358332007-05-07 Robert Millan <rmh@aybabtu.com>
35834
35835 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35836 source directory differs from build directory.
35837
b57d6a91 358382007-05-05 Robert Millan <rmh@aybabtu.com>
35839
35840 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35841 initialisation.
35842
509d00f1 358432007-05-05 Robert Millan <rmh@aybabtu.com>
35844
35845 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35846
c48f23ef 358472007-05-05 Robert Millan <rmh@aybabtu.com>
35848
35849 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35850 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35851
20b97658 358522007-05-05 Robert Millan <rmh@aybabtu.com>
35853
35854 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35855 (grub_probe_SOURCES): Likewise.
35856 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35857 GPT and initialize dos_part and bsd_part accordingly.
35858 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35859 install_bsd_part.
35860 (main): Activate gpt module for use during partition identification,
35861 and deactivate it afterwards.
35862 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35863 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35864 partition identification, and deactivate it afterwards.
35865
99123174 358662007-05-05 Robert Millan <rmh@aybabtu.com>
35867
35868 * term/i386/pc/console.c (grub_console_fini): Call
35869 grub_term_set_current() before grub_term_unregister().
35870
ebd97f6e 358712007-05-04 Robert Millan <rmh@aybabtu.com>
35872
35873 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35874 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35875 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35876 and update-grub_DATA.
35877 * conf/common.rmk: Build and install update-grub components.
35878 * conf/common.mk: Regenerate.
35879 * util/update-grub.in: New. Core of update-grub.
35880 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35881 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35882 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35883 * util/grub.d/README: New. Document grub.d directory layout.
35884
b06a264d 358852007-05-01 Robert Millan <rmh@aybabtu.com>
35886
35887 * util/grub-emu.c: Move initialization functions
35888 grub_util_biosdisk_init() and grub_init_all() before
35889 grub_util_biosdisk_get_grub_dev(), which relies on them.
35890
41f0050e 358912007-04-19 Robert Millan <rmh@aybabtu.com>
35892
35893 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35894 it is used later.
35895
04582bb3 358962007-04-18 Jerone Young <jerone@gmail.com>
35897
f19dbdb7 35898 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 35899 stanza.
35900
08db4632 359012007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 35902
08db4632 35903 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35904 continue on and look for device node with real device name.
35905
801b76be 359062007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 35907
fe6b695a 35908 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 35909 ability.
35910 * Makefile.in: Add autoconf package transformation code.
35911 * util/i386/pc/grub-install.in: Likewise.
35912 * util/powerpc/ieee1275/grub-install.in: Likewise.
35913
6795c4e1 359142007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35915
35916 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35917 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35918 (EXT2_REVISION): Likewise.
35919 (EXT2_INODE_SIZE): Likewise.
35920 (struct grub_ext2_block_group): Added a missing member
35921 "used_dirs".
35922 (grub_ext2_read_inode): Divide by the inode size in a superblock
35923 instead of 128 to obtain INODES_PER_BLOCK.
35924 Use the macro EXT2_INODE_SIZE instead of directly using
35925 SBLOCK->INODE_SIZE.
35926
d70af616 359272007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35928
35929 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35930 superblock instead of the structure size to compute an
35931 offset. This fixes the problem that GRUB could not read a
35932 filesystem when inode size is different from 128-byte.
35933
3b801603 359342007-03-05 Marco Gerards <marco@gnu.org>
35935
35936 * normal/main.c (read_config_file): When "menu" is not set, create
35937 an initial context.
35938
4785bfe4 359392007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35940
35941 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35942 (HEAP_LIMIT): New macro.
35943 (grub_claim_heap): Claim memory up to `heaplimit'.
35944
a0cbb023 359452007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35946
35947 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35948 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35949 (_start): Likewise.
35950 (grub_arch_modules_addr): Return address after `_end'.
35951 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35952 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35953 (add_segments): Calculate `_end' from phdr size and location.
35954 (ALIGN_UP): Moved to ...
35955 * include/grub/misc.h: here.
35956 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35957 New macro.
35958 (GRUB_IEEE1275_MODULE_BASE): Removed.
35959
fd7d8eba 359602007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35961
35962 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35963 loop boundary.
35964
9b09e6fc 359652007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35966
35967 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35968 All users updated.
35969 (grub_elf64_load_hook_t): Likewise.
35970 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35971 debug output.
35972
3ce27299 359732007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35974
35975 * kern/mm.c: Update copyright.
35976 (grub_mm_debug): Correct syntax error.
35977 (grub_mm_dump_free): New function.
35978 (grub_debug_free): Call `grub_free'.
35979 * include/grub/mm.h: Update copyright.
35980 (grub_mm_dump_free): Add declaration.
35981
077d5fee 359822007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35983
35984 * include/grub/ieee1275/ieee1275.h: Update copyright.
35985 * kern/powerpc/ieee1275/init.c: Likewise.
35986 * kern/powerpc/ieee1275/openfw.c: Likewise.
35987
35988 * loader/powerpc/ieee1275/linux.c: Likewise.
35989 * include/grub/elfload.h: Likewise.
35990 * kern/elf.c: Likewise.
35991 (grub_elf32_load): Pass `base' and `size' parameters. Update all
35992 callers.
35993 (grub_elf64_load): Likewise.
35994 (grub_elf32_load_segment): Move to a nested function.
35995 (grub_elf64_load_segment): Likewise.
35996
dc946850 359972007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35998
35999 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
36000 prototype.
36001 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
36002 (grub_heap_len): Likewise.
36003 (HEAP_SIZE): New macro.
36004 (grub_claim_heap): New function.
36005 (grub_machine_init): Don't claim heap directly. Call
36006 `grub_claim_heap'.
36007 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
36008 (grub_available_iterate): New function.
36009
baa2a121 360102007-02-03 Thomas Schwinge <tschwinge@gnu.org>
36011
36012 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
36013 * configure.ac: Use it for testing the HOST and TARGET compilers.
36014
4fe9862e 360152006-12-13 Thomas Schwinge <tschwinge@gnu.org>
36016
36017 * Makefile.in (enable_grub_emu): New variable.
36018 * configure.ac (--enable-grub-emu): New option.
36019 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
36020 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
36021 * conf/i386-pc.rmk: Likewise.
36022 * conf/powerpc-ieee1275.rmk: Likewise.
36023 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
36024
a8aa5762 360252006-12-12 Marco Gerards <marco@gnu.org>
36026
36027 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
36028
36029 * kern/env.c (grub_env_unset): Don't free the member `value' when
36030 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
36031 pointer.
36032
36033 * normal/main.c (current_menu): Removed.
36034 (free_menu): Unset the `menu' environment variable.
36035 (grub_normal_menu_addentry): Make use of the environment variable
36036 `menu', instead of using the global `current_menu'. Allocate
36037 memory for the sourcecode of this entry.
36038 (read_config_file): New argument `nested', changed all callers.
36039 Only in the case of a new context, initialize a new menu. Set the
36040 `menu' environment variable.
36041 (grub_normal_execute): Don't set and unset the environment
36042 variable `menu' here anymore. Only free the menu when leaving the
36043 context.
36044
36045 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
36046 leak.
36047
957b3a3e 360482006-12-11 Marco Gerards <marco@gnu.org>
36049
36050 * normal/menu_entry.c (run): Fix off by one bug so the last line
36051 is executed. Move the loader check to outside the loop.
36052
ef875714 360532006-12-08 Hollis Blanchard <hollis@penguinppc.org>
36054
36055 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
36056
4e739985 360572006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
36058
36059 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
36060 the number of sectors. Reported by Andrey Shuvikov
36061 <mr_hyro@yahoo.com>.
f19dbdb7 36062
790707f2 360632006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
36064
36065 * kern/disk.c (grub_disk_read): When there is a read error, always
36066 try to read only the necessary data.
f19dbdb7 36067
790707f2 36068 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
36069 disk/raid.c.
36070 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
36071 prototype.
36072 [GRUB_UTIL] (grub_raid_fini): Likewise.
36073 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 36074 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 36075 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
36076 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
36077 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
36078 and grub_raid_fini().
f19dbdb7 36079
03e58196 360802006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36081
36082 * include/grub/types.h (__unused): Rename to UNUSED.
36083 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
36084 (grub_elf64_size): Likewise.
f19dbdb7 36085
ae4f23bf 360862006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36087
36088 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
36089 grub_error_push and grub_error_pop in the error-handling path.
36090 (grub_elf32_load_segment): Only call grub_file_read with non-zero
36091 length.
36092
2166cc83 360932006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36094
36095 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
36096 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36098 (kernel_elf_SOURCES): Likewise.
36099 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
36100 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
36101 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36102 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36103 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
36104 (elf_mod_SOURCES): New variable.
36105 (elf_mod_CFLAGS): Likewise.
36106 (elf_mod_LDFLAGS): Likewise.
36107 * include/grub/types.h (__unused): New macro.
36108 * include/grub/elfload.h: New file.
36109 * kern/elf.c: Likewise.
36110 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36111 (ELF32_LOADMASK): New macro.
36112 (ELF64_LOADMASK): Likewise.
36113 (vmlinux): Removed.
36114 (grub_linux_load32): New function.
36115 (grub_linux_load64): Likewise.
36116 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36117 Use grub_elf_t instead of grub_file_t.
36118
a09d5aa5 361192006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36120
36121 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36122 `catch_result' to struct set_color_args.
36123
d976fc51 361242006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36125
36126 * normal/menu.c: Include grub/script.h.
36127 * normal/menu_entry.c: Likewise.
36128 * include/grub/normal.h: Do not include grub/script.h.
36129
67507549 361302006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36131
36132 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36133
69203a99 361342006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36135
36136 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36137 disk.
36138 (grub_disk_close): Print debug messages when closing a disk.
36139 (grub_disk_read): Print debug messages when disk read fails.
36140 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36141 filesystem type.
36142 * kern/partition.c: Include misc.h.
36143 (grub_partition_iterate): Print debug messages when detecting
36144 partition type.
36145
e2b8278c 361462006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36147
36148 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36149 is negative.
36150 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36151
97b2f2ff 361522006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36153
36154 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36155 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36156
6555d655 361572006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36158
36159 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36160 instead of sizeof(lv). Patch by Michael Guntsche.
36161
4d42b77f 361622006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36163
36164 * disk/lvm.c: Rename VGS to VG_LIST.
36165 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36166 (grub_lvm_open): Likewise.
36167 Thanks to Michael Guntsche for finding this bug.
36168
5d74d927 361692006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36170
36171 * configure.ac (AC_INIT): Bumped to 1.95.
36172
a1bb27e4 361732006-10-14 Robert Millan <rmh@aybabtu.com>
36174
36175 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36176 with "/dev/.static/dev/md".
36177
e0994b8b 361782006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36179
36180 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36181 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36182 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36183 DRIVE_NAME are always freed.
36184
36185 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36186 DOS_PART, as a DOS partition is counted from one instead of zero
36187 now. Reported by Robert Millan.
36188
ddd5cee9 361892006-10-14 Robert Millan <rmh@aybabtu.com>
36190
36191 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36192 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36193 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36194 string returned by grub_guess_root_device.
36195 * util/i386/pc/grub-setup.c: Likewise.
36196 * util/i386/pc/grub-probefs.c: Likewise.
36197
36198 * util/i386/pc/grub-probefs.c: Rename to ...
36199 * util/i386/pc/grub-probe.c: ... this.
36200 * DISTLIST: Remove grub-probefs, add grub-probe.
36201 * conf/i386-efi.rmk: Likewise.
36202 * conf/i386-pc.rmk: Likewise.
36203 * util/i386/pc/grub-install.in: Likewise.
36204
36205 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36206 choose which information we want to print.
36207
2b002173 362082006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36209
36210 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36211 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36212 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36213 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36214 video/readers/tga.c and video/i386/pc/vbeutil.c.
36215
362162006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36217
36218 Added support for RAID and LVM.
f19dbdb7 36219
2b002173 36220 * disk/lvm.c: New file.
36221 * disk/raid.c: Likewise.
36222 * include/grub/lvm.h: Likewise.
f19dbdb7 36223 * include/grub/raid.h: Likewise.
2b002173 36224 * include/grub/util/lvm.h: Likewise.
36225 * include/grub/util/raid.h: Likewise.
36226 * util/lvm.c: Likewise.
36227 * util/raid.c: Likewise.
36228
36229 * include/grub/disk.h (grub_disk_dev_id): Add
36230 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36231 (grub_disk_get_size): New prototype.
36232 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36233 returns a partition.
36234 (grub_disk_get_size): New function.
f19dbdb7 36235
2b002173 36236 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36237 verbatim if grub_install_dos_part is -2.
36238
36239 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36240 and LVM devices.
36241
36242 * util/i386/pc/grub-setup.c (setup): New argument
36243 MUST_EMBED. Force embedding of GRUB when the argument is
36244 true. Close FILE before returning.
36245 (main): Add support for RAID and LVM.
f19dbdb7 36246
2b002173 36247 * conf/common.rmk: Add RAID and LVM modules.
36248 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36249 util/lvm.c.
36250 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36251
36252 * kern/misc.c (grub_strstr): New function.
36253 * include/grub/misc.h (grub_strstr): New prototype.
36254
050548d0 362552006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36256
36257 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36258
da849d2d 362592006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36260
36261 * kern/misc.c (grub_strtoull): Guess the base only if not
36262 specified.
36263
97b2f2ff 362642006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 36265
36266 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36267 PowerMac support.
36268
97b2f2ff 362692006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 36270
36271 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36272
36273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36274 Remove `flags' argument. All callers changed.
36275 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36276 (IEEE1275_IHANDLE_INVALID): New variable.
36277 (IEEE1275_CELL_INVALID): New variable.
36278 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36279 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36280 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36281 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36282 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36283 codes from Open Firmware. All callers updated.
36284 (grub_ieee1275_next_property): Directly return Open Firmware return
36285 code.
36286 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36287 Standardize error checking from `grub_ieee1275_get_property'.
36288 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36289 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36290
97b2f2ff 362912006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 36292
36293 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36294 `instance_to_package_args' to `instance_to_path_args'.
36295
36296 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36297 `grub_ieee1275_chosen'.
36298
36299 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36300 `grub_ieee1275_interpret'.
36301
97b2f2ff 363022006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 36303
36304 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36305
97b2f2ff 363062006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 36307
36308 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36309 (__cmpdi): Likewise.
36310
36311 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36312 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36313 `grub_ssize_t'.
36314
02bb8acc 36315 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 36316
36317 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36318 to type `grub_ssize_t'.
36319 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36320
7f9a8531 363212006-09-22 Marco Gerards <marco@gnu.org>
36322
36323 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36324 newlines.
36325
b5ef1102 363262006-09-22 Marco Gerards <marco@gnu.org>
36327
36328 * commands/echo.c: New file.
36329
36330 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36331
36332 * conf/common.rmk (echo_mod_SOURCES): New variable.
36333 (echo_mod_CFLAGS): Likewise.
36334 (echo_mod_LDFLAGS): Likewise.
36335
2cff3677 363362006-09-22 Marco Gerards <marco@gnu.org>
36337
36338 * normal/main.c (get_line): Malloc memory instead of using
36339 preallocated memory. Removed the arguments `cmdline' and
36340 `max_len'. Updated all callers.
36341
6ba4688b 363422006-09-22 Marco Gerards <marco@gnu.org>
36343
36344 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36345 (normal_mod_DEPENDENCIES): Likewise.
36346
36347 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36348 (normal_mod_DEPENDENCIES): Likewise.
36349
36350 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36351
e02ac02c 363522006-09-22 Johan Rydberg <jrydberg@gnu.org>
36353
36354 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36355 programs.
36356 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36357 (normal_mod_DEPENDENCIES): Likewise.
36358 * conf/i386-pc.mk: Regenerate.
36359 * conf/i386-efi.mk: Likewise
36360 * conf/common.mk: Likewise.
36361 * conf/powerpc-ieee1275.mk: Likewise.
36362 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36363
8d252e44 363642006-09-22 Robert Millan <rmh@aybabtu.com>
36365
36366 Sync with i386 version.
36367 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36368 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36369
209bf7ac 363702006-09-21 Robert Millan <rmh@aybabtu.com>
36371
36372 Import from GRUB Legacy (lib/device.c):
36373 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36374 (init_device_map) [__linux__]: Add support for I2O devices.
36375
6b146090 363762006-09-14 Marco Gerards <marco@gnu.org>
36377
36378 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36379 `-melf_i386'.
36380
e38600a8 363812006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 36382
36383 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36384 /boot/grub/*.lst.
78fa1790 36385
2952da5d 36386 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 36387
2952da5d 36388 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36389 before adding it to device.map.
36390
01b82a64 363912006-08-15 Johan Rydberg <jrydberg@gnu.org>
36392
fe6b695a 36393 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 36394 compiles a file; using the -MD option.
36395 * conf/common.mk: Regenerate.
36396 * conf/i386-pc.mk: Likewise.
36397 * conf/i386-efi.mk: Likewise.
36398 * conf/powerpc-ieee1275.mk: Likewise.
36399 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36400
1064790d 364012006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36402
36403 Move the prototypes of grub_setjmp and grub_longjmp to
36404 cpu/setjmp.h, so that each architecture may specify different
36405 attributes.
f19dbdb7 36406
1064790d 36407 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36408 (grub_longjmp): Likewise.
36409 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36410 (grub_longjmp): Likewise.
36411 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36412 (grub_longjmp): Likewise.
36413
36414 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36415 [!GRUB_UTIL] (grub_longjmp): Removed.
36416
29dda3ed 364172006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36418
36419 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36420 "color!" method does not return any value.
36421
ad2a06ed 364222006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36423
36424 * include/grub/bitmap.h: New file.
36425
36426 * include/grub/i386/pc/vbeutil.h: Likewise.
36427
36428 * video/bitmap.c: Likewise.
36429
36430 * video/readers/tga.c: Likewise.
36431
36432 * video/i386/pc/vbeutil.c: Likewise.
36433
36434 * commands/videotest.c: Code cleanup and updated to reflect to new
36435 video API.
36436
36437 * term/gfxterm.c: Likewise.
36438
36439 * video/video.c: Likewise.
36440
36441 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36442 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36443 (bitmap_mod_SOURCES): New entry.
36444 (bitmap_mod_CFLAGS): Likewise.
36445 (bitmap_mod_LDFLAGS): Likewise.
36446 (tga_mod_SOURCES): Likewise.
36447 (tga_mod_CFLAGS): Likewise.
36448 (tga_mod_LDFLAGS): Likewise.
36449
36450 * include/grub/video.h (grub_video_blit_operators): New enum type.
36451 (grub_video_render_target): Changed as forward declaration and moved
36452 actual definition to be video driver specific.
36453 (grub_video_adapter.blit_bitmap): Added blitting operator.
36454 (grub_video_adapter.blit_render_target): Likewise.
36455 (grub_video_blit_bitmap): Likewise.
36456 (grub_video_blit_render_target): Likewise.
36457
36458 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36459 driver specific render target definition.
36460 (grub_video_vbe_map_rgba): Added driver internal helper.
36461 (grub_video_vbe_unmap_color): Updated to use
36462 grub_video_i386_vbeblit_info.
36463 (grub_video_vbe_get_video_ptr): Likewise.
36464
36465 * include/grub/i386/pc/vbeblit.h
36466 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36467 grub_video_i386_vbeblit_info.
36468 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36469 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36470 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36471 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36472 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36473 (grub_video_i386_vbeblit_index_index): Likewise.
36474 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36475 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36476 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36477 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36478 operator.
36479 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36480 operator.
36481
36482 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36483 include/grub/i386/pc/vbeblit.h.
36484
36485 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36486 Updated to use grub_video_i386_vbeblit_info.
36487 (grub_video_i386_vbefill_R8G8B8): Likewise.
36488 (grub_video_i386_vbefill_index): Likewise.
36489 (grub_video_i386_vbefill): Added generic filler.
36490
36491 * video/i386/pc/vbefill.c: Updated to reflect changes on
36492 include/grub/i386/pc/vbefill.h.
36493
36494 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36495 grub_video_i386_vbeblit_info.
36496 (grub_video_vbe_unmap_color): Likewise.
36497 (grub_video_vbe_blit_glyph): Likewise.
36498 (grub_video_vbe_scroll): Likewise.
36499 (grub_video_vbe_draw_pixel): Removed function.
36500 (grub_video_vbe_get_pixel): Likewise.
36501 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36502 updated code to use it.
36503 (common_blitter): Added common blitter for render target and bitmap.
36504 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36505 (grub_video_vbe_blit_render_target): Likewise.
36506
bc8c036d 365072006-07-30 Johan Rydberg <jrydberg@gnu.org>
36508
36509 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36510 is in text mode if there is no console control protocol instance
36511 available.
36512
684a8eff 365132006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36514
36515 * include/grub/video.h: Code cleanup.
36516
36517 * include/grub/i386/pc/vbe.h: Likewise.
36518
36519 * video/i386/pc/vbe.c: Likewise.
36520
36521 * video/i386/pc/vbeblit.c: Likewise.
36522
36523 * video/i386/pc/vbefill.c: Likewise.
36524
36525 * video/video.c: Likewise. Also added more comments.
36526
5915059b 365272006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36528
36529 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36530 (struct grub_biosdisk_dap): Likewise.
36531
36532 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36533 linkage settings for all functions.
36534
90ce5d56 365352006-07-12 Marco Gerards <marco@gnu.org>
36536
36537 * configure.ac (--enable-mm-debug): Fix typo.
36538
36539 * genkernsyms.sh.in: Use proper quoting for `CC'.
36540
43e7f879 365412006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36542
36543 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36544 (normal_mod_ASFLAGS): Remove "-m32".
36545
4889bdec 365462006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36547
36548 * util/misc.c: Include config.h.
36549 [!HAVE_MEMALIGN]: Do not include malloc.h.
36550 (grub_memalign): Use posix_memalign, if present. Then, use
36551 memalign, if present. Otherwise, emit an error.
36552
36553 * util/grub-emu.c: Do not include malloc.h.
36554
36555 * include/grub/util/misc.h: Include unistd.h. This is required for
36556 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36557 D. Eades III <hde@foobar-qux.org>.
36558
36559 * configure.ac (AC_GNU_SOURCE): Added.
36560 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36561 type.
36562
fd39d4da 365632006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36564
36565 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36566 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36567
b786f3b5 365682006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36569
36570 * include/grub/types.h (grub_host_addr_t): Rename to
36571 grub_target_addr_t.
36572 (grub_host_off_t): Rename to grub_target_off_t.
36573 (grub_host_size_t): Rename to grub_target_size_t.
36574 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36575 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36576
36577 * include/grub/kernel.h (struct grub_module_header): Change type
36578 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36579 (grub_module_info): Likewise.
f19dbdb7 36580
051988bb 365812006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36582
36583 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36584 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36585 Velazquez <jesus.velazquez@gmail.com>.
36586
deae281b 365872006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36588
36589 Count partitions from 1 instead of 0 in the string representation
36590 of partitions. Still use 0-based internally.
f19dbdb7 36591
deae281b 36592 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36593 (sun_partition_map_iterate): Use grub_partition_t instead of
36594 struct grub_partition *. Cast DESC->START_CYLINDER to
36595 grub_uint64_t after converting the endian.
36596 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36597 (sun_partition_map_get_name): Add 1 to P->INDEX.
36598
36599 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36600 PCDATA->DOS_PART.
36601 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36602
36603 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36604 zero instead of one.
36605 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36606 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36607
36608 * partmap/apple.c (apple_partition_map_iterate): Change the type
36609 of POS to unsigned.
36610 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36611 (apple_partition_map_get_name): Add 1 into P->INDEX.
36612
36613 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36614 of POS to unsigned.
36615 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36616 calculate the offset of a partition.
36617 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36618 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36619
36620 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36621 SECTOR to grub_disk_addr_t.
36622 (acorn_partition_map_iterate): Likewise.
36623 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36624 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36625 top.
36626 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36627
36628 * kern/i386/pc/init.c (make_install_device): Add 1 into
36629 GRUB_INSTALL_DOS_PART.
36630
36631 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36632 conditional.
36633
524a1e6a 366342006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36635
36636 Clean up the code to support 64-bit addressing in disks and
36637 files. This change is not enough for filesystems yet.
f19dbdb7 36638
524a1e6a 36639 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36640 type of "start" to grub_uint64_t.
36641 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36642 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36643 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36644 convert addresses.
36645
36646 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36647 to grub_disk_addr_t.
36648
36649 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36650 string.
36651
36652 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36653
36654 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36655 to char *.
36656
36657 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36658
36659 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36660
36661 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36662
36663 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36664 to grub_off_t, to detect an error from grub_file_seek.
36665 (grub_multiboot_load_elf32): Likewise.
36666
36667 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36668 maximum unsigned long value when an overflow is detected.
36669 (grub_strtoull): New function.
36670 (grub_divmod64): Likewise.
36671 (grub_lltoa): use grub_divmod64.
36672
36673 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36674 grub_disk_addr_t.
36675 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36676 the pointer to next character. Use grub_strtoull instead of
36677 grub_strtoul.
36678 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36679 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36680 respectively.
36681
fe6b695a 36682 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 36683 return value is signed.
36684 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36685 test if OFFSET is less than zero, as OFFSET is unsigned now.
36686
36687 * kern/disk.c (struct grub_disk_cache): Change the type of
36688 "sector" to grub_disk_addr_t.
36689 (grub_disk_cache_get_index): Change the type of SECTOR to
36690 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36691 unsigned after shifting.
36692 (grub_disk_cache_invalidate): Change the type of SECTOR to
36693 grub_disk_addr_t.
36694 (grub_disk_cache_unlock): Likewise.
36695 (grub_disk_cache_store): Likewise.
36696 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36697 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36698 grub_disk_addr_t and grub_uint64_t, respectively.
36699 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36700 body, as the value of OFFSET is tweaked by
36701 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36702 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36703 respectively.
36704 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36705 body, as the value of OFFSET is tweaked by
36706 grub_disk_check_range. Change the types of LEN and N to
36707 grub_size_t.
36708
36709 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36710 and "saved_offset" to grub_off_t.
36711 (test_header): Cast BUF to char *.
36712 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36713 to char *.
36714 (grub_gzio_read): Change the types of OFFSET and SIZE to
36715 grub_off_t and grub_size_t, respectively.
36716
36717 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36718 Removed.
36719 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36720 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36721 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36722 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36723 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36724
36725 * include/grub/types.h (grub_off_t): Unconditionally set to
36726 grub_uint64_t.
36727 (grub_disk_addr_t): Changed to grub_uint64_t.
36728
36729 * include/grub/partition.h (struct grub_partition): Change the
36730 types of "start", "len" and "offset" to grub_disk_addr_t,
36731 grub_uint64_t and grub_disk_addr_t, respectively.
36732 (grub_partition_get_start): Return grub_disk_addr_t.
36733 (grub_partition_get_len): Return grub_uint64_t.
36734
36735 * include/grub/misc.h (grub_strtoull): New prototype.
36736 (grub_divmod64): Likewise.
36737
36738 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36739 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36740 grub_off_t, respectively.
36741 All callers and references changed.
36742
36743 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36744 grub_size_t in "read".
36745 All callers and references changed.
36746
36747 * include/grub/file.h (struct grub_file): Change the types of
36748 "offset" and "size" to grub_off_t and grub_off_t,
36749 respectively. Change the type of SECTOR to grub_disk_addr_t in
36750 "read_hook".
36751 (grub_file_read): Change the type of LEN to grub_size_t.
36752 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36753 grub_off_t.
36754 (grub_file_size): Return grub_off_t.
36755 (grub_file_tell): Likewise.
36756 All callers and references changed.
36757
36758 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36759 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36760 "write".
36761 (struct grub_disk): Change the type of "total_sectors" to
36762 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 36763 "read_hook".
524a1e6a 36764 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36765 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36766 (grub_disk_write): Likewise.
36767 All callers and references changed.
36768
36769 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36770 char * for grub_strncmp to silence gcc.
36771 (grub_iso9660_mount): Likewise.
36772 (grub_iso9660_mount): Likewise.
36773 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36774 return statement.
36775 (grub_iso9660_iterate_dir): Likewise.
36776 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36777
36778 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36779 LEN to grub_disk_addr_t and grub_size_t, respectively.
36780
36781 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36782
36783 * fs/jfs.c (grub_jfs_read_file): Likewise.
36784
36785 * fs/minix.c (grub_jfs_read_file): Likewise.
36786
36787 * fs/sfs.c (grub_jfs_read_file): Likewise.
36788
36789 * fs/ufs.c (grub_jfs_read_file): Likewise.
36790
36791 * fs/xfs.c (grub_jfs_read_file): Likewise.
36792
36793 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36794 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36795 respectively.
36796
36797 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36798 BLKNR to -1 instead of returning GRUB_ERRNO.
36799 (grub_ext2_read_file): Change the types of SECTOR and
36800 LEN to grub_disk_addr_t and grub_size_t, respectively.
36801
36802 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36803 LEN to grub_disk_addr_t and grub_size_t, respectively.
36804
36805 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36806 grub_file_read.
36807
36808 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36809 string. Do not cast SECTOR explicitly.
36810
36811 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36812 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36813 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36814 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36815 over 2TB and LBA mode is not supported, raise an error.
36816 (get_safe_sectors): New function.
36817 (grub_biosdisk_read): Use get_safe_sectors.
36818 (grub_biosdisk_write): Likewise.
36819
36820 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36821 (grub_efidisk_write): Likewise.
36822
36823 * disk/loopback.c (delete_loopback): Cosmetic changes.
36824 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36825 correctly.
36826 (grub_loopback_open): Likewise.
36827 (grub_loopback_read): Likewise. Also, change the type of POS to
36828 grub_off_t, and fix the usage of grub_memset.
36829
36830 * commands/i386/pc/play.c: Include grub/machine/time.h.
36831
36832 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36833 print FILE->SIZE.
36834
36835 * commands/configfile.c: Include grub/env.h.
36836
36837 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36838 GRUB_ERRNO directly instead. Change the type of POS to
36839 grub_off_t. Follow the coding standard.
36840
36841 * commands/blocklist.c: Include grub/partition.h.
36842 (grub_cmd_blocklist): Return an error if the underlying device is
36843 not a disk. Take the starting sector of a partition into account,
36844 if a partition is used.
36845
36846 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36847 a length field.
36848 (lba_mode): Support 64-bit addresses.
36849 (chs_mode): Likewise.
36850 (copy_buffer): Adapted to the new offsets of a length field and a
36851 segment field.
36852 (blocklist_default_start): Allocate 64-bit space.
36853
36854 * boot/i386/pc/boot.S (force_lba): Removed.
36855 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 36856 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 36857 space.
36858 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36859 is useless.
36860 (lba_mode): Refactored to support a 64-bit address. More size
36861 optimization.
36862 (setup_sectors): Likewise.
36863
53af98ad 368642006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36865
36866 * DISTLIST: Added include/grub/i386/linux.h. Removed
36867 include/grub/i386/pc/linux.h
36868
36869 * configure.ac (AC_INIT): Bumped to 1.94.
36870
36871 * config.guess: Updated from gnulib.
36872 * config.sub: Likewise.
36873 * install-sh: Likewise.
36874 * mkinstalldirs: Likewise.
36875
b4c1940a 368762006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36877
36878 * conf/common.rmk (grub_modules_init.lst): Depended on
36879 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36880 MODSRCFILES.
36881
36882 * genmk.rb (PModule::rule): Reverted the previous change.
36883
cfca1cfd 368842006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36885
36886 * conf/common.rmk (grub_modules_init.lst): Depends on
36887 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36888 that the target does not exist before producing.
36889 (grub_modules_init.h): Remove the target before generating.
36890 (grub_emu_init.c): Likewise.
36891
36892 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36893
aa6d7826 368942006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36895
36896 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36897 for the target-specific tests. Make sure that we also have the
36898 up-to-date target variables for those tests.
36899
26c607b9 369002006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36901
36902 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36903 (PModule::rule): Likewise.
36904
0162321a 369052006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36906
36907 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36908 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36909 target-specific flags should be prefixed.
36910 (PModule::rule): Likewise.
36911
6c826348 369122006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36913
36914 * configure.ac (CMP): Check if cmp is available explicitly.
36915
b977bf01 369162006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36917
36918 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36919 (target_cpu): New variable.
36920 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 36921
b977bf01 36922 * util/i386/pc/grub-install.in (host_cpu): Removed.
36923 (target_cpu): New variable.
36924 (pkglibdir): Use target_cpu instead of host_cpu.
36925
36926 * util/genmoddep.c: Removed.
f19dbdb7 36927
b977bf01 36928 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36929 instead of GRUB_HOST_SIZEOF_VOID_P.
36930 * kern/dl.c: Likewise.
36931
36932 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36933 ...
36934 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36935 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36936 (GRUB_TARGET_SIZEOF_LONG): ... this.
36937 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36938 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36939 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36940 to ...
36941 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36942 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36943 (GRUB_TARGET_SIZEOF_LONG): ... this.
36944 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36945 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36946 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36947 to ...
36948 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36949 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36950 (GRUB_TARGET_SIZEOF_LONG): ... this.
36951 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36952 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36953
36954 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36955 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36956 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36957 instead of GRUB_HOST_SIZEOF_LONG.
36958 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36959 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36960 GRUB_CPU_WORDS_BIGENDIAN.
36961 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36962 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36963 grub_host_ssize_t.
36964
36965 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36966 (genmoddep_SOURCES): Likewise.
36967 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36968 (genmoddep_SOURCES): Likewise.
36969 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36970 (genmoddep_SOURCES): Likewise.
36971 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36972 Likewise.
36973 (genmoddep_SOURCES): Likewise.
36974
36975 * genmoddep.awk: New file.
36976
36977 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36978 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36979 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36980 (PModule::rule): Likewise.
36981 (Program::rule): Likewise.
36982 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36983 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36984 respectively.
36985
36986 * configure.ac: Rewritten intensively to use host and target
36987 instead of build and host, respectively.
36988
36989 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
36990 (host_cpu): Removed.
36991 (target_cpu): New variable.
36992 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
36993 (BUILD_CC): Removed.
36994 (BUILD_CFLAGS): Likewise.
36995 (BUILD_CPPFLAGS): Likewise.
36996 (TARGET_CC): New variable.
36997 (TARGET_CFLAGS): Likewise.
36998 (TARGET_CPPFLAGS): Likewise.
36999 (TARGET_LDFLAGS): Likewise.
37000 (AWK): Likewise.
37001 (include): Use target_cpu instead of host_cpu.
37002 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 37003
b977bf01 37004 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
37005
f09771a1 370062006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
37007
37008 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
37009 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
37010 field 'false' to 'exec_on_false'.
37011 (grub_script_create_cmdif): Renamed argument names to reflect above
37012 changes.
37013
37014 * normal/execute.c (grub_script_execute_cmdif): Likewise.
37015
37016 * normal/script.c (grub_script_create_cmdif): Likewise.
37017
118f4fb3 370182006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
37019
37020 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
37021 top.
37022 (grub_hfsplus_btree_recptr): Likewise.
37023 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
37024 FILEBLOCK both to pass a block number and store next block
37025 number.
37026 (grub_hfsplus_read_block): Rewritten heavily to support an extent
37027 overflow file correctly. Specify errors appropriately, because
37028 fshelp expects that GRUB_ERRNO is set when fails. Reuse
37029 grub_hfsplus_btree_recptr to get the pointer to a found key.
37030 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
37031 is found.
37032
37033 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
37034 linux.mod.
37035 (_linux_mod_SOURCES): New variable.
37036 (_linux_mod_CFLAGS): Likewise.
37037 (_linux_mod_LDFLAGS): Likewise.
37038 (linux_mod_SOURCES): Likewise.
37039 (linux_mod_CFLAGS): Likewise.
37040 (linux_mod_LDFLAGS): Likewise.
37041
37042 * DISTLIST: Added loader/i386/efi/linux.c,
37043 loader/i386/efi/linux_normal.c and
37044 include/grub/i386/efi/loader.h.
37045
37046 * loader/i386/efi/linux.c: New file.
37047 * loader/i386/efi/linux_normal.c: Likewise.
37048 * include/grub/i386/efi/loader.h: Likewise.
37049
89a7d726 370502006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
37051
37052 * commands/blocklist.c: New file.
37053
37054 * DISTLIST: Added commands/blocklist.c.
37055
37056 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 37057 color for the background, and a darker color for the foreground.
89a7d726 37058 (grub_console_checkkey): Return READ_KEY.
37059 (grub_console_cls): Set the background to
37060 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
37061
37062 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
37063
37064 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
37065 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
37066
37067 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
37068 prototype.
37069
37070 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
37071 BG. The spec is wrong again.
37072
37073 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
37074 prototype.
37075 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
37076
37077 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37078 commands/blocklist.c.
37079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 37080
89a7d726 37081 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
37082 (blocklist_mod_SOURCES): New variable.
37083 (blocklist_mod_CFLAGS): Likewise.
37084 (blocklist_mod_LDFLAGS): Likewise.
37085
75c8f258 370862006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
37087
37088 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
37089 duplication.
37090 (lba_mode): Use %eax more intensively to reduce the code size.
37091
da2eb181 370922006-05-20 Marco Gerards <marco@gnu.org>
37093
37094 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
37095
37096 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
37097 for `menuentry'.
37098 (script): Accept leading newlines.
37099 (newlines): New rule to describe 0 or more newlines.
37100 (commands): Accept `command' with trailing newline. Fixed the
37101 order in which arguments were passed to `grub_script_add_cmd'.
37102 Accept commands separated by newlines.
37103 (function): Changed to accept newlines.
37104 (menuentry) Rewritten.
37105
37106 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37107 front of the list, instead of to the end.
37108
577b4050 371092006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37110
37111 * util/i386/pc/grub-install.in (bindir): New variable.
37112 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37113 Shaver <lbgwjl@gmail.com>.
37114
0d6e1189 371152006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37116
37117 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37118 grub/machine/linux.h
37119 * loader/i386/pc/linux.c: Likewise.
37120
37121 * include/grub/i386/pc/linux.h: Moved to ...
37122 * include/grub/i386/linux.h: ... here.
37123
37124 * include/grub/i386/linux.h (struct linux_kernel_params): New
37125 struct.
f19dbdb7 37126
31b86e9f 371272006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37128
37129 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37130 checking.
37131 (grub_video_vbe_blit_glyph): Likewise.
37132 (grub_video_vbe_blit_bitmap): Likewise.
37133 (grub_video_vbe_blit_render_target): Likewise.
37134
83b984de 371352006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37136
37137 * configure.ac (--with-platform): Properly quote the square
37138 brackets.
37139
5f0413bd 371402006-05-08 Marco Gerards <marco@gnu.org>
37141
37142 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
37143 this...
37144 (kernel_elf_HEADERS): ...to this. Updated all users.
37145 (grubof_symlist.c): Renamed from this...
37146 (kernel_elf_symlist.c): ...to this. Updated all users.
37147 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37148 (grubof_SOURCES): Renamed from this...
37149 (kernel_elf_SOURCES): ...to this.
37150 (grubof_HEADERS): Renamed from this...
37151 (kernel_elf_HEADERS): ...to this.
37152 (grubof_CFLAGS): Renamed from this...
37153 (kernel_elf_CFLAGS): ...to this.
37154 (grubof_ASFLAGS): Renamed from this...
37155 (kernel_elf_ASFLAGS): ...to this.
37156 (grubof_LDFLAGS): Renamed from this...
37157 (kernel_elf_LDFLAGS): ...to this.
37158
37159 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37160 this...
37161 (kernel_elf_HEADERS): ...to this. Updated all users.
37162 (grubof_symlist.c): Renamed from this...
37163 (kernel_elf_symlist.c): ...to this. Updated all users.
37164 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37165 (grubof_SOURCES): Renamed from this...
37166 (kernel_elf_SOURCES): ...to this.
37167 (grubof_HEADERS): Renamed from this...
37168 (kernel_elf_HEADERS): ...to this.
37169 (grubof_CFLAGS): Renamed from this...
37170 (kernel_elf_CFLAGS): ...to this.
37171 (grubof_ASFLAGS): Renamed from this...
37172 (kernel_elf_ASFLAGS): ...to this.
37173 (grubof_LDFLAGS): Renamed from this...
37174 (kernel_elf_LDFLAGS): ...to this.
37175
37176 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37177 `kernel.elf' instead of `grubof'.
37178
05568c2e 371792006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37180
37181 Add --with-platform to configure. Use pkglibdir instead of
37182 pkgdatadir. This is reported by Roger Leigh.
37183
37184 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37185 (host_vendor): Likewise.
37186 (host_os): Likewise.
37187 (pkgdatadir): Likewise.
37188 (platform): New variable.
37189 (pkglibdir): Likewise.
37190 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 37191
05568c2e 37192 * util/i386/pc/grub-install.in (datadir): Removed.
37193 (host_vendor): Likewise.
37194 (host_os): Likewise.
37195 (pkgdatadir): Likewise.
37196 (platform): New variable.
37197 (pkglibdir): Likewise.
37198 Use PKGLIBDIR instead of PKGDATADIR.
37199
37200 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37201 instead of GRUB_DATADIR.
37202 (main): Likewise.
37203 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37204 (main): Likewise.
37205 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37206 (main): Likewise.
37207
37208 * configure.ac (--with-platform): New option.
37209 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37210
37211 * Makefile.in: Include a makefile based on PLATFORM instead of
37212 HOST_VENDOR.
37213 (pkgdatadir): Not appended by the machine type.
37214 (pkglibdir): Appended by the machine type.
37215 (host_vendor): Removed.
37216 (platform): New variable.
37217 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37218 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37219 (uninstall): Likewise.
37220
4e93851c 372212006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37222
37223 Use the environment context in the menu. Remove the commands
37224 "default" and "timeout", and use variables instead.
f19dbdb7 37225
4e93851c 37226 * normal/menu.c: Include grub/env.h.
37227 (print_entry): Cast TITLE to silence gcc.
37228 (get_timeout): New function.
37229 (set_timeout): Likewise.
37230 (get_entry_number): Likewise.
37231 (run_menu): Use a default entry, a fallback entry and a timeout
37232 in the environment variables "default", "fallback" and
37233 "timeout". Also, tweak the default entry if it is not within the
37234 current menu entries.
37235 (grub_menu_run): Use a fallback entry in the environment variable
37236 "fallback".
37237
37238 * normal/main.c (read_config_file): Do not initialize
37239 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37240 NEWMENU->TIMEOUT.
37241 (grub_normal_execute): Use a data slot to store the menu.
37242
37243 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37244 fallback_entry and timeout.
37245 (struct grub_menu_list): Removed.
37246 (grub_menu_list_t): Likewise.
37247 (struct grub_context): Likewise.
37248 (grub_context_t): Likewise.
37249 (grub_context_get): Likewise.
37250 (grub_context_get_current_menu): Likewise.
37251 (grub_context_push_menu): Likewise.
37252 (grub_context_pop_menu): Likewise.
37253 (grub_default_init): Likewise.
37254 (grub_default_fini): Likewise.
37255 (grub_timeout_init): Likewise.
37256 (grub_timeout_fini): Likewise.
37257
37258 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37259 and timeout.mod.
37260 (normal_mod_SOURCES): Removed normal/context.c.
37261
37262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37263 commands/default.c, commands/timeout.c and normal/context.c.
37264 (normal_mod_SOURCES): Removed normal/context.c.
37265
37266 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37267 commands/timeout.c and normal/context.c.
37268 (normal_mod_SOURCES): Removed normal/context.c.
37269
37270 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37271 commands/default.c, commands/timeout.c and normal/context.c.
37272 (normal_mod_SOURCES): Removed normal/context.c.
37273
37274 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37275 timeout.mod.
37276 (default_mod_SOURCES): Removed.
37277 (default_mod_CFLAGS): Likewise.
37278 (default_mod_LDFLAGS): Likewise.
37279 (timeout_mod_SOURCES): Removed.
37280 (timeout_mod_CFLAGS): Likewise.
37281 (timeout_mod_LDFLAGS): Likewise.
37282
37283 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37284 normal/context.c.
37285
37286 * commands/default.c: Removed.
37287 * commands/timeout.c: Likewise.
37288 * normal/context.c: Likewise.
37289
1eb9cc1d 372902006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37291
37292 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37293
385bd9c1 372942006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37295
37296 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37297 "next" to "prev" for readability.
37298 (struct grub_env_sorted_var): New struct.
37299 (grub_env_context): Renamed to ...
37300 (initial_context): ... this.
37301 (grub_env_var_context): Renamed to ...
37302 (current_context): ... this.
37303 (grub_env_find): Look only at CURRENT_CONTEXT.
37304 (grub_env_context_open): Rewritten to copy exported variables from
37305 previous context.
37306 (grub_env_context_close): Rewritten according to the new
37307 scheme. Also, add an assertion to prevent the initial context from
37308 removed.
37309 (grub_env_insert): Removed the code for the sorted list.
37310 (grub_env_remove): Likewise.
37311 (grub_env_export): Simply mark the variable with
37312 GRUB_ENV_VAR_GLOBAL.
37313 (grub_env_set): A cosmetic change for naming consistency.
37314 (grub_env_get): Likewise.
37315 (grub_env_unset): Likewise.
37316 (grub_env_iterate): Rewritten to sort variables within this
37317 function.
37318 (grub_register_variable_hook): Fixed for naming consistency. Call
37319 grub_env_find again, only if NAME is not found at the first time.
37320 (mangle_data_slot_name): New function.
37321 (grub_env_set_data_slot): Likewise.
37322 (grub_env_get_data_slot): Likewise.
37323 (grub_env_unset_data_slot): Likewise.
37324
37325 * include/grub/env.h (grub_env_var_type): New enum.
37326 (GRUB_ENV_VAR_LOCAL): New constant.
37327 (GRUB_ENV_VAR_GLOBAL): Likewise.
37328 (GRUB_ENV_VAR_DATA): Likewise.
37329 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37330 "type".
37331 (grub_env_set): Replace VAR with NAME for consistency.
37332 (grub_register_variable_hook): Likewise.
37333 (grub_env_export): Specify the name of the argument.
37334 (grub_env_set_data_slot): New prototype.
37335 (grub_env_get_data_slot): Likewise.
37336 (grub_env_unset_data_slot): Likewise.
37337
7f362539 373382006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37339
37340 Extend the loader so that GRUB can accept a loader which comes
37341 back to GRUB when a loaded image exits. Also, this change adds
37342 support for a chainloader on EFI.
f19dbdb7 37343
7f362539 37344 * term/efi/console.c: Include grub/misc.h.
37345 (grub_console_checkkey): Display a scan code on the top for
37346 debugging. This will be removed once the EFI port gets stable.
37347 Correct the scan code mapping.
37348
37349 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37350 allocate memory from larger regions, in order to reduce the number
37351 of allocated regions. Otherwise, the MacOSX loader panics.
37352 (filter_memory_map): Avoid less than 1MB for compatibility with
37353 other loaders.
37354 (add_memory_regions): Allocate from the tail of a region, if
37355 possible, to avoid allocating a region near to 1MB, for the MacOSX
37356 loader.
37357
37358 * kern/efi/init.c (grub_efi_set_prefix): Specify
37359 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37360
37361 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37362 argument IMAGE_HANDLE and specify it to get a loaded image.
37363 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37364 grub_efi_get_loaded_image.
fe6b695a 37365 (grub_efi_get_filename): Divide the length by the size of
7f362539 37366 grub_efi_char16_t.
37367 (grub_efi_get_device_path): New function.
37368 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37369 the length by the size of grub_efi_char16_t for a file path device
37370 path node.
37371
37372 * kern/loader.c (grub_loader_noreturn): New variable.
37373 (grub_loader_set): Accept a new argument NORETURN. Set
37374 GRUB_LOADER_NORETURN to NORETURN.
37375 All callers changed.
37376 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37377 grub_machine_fini.
37378
37379 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37380 prototype.
37381 (grub_efi_get_loaded_image): Take an argument to specify an image
37382 handle.
37383
37384 * include/grub/loader.h (grub_loader_set): Added one more argument
37385 NORETURN.
37386
37387 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37388 instead of grub_efi_open_protocol.
37389 (grub_efidisk_get_device_name): Likewise.
37390 (grub_efidisk_close): Print a newline.
37391 (grub_efidisk_get_device_handle): Fixed to use
37392 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37393 GRUB_EFI_DEVICE_PATH_TYPE.
37394
37395 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37396 * kern/efi/efi.c (device_path_guid): ... here.
37397
37398 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37399 chain.mod.
37400 (kernel_mod_HEADERS): Added efi/disk.h.
37401 (_chain_mod_SOURCES): New variable.
37402 (_chain_mod_CFLAGS): Likewise.
37403 (_chain_mod_LDFLAGS): Likewise.
37404 (chain_mod_SOURCES): Likewise.
37405 (chain_mod_CFLAGS): Likewise.
37406 (chain_mod_LDFLAGS): Likewise.
37407
37408 * DISTLIST: Added include/grub/efi/chainloader.h,
37409 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37410
37411 * include/grub/efi/chainloader.h: New file.
37412 * loader/efi/chainloader.c: Likewise.
37413 * loader/efi/chainloader_normal.c: Likewise.
37414
c0111d6e 374152006-04-30 Marco Gerards <marco@gnu.org>
37416
37417 * commands/configfile.c (grub_cmd_source): New function.
37418 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37419 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37420
df5341da 374212006-04-30 Marco Gerards <marco@gnu.org>
37422
37423 * normal/execute.c (grub_script_execute_cmd): Change the return
37424 type to `grub_err_t'. Correctly return the error.
37425 (grub_script_execute_cmdline): In case a command line is not a
37426 command or a function, try to interpret it as an assignment.
37427
f85934bd 374282006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37429
37430 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37431 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37432 skip a node whose name is obviously invalid as UTF-16,
37433 i.e. contains a NUL character. Stop the iteration when the last
37434 directory entry is found. Instead of using the return value of
37435 grub_hfsplus_btree_iterate_node, store the value in RET and use
37436 it, because the iterator can be stopped by the last directory
37437 entry.
37438
8f8a2cf8 374392006-04-30 Marco Gerards <marco@gnu.org>
37440
37441 * include/grub/env.h (grub_env_export): New prototype. Reported
37442 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37443
a27e84ce 374442006-04-30 Marco Gerards <marco@gnu.org>
37445
37446 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37447 size of the extents in a catalog file record.
37448
eaef0553 374492006-04-29 Marco Gerards <marco@gnu.org>
37450
37451 * commands/configfile.c (grub_cmd_configfile): Execute the
37452 configfile within its own context.
37453
37454 * include/grub/env.h (grub_env_context_open): New prototype.
37455 (grub_env_context_close): Likewise.
37456
37457 * kern/env.c (grub_env): Removed.
37458 (grub_env_sorted): Likewise.
37459 (grub_env_context): New variable.
37460 (grub_env_var_context): Likewise.
37461 (grub_env_find): Search both the active context and the global
37462 context.
37463 (grub_env_context_open): New function.
37464 (grub_env_context_close): Likewise.
37465 (grub_env_insert): Likewise.
37466 (grub_env_remove): Likewise.
37467 (grub_env_export): Likewise.
37468 (grub_env_set): Changed to use helper functions to avoid code
37469 duplication.
37470 (grub_env_iterate): Rewritten so both the current context and the
37471 global context are being used.
37472
37473 * normal/command.c (export_command): New function.
37474 (grub_command_init): Register the `export' function.
37475
7b455f4d 374762006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37477
37478 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37479 explicitly to suppress gcc's warnings.
37480 * fs/fat.c (grub_fat_find_dir): Likewise.
37481 (grub_fat_label): Likewise.
37482 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37483 (grub_xfs_mount): Likewise.
37484 (grub_xfs_label): Likewise.
37485 * fs/affs.c (grub_affs_mount): Likewise.
37486 (grub_affs_label): Likewise.
37487 (grub_affs_iterate_dir): Likewise.
37488 * fs/sfs.c (grub_sfs_mount): Likewise.
37489 (grub_sfs_iterate_dir): Likewise.
37490 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37491 * fs/hfs.c (grub_hfs_mount): Likewise.
37492 (grub_hfs_cmp_catkeys): Likewise.
37493 (grub_hfs_find_dir): Likewise.
37494 (grub_hfs_dir): Likewise.
37495 (grub_hfs_label): Likewise.
37496 * fs/jfs.c (grub_jfs_mount): Likewise.
37497 (grub_jfs_opendir): Likewise.
37498 (grub_jfs_getent): Likewise.
37499 (grub_jfs_lookup_symlink): Likewise.
37500 (grub_jfs_label): Likewise.
37501 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37502 (grub_hfsplus_iterate_dir): Likewise.
37503 (grub_hfsplus_btree_iterate_node): Made static.
37504
37505 * util/grub-emu.c (prefix): New variable.
37506 (grub_machine_set_prefix): New function.
37507 (main): Do not set the environment variable "prefix" here. Only
37508 set PREFIX, which is used later by grub_machine_set_prefix.
37509
37510 * include/grub/video.h: Do not include grub/symbol.h.
37511 (grub_video_register): Not exported. This symbol is not defined in
37512 the kernel.
37513 (grub_video_unregister): Likewise.
37514 (grub_video_iterate): Likewise.
37515 (grub_video_setup): Likewise.
37516 (grub_video_restore): Likewise.
37517 (grub_video_get_info): Likewise.
37518 (grub_video_get_blit_format): Likewise.
37519 (grub_video_set_palette): Likewise.
37520 (grub_video_get_palette): Likewise.
37521 (grub_video_set_viewport): Likewise.
37522 (grub_video_get_viewport): Likewise.
37523 (grub_video_map_color): Likewise.
37524 (grub_video_map_rgb): Likewise.
37525 (grub_video_map_rgba): Likewise.
37526 (grub_video_fill_rect): Likewise.
37527 (grub_video_blit_glyph): Likewise.
37528 (grub_video_blit_bitmap): Likewise.
37529 (grub_video_blit_render_target): Likewise.
37530 (grub_video_scroll): Likewise.
37531 (grub_video_swap_buffers): Likewise.
37532 (grub_video_create_render_target): Likewise.
37533 (grub_video_delete_render_target): Likewise.
37534 (grub_video_set_active_render_target): Likewise.
37535
37536 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37537 Undefined.
37538 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37539
37540 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37541 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37542 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37543 instead of $(srcdir)/genkernsyms.sh.
37544
37545 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37546 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37547 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37548 instead of $(srcdir)/genkernsyms.sh.
37549
37550 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37551 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37552 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37553 instead of $(srcdir)/genkernsyms.sh.
37554
37555 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37556 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37557 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37558 instead of $(srcdir)/genkernsyms.sh.
37559
37560 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37561 genkernsyms.sh.
37562
37563 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37564 genkernsyms.sh.
37565 (gensymlist.sh): New target.
37566 (genkernsyms.sh): Likewise.
37567
37568 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37569 genkernsyms.sh.in and gensymlist.sh.in.
37570
37571 * genkernsyms.sh: Removed.
37572 * gensymlist.sh: Likewise.
f19dbdb7 37573
7b455f4d 37574 * genkernsyms.sh.in: New file.
37575 * gensymlist.sh.in: Likewise.
37576
1885bb27 375772006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37578
37579 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37580 clobber "prefix", since we may have already set it manually.
37581
71538dff 375822006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37583
37584 * kern/misc.c (abort): New alias for grub_abort.
37585
2965c7cc 375862006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37587
37588 A new machine-specific function "grub_machine_set_prefix" is
37589 defined. This is called after loading modules, so that a prefix
37590 initialization can use modules. Also, this change adds an
37591 intensive debugging feature for the memory manager via the
37592 configure option "--enable-mm-debug".
f19dbdb7 37593
2965c7cc 37594 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37595 PART.LEN.
37596
37597 * kern/sparc64/ieee1275/init.c (abort): Removed.
37598 (grub_stop): Likewise.
37599 (grub_exit): New function.
37600 (grub_set_prefix): Renamed to ...
37601 (grub_machine_set_prefix): ... this.
37602 (grub_machine_init): Do not call grub_set_prefix.
37603
37604 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37605 (grub_machine_set_prefix): ... this.
37606 (grub_machine_init): Do not call grub_set_prefix.
37607
37608 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37609 (grub_machine_init): Do not set the prefix here.
37610
37611 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37612
37613 * kern/efi/init.c: Include grub/mm.h.
37614 (grub_efi_set_prefix): New function.
37615
37616 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37617 (grub_efi_get_filename): New function.
37618 (grub_print_device_path): Renamed to ...
37619 (grub_efi_print_device_path): ... this.
37620
37621 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37622 [MM_DEBUG] (grub_realloc): Likewise.
37623 [MM_DEBUG] (grub_free): Likewise.
37624 [MM_DEBUG] (grub_memalign): Likewise.
37625 [MM_DEBUG] (grub_mm_debug): New variable.
37626 [MM_DEBUG] (grub_debug_malloc): New function.
37627 [MM_DEBUG] (grub_debug_free): New function.
37628 [MM_DEBUG] (grub_debug_realloc): New function.
37629 [MM_DEBUG] (grub_debug_memalign): New function.
37630
37631 * kern/misc.c (grub_abort): Print a newline to distinguish
37632 the message.
37633
37634 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37635 grub_set_root_dev after loading modules. This is necessary when
37636 setting a prefix depends on modules.
37637
37638 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37639 (grub_efi_print_device_path): ... this.
37640 (grub_efi_get_filename): New prototype.
37641 (grub_efi_set_prefix): Likewise.
37642
37643 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37644 and grub/disk.h.
37645 (grub_efidisk_get_device_handle): New prototype.
37646 (grub_efidisk_get_device_name): Likewise.
37647
37648 * include/grub/mm.h: Include config.h.
37649 (MM_DEBUG): Removed.
37650 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37651 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37652 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37653 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37654 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37655 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37656 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37657 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37658 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37659
37660 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37661
37662 * disk/efi/efidisk.c: Include grub/partition.h.
37663 (iterate_child_devices): New function.
37664 (add_device): First, compare only last device path nodes, so that
37665 devices are sorted by the types.
37666 (grub_efidisk_get_device_handle): New function.
37667 (grub_efidisk_get_device_name): Likewise.
37668
37669 * configure.ac (--enable-mm-debug): New option to enable the
37670 memory manager debugging feature. This makes the binary much
37671 bigger, so is disabled by default.
37672
9cacaa17 376732006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37674
37675 Use grub_abort instead of grub_stop, and grub_exit must be
37676 define in each architecture now. Also, this change adds support
37677 for EFI disks.
f19dbdb7 37678
9cacaa17 37679 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37680 (grub_getkey): New function.
37681 (grub_term_get_current): Likewise.
37682
37683 * util/i386/pc/grub-setup.c: Include grub/term.h.
37684 (grub_getkey): New function.
37685 (grub_term_get_current): Likewise.
37686
37687 * util/misc.c (grub_stop): Renamed to ...
37688 (grub_exit): ... this.
37689
37690 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37691 (grub_exit): ... this.
37692 (grub_machine_init): Use grub_abort instead of abort.
37693 (grub_stop): Removed.
37694
37695 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37696 abort.
37697
37698 * kern/i386/pc/startup.S (grub_exit): New function.
37699 (cold_reboot): New label.
37700
37701 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37702 (grub_efi_init): Call grub_efidisk_init.
37703 (grub_efi_fini): Call grub_efidisk_fini.
37704
37705 * kern/efi/efi.c: Include grub/mm.h.
37706 (grub_efi_console_control_guid): Renamed to ...
37707 (console_control_guid): ... this.
37708 (grub_efi_loaded_image_guid): Renamed to ...
37709 (loaded_image_guid): ... this.
37710 (grub_efi_locate_handle): New function.
37711 (grub_efi_open_protocol): Likewise.
37712 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37713 GRUB_EFI_CONSOLE_CONTROL_GUID.
37714 (grub_efi_exit): Removed.
37715 (grub_stop): Likewise.
37716 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37717 (grub_exit): New function.
37718 (grub_print_device_path): Likewise.
37719
37720 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37721 (grub_enter_rescue_mode): Register "exit".
37722
37723 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37724 (grub_abort): New function.
37725
37726 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37727
37728 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37729
37730 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37731
37732 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37733 (grub_print_device_path): New prototype.
37734 (grub_efi_locate_handle): Likewise.
37735 (grub_efi_open_protocol): Likewise.
37736
37737 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37738 * disk/efi/efidisk.c: Likewise.
37739
37740 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37741
37742 * include/grub/efi/console_control.h
37743 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37744
37745 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37746 last 8 bytes as an array.
37747 (GRUB_EFI_DISK_IO_GUID): New macro.
37748 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37749 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37750 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37751 grub_uint8_t.
37752 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37753 (struct grub_efi_device_path): Rename the member "sub_type" to
37754 "subtype".
37755 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37756 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37757 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37758 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37759 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37760 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37761 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37762 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37763 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37764 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37765 (struct grub_efi_pci_device_path): New structure.
37766 (grub_efi_pci_device_path_t): New type.
37767 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37768 (struct grub_efi_pccard_device_path): New structure.
37769 (grub_efi_pccard_device_path_t): New type.
37770 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37771 (struct grub_efi_memory_mapped_device_path): New structure.
37772 (grub_efi_memory_mapped_device_path_t): New type.
37773 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37774 (struct grub_efi_vendor_device_path): New structure.
37775 (grub_efi_vendor_device_path_t): New type.
37776 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37777 (struct grub_efi_controller_device_path): New structure.
37778 (grub_efi_controller_device_path_t): New type.
37779 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37780 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37781 (struct grub_efi_acpi_device_path): New structure.
37782 (grub_efi_acpi_device_path_t): New type.
37783 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37784 (struct grub_efi_expanded_acpi_device_path): New structure.
37785 (grub_efi_expanded_acpi_device_path_t): New type.
37786 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37787 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37788 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37789 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37790 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37791 (struct grub_efi_atapi_device_path): New structure.
37792 (grub_efi_atapi_device_path_t): New type.
37793 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37794 (struct grub_efi_fibre_channel_device_path): New structure.
37795 (grub_efi_fibre_channel_device_path_t): New type.
37796 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37797 (struct grub_efi_1394_device_path): New structure.
37798 (grub_efi_1394_device_path_t): New type.
37799 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37800 (struct grub_efi_usb_device_path): New structure.
37801 (grub_efi_usb_device_path_t): New type.
37802 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37803 (struct grub_efi_usb_class_device_path): New structure.
37804 (grub_efi_usb_class_device_path_t): New type.
37805 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37806 (struct grub_efi_i2o_device_path): New structure.
37807 (grub_efi_i2o_device_path_t): New type.
37808 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37809 (struct grub_efi_mac_address_device_path): New structure.
37810 (grub_efi_mac_address_device_path_t): New type.
37811 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37812 (struct grub_efi_ipv4_device_path): New structure.
37813 (grub_efi_ipv4_device_path_t): New type.
37814 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37815 (struct grub_efi_ipv6_device_path): New structure.
37816 (grub_efi_ipv6_device_path_t): New type.
37817 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37818 (struct grub_efi_infiniband_device_path): New structure.
37819 (grub_efi_infiniband_device_path_t): New type.
37820 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37821 (struct grub_efi_uart_device_path): New structure.
37822 (grub_efi_uart_device_path_t): New type.
37823 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37824 (struct grub_efi_vendor_messaging_device_path): New structure.
37825 (grub_efi_vendor_messaging_device_path_t): New type.
37826 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37827 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37828 (struct grub_efi_hard_drive_device_path): New structure.
37829 (grub_efi_hard_drive_device_path_t): New type.
37830 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37831 (struct grub_efi_cdrom_device_path): New structure.
37832 (grub_efi_cdrom_device_path_t): New type.
37833 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37834 (struct grub_efi_vendor_media_device_path): New structure.
37835 (grub_efi_vendor_media_device_path_t): New type.
37836 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37837 (struct grub_efi_file_path_device_path): New structure.
37838 (grub_efi_file_path_device_path_t): New type.
37839 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37840 (struct grub_efi_protocol_device_path): New structure.
37841 (grub_efi_protocol_device_path_t): New type.
37842 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37843 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37844 (struct grub_efi_bios_device_path): New structure.
37845 (grub_efi_bios_device_path_t): New type.
37846 (struct grub_efi_disk_io): New structure.
37847 (grub_efi_disk_io_t): New type.
37848 (struct grub_efi_block_io_media): New structure.
37849 (grub_efi_block_io_media_t): New type.
37850 (struct grub_efi_block_io): New structure.
37851 (grub_efi_block_io_t): New type.
37852
37853 * include/grub/misc.h (grub_stop): Removed.
37854 (grub_exit): New prototype.
37855 (grub_abort): Likewise.
37856
37857 * include/grub/disk.h (enum grub_disk_dev_id): Added
37858 GRUB_DISK_DEVICE_EFIDISK_ID.
37859
37860 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37861 disk/efi/efidisk.c.
37862 (kernel_syms.lst): Remove the target if an error occurs.
37863
49986a9f 378642006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37865
37866 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37867 as it was simply too buggy.
37868
970d3b8a 378692006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37870
37871 * kern/misc.c (grub_lltoa): New function.
37872 (grub_vsprintf): Added support for the long long suffix,
37873 i.e. "ll".
37874
ff04ec24 378752006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37876
37877 * Makefile.in (LDFLAGS): Add variable.
37878 (LD): Remove variable.
37879 * configure.ac: Add -m32 to LDFLAGS.
37880 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37881 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37882 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37883 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37884 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37885 variables.
37886 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37887 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37888 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37889
37e5e1a4 378902006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37891
37892 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37893 length for unknown glyph.
37894
c352d8dd 378952006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37896
2eab1c0d 37897 Add support for pre-loaded modules into the EFI port.
f19dbdb7 37898
2eab1c0d 37899 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37900 completely. Accept one more argument DIR. The caller has changed.
37901
37902 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37903
37904 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37905 (grub_efi_loaded_image_guid): New variable.
37906 (grub_efi_get_loaded_image): New function.
37907 (grub_arch_modules_addr): Likewise.
37908
37909 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37910 prototype.
37911
37912 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37913 (struct grub_efi_loaded_image): New structure.
37914 (grub_efi_loaded_image_t): New type.
37915
379162006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37917
c352d8dd 37918 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37919 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37920 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37921
6d01d6b4 379222006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37923
37924 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37925
976a4ea0 379262006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37927
37928 * DISTLIST: Added include/grub/efi/console.h,
37929 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37930 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37931
37932 * include/grub/efi/console.h: New file.
37933 * include/grub/efi/time.h: Likewise.
37934 * include/grub/i386/efi/kernel.h: Likewise.
37935 * kern/efi/init.c: Likewise.
37936 * kern/efi/mm.c: Likewise.
37937 * term/efi/console.c: Likewise.
f19dbdb7 37938
976a4ea0 37939 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37940 (grub_stop): Removed.
37941 (grub_get_rtc): Likewise.
37942 (grub_machine_init): Simply call grub_efi_init.
37943 (grub_machine_fini): Call grub_efi_fini.
37944
37945 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37946 (grub_efi_output_string): Removed.
37947 (grub_efi_stall): New function.
37948 (grub_stop): Likewise.
37949 (grub_get_rtc): Likewise.
37950
37951 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37952 (grub_efi_stall): New prototype.
37953 (grub_efi_allocate_pages): Likewise.
37954 (grub_efi_free_pages): Likewise.
37955 (grub_efi_get_memory_map): Likewise.
37956 (grub_efi_mm_init): Likewise.
37957 (grub_efi_mm_fini): Likewise.
37958 (grub_efi_init): Likewise.
37959 (grub_efi_fini): Likewise.
37960
37961 * include/grub/i386/efi/time.h: Do not include
37962 grub/symbol.h. Include grub/efi/time.h.
37963 (GRUB_TICKS_PER_SECOND): Removed.
37964 (grub_get_rtc): Likewise.
37965
37966 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37967 Added padding. The EFI spec is buggy.
37968 (GRUB_EFI_BLACK): New macro.
37969 (GRUB_EFI_BLUE): Likewise.
37970 (GRUB_EFI_GREEN): Likewise.
37971 (GRUB_EFI_CYAN): Likewise.
37972 (GRUB_EFI_RED): Likewise.
37973 (GRUB_EFI_MAGENTA): Likewise.
37974 (GRUB_EFI_BROWN): Likewise.
37975 (GRUB_EFI_LIGHTGRAY): Likewise.
37976 (GRUB_EFI_BRIGHT): Likewise.
37977 (GRUB_EFI_DARKGRAY): Likewise.
37978 (GRUB_EFI_LIGHTBLUE): Likewise.
37979 (GRUB_EFI_LIGHTGREEN): Likewise.
37980 (GRUB_EFI_LIGHTCYAN): Likewise.
37981 (GRUB_EFI_LIGHTRED): Likewise.
37982 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37983 (GRUB_EFI_YELLOW): Likewise.
37984 (GRUB_EFI_WHITE): Likewise.
37985 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37986 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
37987 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
37988 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
37989 (GRUB_EFI_BACKGROUND_RED): Likewise.
37990 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
37991 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
37992 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
37993 (GRUB_EFI_TEXT_ATTR): Likewise.
37994
37995 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
37996 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37997 (kernel_mod_HEADERS): Added efi/time.h.
37998
83709125 379992006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
38000
38001 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
38002 include/grub/efi/api.h, include/grub/efi/console_control.h,
38003 include/grub/efi/efi.h, include/grub/efi/pe32.h,
38004 include/grub/i386/efi/time.h, kern/efi/efi.c,
38005 kern/i386/efi/init.c, kern/i386/efi/startup.S,
38006 and util/i386/efi/grub-mkimage.c.
38007
38008 * Makefile.in (RMKFILES): Added i386-efi.rmk.
38009
38010 * genmk.rb (PModule#rule): Do not export symbols if
38011 #{prefix}_EXPORTS is set to "no".
38012
38013 * conf/i386-efi.mk: New file.
38014 * conf/i386-efi.rmk: Likewise.
38015 * include/grub/efi/api.h: Likewise.
38016 * include/grub/efi/console_control.h: Likewise.
38017 * include/grub/efi/efi.h: Likewise.
38018 * include/grub/efi/pe32.h: Likewise.
38019 * include/grub/i386/efi/time.h: Likewise.
38020 * kern/efi/efi.c: Likewise.
38021 * kern/i386/efi/init.c: Likewise.
38022 * kern/i386/efi/startup.S: Likewise.
38023 * util/i386/efi/grub-mkimage.c: Likewise.
38024
380252006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 38026
38027 * include/grub/script.h: Include <grub/parser.h> and
38028 "grub_script.tab.h".
38029 (struct grub_lexer_param): New struct.
38030 (struct grub_parser_param): Likewise.
38031 (grub_script_create_arglist): Pass the state in an argument.
38032 (grub_script_add_arglist): Likewise.
38033 (grub_script_create_cmdline): Likewise.
38034 (grub_script_create_cmdblock): Likewise.
38035 (grub_script_create_cmdif): Likewise.
38036 (grub_script_create_cmdmenu): Likewise.
38037 (grub_script_add_cmd): Likewise.
38038 (grub_script_arg_add): Likewise.
38039 (grub_script_lexer_ref): Likewise.
38040 (grub_script_lexer_deref): Likewise.
38041 (grub_script_lexer_record_start): Likewise.
38042 (grub_script_lexer_record_stop): Likewise.
38043 (grub_script_mem_record): Likewise.
38044 (grub_script_mem_record_stop): Likewise.
38045 (grub_script_malloc): Likewise.
38046 (grub_script_yylex): Likewise.
38047 (grub_script_yyparse): Likewise.
38048 (grub_script_yyerror): Likewise.
38049 (grub_script_yylex): Likewise.
38050 (grub_script_lexer_init): Return the state.
38051
38052 * normal/lexer.c (grub_script_lexer_state): Removed variable.
38053 (grub_script_lexer_done): Likewise.
38054 (grub_script_lexer_getline): Likewise.
38055 (grub_script_lexer_refs): Likewise.
38056 (script): Likewise.
38057 (newscript): Likewise.
38058 (record): Likewise.
38059 (recording): Likewise.
38060 (recordpos): Likewise.
38061 (recordlen): Likewise.
38062 (grub_script_lexer_init): Return the state instead of setting
38063 global variables.
38064 (grub_script_lexer_ref): Use the newly added argument for state
38065 instead of globals.
38066 (grub_script_lexer_deref): Likewise.
38067 (grub_script_lexer_record_start): Likewise.
38068 (grub_script_lexer_record_stop): Likewise.
38069 (recordchar): Likewise.
38070 (nextchar): Likewise.
38071 (grub_script_yylex2): Likewise.
38072 (grub_script_yylex): Likewise.
38073 (grub_script_yyerror): Likewise.
38074
38075 * normal/parser.y (func_mem): Removed variable.
38076 (menu_entry): Likewise.
38077 (err): Likewise.
38078 (%lex-param): New parser option.
38079 (%parse-param): Likewise.
38080 (script): Always return the AST.
38081 (argument): Pass the state around.
38082 (arguments): Likewise.
38083 (grubcmd): Likewise.
38084 (commands): Likewise.
38085 (function): Likewise.
38086 (menuentry): Likewise.
38087 (if_statement): Likewise.
38088 (if): Likewise.
38089
38090 * normal/script.c (grub_script_memused): Removed variable.
38091 (grub_script_parsed): Likewise.
38092 (grub_script_malloc): Added a state argument. Use that instead of
38093 global variables.
38094 (grub_script_mem_record): Likewise.
38095 (grub_script_mem_record_stop): Likewise.
38096 (grub_script_arg_add): Likewise.
38097 (grub_script_add_arglist): Likewise.
38098 (grub_script_create_cmdline): Likewise.
38099 (grub_script_create_cmdif): Likewise.
38100 (grub_script_create_cmdmenu): Likewise.
38101 (grub_script_add_cmd): Likewise.
38102 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 38103
e2a8c904 381042006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 38105
38106 * normal/command.c (grub_command_init): Remove the title command.
38107
38108 * normal/lexer.c (grub_script_yylex): Renamed from this...
38109 (grub_script_yylex2): ... to this.
38110 (grub_script_yylex): New function. Temporary
38111 introduced to filter some tokens.
38112 (grub_script_yyerror): Print a newline.
38113
38114 * normal/main.c (read_config_file): Output information about the
38115 lines that contain errors. Wait for a key after all lines have
38116 been processed. Don't return an empty menu.
38117
38118 * normal/parser.y (func_mem): Don't initialize.
38119 (menu_entry): Likewise.
38120 (err): New variable.
38121 (script): Don't return anything when an error was encountered.
38122 (ws, returns): Removed rules.
38123 (argument): Disabled concatenated variable support.
38124 (arguments): Remove explicit separators.
38125 (grubcmd): Likewise.
38126 (function): Likewise.
38127 (menuentry): Likewise.
38128 (if): Likewise.
38129 (commands): Likewise. Add error handling.
38130
38131 * normal/script.c (grub_script_create_cmdline): If
38132 `grub_script_parsed' is 0, assume the parser encountered an error.
38133
c9a86192 381342006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38135
38136 * configure.ac: Add support for EFI. Fix the typo
38137 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38138
70f3b243 381392006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38140
38141 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38142 foreign multibyte characters should be shown correctly.
38143
65f201ad 381442006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38145
38146 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38147 calculation.
38148 (read_config_file): Made it to close file before returning.
38149
b4b93674 381502006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38151
38152 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38153 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38154 video/i386/pc/vbefill.c.
38155
38156 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38157 video/i386/pc/vbefill.c.
38158
38159 * include/grub/video.h (grub_video_blit_format): New enum.
38160 (grub_video_mode_info): Added new member blit_format.
38161 (grub_video_get_blit_format): New function prototype.
38162
38163 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38164 function prototype.
38165 (grub_video_vbe_map_rgb): Likewise.
38166 (grub_video_vbe_unmap_color): Likewise.
38167
38168 * include/grub/i386/pc/vbeblit.h: New file.
38169
38170 * include/grub/i386/pc/vbefill.h: New file.
38171
38172 * video/video.c (grub_video_get_blit_format): New function.
38173 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38174 (grub_video_vbe_map_rgb): Likewise.
38175 (grub_video_vbe_unmap_color): Likewise.
38176
38177 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38178 optimized fills.
38179 (grub_video_vbe_blit_render_target): Changed to use more optimized
38180 blits.
38181 (grub_video_vbe_setup): Added detection for optimized settings.
38182 (grub_video_vbe_create_render_target): Likewise.
38183
38184 * video/i386/pc/vbeblit.c: New file.
38185
38186 * video/i386/pc/vbefill.c: New file.
38187
c2379b9c 381882006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38189
38190 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38191 here...
38192
38193 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38194 parsing to support both hex and dec ranges. If filename was missing
38195 show usage information.
38196
bd0d7896 381972006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38198
38199 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38200 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38201
38202 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38203 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38204 (video_mod_SOURCES): Added.
38205 (video_mod_CFLAGS): Likewise.
38206 (video_mod_LDFLAGS): Likewise.
38207 (gfxterm_mod_SOURCES): Likewise.
38208 (gfxterm_mod_CFLAGS): Likewise.
38209 (gfxterm_mod_LDFLAGS): Likewise.
38210 (videotest_mod_SOURCES): Likewise.
38211 (videotest_mod_CFLAGS): Likewise.
38212 (videotest_mod_LDFLAGS): Likewise.
38213 (vesafb_mod_SOURCES): Removed.
38214 (vesafb_mod_CFLAGS): Likewise.
38215 (vesafb_mod_LDFLAGS): Likewise.
38216 (vga_mod_SOURCES): Likewise.
38217 (vga_mod_CFLAGS): Likewise.
38218 (vga_mod_LDFLAGS): Likewise.
38219
38220 * commands/videotest.c: New file.
38221
38222 * font/manager.c (fill_with_default_glyph): Modified to use
38223 grub_font_glyph.
38224 (grub_font_get_glyph): Likewise.
38225 (fontmanager): Renamed from this...
38226 (font_manager): ... to this.
38227
38228 * include/grub/font.h (grub_font_glyph): Added new structure.
38229 (grub_font_get_glyph): Modified to use grub_font_glyph.
38230
38231 * include/grub/misc.h (grub_abs): Added as inline function.
38232
38233 * include/grub/video.h: New file.
38234
38235 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38236 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38237 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38238 (grub_vbe_get_controller_info): Renamed from this...
38239 (grub_vbe_bios_get_controller_info): ... to this.
38240 (grub_vbe_get_mode_info): Renamed from this...
38241 (grub_vbe_bios_get_mode_info): ... to this.
38242 (grub_vbe_set_mode): Renamed from this...
38243 (grub_vbe_bios_set_mode): ... to this.
38244 (grub_vbe_get_mode): Renamed from this...
38245 (grub_vbe_bios_get_mode): ... to this.
38246 (grub_vbe_set_memory_window): Renamed from this...
38247 (grub_vbe_bios_set_memory_window): ... to this.
38248 (grub_vbe_get_memory_window): Renamed from this...
38249 (grub_vbe_bios_get_memory_window): ... to this.
38250 (grub_vbe_set_scanline_length): Renamed from this...
38251 (grub_vbe_set_scanline_length): ... to this.
38252 (grub_vbe_get_scanline_length): Renamed from this...
38253 (grub_vbe_bios_get_scanline_length): ... to this.
38254 (grub_vbe_set_display_start): Renamed from this...
38255 (grub_vbe_bios_set_display_start): ... to this.
38256 (grub_vbe_get_display_start): Renamed from this...
38257 (grub_vbe_bios_get_display_start): ... to this.
38258 (grub_vbe_set_palette_data): Renamed from this...
38259 (grub_vbe_bios_set_palette_data): ... to this.
38260 (grub_vbe_set_pixel_rgb): Removed.
38261 (grub_vbe_set_pixel_index): Likewise.
38262
38263 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38264 from this...
38265 (grub_vbe_bios_get_controller_info): ... to this.
38266 (grub_vbe_get_mode_info): Renamed from this...
38267 (grub_vbe_bios_get_mode_info): ... to this.
38268 (grub_vbe_set_mode): Renamed from this...
38269 (grub_vbe_bios_set_mode): ... to this.
38270 (grub_vbe_get_mode): Renamed from this...
38271 (grub_vbe_bios_get_mode): ... to this.
38272 (grub_vbe_set_memory_window): Renamed from this...
38273 (grub_vbe_bios_set_memory_window): ... to this.
38274 (grub_vbe_get_memory_window): Renamed from this...
38275 (grub_vbe_bios_get_memory_window): ... to this.
38276 (grub_vbe_set_scanline_length): Renamed from this...
38277 (grub_vbe_set_scanline_length): ... to this.
38278 (grub_vbe_get_scanline_length): Renamed from this...
38279 (grub_vbe_bios_get_scanline_length): ... to this.
38280 (grub_vbe_set_display_start): Renamed from this...
38281 (grub_vbe_bios_set_display_start): ... to this.
38282 (grub_vbe_get_display_start): Renamed from this...
38283 (grub_vbe_bios_get_display_start): ... to this.
38284 (grub_vbe_set_palette_data): Renamed from this...
38285 (grub_vbe_bios_set_palette_data): ... to this.
38286 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38287 getting corrupted after calling it. Added more pushes and pops.
38288 (grub_vbe_bios_set_mode): Likewise.
38289 (grub_vbe_bios_get_mode): Likewise.
38290 (grub_vbe_bios_get_memory_window): Likewise.
38291 (grub_vbe_bios_set_scanline_length): Likewise.
38292 (grub_vbe_bios_get_scanline_length): Likewise.
38293 (grub_vbe_bios_get_display_start): Likewise.
38294 (grub_vbe_bios_set_palette_data): Likewise.
38295
38296 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38297 (cl_insert): Likewise.
38298 (cl_delete): Likewise.
38299
38300 * term/gfxterm.c: New file.
38301
38302 * term/i386/pc/vesafb.c: Removed file.
38303
38304 * video/video.c: New file.
38305
38306 * video/i386/pc/vbe.c (real2pm): Added new function.
38307 (grub_video_vbe_draw_pixel): Likewise.
38308 (grub_video_vbe_get_video_ptr): Likewise.
38309 (grub_video_vbe_get_pixel): Likewise
38310 (grub_video_vbe_init): Likewise.
38311 (grub_video_vbe_fini): Likewise.
38312 (grub_video_vbe_setup): Likewise.
38313 (grub_video_vbe_get_info): Likewise.
38314 (grub_video_vbe_set_palette): Likewise.
38315 (grub_video_vbe_get_palette): Likewise.
38316 (grub_video_vbe_set_viewport): Likewise.
38317 (grub_video_vbe_get_viewport): Likewise.
38318 (grub_video_vbe_map_color): Likewise.
38319 (grub_video_vbe_map_rgb): Likewise.
38320 (grub_video_vbe_map_rgba): Likewise.
38321 (grub_video_vbe_unmap_color): Likewise.
38322 (grub_video_vbe_fill_rect): Likewise.
38323 (grub_video_vbe_blit_glyph): Likewise.
38324 (grub_video_vbe_blit_bitmap): Likewise.
38325 (grub_video_vbe_blit_render_target): Likewise.
38326 (grub_video_vbe_scroll): Likewise.
38327 (grub_video_vbe_swap_buffers): Likewise.
38328 (grub_video_vbe_create_render_target): Likewise.
38329 (grub_video_vbe_delete_render_target): Likewise.
38330 (grub_video_vbe_set_active_render_target): Likewise.
38331 (grub_vbe_set_pixel_rgb): Remove function.
38332 (grub_vbe_set_pixel_index): Likewise.
38333 (index_color_mode): Remove static variable.
38334 (active_mode): Likewise.
38335 (framebuffer): Likewise.
38336 (bytes_per_scan_line): Likewise.
38337 (grub_video_vbe_adapter): Added new static variable.
38338 (framebuffer): Likewise.
38339 (render_target): Likewise.
38340 (initial_mode): Likewise.
38341 (mode_in_use): Likewise.
38342 (mode_list): Likewise.
38343
5f97350b 383442006-03-10 Marco Gerards <marco@gnu.org>
38345
38346 * configure.ac (AC_INIT): Bumped to 1.93.
38347
38348 * DISTLIST: Added `include/grub/hfs.h'.
38349
a3c5c6f8 383502006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38351
38352 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38353 18H, which might help the BIOS falling back to next boot media.
38354
6de53d26 383552006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38356
38357 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38358 Poe Chen <poe.poechen@gmail.com>.
38359
77c4a393 383602006-01-17 Marco Gerards <marco@gnu.org>
38361
38362 * include/grub/normal.h: Include <grub/script.h>.
38363 (grub_command_list): Removed struct.
38364 (grub_command_list_t): Removed type.
38365 (grub_menu_entry): Remove members `num' and `command_list'. Add
38366 members `commands' and `sourcecode'.
38367 * include/grub/script.h: Add inclusion guards.
38368 (grub_script_cmd_menuentry): New struct.
38369 (grub_script_execute_menuentry): New prototype.
38370 (grub_script_lexer_record_start): Likewise.
38371 (grub_script_lexer_record_stop): Likewise.
38372 * normal/execute.c (grub_script_execute_menuentry): New function.
38373 * normal/lexer.c (record, recording, recordpos, recordlen): New
38374 variables.
38375 (grub_script_lexer_record_start): New function.
38376 (grub_script_lexer_record_stop): Likewise.
38377 (recordchar): Likewise.
38378 (nextchar): Likewise.
38379 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38380 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38381 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38382 (current_menu): New variable.
38383 (free_menu): Mainly rewritten.
38384 (grub_normal_menu_addentry): New function.
38385 (read_config_file): Rewritten.
38386 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 38387 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 38388 the menu entry.
38389 (run): Mainly rewritten.
38390 * normal/parser.y (menu_entry): New variable.
38391 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38392 (menuentry): New rule.
38393 (command): Add `menuentry'.
38394 (if_statement): Allow additional returns before `fi'.
38395 * normal/script.c (grub_script_create_cmdmenu): New function.
38396
144f1f98 383972006-01-03 Marco Gerards <marco@gnu.org>
38398
38399 * INSTALL: GNU Bison is required.
38400 * configure.ac: Rewritten the test to detect Bison.
38401 * Makefile.in (YACC): New variable. Reported by Xun Sun
38402 <xun.sun.cn@gmail.com>.
38403
af4b2d89 384042006-01-03 Marco Gerards <marco@gnu.org>
38405
38406 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38407 the HFS+ filesystem to filesystem blocks.
38408 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38409 GCC warning is silenced.
38410
15643b71 384112006-01-03 Marco Gerards <marco@gnu.org>
38412
38413 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38414 read from disk from big endian to host byte order.
38415
00905879 384162006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38417
38418 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38419 documentation.
38420 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38421 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38422 embedded HFS+ filesystem.
38423 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38424 (grub_hfs_sblock): Move from here...
38425 * include/grub/hfs.h: To here... New file.
38426 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38427 documentation.
38428 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38429 New macros.
38430 (grub_hfsplus_volheader): Change type of member `magic' to
38431 `grub_uint16_t'.
38432 (grub_hfsplus_data): Add new member `embedded_offset'.
38433 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38434 returned block.
38435 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38436 Calculate the offset.
38437
8899bc3e 384382005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38439
38440 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38441 Removed.
38442 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38443
ae8c0277 384442005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38445
38446 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38447 ENV->NAME is NULL after allocating ENV->VALUE.
38448
07084456 384492005-12-25 Marco Gerards <marco@gnu.org>
38450
38451 * kern/env.c (grub_env_set): Rewritten the error handling code.
38452
4750f5f1 384532005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38454
38455 * geninit.sh: Made more robust, and more portable.
38456
50214199 384572005-12-25 Marco Gerards <marco@gnu.org>
38458
38459 Add support for Apple HFS+ filesystems.
f19dbdb7 38460
50214199 38461 * fs/hfsplus.c: New file.
38462
38463 * DISTLIST: Added `fs/hfsplus.c'.
38464
38465 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38466 (hfsplus_mod_SOURCES): New variable.
38467 (hfsplus_mod_CFLAGS): Likewise.
38468 (hfsplus_mod_LDFLAGS): Likewise.
38469 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38470 (grub_setup_SOURCES): Likewise.
38471 (grub_mkdevicemap_SOURCES): Likewise.
38472 (grub_emu_SOURCES): Likewise.
38473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38474
38475 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38476
38477 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38478
befaed6c 384792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38480
38481 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38482 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38483 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38484 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38485 normal/lexer.c, normal/parser.y, normal/script.c, and
38486 partmap/gpt.c.
38487 Removed kern/sparc64/cache.c.
38488
38489 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38490 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38491 grub_emu_init.c.
38492
38493 * configure.ac (AC_INIT): Bumped to 1.92.
38494
6a124103 384952005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38496
38497 * kern/err.c (grub_error_push): Added new function to support error
38498 stacks.
38499 (grub_error_pop): Likewise.
38500 (grub_error_stack_items): New local variable to support error stacks.
38501 (grub_error_stack_pos): Likewise.
38502 (grub_error_stack_assert): Likewise.
38503 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38504 stack depth.
38505 (grub_print_error): Added support to print errors from error stack.
38506
38507 * include/grub/err.h (grub_error_push): Added function prototype.
38508 (grub_error_pop): Likewise.
38509
be973c1b 385102005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38511
38512 * configure.ac: Accept `powerpc64' as host_cpu.
38513 (amd64): Rename to `biarch32'.
38514
38515 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38516 non-cacheline-aligned addresses.
38517
38518 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38519 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38520 if `size' is non-zero.
38521
b04216ab 385222005-12-03 Marco Gerards <mgerards@xs4all.nl>
38523
38524 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38525 and `cd' to make sure the filename is not prefixed with a
38526 directory name.
38527 (pkgdata_MODULES): Add `gpt.mod'.
38528 (gpt_mod_SOURCES): New variable.
38529 (gpt_mod_CFLAGS): Likewise.
38530 (gpt_mod_LDFLAGS): Likewise.
38531
38532 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38533
38534 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38535 New macro.
38536
38537 * partmap/gpt.c: New file.
38538
38539 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38540 GPT partition map is detected.
38541
41730ed9 385422005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38543
38544 * commands/i386/pc/play.c: New file.
38545 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38546 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38547 macros.
f19dbdb7 38548
95dc3643 385492005-11-27 Marco Gerards <mgerards@xs4all.nl>
38550
38551 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38552 ((unused))' to silence gcc warning.
38553
1569ec51 385542005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38555
38556 * configure.ac: Correct `AC_PROG_YACC' test.
38557
9abde152 385582005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38559
38560 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38561 check before installing files.
38562
44b83271 385632005-11-22 Mike Small <smallm@panix.com>
38564
38565 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38566 number regex so multidigit numbers are recognized correctly.
38567
385682005-11-22 Mike Small <smallm@panix.com>
38569
38570 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38571 debugging message before attempting to claim memory.
38572 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38573 multiple addresses in case of failure.
38574
9c12956b 385752005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38576
38577 * term/tparm.c (get_space): Remove empty `if' statement.
38578
38579 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38580
38581 * kern/parser.c (check_varstate): Rename `state' to 's'.
38582
aeaf81d9 385832005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38584
38585 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38586 variable definitions to the beginning of each function. Sort stack
38587 variables by size.
38588 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38589 `buf' argument to `char *'.
38590
79bbb63f 385912005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38592
38593 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38594 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38595 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 38596 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38597 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38598 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38599 configfile.mod, search.mod, gzio.mod and test.mod.
38600 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38601 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38602 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38603 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38604 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38605 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38606 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38607 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38608 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38609 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38610 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38611 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38612 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38613 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38614 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38615 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38616 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38617 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38618 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38619 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38620 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38621 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38622 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38623
38624 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38625 `grep --include'.
38626 (pkgdata_MODULES): Add test.mod.
38627
233b1628 386282005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38629
38630 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38631 appending to variables with "+=".
38632 (PModule): Use full pathname to generate *.lst filenames.
38633
38634 * Makefile.in: Fixed list rules moved from genmk.rb.
38635 (.DELETE_ON_ERROR): New special target.
38636 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38637
38638 * conf/i386-pc.rmk: Include conf/common.mk.
38639 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38640 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 38641 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38642 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38643 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38644 configfile.mod, search.mod, gzio.mod and test.mod.
38645 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38646 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38647 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38648 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38649 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38650 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38651 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38652 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38653 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38654 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38655 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38656 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38657 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38658 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38659 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38660 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38661 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38662 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38663 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38664 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38665 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38666 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38667 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38668 here...
38669 * conf/common.rmk: ... to here. New file.
38670
38671 * conf/common.mk: New file.
38672
16f820c8 386732005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38674
38675 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38676 (grub_script.tab.c): ... here.
38677
38678 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38679 (grub_script.tab.c): ... here.
38680
38681 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38682 (grub_script.tab.c): ... here.
38683
38684 * normal/command.c (grub_command_find): Fixed a memory leak of
38685 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38686
63ba1554 386872005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38688
38689 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38690 "@" which marks the start of a comment on ARM.
38691 (VARIABLE): Likewise.
38692
7f67dc13 386932005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38694
79bbb63f 38695 Add support for Linux/ADFS partition tables.
7f67dc13 38696
38697 * partmap/acorn.c: New file.
38698
38699 * include/grub/acorn_filecore.h: Likewise.
38700
38701 * DISTLIST: Added `partmap/acorn.c' and
38702 `include/grub/acorn_filecore.h'.
f19dbdb7 38703
7f67dc13 38704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38705 `partmap/acorn.c'.
38706 (pkgdata_MODULES): Add `acorn.mod'.
38707 (acorn_mod_SOURCES): New variable.
38708 (acorn_mod_CFLAGS): Likewise.
38709
38710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38711 `partmap/acorn.c'.
38712 (pkgdata_MODULES): Add `acorn.mod'.
38713 (acorn_mod_SOURCES): New variable.
38714 (acorn_mod_CFLAGS): Likewise.
38715
38716 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38717 (pkgdata_MODULES): Add `acorn.mod'.
38718 (acorn_mod_SOURCES): New variable.
38719 (acorn_mod_CFLAGS): Likewise.
38720 (acorn_mod_LDFLAGS): Likewise.
38721
38722 * include/types.h (grub_disk_addr_t): New typedef.
38723
6d099807 387242005-11-13 Marco Gerards <mgerards@xs4all.nl>
38725
38726 * geninit.sh: New file.
38727
38728 * geninitheader.sh: Likewise.
38729
38730 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38731 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38732 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38733 * commands/configfile.c (grub_configfile_init)
38734 (grub_configfile_fini): Likewise.
38735 * commands/default.c (grub_default_init, grub_default_fini):
38736 Likewise.
38737 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38738 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38739 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38740 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38741 Likewise.
38742 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38743 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38744 Likewise.
38745 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 38746 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 38747 Likewise.
38748 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38749 Likewise.
fe6b695a 38750 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 38751 Likewise.
38752 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38753 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38754 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38755 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38756 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38757 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38758 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38759 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38760 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38761 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38762 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38763 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38764 * partmap/amiga.c (grub_amiga_partition_map_init)
38765 (grub_amiga_partition_map_fini): Likewise.
38766 * partmap/apple.c (grub_apple_partition_map_init)
38767 (grub_apple_partition_map_fini): Likewise.
38768 * partmap/pc.c (grub_pc_partition_map_init)
38769 (grub_pc_partition_map_fini): Likewise.
38770 * partmap/sun.c (grub_sun_partition_map_init,
38771 grub_sun_partition_map_fini): Likewise.
38772 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38773 Likewise.
38774
38775 * util/grub-emu.c: Include <grub_modules_init.h>.
38776 (main): Don't initialize and de-initialize any modules directly,
38777 use `grub_init_all' and `grub_fini_all' instead.
38778
38779 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38780 `grub_vesafb_mod_init'.
38781 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38782 all users.
38783 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38784 `grub_vga_mod_init'. Updated all users.
38785 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 38786
6d099807 38787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38788 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38789 rules.
38790
38791 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38792 Generate a function to initialize the module in utilities.
38793 Updated all callers.
38794 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38795 initialize the module in utilities. Updated all callers.
38796
9046bcf0 387972005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38798
38799 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38800 escape sequence and a literal ^L to clear the screen.
38801
38802 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38803 when returning from Open Firmware.
38804
d13ea639 388052005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38806
38807 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38808 (grub_ofconsole_height): Likewise.
38809 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38810 manually insert a '\n'.
38811 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38812 `grub_ofconsole_height'. Return early if these are already set.
38813
a8fcf206 388142005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38815
38816 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38817 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38818 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38819 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38820 and `normal/script.c'.
38821 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38822 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38823 (test_mod_SOURCES): New variable.
38824 (test_mod_CFLAGS): Likewise.
38825 (test_mod_LDFLAGS): Likewise.
38826 (pkgdata_MODULES): Add `test.mod'.
38827 (grub_script.tab.c): New rule.
38828 (grub_script.tab.h): Likewise.
38829
b6b32745 388302005-11-07 Marco Gerards <mgerards@xs4all.nl>
38831
38832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38833 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38834 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38835 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38836 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38837 (test_mod_SOURCES): New variable.
38838 (test_mod_CFLAGS): Likewise.
38839 (pkgdata_MODULES): Add `test.mod'.
38840 (grub_script.tab.c): New rule.
38841 (grub_script.tab.h): Likewise.
38842
daac212a 388432005-11-06 Marco Gerards <mgerards@xs4all.nl>
38844
38845 Add initial scripting support.
38846
38847 * commands/test.c: New file.
38848 * include/grub/script.h: Likewise.
38849 * normal/execute.c: Likewise.
38850 * normal/function.c: Likewise.
38851 * normal/lexer.c: Likewise.
38852 * normal/parser.y: Likewise.
38853 * normal/script.c: Likewise.
38854
38855 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 38856
daac212a 38857 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38858 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38859 `normal/function.c' and `normal/script.c'.
38860 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38861 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 38862 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38863 variables.
daac212a 38864 (pkgdata_MODULES): Add `test.mod'.
38865 (grub_script.tab.c): New rule.
38866 (grub_script.tab.h): Likewise.
38867
38868 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38869
38870 * include/grub/normal.h (grub_test_init): New prototype.
38871 (grub_test_fini): Likewise.
f19dbdb7 38872
daac212a 38873 * normal/command.c: Include <grub/script.h>.
38874 (grub_command_execute): Rewritten.
f19dbdb7 38875
daac212a 38876 * util/grub-emu.c (main): Call `grub_test_init' and
38877 `grub_test_fini'.
38878
77500b2b 388792005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38880
38881 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38882 to 0.
38883 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38884 there are no pending characters.
38885
e45deb9e 388862005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38887
38888 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38889 `grub_strndup' to drop device arguments. Replace unnecessary
38890 `grub_strndup' with `grub_strdup'.
38891
4ce32619 388922005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38893
38894 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38895 `debug' environment variable has been set.
38896
388972005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38898
4ce32619 38899 * Makefile.in (install-local): Use $(DATA).
38900 (uninstall): Likewise.
38901 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38902 (sbin_UTILITIES): ... to here.
38903 (sbin_SCRIPTS): New variable.
38904 (grub_install_SOURCES): New variable.
38905 * util/powerpc/ieee1275/grub-install.in: New file.
38906 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38907 variable.
38908 (add_segments): Call `grub_util_get_path'.
38909
25fe6f03 389102005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38911
38912 From Timothy Baldwin:
38913 * commands/ls.c (grub_ls_list_files): Close FILE with
38914 grub_file_close.
38915 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38916
04ccf3ec 389172005-10-24 Marco Gerards <mgerards@xs4all.nl>
38918
38919 * include/grub/parser.h: New file.
38920
38921 * kern/parser.c: Likewise.
38922
38923 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38924 (grub_setup_SOURCES): Likewise.
38925 (grub_probefs_SOURCES): Likewise.
38926 (grub_emu_SOURCES): Likewise.
38927 (kernel_img_HEADERS): Add `parser.h'.
38928
38929 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38930 (grub_emu_SOURCES): Add `kern/parser.c'.
38931 (grubof_SOURCES): Likewise.
38932
38933 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38934 (grubof_SOURCES): Add `kern/parser.c'.
38935
38936 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38937
38938 * kern/misc.c (grub_split_cmdline): Removed function.
38939
38940 * kern/rescue.c: Include <grub/parser.h>.
38941 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38942 of `grub_split_cmdline'.
38943
38944 * normal/command.c: Include <grub/parser.h>.
38945 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38946 of `grub_split_cmdline'.
38947
38948 * normal/completion.c: Include <grub/parser.h>.
38949 (cmdline_state): New variable.
38950 (iterate_dir): End the filename with a quote depending on the
38951 command line state.
38952 (get_state): new function.
38953 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38954 split the arguments and determine the current argument. When the
38955 argument string is not quoted, escape all spaces.
38956
6d8f4b0e 389572005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38958
38959 * normal/sparc64/setjmp.S: New file.
38960
15cf03ed 389612005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38962
38963 * include/grub/sparc64/libgcc.h: New file.
38964 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38965 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38966 normal/sparc64/setjmp.c.
38967
03e8661a 389682005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38969
38970 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38971 * kern/sparc64/cache.S: New file.
38972 * kern/sparc64/cache.c: Removed.
38973 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38974 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38975 -mtune=ultrasparc.
38976 (COMMON_LDFLAGS): Add -melf64_sparc.
38977 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38978 (grubof_SOURCES): Use cache.S instead of cache.c.
38979 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38980 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38981 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38982 commented though.
38983 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38984 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38985 (linux_mod_CFLAGS): Commented out.
38986 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
38987 out because module isn't built.
38988 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
38989 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
38990 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
38991 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
38992 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
38993 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38994 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38995 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
38996 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
38997 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
38998 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38999 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39000 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
39001 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
39002
34eeec8a 390032005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
39004
39005 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
39006 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
39007 longer, because HFS should not be used on PC.
39008
708367a3 390092005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39010
39011 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
39012 consistently within the loop.
39013
6fa1251a 390142005-10-15 Marco Gerards <mgerards@xs4all.nl>
39015
39016 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
39017 directory can not be read.
39018
4801580b 390192005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39020
39021 * configure.ac (AC_INIT): Increase the version number to 1.91.
39022
39023 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
39024 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
39025 term/i386/pc/serial.c.
39026
219ad426 390272005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39028
39029 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
39030 file size must be permitted.
39031
39032 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
39033 between %ah and %al.
39034
688e5699 390352005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39036
39037 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
39038 grub_uint64_t.
39039 Call the hook with a NUL-terminated filename.
39040 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
39041 grub_cpu_to_be32.
39042
39043 * kern/term.c (cursor_state): New variable.
39044 (grub_term_set_current): Reset the cursor state on a new
39045 terminal.
39046 (grub_setcursor): Rewritten to use CURSOR_STATE.
39047 (grub_getcursor): New function.
39048
39049 * include/grub/term.h (grub_getcursor): New prototype.
39050
39051 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
39052 integers on ARM. Reported by Timothy Baldwin
39053 <T.E.Baldwin99@members.leeds.ac.uk>.
39054
bb34586c 390552005-10-11 Marco Gerards <mgerards@xs4all.nl>
39056
39057 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
39058 allocated.
39059 (grub_sfs_dir): Likewise.
39060
9a909877 390612005-10-09 Marco Gerards <mgerards@xs4all.nl>
39062
39063 Add support for the SFS filesystem.
39064
39065 * fs/sfs.c: New file.
39066
39067 * DISTLIST: Added `fs/sfs.c'.
39068
39069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
39070 (grub_probefs_SOURCES): Likewise.
39071 (grub_emu_SOURCES): Likewise.
39072 (pkgdata_MODULES): Add `sfs.mod'.
39073 (sfs_mod_SOURCES): New variable.
39074 (sfs_mod_CFLAGS): Likewise.
39075 (sfs_mod_LDFLAGS): Likewise.
39076
39077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
39078 (pkgdata_MODULES): Add `sfs.mod'.
39079 (sfs_mod_SOURCES): New variable.
39080 (sfs_mod_CFLAGS): Likewise.
39081
39082 * util/grub-emu.c (main): Call `grub_sfs_init' and
39083 `grub_sfs_fini'.
39084
39085 * include/grub/fs.h (grub_sfs_init): New prototype.
39086 (grub_sfs_fini): Likewise.
39087
57bdbde3 390882005-10-07 Marco Gerards <mgerards@xs4all.nl>
39089
39090 Add support for the AFFS filesystem.
39091
39092 * fs/affs.c: New file.
39093
39094 * DISTLIST: Added `fs/affs.c'.
39095
39096 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
39097 (grub_probefs_SOURCES): Likewise.
39098 (grub_emu_SOURCES): Likewise.
39099 (pkgdata_MODULES): Add `affs.mod'.
39100 (affs_mod_SOURCES): New variable.
39101 (affs_mod_CFLAGS): Likewise.
39102 (affs_mod_LDFLAGS): Likewise.
39103
39104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
39105 (pkgdata_MODULES): Add `affs.mod'.
39106 (affs_mod_SOURCES): New variable.
39107 (affs_mod_CFLAGS): Likewise.
39108
39109 * util/grub-emu.c (main): Call `grub_affs_init' and
39110 `grub_affs_fini'.
39111
39112 * include/grub/fs.h (grub_affs_init): New prototype.
39113 (grub_affs_fini): Likewise.
39114
047b67e0 391152005-10-01 Marco Gerards <mgerards@xs4all.nl>
39116
39117 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39118
59b8208a 391192005-10-01 Marco Gerards <mgerards@xs4all.nl>
39120
39121 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39122 `-m32' to CFLAGS.
39123
39124 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39125 linking.
f19dbdb7 39126
59b8208a 39127 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39128 (COMMON_LDFLAGS): New variable.
39129 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39130 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39131 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39132 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39133 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39134 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39135 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39136 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39137 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39138 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39139 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39140 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39141 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39142 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39143 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39144 variables.
39145 (normal_mod_ASFLAGS): Add `-m32'.
39146
39147 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39148 (grub_host_size_t, grub_host_ssize_t): New types.
39149 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 39150 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 39151 `GRUB_HOST_SIZEOF_VOID_P'.
39152
39153 * include/grub/kernel.h (struct grub_module_header): Type of
39154 member offset changed to `grub_host_off_t'. Type of member size
39155 changed to `grub_host_size_t'.
39156 (struct grub_module_info): Type of member offset changed to
39157 `grub_host_off_t'. Type of member size changed to
39158 `grub_host_size_t'.
39159
b4093103 391602005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39161
39162 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 39163
b4093103 39164 * kern/i386/pc/startup.S (multiboot_header): New label.
39165 (multiboot_entry): Likewise.
39166 (multiboot_trampoline): Likewise.
39167
39168 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39169 Increased to 0x4A0.
39170
39171 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39172 put parentheses after a question mark.
39173 [!GRUB_UTIL] (my_mod): New variable.
39174
39175 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39176
b2499b29 391772005-09-28 Marco Gerards <mgerards@xs4all.nl>
39178
39179 Adds support for the XFS filesystem. Btrees are not supported
39180 yet.
39181
39182 * fs/xfs.c: New file.
39183
39184 * DISTLIST: Added `fs/xfs.c'.
39185
39186 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39187 (grub_probefs_SOURCES): Likewise.
39188 (grub_emu_SOURCES): Likewise.
39189 (pkgdata_MODULES): Add `xfs.mod'.
39190 (xfs_mod_SOURCES): New variable.
39191 (xfs_mod_CFLAGS): Likewise.
39192
39193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39194 (pkgdata_MODULES): Add `xfs.mod'.
39195 (xfs_mod_SOURCES): New variable.
39196 (xfs_mod_CFLAGS): Likewise.
39197
39198 * util/grub-emu.c (main): Call `grub_xfs_init' and
39199 `grub_xfs_fini'.
39200
39201 * include/grub/fs.h (grub_xfs_init): New prototype.
39202 (grub_xfs_fini): Likewise.
39203
f19dbdb7 39204
83d37a62 392052005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39206
39207 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39208 color modes, allow greater than 16 colors to be configured as
39209 a default palette.
39210
47d2d65e 392112005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39212
39213 * normal/completion.c (complete_arguments): Add the qualifier
39214 const into OPTIONS.
39215
39216 From Omniflux <omniflux+lists@omniflux.com>:
39217 * include/grub/terminfo.h: New file.
39218 * include/grub/tparm.h: Likewise.
39219 * include/grub/i386/pc/serial.h: Likewise.
39220 * term/terminfo.c: Likewise.
39221 * term/tparm.c: Likewise.
39222 * term/i386/pc/serial.c: Likewise.
39223 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39224 serial.mod.
39225 (terminfo_mod_SOURCES): New variable.
39226 (terminfo_mod_CFLAGS): Likewise.
39227 (serial_mod_SOURCES): Likewise.
39228 (serial_mod_CFLAGS): Likewise.
39229
48b671ff 392302005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39231
39232 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39233 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39234 and kern/powerpc/ieee1275/cmain.c, respectively.
39235
39236 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39237 * kern/powerpc/ieee1275/crt0.S: ... here.
39238
39239 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39240 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 39241
48b671ff 39242 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39243 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39244 instead of boot/powerpc/ieee1275/crt0.S and
39245 boot/powerpc/ieee1275/cmain.c, respectively.
39246
39247 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39248 sectors. It was not used anyway.
39249
09fc77a7 392502005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39251
39252 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39253 `unused parameter' warning.
39254
003789c7 392552005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39256
39257 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39258 function.
39259 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39260 getcharwidth.
39261
67f44c86 392622005-08-28 Marco Gerards <metgerards@student.han.nl>
39263
39264 * include/grub/normal.h (enum grub_completion_type): Added
39265 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39266
39267 * normal/cmdline.c (print_completion): Handle
39268 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39269 * normal/menu_entry.c (store_completion): Likewise.
39270
39271 * normal/completion.c (complete_arguments): New function.
39272 (grub_normal_do_completion): Call `complete_arguments' when the
39273 current words start with a dash.
39274
0b5abe02 392752005-08-27 Marco Gerards <metgerards@student.han.nl>
39276
39277 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39278 `gzio.mod' instead of `io.mod').
39279
d9864ee1 392802005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39281
39282 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39283 (DISTDIRS): Added io and video.
39284 Rewrite the search routine to make an output consistently.
39285
39286 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39287 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39288 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39289 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39290 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39291 util/powerpc/ieee1275/misc.c.
f19dbdb7 39292
d9864ee1 39293 * include/grub/gzio.h: New file.
39294 * io/gzio.c: Likewise.
f19dbdb7 39295
d9864ee1 39296 * kern/file.c (grub_file_close): Call grub_device_close only if
39297 FILE->DEVICE is not NULL.
39298
39299 * include/grub/mm.h [!NULL] (NULL): New macro.
39300
39301 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39302
39303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39304 (pkgdata_MODULES): Added gzio.mod.
39305 (gzio_mod_SOURCES): New variable.
39306 (gzio_mod_CFLAGS): Likewise.
39307
39308 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39309 (pkgdata_MODULES): Added gzio.mod.
39310 (gzio_mod_SOURCES): New variable.
39311 (gzio_mod_CFLAGS): Likewise.
39312
39313 * commands/cat.c: Include grub/gzio.h.
39314 (grub_cmd_cat): Use grub_gzfile_open instead of
39315 grub_file_open.
f19dbdb7 39316
d9864ee1 39317 * commands/cmp.c: Include grub/gzio.h.
39318 (grub_cmd_cmp): Use grub_gzfile_open instead of
39319 grub_file_open.
39320
39321 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39322 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39323 grub_file_open.
39324 (grub_rescue_cmd_module): Likewise.
39325
fa46f4b5 393262005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39327
39328 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39329 kern/sparc64/ieee1275/init.c because it contains _start.
39330 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39331
e9211b5d 393322005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39333
39334 * configure.ac: Add support for sparc64 host with ieee1275
39335 firmware.
39336 * configure: Generated from configure.ac.
39337 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39338 instead of int.
39339 (grub_ofdisk_read): Likewise.
39340 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39341 pointers as (void *) to remove a warning.
39342 (grub_ofdisk_close): Likewise.
39343 (grub_ofdisk_read): Likewise.
39344 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39345 returns, so make it return void to remove a warning.
39346 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39347 Corresponding prototype change.
39348 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39349 values, and cast the pointers as (void *) to remove a warning.
39350 (grub_mm_dump): Likewise.
39351 * conf/sparc64-ieee1275.mk: New file.
39352 * conf/sparc64-ieee1275.rmk: Likewise.
39353 * include/grub/sparc64/setjmp.h: Likewise.
39354 * include/grub/sparc64/types.h: Likewise.
39355 * include/grub/sparc64/ieee1275/console.h: Likewise.
39356 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39357 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39358 * include/grub/sparc64/ieee1275/time.h: Likewise.
39359 * kern/sparc64/cache.c: Likewise.
39360 * kern/sparc64/dl.c: Likewise.
39361 * kern/sparc64/ieee1275/init.c: Likewise.
39362 * kern/sparc64/ieee1275/openfw.c: Likewise.
39363
385c6a92 393642005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39365
39366 * util/console.c (grub_ncurses_putchar): If C is greater than
39367 0x7f, set C to a question mark.
39368 (grub_ncurses_getcharwidth): New function.
39369 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39370 getcharwidth.
39371
39372 * normal/menu.c (print_entry): Made aware of Unicode. First,
39373 convert TITLE to UCS-4, and predict the cursor position by
39374 grub_getcharwidth.
39375
39376 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39377 const to SRC.
39378 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39379
16ccb8b1 393802005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39381
39382 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39383 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39384 grub_strcat.
39385
39386 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39387 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39388 grub_strcpy and grub_strlen. Take it into account that a space
39389 character is inserted as a delimiter.
39390
6a85ce79 393912005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39392
39393 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 39394 invalid magic in the error.
6a85ce79 39395
39396 * commands/search.c: New file.
f19dbdb7 39397
6a85ce79 39398 * util/grub-emu.c (main): Call grub_search_init and
39399 grub_search_fini.
39400
39401 * kern/rescue.c (grub_rescue_print_disks): Removed.
39402 (grub_rescue_print_devices): New function.
39403 (grub_rescue_cmd_ls): Use grub_device_iterate with
39404 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39405 grub_rescue_print_disks.
39406
39407 * kern/partition.c (grub_partition_iterate): Return the result of
39408 PARTMAP->ITERATE instead of GRUB_ERRNO.
39409
39410 * kern/device.c: Include grub/partition.h.
39411 (grub_device_iterate): New function.
39412
39413 * include/grub/partition.h (grub_partition_iterate): Return int
39414 instead of grub_err_t.
39415
39416 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39417 prototype.
39418 [GRUB_UTIL] (grub_search_fini): Likewise.
39419
39420 * include/grub/device.h (grub_device_iterate): New prototype.
39421
39422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39423 commands/search.c.
39424 (pkgdata_MODULES): Added search.mod.
39425 (search_mod_SOURCES): New variable.
39426 (search_mod_CFLAGS): Likewise.
39427
39428 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39429 (pkgdata_MODULES): Added search.mod.
39430 (search_mod_SOURCES): New variable.
39431 (search_mod_CFLAGS): Likewise.
39432
39433 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39434 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39435 All callers changed.
39436
39437 * DISTLIST: Added commands/search.c.
39438
ef095434 394392005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39440
39441 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39442 conversion.
39443 (grub_getcharwidth): New function.
39444
39445 * kern/misc.c (grub_utf8_to_ucs4): New function.
39446
39447 * include/grub/term.h (struct grub_term): Added a new member
39448 "getcharwidth".
39449 (grub_getcharwidth): New prototype.
39450
39451 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39452
39453 * term/i386/pc/console.c (map_char): New function. Segregated from
39454 grub_console_putchar.
39455 (grub_console_putchar): Use map_char.
39456 (grub_console_getcharwidth): New function.
39457 (grub_console_term): Specified grub_console_getcharwidth as
39458 getcharwidth.
39459
39460 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39461 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39462
39463 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39464 GRUB_ERRNO.
39465 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39466 on grub_strtoul completely.
39467 (write_char): Declare local variables in the beginning of the
39468 function.
39469 (grub_vesafb_getcharwidth): New function.
39470 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39471 getcharwidth.
39472
1f0a95e4 394732005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39474
39475 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39476 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39477 commands/i386/pc/vbetest.c.
39478
39479 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39480 call grub_vbe_get_controller_info again, because the returned
39481 information is volatile.
39482 (grub_vbe_set_video_mode): Mostly rewritten.
39483 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39484 grub_vbe_status_t correctly.
39485 (grub_vbe_get_video_mode_info): Likewise.
39486 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39487 several if statements.
39488
39489 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39490 * commands/i386/pc/vbeinfo.c: ... this.
39491
39492 * commands/i386/pc/vbe_test.c: Renamed to ...
39493 * commands/i386/pc/vbetest.c: ... this.
39494
39495 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39496 ...
39497 (grub_cmd_vbeinfo): ... this. Save video modes before
39498 iterating. Skip a video mode, if it is not available, not enough
39499 information is given or it is monochrome. Show the memory
39500 model. Leave the interpretation of MODEVAR to grub_strtoul
39501 completely.
39502 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39503 (GRUB_MOD_FINI): Likewise.
39504
39505 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39506 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39507 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39508 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39509 grub_strtoul completely.
39510 (real2pm): Removed.
39511 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39512 (GRUB_MOD_FINI): Likewise.
39513
39514 * normal/misc.c: Include grub/mm.h.
39515
39516 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39517 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39518 (vbe_list_modes_mod_SOURCES): Removed.
39519 (vbe_list_modes_mod_CFLAGS): Likewise.
39520 (vbe_test_mod_SOURCES): Likewise.
39521 (vbe_test_mod_CFLAGS): Likewise.
39522 (vbeinfo_mod_SOURCES): New variable.
39523 (vbeinfo_mod_CFLAGS): Likewise.
39524 (vbetest_mod_SOURCES): Likewise.
39525 (vbetest_mod_CFLAGS): Likewise.
39526
992ffbbe 395272005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39528
39529 * normal/misc.c: New file.
39530
39531 * DISTLIST: Added normal/misc.c.
f19dbdb7 39532
992ffbbe 39533 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39534 DISK to HOOK. Call HOOK with DISK.
39535 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39536 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39537 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39538
39539 * normal/menu_entry.c (struct screen): Added a new member
39540 "completion_shown".
39541 (completion_buffer): New global variable.
39542 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39543 (store_completion): New function.
39544 (complete): Likewise.
39545 (clear_completions): Likewise.
39546 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39547 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39548 a tab, call complete.
39549
39550 * normal/completion.c (disk_dev): Removed.
39551 (print_simple_completion): Likewise.
39552 (print_partition_completion): Likewise.
39553 (print_func): New global variable.
39554 (add_completion): Do not take the arguments WHAT or PRINT any
39555 longer. Added a new argument TYPE. Instead of printing directly,
39556 call PRINT_FUNC if not NULL.
39557 All callers changed.
39558 (complete_device): Use a local variable DEV instead of
39559 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39560 (grub_normal_do_completion): Take a new argument HOOK. Do not
39561 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39562 empty string, return NULL instead.
39563 All callers changed.
39564
39565 * normal/cmdline.c (print_completion): New function.
39566
39567 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39568 to HOOK.
39569 All callers changed.
39570
39571 * kern/disk.c (grub_print_partinfo): Removed.
39572
39573 * include/grub/partition.h (struct grub_partition_map): Add a new
39574 argument DISK into HOOK of ITERATE.
39575 (grub_partition_iterate): Add a new argument DISK to HOOK.
39576
39577 * include/grub/normal.h (enum grub_completion_type): New enum.
39578 (grub_completion_type_t): New type.
39579 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39580 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39581 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39582 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39583 (grub_normal_do_completion): Added a new argument HOOK.
39584 (grub_normal_print_device_info): New prototype.
39585
39586 * include/grub/disk.h (grub_print_partinfo): Removed.
39587
39588 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39589 (normal_mod_SOURCES): Likewise.
39590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39591 (normal_mod_SOURCES): Likewise.
39592
39593 * commands/ls.c (grub_ls_list_disks): Use
39594 grub_normal_print_device_info instead of grub_print_partinfo. Free
39595 PNAME.
39596 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39597 duplicating the code.
39598
0bd41162 395992005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39600
39601 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 39602 follow GCS more precisely.
39603 * commands/i386/pc/vbe_test.c: Likewise.
39604 * include/grub/i386/pc/vbe.h: Likewise.
39605 * term/i386/pc/vesafb.c: Likewise.
39606 * video/i386/pc/vbe.c: Likewise.
0bd41162 39607
6323696a 396082005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39609
39610 * DISTLIST: Added term/i386/pc/vesafb.c
39611 DISTLIST: Added video/i386/pc/vbe.c
39612 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39613 DISTLIST: Added commands/i386/pc/vbe_test.c.
39614 * commands/i386/pc/vbe_list_modes.c: New file.
39615 * commands/i386/pc/vbe_test.c: Likewise.
39616 * term/i386/pc/vesafb.c: Likewise.
39617 * video/i386/pc/vbe.c: Likewise.
39618 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39619 (grub_vbe_probe) Added prototype.
39620 (grub_vbe_set_video_mode) Likewise.
39621 (grub_vbe_get_video_mode) Likewise.
39622 (grub_vbe_get_video_mode_info) Likewise.
39623 (grub_vbe_set_pixel_rgb) Likewise.
39624 (grub_vbe_set_pixel_index) Likewise.
39625 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39626 (pkgdata_MODULES): Added vesafb.mod.
39627 (pkgdata_MODULES): Added vbe_list_modes.mod.
39628 (pkgdata_MODULES): Added vbe_test.mod.
39629 (vbe_mod_SOURCES): Added.
39630 (vbe_mod_CFLAGS): Likewise.
39631 (vesafb_mod_SOURCES): Likewise.
39632 (vesafb_mod_CFLAGS): Likewise.
39633 (vbe_list_modes_mod_SOURCES): Likewise.
39634 (vbe_list_modes_mod_CFLAGS): Likewise.
39635 (vbe_test_mod_SOURCES): Likewise.
39636 (vbe_test_mod_CFLAGS): Likewise.
39637
0a74e62f 396382005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39639
0a74e62f 39640 * normal/command.c (grub_command_execute): If INTERACTIVE is
39641 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39642 CMDLINE. Disable the pager if INTERACTIVE is true.
39643 All callers are changed.
39644
39645 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39646 before reading a config file.
39647 * normal/main.c (read_config_file): Even if a command is not
39648 found, register it if it is within an entry.
39649
39650 * util/grub-emu.c: Include sys/types.h and unistd.h.
39651 (options): Added --hold.
39652 (struct arguments): Added a new member "hold".
39653 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39654 missing.
39655 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39656 cleared by a debugger, if it is not zero.
39657
39658 * include/grub/normal.h (grub_command_execute): Add an argument
39659 INTERACTIVE.
39660
e51f85ae 396612005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39662
39663 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39664
e9c6f39b 396652005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39666
39667 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39668 program with another one, because the old one didn't detect a bug
39669 in gcc-3.4. Always use regparm 2, because the new test is still
39670 not enough for gcc-4.0. Someone must investigate a simple test
39671 case which detects a bug in gcc-4.0.
39672
8de3495c 396732005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39674
39675 * DISTLIST: Added normal/completion.c.
39676
39677 * normal/completion.c: New file.
f19dbdb7 39678
8de3495c 39679 * term/i386/pc/console.c (grub_console_getwh): New function.
39680 (grub_console_term): Assign grub_console_getwh to getwh.
39681
39682 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39683 function is defined in normal/completion.c as
39684 grub_normal_do_completion.
39685 (grub_cmdline_get): Use grub_normal_do_completion instead of
39686 grub_tab_complete.
39687
39688 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39689 returns non-zero, otherwise return 0.
39690 (grub_partition_iterate): First, probe the partition map. Then,
39691 call ITERATE only for this partition map.
39692
39693 * kern/misc.c (grub_strncmp): Rewritten.
39694
39695 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39696 returns non-zero. Otherwise return 0.
39697
39698 * include/grub/partition.h (grub_partition_map_iterate): Return
39699 int instead of void.
39700
39701 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39702
39703 * include/grub/misc.h (grub_strncmp): Change the type of N to
39704 grub_size_t.
39705
39706 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39707 of void.
39708
39709 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 39710 unsigned explicitly before comparing it with I.
8de3495c 39711
39712 * kern/main.c (grub_env_write_root): Add the attribute unused into
39713 VAR.
39714
39715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39716 normal/completion.c.
39717 (normal_mod_SOURCES): Likewise.
39718 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39719 (normal_mod_SOURCES): Likewise.
39720
39721 * normal/command.c (grub_iterate_commands): If ITERATE returns
39722 non-zero, return one immediately.
39723
e85e144b 397242005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39725
39726 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39727 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39728 descriptions.
39729 (grub_vbe_get_controller_info): New function.
39730 (grub_vbe_get_mode_info): Likewise.
39731 (grub_vbe_set_mode): Likewise.
39732 (grub_vbe_get_mode): Likewise.
39733 (grub_vbe_set_memory_window): Likewise.
39734 (grub_vbe_get_memory_window): Likewise.
39735 (grub_vbe_set_scanline_length): Likewise.
39736 (grub_vbe_get_scanline_length): Likewise.
39737 (grub_vbe_set_display_start): Likewise.
39738 (grub_vbe_get_display_start): Likewise.
39739 (grub_vbe_set_palette_data): Likewise.
39740 * include/grub/i386/pc/vbe.h: New file.
39741
c46153d2 397422005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39743
39744 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39745 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39746 * DISTLIST: Likewise.
39747 * kern/ieee1275/of.c: Moved to ...
39748 * kern/ieee1275/ieee1275.c: ... here.
39749
0cb90c45 397502005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39751
39752 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39753 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39754 Pass 0 as `end' parameter to grub_strtoul().
39755
a19fb360 397562005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39757
39758 * include/grub/powerpc/ieee1275/console.h: Do not include
39759 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39760 ifdef.
39761 (grub_console_cur_color): Remove i386-specific prototype.
39762 (grub_console_real_putchar): Likewise.
39763 (grub_console_checkkey): Likewise.
39764 (grub_console_getkey): Likewise.
39765 (grub_console_getxy): Likewise.
39766 (grub_console_gotoxy): Likewise.
39767 (grub_console_cls): Likewise.
39768 (grub_console_setcursor): Likewise.
39769 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39770 Include <grub/machine/console.h>.
39771 * term/ieee1275/ofconsole.c: Likewise.
39772
4ac9bd04 397732005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39774
39775 * Makefile.in (LIBLZO): New variable.
39776
39777 * configure.ac: Check for LZO version 2.
39778
39779 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39780 lzo/lzo1x.h instead of lzo1x.h.
39781
39782 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39783 of -llzo.
39784
39785 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39786 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39787
39788 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39789 copying the data from PARTITION to P.
39790
f4917dfd 397912005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39792
39793 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39794 negative, unload the module.
39795
39796 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39797 map is "pc_partition_map" but not "pc".
39798 (usage): Fix the description. The options are --boot-image and
39799 --core-image but not --boot-file or --core-file.
39800 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39801 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39802 DEFAULT_DIRECTORY.
39803
39804 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39805 --core-file. Specify INSTALL_DEVICE as an argument.
39806
39807 * util/console.c: Include config.h.
39808 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39809 [HAVE_NCURSES_H]: Include ncurses.h.
39810 [HAVE_CURSES_H]: Include curses.h.
39811 [!A_NORMAL] (A_NORMAL): Defined as zero.
39812 [!A_STANDOUT] (A_STANDOUT): Likewise.
39813
39814 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39815 -lncurses.
39816 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39817
39818 * configure.ac: Check for curses libraries and headers.
39819
39820 * Makefile.in (LIBCURSES): New variable.
39821
39822 * genmk.rb (Script::rule): Set the executable bits.
39823
39824 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39825 name of the PC partition map is "pc_partition_map" but not "pc".
39826
0e143073 398272005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39828
39829 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39830 (modules): Likewise.
39831 (usage): Added descriptions for --modules and --grub-probefs.
39832 Handle --modules and --grub-probefs. Save the arguments in MODULES
39833 and GRUB_PROBEFS, respectively.
39834 Auto-detect a filesystem module against GRUBDIR. If the result is
39835 empty and modules are not specified explicitly, abort the
39836 installation. Add the result to MODULES.
39837
39838 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39839 disk/powerpc/ieee1275/ofdisk.c,
39840 include/grub/powerpc/ieee1275/init.h and
39841 term/powerpc/ieee1275/ofconsole.c.
39842 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39843 term/ieee1275/ofconsole.c.
39844
39845 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39846
39847 * COPYING: Upgraded to the latest version. Only the address of the
39848 FSF office has changed.
f19dbdb7 39849
efd6e6d5 398502005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39851
39852 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39853 kern/ieee1275.c with kern/ieee1275/of.c.
39854
39855 * kern/ieee1275.c: Moved to ...
39856 * kern/ieee1275/of.c: ... here.
39857
8ceafda2 398582005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39859
39860 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 39861 readability.
8ceafda2 39862
39863 * config.guess: Updated to the latest version from gnulib.
39864 * config.sub: Likewise.
39865 * install.sh: Likewise.
39866 * mkinstalldirs: Likewise.
39867
39868 * include/grub/console.h: Removed. This file is arch-specific. Do
39869 not put this in include/grub.
39870
39871 * include/grub/i386/pc/console.h: Resurrected.
39872
39873 * util/console.c: Include grub/machine/console.h instead of
39874 grub/console.h.
39875 * util/grub-emu.c: Likewise.
39876
267f6cd9 398772005-08-04 Marco Gerards <metgerards@student.han.nl>
39878
39879 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39880 hardcoded value.
f19dbdb7 39881
267f6cd9 39882 From Vincent Pelletier <subdino2004@yahoo.fr>
39883 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39884 Redefined to use grub_getwh.
39885 (grub_term): New member named getwh.
39886 (grub_getwh): New prototype.
39887 * kern/term.c (grub_getwh): New function.
39888 * term/i386/pc/console.c (grub_console_getwh): New function.
39889 (grub_console_term): New member `getwh'.
39890 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39891 (grub_vga_term): New member `getwh'.
0b5abe02 39892 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 39893 grub_ssize_t.
39894 (grub_ofconsole_getw): New function.
39895 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39896 (grub_ofconsole_term): New field named getwh and new initial
39897 value.
39898
3be7266d 398992005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39900
39901 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39902 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39903 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39904 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39905 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39906 of <grub/machine/ieee1275.h>.
39907 * commands/ieee1275/reboot.c: Likewise.
39908 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39909 * kern/ieee1275.c: ... to here. All users updated. Change all
39910 parameter structs to use new type `grub_ieee1275_cell_t'.
39911 * term/powerpc/ieee1275/ofconsole.c: Move ...
39912 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39913 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39914 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39915 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39916 to return int.
39917 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39918 Remove unused prototypes. All users updated.
39919 * include/grub/powerpc/ieee1275/console.h: Removed.
39920 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39921 `grub_ieee1275_cell_t'.
39922 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39923 Cast comparisons with -1 to the correct type.
39924 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39925 type to match `grub_ieee1275_entry_fn'.
39926
8b5f3938 399272005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39928
39929 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39930
39931 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39932 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39933 partmap/sun.c.
39934 (grub_probefs_SOURCES): New variable.
39935
39936 * util/i386/pc/grub-probefs.c: New file.
39937
39938 * util/i386/pc/grub-setup.c (main): Call
39939 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39940 grub_hfs_init and grub_jfs_init to initialize the system. Call
39941 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39942 grub_pc_partition_map_fini to finish the system.
39943
ea409713 399442005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39945
39946 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39947 function.
39948 (grub_multiboot_load_elf32): Likewise.
39949 (grub_multiboot_is_elf64): Likewise.
39950 (grub_multiboot_load_elf64): Likewise.
39951 (grub_multiboot_load_elf): Likewise.
39952 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39953 an ELF32 or ELF64 file.
39954 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39955
39956 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39957 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39958 NULL before calling FS->LABEL.
39959 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39960 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39961 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39962 before calling FS->LABEL.
39963
141a288b 399642005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39965
39966 * util/i386/pc/grub-install.in (datadir): New variable.
39967 (libdir): Removed.
39968 (pkgdatadir): New variable.
39969 (pkglibdir): Removed.
39970
0d5f8a54 399712005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39972
39973 * DISTLIST: Added util/i386/pc/grub-install.in.
39974
39975 * util/i386/pc/grub-install.in: New file.
39976
39977 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39978 (grub_install_SOURCES): Likewise.
39979
39980 * genmk.rb: Added support for scripts.
39981 (Script): New class.
39982 (scripts): New variable.
39983
39984 * Makefile.in (install-local): Install sbin_SCRIPTS by
39985 INSTALL_SCRIPT.
39986 (uninstall): Remove sbin_SCRIPTS.
39987
39988 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
39989 device, try to get a GRUB device by
39990 grub_util_biosdisk_get_grub_dev.
39991 Free DEST_DEV.
39992
39993 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
39994 description for --device-map.
39995
5f968e1e 399962005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39997
39998 Change the semantics of variable hooks. They now return strings
39999 instead of error values.
f19dbdb7 40000
5f968e1e 40001 * util/i386/pc/grub-setup.c: Include grub/env.h.
40002 (setup): Use grub_device_set_root instead of grub_env_set.
40003
40004 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
40005 grub_env_get instead of grub_device_set_root and
40006 grub_device_get_root, respectively.
40007
40008 * kern/main.c (grub_env_write_root): New function.
40009 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
40010 grub_env_set instead of grub_device_set_root.
40011
40012 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
40013 many variables.
40014 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
40015 rather than calling ENV->WRITE_HOOK afterwards.
40016 (grub_env_get): Return the result of ENV->READ_HOOK rather than
40017 passing a pointer of a pointer.
40018 (grub_register_variable_hook): Change the types of "read_hook" and
40019 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
40020 respectively.
40021 Allocate the default empty string on the heap, because this string
40022 may be freed later.
40023
40024 * kern/device.c: Include grub/env.h.
40025 (grub_device_set_root): Removed.
40026 (grub_device_get_root): Likewise.
40027 (grub_device_open): Use grub_env_get instead of
40028 grub_device_get_root.
40029
40030 * include/grub/env.h (grub_env_read_hook_t): New type.
40031 (grub_env_write_hook_t): Likewise.
40032 (grub_env_var): Change the types of "read_hook" and "write_hook"
40033 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
40034 (grub_register_variable_hook): Likewise.
40035
40036 * include/grub/device.h (grub_device_set_root): Removed.
40037 (grub_device_set_root): Likewise.
40038
40039 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
40040 make sure that DIRNAME terminates with '/', so that
40041 grub_fat_find_dir will fail if PATH is not a directory.
40042
40043 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
40044 from DIRNAME.
40045 Use the qualifier auto for print_files and print_files_long.
40046 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
40047 as a regular file.
40048 Put a newline only if there is no error.
40049 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
40050 used.
40051
896f0afd 400522005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40053
40054 * kern/partition.c (grub_partition_probe): Initialize PART to
40055 NULL. Otherwise, when no partition map is registered, this returns
40056 a garbage.
40057
b28b81b2 400582005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
40059
40060 * partmap/apple.c (apple_partition_map_iterate): Check if POS
40061 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
40062 valid.
40063
5f3607e0 400642005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
40065
40066 * commands/ls.c (grub_ls_list_disks): Print the filesystem
40067 information on each device, if it does not have partitions. Print
40068 "Device" instead of "Disk", because this function is not specific
40069 to disk devices.
40070
40071 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
40072 static to ensure that it is put on the memory rather than a
40073 register.
40074
502c87e8 400752005-07-17 Yoshinori Okuji <okuji@enbug.org>
40076
40077 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
40078 (grub_cat_init): Likewise.
40079 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
40080 (options): Likewise.
40081 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
40082 (grub_configfile_init): Likewise.
40083 * font/manager.c (GRUB_MOD_INIT): Likewise.
40084 * commands/help.c (GRUB_MOD_INIT): Likewise.
40085 (grub_help_init): Likewise.
40086 * normal/command.c (grub_command_init): Likewise.
40087 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
40088 * disk/loopback.c (grub_loop_init): Likewise.
40089 (GRUB_MOD_INIT): Likewise.
40090 * commands/ls.c (grub_ls_init): Likewise.
40091 (GRUB_MOD_INIT): Likewise.
40092 (options): Likewise.
40093 * commands/boot.c (grub_boot_init): Likewise.
40094 (GRUB_MOD_INIT): Likewise.
40095 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
40096 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
40097 (GRUB_MOD_INIT): Likewise.
40098 * commands/cmp.c (grub_cmp_init): Likewise.
40099 (GRUB_MOD_INIT): Likewise.
40100
40101 * normal/arg.c: Use <> instead of "" to include header files.
40102 (SHORT_ARG_HELP): New macro.
40103 (SHORT_ARG_USAGE): Likewise.
40104 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
40105 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40106 descriptions.
40107 (find_short): Check if C is 'h' or 'u' explicitly.
40108 (grub_arg_show_help): Use space characters instead of tabs. Treat
40109 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40110 are shown with --help and --usage only if they are not used for
40111 the command itself.
40112 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40113 'h' and 'u'.
40114
40115 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40116 const into "longarg". Change the type of "shortarg" to int.
40117
f806d18e 401182005-07-17 Yoshinori Okuji <okuji@enbug.org>
40119
40120 * boot/i386/pc/boot.S (boot_drive_check): New label.
40121
40122 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40123 macro.
40124
40125 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40126 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40127
e293232b 401282005-07-17 Yoshinori Okuji <okuji@enbug.org>
40129
40130 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40131 When turning off Gate A20, skip the check and return immediately,
40132 because this is not fatal usually.
40133
ebedfd00 401342005-07-17 Yoshinori Okuji <okuji@enbug.org>
40135
40136 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40137 be 0x7C00 instead of 0x8000.
40138
40139 * boot/i386/pc/pxeboot.S: Rewritten.
40140
40141 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40142 EXT_C.
40143 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40144 result.
40145
654fc59f 401462005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40147
40148 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40149 robustness. This routine now supports a BIOS call and System
40150 Control Port A to modify the gate A20.
40151
40152 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40153 Increased to 0x440.
40154
09f9923f 401552005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40156
40157 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40158 device path and resulting ihandle.
40159 (grub_ofdisk_close): dprintf the ihandle being closed.
40160 (grub_ofdisk_read): dprintf function parameters.
40161 * kern/mm.c (grub_mm_init_region): Likewise.
40162 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40163 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40164 size, and boot arguments.
40165 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40166 before loading into memory.
40167 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40168 before loading into memory.
40169
7ef504d8 401702005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40171
40172 * kern/mm.c: Added much documentation.
40173 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40174 8, set to 5 instead of 8.
40175
e0f050c2 401762005-07-10 Yoshinori Okuji <okuji@enbug.org>
40177
40178 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40179
40180 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40181 (grub_mkdevicemap_SOURCES): New variable.
40182
40183 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40184 lib/device.c of GRUB Legacy.
40185
7224189a 401862005-07-10 Yoshinori Okuji <okuji@enbug.org>
40187
40188 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40189 instead of PATH is NULL.
40190
68c864eb 401912005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40192
40193 * commands/cmp.c (BUFFER_SIZE): New macro.
40194 (grub_cmd_cmp): Close the right file at the right time. Compare
40195 only data just read. Don't report files of different size as
40196 identical. Dynamically allocate buffers. Move variable
40197 declarations at the beginning of function.
40198
e6f3e614 401992005-07-09 Yoshinori Okuji <okuji@enbug.org>
40200
40201 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40202 reverse.
40203
f8f1559a 402042004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40205
40206 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40207 when backspace is pressed at beginning of line.
40208
39c9d41d 402092005-07-03 Yoshinori Okuji <okuji@enbug.org>
40210
40211 * DISTLIST: Added genfslist.sh.
40212
40213 * normal/main.c (fs_module_list): New variable.
40214 (autoload_fs_module): New function.
40215 (read_fs_list): Likewise.
40216 (grub_normal_execute): Call read_fs_list.
40217
40218 * kern/fs.c (grub_fs_autoload_hook): New variable.
40219 (grub_fs_probe): Added support for auto-loading.
40220
40221 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40222 (grub_fs_module_list_t): New type.
40223
40224 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40225 (grub_fs_autoload_hook): New prototype.
40226
40227 * genfslist.sh: New file.
f19dbdb7 40228
39c9d41d 40229 * genmk.rb: Added a rule to generate a filesystem list.
40230
121c1d83 402312005-06-30 Marco Gerards <metgerards@student.han.nl>
40232
40233 * configure.ac: Fix the test for cross-compiling.
40234
40235 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40236 define GRUB_UTIL anymore.
40237
40238 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40239 so this function works on other systems than just big endian.
40240 (load_modules): Likewise.
40241 (add_segments): Likewise.
40242
e75d76e1 402432005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40244
40245 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40246 contains `l' modifier, get a long from va_arg().
40247
50b5a0a7 402482005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40249
40250 * kern/mm.c (grub_free): If the next free block which is being
40251 merged is the first free block, set the first block to the block
40252 being freed.
40253 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40254
89371b20 402552005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40256
40257 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40258 `grub_ieee1275_chosen'.
40259
168d6e58 402602005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40261
40262 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40263 (grub_ieee1275_chosen): New variable.
40264 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40265 `chosen'.
40266 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40267 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40268 Rename first argument to `phandle' for consistency.
40269 (grub_ieee1275_get_property_length): Likewise.
40270 (grub_ieee1275_next_property): Likewise. Change type of first argument
40271 to grub_ieee1275_phandle_t.
40272 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40273 Move export next to declaration.
40274 (grub_ieee1275_chosen): New variable.
40275 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40276 Correct cosmetic typo.
40277 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40278 `grub_ieee1275_chosen'.
40279 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40280 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40281 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40282 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40283 `grub_ieee1275_chosen'.
40284
ca5baa3f 402852005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40286
40287 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40288 /chosen/bootargs.
40289 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40290 /chosen/bootargs as "variable=value" pairs.
40291
708b345f 402922005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40293
40294 * include/grub/misc.h (grub_dprintf): New macro.
40295 (grub_real_dprintf): New prototype.
40296 (grub_strword): Likewise.
40297 (grub_iswordseparator): Likewise.
40298 * kern/misc.c (grub_real_dprintf): New function.
40299 (grub_strword): Likewise.
40300 (grub_iswordseparator): Likewise.
40301
f4c5e67c 403022005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40303
40304 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40305 (roundup): Remove macro.
40306 (grub_ieee1275_flags): Make static.
40307 (grub_ieee1275_realmode): Remove.
40308 (grub_ieee1275_test_flag): New function.
40309 (grub_ieee1275_set_flag): Likewise.
40310 (find_options): Rename to `grub_ieee1275_find_options'; update
40311 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40312 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40313 (cmain): New prototype.
40314 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40315 `grub_ieee1275_flags' directly.
40316 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40317 machine/biosdisk.h.
40318 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40319 Don't include grub/machine/init.h.
40320 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40321 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40322 Remove prototype.
40323 (grub_ieee1275_realmode): Likewise.
40324 (grub_ieee1275_flag): New enum.
40325 (grub_ieee1275_test_flag): New prototype.
40326 (grub_ieee1275_set_flag): New prototype.
40327 * include/grub/powerpc/ieee1275/init.h: Remove file.
40328 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40329 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40330 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40331 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40332 comment.
40333 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40334 `grub_ieee1275_test_flag'.
40335 (grub_ieee1275_encode_devname): Likewise.
40336
ed16607e 403372005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40338
40339 * include/grub/powerpc/ieee1275/ieee1275.h
40340 (grub_ieee1275_encode_devname): New prototype.
40341 (grub_ieee1275_get_filename): Likewise.
40342 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40343 function.
40344 (grub_set_prefix): Likewise.
40345 (grub_machine_init): Call grub_set_prefix.
40346 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40347 (grub_parse_type): New enum.
40348 (grub_ieee1275_get_devargs): New function.
40349 (grub_ieee1275_get_devname): Likewise.
40350 (grub_ieee1275_parse_args): Likewise.
40351 (grub_ieee1275_get_filename): Likewise.
40352 (grub_ieee1275_encode_devname): Likewise.
40353
be369920 403542005-03-30 Marco Gerards <metgerards@student.han.nl>
40355
40356 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40357 `grub_loader_unset'.
40358
a5ce3a4a 403592005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40360
40361 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40362 instead of grub_ieee1275_interpret.
40363 (grub_halt_init): New function.
40364 (grub_halt_fini): Likewise.
40365 (GRUB_MOD_INIT): Correct message grammar.
40366 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40367 instead of grub_ieee1275_interpret.
40368 (grub_reboot_init): New function.
40369 (grub_reboot_fini): Likewise.
40370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40371 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40372 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40373 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40374 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40375 function.
40376 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40377 Add prototype.
40378 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40379 prototype.
40380 (grub_halt): Likewise.
40381 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40382 (cmain): Remove __attribute__((unused)).
40383 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40384 (grub_heap_len): Likewise.
40385 (grub_machine_fini): New function.
40386 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40387 (grub_halt): Likewise.
40388 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40389 function.
40390 * util/powerpc/ieee1275/misc.c: New file.
40391
0058f771 403922005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40393
40394 * DISTLIST: New file.
40395 * gendistlist.sh: Likewise.
f19dbdb7 40396
0058f771 40397 * Makefile.in (COMMON_DISTFILES): Removed.
40398 (BOOT_DISTFILES): Likewise.
40399 (CONF_DISTFILES): Likewise.
40400 (DISK_DISTFILES): Likewise.
40401 (FS_DISTFILES): Likewise.
40402 (INCLUDE_DISTFILES): Likewise.
40403 (KERN_DISTFILES): Likewise.
40404 (LOADER_DISTFILES): Likewise.
40405 (TERM_DISTFILES): Likewise.
40406 (UTIL_DISTFILES): Likewise.
40407 (DISTFILES): Likewise.
40408 (uninstall): Uninstall files in $(pkgdata_DATA).
40409 (DISTLIST): New target.
40410 (distdir): Use the contents of the file DISTLIST to get a list of
40411 distributed files.
40412
46b3b8a5 404132005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40414
40415 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40416 descriptor. This is ported from GRUB Legacy.
40417
40418 * gencmdlist.sh: Added an extra semicolon to make it work with
40419 old sed versions. Reported by Robert Bihlmeyer
40420 <robbe@orcus.priv.at>.
40421
5822ff87 404222005-03-08 Yoshinori Okuji <okuji@enbug.org>
40423
40424 Automatic loading of commands is supported.
f19dbdb7 40425
5822ff87 40426 * normal/main.c (read_command_list): New function.
40427 (grub_normal_execute): Call read_command_list.
40428
40429 * normal/command.c (grub_register_command): Return zero or CMD.
40430 Allocate CMD->NAME from the heap.
40431 Initialize CMD->MODULE_NAME to zero.
40432 Find the same name as well. If the same command is found and it is
40433 a dummy command, overwrite members. If it is not a dummy command,
40434 return zero.
40435 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40436 (grub_command_find): If a dummy command is found, load a module
40437 and retry to find a command only once.
40438
40439 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40440 make sure that each command is loaded.
40441
40442 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40443 macro.
40444 (struct grub_command): Remove const from the member `name'.
40445 Add a new member `module_name'.
40446 (grub_register_command): Return grub_command_t.
40447
40448 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40449 sure that each command is loaded.
40450
40451 * genmk.rb (PModule::rule): Specify a module name without the
40452 suffix ".mod" to gencmdlist.sh.
40453
7b1f4b57 404542005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40455
40456 * gencmdlist.sh: New file.
f19dbdb7 40457
7b1f4b57 40458 * genmk.rb (PModule::rule): Generate a rule for a command list.
40459 Clean command.lst.
40460 Generate command.lst from $(COMMANDFILES).
40461
40462 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40463 (DATA): Added $(pkgdata_DATA).
40464 (install-local): Install files in $(pkgdata_DATA).
40465
062aaf39 404662005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40467
40468 * term/i386/pc/vga.c (debug_command): Removed.
40469 (GRUB_MOD_INIT): Do not register the command "debug".
40470
40471 From Hollis Blanchard:
40472 * commands/configfile.c: New file.
40473 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40474 commands/configfile.c.
40475 (pkgdata_MODULES): Added configfile.mod.
40476 (configfile_mod_SOURCES): New variable.
40477 (configfile_mod_CFLAGS): Likewise.
40478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40479 commands/configfile.c.
40480 (pkgdata_MODULES): Added configfile.mod.
40481 (configfile_mod_SOURCES): New variable.
40482 (configfile_mod_CFLAGS): Likewise.
40483 * util/grub-emu.c (main): Call grub_configfile_init and
40484 grub_configfile_fini.
40485 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40486 prototype.
40487 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 40488
cee01aa6 404892005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40490
40491 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40492 address.
40493
40494 * commands/help.c (grub_cmd_help): Do not print newlines after
40495 the last command in print_command_help.
40496
93f3a1d8 404972005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40498
40499 * commands/default.h: New file.
40500 * commands/timeout.h: Likewise.
40501 * normal/context.c: Likewise.
f19dbdb7 40502
93f3a1d8 40503 * util/misc.c: Do not include sys/times.h.
40504 Include sys/time.h and grub/machine/time.h.
40505 (grub_get_rtc): Rewritten with gettimeofday.
40506
40507 * util/grub-emu.c (main): Call grub_default_init and
40508 grub_timeout_init before grub_normal_init, and call
40509 grub_timeout_fini and grub_default_fini after grub_main.
40510
40511 * util/console.c (grub_ncurses_checkkey): Return the read
40512 character or -1.
40513
40514 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40515 timeouts.
40516
40517 * normal/main.c (read_config_file): Push MENU. If this fails,
40518 print an error and wait for a user input.
40519 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40520 If a menu is empty or an error occurs, pop MENU.
40521 (grub_normal_execute): Pop and free MENU after grub_menu_run
40522 returns.
40523
40524 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40525
40526 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40527 include time.h.
40528 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40529 without GRUB_UTIL.
40530 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40531 time.h.
40532 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40533 without GRUB_UTIL.
40534
40535 * include/grub/normal.h (struct grub_menu_list): New struct.
40536 (grub_menu_list_t): New type.
40537 (struct grub_context): New struct.
40538 (grub_context_t): New type.
40539 (grub_register_command): Got rid of EXPORT_FUNC.
40540 (grub_unregister_command): Likewise.
40541 (grub_context_get): New prototype.
40542 (grub_context_get_current_menu): Likewise.
40543 (grub_context_push_menu): Likewise.
40544 (grub_context_pop_menu): Likewise.
40545 [GRUB_UTIL] (grub_default_init): Likewise.
40546 [GRUB_UTIL] (grub_default_fini): Likewise.
40547 [GRUB_UTIL] (grub_timeout_init): Likewise.
40548 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40549
40550 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40551 commands/timeout.c and normal/context.c.
40552 (pkgdata_MODULES): Added default.mod and timeout.mod.
40553 (normal_mod_SOURCES): Added normal/context.c.
40554 (default_mod_SOURCES): New variable.
40555 (default_mod_CFLAGS): Likewise.
40556 (timeout_mod_SOURCES): Likewise.
40557 (timeout_mod_CFLAGS): Likewise.
40558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40559 conf/i386-pc.rmk.
40560 (pkgdata_MODULES): Added default.mod and timeout.mod.
40561 (normal_mod_SOURCES): Added normal/context.c.
40562 (default_mod_SOURCES): New variable.
40563 (default_mod_CFLAGS): Likewise.
40564 (timeout_mod_SOURCES): Likewise.
40565 (timeout_mod_CFLAGS): Likewise.
40566
40567 * Makefile.in (all-local): Added $(MKFILES).
40568
4ed2e1dd 405692005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40570
40571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40572 (grub_emu_SOURCES): Likewise.
40573 (pkgdata_MODULES): Add `sun.mod'.
40574 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40576 `partmap/sun.c'.
40577 (pkgdata_MODULES): Add `sun.mod'.
40578 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40579 * include/grub/partition.h (grub_sun_partition_map_init): New
40580 prototype.
40581 (grub_sun_partition_map_fini): Likewise.
40582 * partmap/sun.c: New file.
40583 * util/grub-emu.c (main): Initialize and de-initialize the sun
40584 partitionmap support.
40585
4d4e372e 405862005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40587
40588 This implements an Emacs-like menu entry editor.
f19dbdb7 40589
4d4e372e 40590 * normal/menu_entry.c: New file.
f19dbdb7 40591
4d4e372e 40592 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40593 characters to ASCII.
40594 (saved_char): New variable.
40595 (grub_ncurses_checkkey): Rewritten completely.
40596 (grub_ncurses_getkey): Likewise.
40597 (grub_ncurses_init): Call raw instead of cbreak.
40598
40599 * normal/menu.c (print_entry): Do not put a space.
40600 (init_page): Renamed to ...
40601 (grub_menu_init_page): ... this. All callers changed.
40602 (edit_menu_entry): Removed.
40603 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40604
40605 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40606
40607 * kern/misc.c (grub_vprintf): Call grub_refresh.
40608
40609 * normal/menu.c (DISP_LEFT): Renamed to ...
40610 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40611 * normal/menu.c (DISP_UP): Renamed to ...
40612 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40613 * normal/menu.c (DISP_RIGHT): Renamed to ...
40614 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40615 * normal/menu.c (DISP_DOWN): Renamed to ...
40616 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40617 * normal/menu.c (DISP_HLINE): Renamed to ...
40618 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40619 * normal/menu.c (DISP_VLINE): Renamed to ...
40620 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40621 * normal/menu.c (DISP_UL): Renamed to ...
40622 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40623 * normal/menu.c (DISP_UR): Renamed to ...
40624 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40625 * normal/menu.c (DISP_LL): Renamed to ...
40626 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40627 * normal/menu.c (DISP_LR): Renamed to ...
40628 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40629 * normal/menu.c (TERM_WIDTH): Renamed to ...
40630 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40631 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40632 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40633 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40634 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40635 * normal/menu.c (TERM_MARGIN): Renamed to ...
40636 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40637 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40638 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40639 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40640 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40641 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40642 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40643 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40644 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40645 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40646 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40647 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40648 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40649 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40650 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40651 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40652 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40653 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40654 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40655 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40656 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40657 All callers changed.
40658
40659 * include/grub/normal.h: New prototype.
40660
40661 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40662 normal/menu_entry.c.
40663 (normal_mod_SOURCES): Likewise.
40664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40665 (normal_mod_SOURCES): Likewise.
40666
e6b92c8a 406672005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40668
40669 * include/grub/normal.h (grub_halt_init): New prototype.
40670 (grub_halt_fini): Likewise.
40671 (grub_reboot_init): Likewise.
40672 (grub_reboot_fini): Likewise.
40673
40674 * util/grub-emu.c: Include signal.h.
40675 (main_env): New global variable.
40676 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40677 catch C-c.
40678 (grub_machine_fini): New function.
40679 (main): Call grub_halt_init and grub_reboot_init before
40680 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40681 Call setjmp with MAIN_ENV to go back afterwards.
40682 Call grub_machine_fini right before return.
40683
40684 * include/grub/util/misc.h: Include setjmp.h.
40685 (main_env): New prototype.
40686
40687 * include/grub/kernel.h (grub_machine_fini): New prototype.
40688 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40689 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40690
40691 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40692 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40693 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 40694
e6b92c8a 40695 * util/i386/pc/misc.c: New file.
f19dbdb7 40696
e6b92c8a 40697 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40698 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40699 commands/i386/pc/reboot.c.
40700
c642636f 407012005-02-14 Guillem Jover <guillem@hadrons.org>
40702
40703 * include/grub/dl.h (grub_dl_check_header): New prototype.
40704 (grub_arch_dl_check_header): Change return type to grub_err_t,
40705 remove size parameter and export function. Update all callers.
40706 * kern/dl.c (grub_dl_check_header): New function.
40707 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40708 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40709 are inside the core.
40710 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40711 independent ELF header checks.
40712 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40713 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40714 `grub_dl_check_header' instead of explicit checks. Check for the
40715 ELF type.
40716 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40717 `grub_dl_check_header' instead of explicit checks. Remove arch
40718 specific ELF header checks.
40719
e6b92c8a 40720 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40721 argument SIZE.
40722
5eabe94b 407232005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40724
40725 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40726 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40727
1b14a681 407282005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40729
40730 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 40731 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 40732 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 40733 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 40734 * partmap/amiga.c (amiga_partition_map_iterate): Return
40735 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40736 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40737
aca108aa 407382005-02-01 Guillem Jover <guillem@hadrons.org>
40739
40740 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40741 help info.
40742
c9f9c556 407432005-01-31 Marco Gerards <metgerards@student.han.nl>
40744
40745 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40746 Removed prototype.
40747 (grub_rescue_cmd_linux): New prototype.
40748 (grub_rescue_cmd_initrd): Likewise.
40749 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40750 `bi_rec'.
40751 (grub_linux_release_mem): Release the memory for the initrd.
40752 (grub_load_linux): Renamed from this...
40753 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40754 Changed `entry' not to be static. Loop over memory regions to
40755 find another one when the default fails.
40756 (grub_rescue_cmd_initrd): New function.
40757 (grub_linux_init): Remove function.
40758 (grub_linux_fini): Likewise.
40759 (GRUB_MOD_INIT): Register `initrd'.
40760 (GRUB_MOD_FINI): Unregister `initrd'.
40761 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40762 Function removed.
40763 (grub_linux_normal_fini): Likewise.
40764 (GRUB_MOD_INIT): Register `initrd'.
40765 (GRUB_MOD_FINI): Unregister `initrd'.
40766
990cf3aa 407672005-01-31 Marco Gerards <metgerards@student.han.nl>
40768
40769 * commands/help.c: New file.
40770 * normal/arg.c (show_help): Renamed to...
40771 (grub_arg_show_help): ... this.
40772 * commands/i386/pc/halt.c: New file.
40773 * commands/i386/pc/reboot.c: Likewise.
40774 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40775 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40776 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40777 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40778 variables.
40779 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40780 `commands/help.c'.
40781 (pkgdata_MODULES): Add `help.mod'.
40782 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40783 * grub/i386/pc/init.h (grub_reboot): New prototype.
40784 (grub_halt): Likewise.
40785 * include/grub/normal.h (grub_arg_show_help): New prototype.
40786 (grub_help_init): Likewise.
40787 (grub_help_fini): Likewise.
40788 * util/grub-emu.c (main): Initialize and deinitialize the help
40789 command.
40790
40791 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40792
40793 * normal/command.c (grub_command_init): Fixed the description of
40794 the `set' and `unset' commands.
40795
407962005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 40797
40798 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40799 function.
40800 * commands/ieee1275/halt.c: New file.
40801 * commands/ieee1275/reboot.c: Likewise.
40802 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40803 `__attribute__ ((unused))'. Some GCS related fixed.
40804 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40805 (grub_suspend_fini): Likewise.
40806 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40807 and `halt.mod'.
40808 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40809 (halt_mod_CFLAGS): New variables.
40810 * include/grub/powerpc/ieee1275/ieee1275.h
40811 (grub_ieee1275_interpret): New prototype.
40812
1ab09cc7 408132005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40814
40815 * include/grub/misc.h (memmove): New prototype.
40816 (memcpy): Likewise.
40817
8b8cbdb2 408182005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40819
40820 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40821 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40822
e3741a27 408232005-01-22 Marco Gerards <metgerards@student.han.nl>
40824
40825 * kern/misc.c (grub_strndup): Function rewritten.
40826
776bd780 408272005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40828
40829 * normal/menu.c (TERM_WIDTH): Macro redefined.
40830 (TERM_TOP_BORDER_Y): Likewise.
40831 (draw_border): Replaced while-loop by a for-loop. Make the number
40832 of lines consistent with the number of lines displayed in
40833 print_entries. Added a margin below the rectangle.
40834 (print_entry): Make the entry fit in the rectangle.
40835 (print_entries): Display the scroll arrows next to the right
40836 border.
40837
78026bce 408382005-01-21 Marco Gerards <metgerards@student.han.nl>
40839
40840 * fs/minix.c (grub_minix_find_file): Reserve more space for
40841 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40842 `grub_strncpy' to copy `path' into it.
40843
67bbaf0f 408442005-01-21 Marco Gerards <metgerards@student.han.nl>
40845
40846 Add the loopback device, a device via which files can be accessed
40847 as devices.
f19dbdb7 40848
67bbaf0f 40849 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40850 (pkgdata_MODULES): Add loopback.mod.
40851 (loopback_mod_SOURCES): New variable.
40852 (loopback_mod_CFLAGS): Likewise.
40853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40854 `disk/loopback.c'.
40855 (pkgdata_MODULES): Add loopback.mod.
40856 (loopback_mod_SOURCES): New variable.
40857 (loopback_mod_CFLAGS): Likewise.
40858 * disk/loopback.c: new file.
40859 * include/grub/normal.h (grub_loop_init): New prototype.
40860 (grub_loop_fini): New prototype.
40861 * util/grub-emu.c (main): Initialize and de-initialize loopback
40862 support.
40863 * include/grub/disk.h (grub_disk_dev_id): Add
40864 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40865
6f1c18bd 408662005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40867
40868 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40869 function.
40870 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40871 (suspend_mod_SOURCES): New variable.
40872 (suspend_mod_CFLAGS): Likewise.
40873 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40874 New prototype.
40875 * commands/ieee1275/suspend.c: New file.
40876
b38551da 408772005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40878
40879 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 40880 ((unused))' to `__attribute__ ((used))'.
b38551da 40881 (GRUB_MOD_FINI): Likewise.
40882 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40883 * genmk.rb (PModule): Assign space to common symbols when linking
40884 modules.
40885
777aff39 408862005-01-20 Marco Gerards <metgerards@student.han.nl>
40887
40888 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40889 `unsigned' arguments to `grub_size_t'.
40890 (grub_malloc): Likewise.
40891 (grub_realloc): Likewise.
40892 (grub_memalign): Likewise.
40893 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40894 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40895 * util/misc.c (grub_malloc): Likewise.
40896 (grub_realloc): Likewise.
40897 * kern/mm.c (get_header_from_pointer): Change the casts to
40898 `unsigned' into a cast to `grub_size_t'.
40899
40900 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40901 point to `currnode' when `currnode' is changed.
40902
40903 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40904 Schottelius <nico-linux@schottelius.org>.
40905
d0ff18e1 409062005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40907
40908 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40909 (note_path): Remove variable.
40910 (GRUB_IEEE1275_NOTE_NAME): New macro.
40911 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40912 (grub_ieee1275_note_hdr): New structure.
40913 (grub_ieee1275_note_desc): Likewise.
40914 (grub_ieee1275_note): Likewise.
40915 (load_note): Remove `dir' argument. All callers updated. Remove
40916 `note_img' and `path'. Do not load a file from `note_path'.
40917 Initialize a struct grub_ieee1275_note and write that to `out'.
40918 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40919
4ca7004c 409202005-01-05 Marco Gerards <metgerards@student.han.nl>
40921
40922 * util/misc.c (grub_util_read_image): Revert last change. It
40923 called `grub_util_read_at', which seeks from the beginning of the
40924 file.
40925
0b412211 409262005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40927
40928 * TODO: Add note about endianness in grub-mkimage.
40929 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40930 section.
40931 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40932 (grub_mkimage_SOURCES): New target.
40933 * include/grub/kernel.h (grub_start_addr): Remove variable.
40934 (grub_end_addr): Likewise.
40935 (grub_total_module_size): Likewise.
40936 (grub_kernel_image_size): Likewise.
40937 (GRUB_MODULE_MAGIC): New constant.
40938 (grub_module_info): New structure.
40939 (grub_arch_modules_addr): New prototype.
40940 (grub_get_end_addr): Remove prototype.
40941 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40942 * include/grub/powerpc/ieee1275/kernel.h: New file.
40943 * include/grub/util/misc.h (grub_util_get_fp_size): New
40944 prototype.
40945 (grub_util_read_at): Likewise.
40946 (grub_util_write_image_at): Likewise.
40947 * kern/main.c (grub_get_end_addr): Remove function.
40948 (grub_load_modules): Call grub_arch_modules_addr instead of using
40949 grub_end_addr. Look for a grub_module_info struct in memory. Use
40950 the grub_module_info fields instead of calling grub_get_end_addr
40951 as loop conditions. Move grub_add_unused_region code here.
40952 (grub_add_unused_region): Remove function.
40953 * kern/i386/pc/init.c: Include grub/cache.h.
40954 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40955 one call to add_mem_region.
40956 (grub_arch_modules_addr): New function.
40957 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40958 (grub_total_module_size): Likewise.
40959 Include grub/machine/kernel.h.
40960 (grub_arch_modules_addr): New function.
40961 * util/grub-emu.c (grub_end_addr): Remove variable.
40962 (grub_total_module_size): Likewise.
40963 (grub_arch_modules_addr): New function.
40964 * util/misc.c: Include unistd.h.
40965 (grub_util_get_fp_size): New function.
40966 (grub_util_read_at): Likewise.
40967 (grub_util_write_image_at): Likewise.
40968 (grub_util_read_image): Call grub_util_read_at.
40969 (grub_util_write_image): Call grub_util_write_image_at.
40970 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40971 additional memory in kernel_img for a struct grub_module_info.
40972 Fill in that grub_module_info.
40973 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40974
458786f8 409752005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40976
40977 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40978 New function.
40979 * include/grub/powerpc/ieee1275/ieee1275.h
40980 (grub_ieee1275_milliseconds): New prototype.
40981 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40982 Change to 1000.
40983 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40984 grub_ieee1275_milliseconds.
40985
ac507d1b 409862005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40987
40988 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
40989 variable.
40990 (find_options): New function.
40991 (cmain): Call find_options.
40992 * include/grub/powerpc/ieee1275/ieee1275.h
40993 (grub_ieee1275_realmode): New extern variable.
40994 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
40995 grub_map if grub_ieee1275_realmode is false.
40996
6b8fd1c4 409972004-12-29 Marco Gerards <metgerards@student.han.nl>
40998
40999 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
41000 lines are inserted and make it work like readline. Reported by
41001 Vincent Pelletier <subdino2004@yahoo.fr>.
41002
8514a1e0 410032004-12-28 Marco Gerards <metgerards@student.han.nl>
41004
41005 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
41006
41007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
41008 `kern/powerpc/cache.S'.
41009
924b6140 410102004-12-27 Marco Gerards <metgerards@student.han.nl>
41011
41012 * genmk.rb: Handle the `Program' class in the main loop. Written
41013 by Johan Rydberg <jrydberg@gnu.org>.
41014 (Program): New class.
41015 (programs): New variable.
41016 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
41017 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
41018 instead of "grub/kernel.h". Include <grub/machine/init.h>.
41019 (help_arch): Function removed.
41020 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
41021 `powerpc/libgcc.h' and `loader.h'.
41022 (pkgdata_PROGRAMS): New variable.
41023 (sbin_UTILITIES): Variable removed.
41024 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
41025 (grubof_SOURCES): Variable re-defined so it only includes the
41026 core functionality.
41027 (grubof_CFLAGS): Remove `-DGRUBOF'.
41028 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
41029 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
41030 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
41031 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
41032 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
41033 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
41034 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
41035 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
41036 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
41037 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
41038 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41039 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
41040 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
41041 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
41042 (pc_mod_CFLAGS): New variables.
41043 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
41044 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
41045 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
41046 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
41047 Moved from here...
41048 * include/grub/i386/pc/init.h (grub_os_area_addr)
41049 (rub_os_area_size): ... to here.
41050 * include/grub/powerpc/ieee1275/ieee1275.h
41051 (grub_ieee1275_entry_fn): Export symbol.
41052 * include/grub/powerpc/ieee1275/init.h: New file.
41053 * include/grub/powerpc/libgcc.h: Likewise.
41054 * include/grub/cache.h: Likewise.
41055 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
41056 <hollis@penguinppc.org>.
41057 * kern/dl.c: Include <grub/cache.h>.
41058 (grub_dl_flush_cache): New function.
41059 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
41060 for this module.
41061 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
41062 (grub_console_init): Removed prototypes.
41063 (grub_machine_init): Don't initialize the modules anymore.
41064 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
41065 static.
41066 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
41067 Macro undef removed.
41068 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
41069 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
41070 relocation `R_PPC_REL32'. Return an error when the relocation is
41071 unknown.
41072 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
41073 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
41074 * util/misc.c (grub_arch_sync_caches): Likewise.
41075
e4b47e0c 410762004-12-19 Marco Gerards <metgerards@student.han.nl>
41077
41078 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
41079 `symlist.c', add `grubof_symlist.c'.
41080 (symlist.c): Variable removed.
41081 (grubof_HEADERS): Variable added.
41082 (grubof_symlist.c): New target.
41083 (kernel_syms.lst): Use `grubof_HEADERS' instead of
41084 `kernel_img_HEADERS'.
41085 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
41086 * kern/powerpc/dl.c: New file.
41087 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
41088 Function removed.
41089 (grub_arch_dl_relocate_symbols): Likewise.
41090 (grub_register_exported_symbols): Likewise.
41091
4ceb3636 410922004-12-13 Marco Gerards <metgerards@student.han.nl>
41093
41094 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
41095 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
41096 to fail instead. Reported by Vincent Pelletier
41097 <subdino2004@yahoo.fr>.
41098
41099 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
41100 it is not allocated. Reported by Vincent Pelletier
41101 <subdino2004@yahoo.fr>.
41102
41103 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
41104 output so the output looks better.
f19dbdb7 41105
3f1578fe 411062004-12-04 Marco Gerards <metgerards@student.han.nl>
41107
41108 Modulize the partition map support and add support for the amiga
41109 partition map.
f19dbdb7 41110
3f1578fe 41111 * commands/ls.c: Include <grub/partition.h> instead of
41112 <grub/machine/partition.h>.
41113 * kern/disk.c: Likewise.
41114 * kern/rescue.c: Likewise.
41115 * loader/i386/pc/chainloader.c: Likewise.
41116 * normal/cmdline.c: Likewise.
41117 * kern/powerpc/ieee1275/init.c: Likewise.
41118 (grub_machine_init): Call `grub_pc_partition_map_init',
41119 `grub_amiga_partition_map_init' and
41120 `grub_apple_partition_map_init'.
41121 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41122 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41123 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41124 `partition.h' and `pc_partition.h'.
41125 (grub_setup_SOURCES): Remove
41126 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41127 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41128 (grub_emu_SOURCES): Likewise.
41129 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41130 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41131 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41132 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41133 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41134 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41135 (grubof_SOURCES): Likewise.
41136 * disk/i386/pc/partition.c: File removed.
41137 * disk/powerpc/ieee1275/partition.c: Likewise.
41138 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41139 * include/grub/i386/pc/partition.h: Likewise.
41140 * kern/partition.c: New file.
41141 * partmap/amiga.c: Likewise.
41142 * partmap/apple.c: Likewise.
41143 * partmap/pc.c: Likewise.
41144 * include/grub/partition.h: Likewise..
41145 * include/grub/pc_partition.h: Likewise.
41146 * util/grub-emu.c: Include <grub/partition.h> instead of
41147 <grub/machine/partition.h>.
41148 (main): Call `grub_pc_partition_map_init',
41149 `grub_amiga_partition_map_init' and
41150 `grub_apple_partition_map_init' and deinitialize afterwards.
41151 * util/i386/pc/biosdisk.c: Include `#include
41152 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41153 `<grub/machine/partition.h>'.
41154 * util/i386/pc/grub-setup.c: Likewise.
41155 * util/i386/pc/biosdisk.c: Likewise.
41156 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41157 partition information in case of a PC partition.
41158 * util/i386/pc/grub-setup.c: Include `#include
41159 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41160 `<grub/machine/partition.h>'.
41161 (setup): Only access the PC specific partition information in case
41162 of a PC partition.
41163
0ef4ced9 411642004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41165
0ef4ced9 41166 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41167 (grub_longjmp): Likewise.
41168 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41169 20.
41170 * normal/powerpc/setjmp.S: New file.
41171 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41172 `normal/powerpc/setjmp.S'.
41173 (grubof_CFLAGS): Add `-DGRUBOF'.
41174 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41175 [GRUB_UTIL && !GRUBOF].
f19dbdb7 41176
19950e29 411772004-11-16 Marco Gerards <metgerards@student.han.nl>
41178
41179 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41180 property named `name'. Correctly handle the error returned by
41181 `grub_ieee1275_finddevice' if a device can not be opened.
41182
a2fea427 411832004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41184
41185 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41186 `actual' for negativity.
41187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41188 kern/fshelp.c.
41189
41ea0ea3 411902004-11-01 Marco Gerards <metgerards@student.han.nl>
41191
41192 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41193 (PAGE_OFFSET): New macro.
41194 (CRTC_ADDR_PORT): Likewise.
41195 (CRTC_DATA_PORT): Likewise.
41196 (START_ADDR_HIGH_REGISTER): Likewise.
41197 (START_ADDR_LOW_REGISTER): Likewise.
41198 (GRAPHICS_ADDR_PORT): Likewise.
41199 (GRAPHICS_DATA_PORT): Likewise.
41200 (READ_MAP_REGISTER): Likewise.
41201 (INPUT_STATUS1_REGISTER): Likewise.
41202 (INPUT_STATUS1_VERTR_BIT): Likewise.
41203 (page): New variable.
41204 (wait_vretrace): New function.
41205 (set_read_map): Likewise.
41206 (set_start_address): Likewise.
41207 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41208 the right page.
41209 (check_vga_mem): Take the page into account.
41210 (write_char): Likewise.
41211 (write_cursor): Likewise.
41212 (scroll_up): Likewise. Copy the page to the page that is not
41213 shown and switch between both pages.
41214 (grub_vga_putchar): Fix off by one error.
41215 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41216 account.
41217
ad0bd20b 412182004-11-01 Marco Gerards <metgerards@student.han.nl>
41219
41220 Add support for iso9660 (including rockridge).
f19dbdb7 41221
ad0bd20b 41222 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41223 (iso9660_mod_SOURCES): New variable.
41224 (iso9660_mod_CFLAGS): Likewise.
41225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41226 * include/grub/fs.h (grub_iso9660_init): New prototype.
41227 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41228 * fs/iso9660.c: New file.
41229
41230 * include/grub/misc.h (grub_strncat): New prototype.
41231 * kern/misc.c (grub_strncat): New function.
f19dbdb7 41232
ad0bd20b 41233 * fs/hfs.c (grub_hfs_mount): Translate the error
41234 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41235 * fs/jfs.c (grub_jfs_mount): Likewise.
41236 * fs/ufs.c (grub_ufs_mount): Likewise.
41237
a5477a59 412382004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41239
41240 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41241 which initialized BAT registers.
41242 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41243 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41244 Move from here...
41245 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41246 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41247 ... to here.
41248 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41249 (grub_mapclaim): Likewise.
41250 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41251 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41252 hand.
41253
9304c1f8 412542004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41255
41256 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41257 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41258 -ffreestanding and -msoft-float.
41259
86f4ae25 412602004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41261
41262 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41263 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41264 set in grub_ieee1275_flags.
41265
38912228 412662004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41267
41268 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41269 prototype.
41270 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41271 grub_console_init first.
41272 Change the memory range used for grub_ieee1275_claim and
41273 grub_mm_init_region.
41274 Print an error message if the claim fails.
41275 Include <grub/misc.h>.
41276
d1923dc8 412772004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41278
41279 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41280 Call grub_children_iterate for device nodes of type `scsi',
41281 `ide', or `ata'.
41282 (grub_ofdisk_open): Remove manual device alias resolution.
41283 Fix memory leak when device cannot be opened.
f19dbdb7 41284 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 41285 (grub_children_iterate): New prototype.
41286 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41287 New function.
41288 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41289 Return -1 if args.size was -1.
41290
4512e4f3 412912004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41292
41293 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41294 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41295 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41296 Open Firmware's memory for it; claim memory from _start to _end.
41297 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41298 (_end): New extern.
41299 (_start): Zero BSS from __bss_start to _end.
41300 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41301 New extern.
41302 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41303
4d61feb0 413042004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41305
ad0bd20b 41306 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41307 -1 if args.base was -1.
4d61feb0 41308
026fa2f9 413092004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41310
41311 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41312 escape sequence instead of a literal ^L. Also call
41313 grub_ofconsole_gotoxy.
41314
9f2220ef 413152004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41316
41317 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41318 void * arguments to grub_addr_t. All callers updated. Also make
41319 the `result' argument optional.
41320 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41321 All callers updated.
41322
8a572cd7 413232004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41324
41325 * commands/ls.c (grub_ls_list_files): Use the string following the
41326 initial ')', if present, as the filesystem path.
41327 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41328
41329 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41330
18aa81f2 413312004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41332
41333 Make the source code of the menu interface more readable.
f19dbdb7 41334
18aa81f2 41335 * normal/menu.c: Include grub/mm.h.
41336 (TERM_WIDTH): New macro.
41337 (TERM_HEIGHT): Likewise.
41338 (TERM_INFO_HEIGHT): Likewise.
41339 (TERM_MARGIN): Likewise.
41340 (TERM_SCROLL_WIDTH): Likewise.
41341 (TERM_TOP_BORDER_Y): Likewise.
41342 (TERM_LEFT_BORDER_X): Likewise.
41343 (TERM_BORDER_WIDTH): Likewise.
41344 (TERM_MESSAGE_HEIGHT): Likewise.
41345 (TERM_BORDER_HEIGHT): Likewise.
41346 (TERM_NUM_ENTRIES): Likewise.
41347 (TERM_FIRST_ENTRY_Y): Likewise.
41348 (TERM_ENTRY_WIDTH): Likewise.
41349 (TERM_CURSOR_X): Likewise.
41350 (draw_border): Use macros instead of magic numbers.
41351 (print_entry): Likewise.
41352 (print_entries): Likewise.
41353 (run_menu): Likewise. Also, handle the key 'e'.
41354 (run_menu_entry): Ignore empty command lines.
41355 (print_message): Added a new argument EDIT. If EDIT is true,
41356 print a different message.
41357 (init_page): Likewise.
41358 (edit_menu_entry): New function. Not implemented yet.
41359
b47efe30 413602004-09-17 Marco Gerards <metgerards@student.han.nl>
41361
41362 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41363 can be loaded from normal mode.
f19dbdb7 41364
b47efe30 41365 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41366 `multiboot.mod'.
41367 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41368 (multiboot_mod_CFLAGS): New variables.
41369 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 41370 * loader/i386/pc/multiboot_normal.c: Likewise.
41371
b47efe30 41372 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41373 attribute `unused'.
f19dbdb7 41374
b47efe30 41375 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41376 `fdiro' to read the mode information from instead of `diro'.
41377
41378 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41379 looking up a symlink.
41380
41381 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41382 macro.
41383 * normal/command.c (grub_command_execute): Don't parse the
41384 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41385 flags of the command.
41386
41387 * normal/menu.c (grub_menu_run): Fix typo.
41388
da75ac71 413892004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41390
41391 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41392
41393 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41394 `y + 1' instead of `y - 1'.
41395
41396 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 41397
062b24c2 413982004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41399
41400 From Hollis Blanchard <hollis@penguinppc.org>:
41401 * kern/misc.c (memmove): New alias for grub_memmove.
41402 (memcmp): New alias for grub_memcmp.
41403 (memset): New alias for grub_memset.
f19dbdb7 41404 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 41405 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 41406 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 41407 (grub_ieee1275_get_property): Likewise.
f19dbdb7 41408
8ddad845 414092004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41410
41411 Added normal mode command `chainloader' as module chain.mod, which
41412 depends on normal.mod and _chain.mod.
f19dbdb7 41413
8ddad845 41414 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41415 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41416 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41417 Deleted prototype.
41418 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41419 but arguments parsing moved to ...
41420 (grub_chainloader_cmd): ... here. New function.
41421 * include/grub/i386/pc/chainloader.h: New file.
41422 * loader/i386/pc/chainloader_normal.c: Likewise.
41423
2c1f4ce3 414242004-09-11 Marco Gerards <metgerards@student.han.nl>
41425
41426 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41427 (grub_mkimage_LDFLAGS): Likewise.
41428 (grub_emu_SOURCES): Likewise.
41429 (kernel_img_HEADERS): Added fshelp.h.
41430 * fs/ext2.c: Include <grub/fshelp.h>.
41431 (FILETYPE_REG): New macro.
41432 (FILETYPE_INO_REG): Likewise.
41433 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41434 Changed all users.
41435 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41436 all users.
41437 (grub_fshelp_node): New struct.
41438 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41439 to a pointer.
41440 (grub_ext2_get_file_block): Removed function.
41441 (grub_ext2_read_block): New function.
41442 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41443 This function was written.
41444 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41445 (grub_ext2_find_file): Removed function.
41446 (grub_ext2_read_symlink): New function.
41447 (grub_ext2_iterate_dir): Likewise.
41448 (grub_ext2_open): Rewritten.
41449 (grub_ext2_dir): Rewritten.
41450 * include/grub/fshelp.h: New file.
41451 * fs/fshelp.c: Likewise.
41452
3c52136a 414532004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41454
41455 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41456 (print_message): Add a missing newline.
41457 (run_menu): Added timeout support.
41458 (run_menu_entry): New local function.
41459 (grub_menu_run): Added support for booting.
41460
41461 * kern/loader.c (grub_loader_is_loaded): New function.
41462
41463 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41464 (grub_get_rtc): Exported.
41465
41466 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41467 (grub_get_rtc): Exported.
41468
41469 * include/grub/normal.h (struct grub_command_list): Remove
41470 constant from the member `command'.
41471
41472 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41473
41474 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41475
41476 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41477
aa033560 414782004-08-28 Marco Gerards <metgerards@student.han.nl>
41479
41480 Add support for the JFS filesystem.
41481
41482 * fs/jfs.c: New file.
41483 * include/grub/fs.h (grub_jfs_init): New prototype.
41484 (grub_jfs_fini): New prototype.
41485 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41486 (grub_emu_SOURCES): Likewise.
41487 (pkgdata_MODULES): Add jfs.mod.
41488 (jfs_mod_SOURCES): New variable.
41489 (jfs_mod_CFLAGS): Likewise.
41490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41491 (grubof_SOURCES): Likewise.
41492 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41493
41494 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41495 endian to the host endian.
41496 (grub_fat_utf16_to_utf8): Move function from there...
41497 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 41498 the endianness of the source string anymore.
aa033560 41499 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41500
94bc45af 415012004-08-24 Marco Gerards <metgerards@student.han.nl>
41502
41503 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41504 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41505 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41506 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 41507
94bc45af 41508 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41509 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41510 for `node_found' and `it_dir'.
41511 (grub_hfs_dir): Add prototype for `dir_hook'.
41512
41513 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41514 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41515 and `indir32' to silence a gcc warning.
41516
41517 * include/grub/fs.h (grub_hfs_init): New prototype.
41518 (grub_hfs_fini): Likewise.
f19dbdb7 41519
41520
97543f08 415212004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41522
41523 Each disk device has its own id now. This is useful to make use
41524 of multiple disk devices.
f19dbdb7 41525
97543f08 41526 * include/grub/disk.h (grub_disk_dev_id): New enum.
41527 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41528 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41529
41530 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41531 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41532
41533 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41534 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41535
41536 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41537 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41538
41539 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41540 "id" which is used by the cache manager.
41541
41542 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41543 of just "GRUB".
41544
64372eb4 415452004-08-18 Marco Gerards <metgerards@student.han.nl>
41546
41547 * fs/hfs.c: New file.
41548 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41549 (grub_emu_SOURCES): Likewise.
41550 (pkgdata_MODULES): Add hfs.mod.
41551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41552 (grubof_SOURCES): Likewise.
41553 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41554
41555 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41556 * kern/misc.c (grub_strncasecmp): Add function.
41557
cc61b58f 415582004-08-14 Marco Gerards <metgerards@student.han.nl>
41559
41560 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41561 with parentheses.
41562
41563 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41564 (grub_ext2_dir): In case the directory entry type is unknown, read
41565 it from the inode.
41566
0ef123f6 415672004-08-02 Peter Bruin <pjbruin@dds.nl>
41568
41569 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41570 grub_load_linux instead of grub_rescue_cmd_linux as second
41571 argument of grub_rescue_register_command.
41572
41573 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41574
a447c5df 415752004-07-27 Marco Gerards <metgerards@student.han.nl>
41576
41577 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41578 function.
41579 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41580 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41581 `loader/powerpc/ieee1275/linux.c',
41582 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41583 * include/grub/powerpc/ieee1275/ieee1275.h
41584 (grub_ieee1275_release): New prototype.
41585 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41586 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41587 normal, boot, linux and linux_normal.
41588 * loader/powerpc/ieee1275/linux.c: New file.
41589 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41590
5a9e3546 415912004-07-12 Marco Gerards <metgerards@student.han.nl>
41592
41593 * normal/arg.c (grub_arg_parse): Correct error handling after
41594 reallocating the argumentlist (check if `argl' is not null instead
41595 of checking if `args' is not null).
41596 * kern/mm.c (grub_realloc): Return the same pointer when using the
41597 same region, instead of returning the header address.
41598
e15199cb 415992004-07-11 Marco Gerards <metgerards@student.han.nl>
41600
41601 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41602 one block instead of two when looking for the initial partition.
41603 (grub_partition_probe): Initialize the local variable `p' with 0.
41604 Use base 10 for the grub_strtoul call.
41605 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41606 need for one local variable.
41607 (grub_strtoul): Don't add the new value to `num', instead of that
41608 just assign it.
41609
020616c2 416102004-07-11 Marco Gerards <metgerards@student.han.nl>
41611
41612 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41613 (pxeboot_img_SOURCES): New variable.
41614 (pxeboot_img_ASFLAGS): Likewise.
41615 (pxeboot_img_LDFLAGS): Likewise.
41616 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41617 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41618 <lode_leroy@hotmail.com>.
41619
6c51eb64 416202004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41621
41622 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41623 there was no input.
41624
cfb12aff 416252004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41626
41627 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41628 the history buffer logic.
41629
6eabba74 416302004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41631
41632 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41633 (FILETYPE_INO_SYMLINK): New macros.
41634 (grub_ext2_find_file): Check if the node is a directory using the
41635 inode stat information instead of using the filetype in the
41636 dirent. Exclude the first character of an absolute symlink.
41637 (grub_ext2_dir): Mask out the filetype part of the mode member of
41638 the inode.
41639
66e19ef8 416402004-05-24 Marco Gerards <metgerards@student.han.nl>
41641
41642 Add support for UFS version 1 and 2. Add support for the minix
41643 filesystem version 1 and 2, both the variants with 14 and 30 long
41644 filenames.
f19dbdb7 41645
66e19ef8 41646 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41647 fs/minix.c.
41648 (grub_emu_SOURCES): Likewise.
41649 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41650 (ufs_mod_SOURCES): New variable.
41651 (ufs_mod_CFLAGS): Likewise.
41652 (minix_mod_SOURCES): Likewise.
41653 (minix_mod_CFLAGS): Likewise.
41654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41655 fs/minix.c.
41656 (grubof_SOURCES): Likewise.
41657 * fs/ufs.c: New file.
41658 * fs/minix.c: New file.
41659 * include/grub/fs.h (grub_ufs_init): New prototype.
41660 (grub_ufs_fini): Likewise.
41661 (grub_minix_init): Likewise.
41662 (grub_minix_fini): Likewise.
41663 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41664 minix fs.
41665
cc2e748a 416662004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41667
41668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41669 commands/ls.c, commands/terminal.c, commands/boot.c,
41670 commands/cmp.c and commands/cat.c.
41671 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41672
41673 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41674 "env.h"
41675
4b13b216 416762004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41677
41678 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41679 and grub_, respectively. Because the conversion is trivial and
41680 mechanical, I omit the details here. Please refer to the CVS
41681 if you need more information.
41682
6a142551 416832004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41684
41685 * include/pupa: Renamed to ...
41686 * include/grub: ... this.
41687 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41688 * util/i386/pc/grub-mkimage.c: ... this.
41689 * util/i386/pc/pupa-setup.c: Renamed to ...
41690 * util/i386/pc/grub-setup.c: ... this.
41691 * util/pupa-emu.c: Renamed to ...
41692 * util/grub-emu.c: ... this.
41693
e56cdf21 416942004-03-29 Marco Gerards <metgerards@student.han.nl>
41695
41696 Add support for the newworld apple macintosh (PPC). This has been
41697 tested on the powerbook 2000 only. It only adds support for
41698 generic ieee1275 functions, console and disk support. This should
41699 be easy to port to other architectures with support for Open
41700 Firmware.
f19dbdb7 41701
e56cdf21 41702 * configure.ac: Accept the powerpc as host_cpu. In the case of
41703 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41704 specific tests are only executed while building for the i386.
41705 Inverse test for crosscompile.
41706 * genmk.rb (Utility): Allow assembler files.
41707 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41708 * conf/powerpc-ieee1275.rmk: New file.
41709 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41710 * disk/powerpc/ieee1275/partition.c: Likewise.
41711 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41712 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41713 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41714 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41715 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41716 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41717 * include/pupa/powerpc/ieee1275/loader.h
41718 * include/pupa/powerpc/setjmp.h: Likewise.
41719 * include/pupa/powerpc/types.h: Likewise.
41720 * kern/powerpc/ieee1275/init.c: Likewise.
41721 * kern/powerpc/ieee1275/openfw.c: Likewise.
41722 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41723
41724 These files were written by Johan Rydberg
41725 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 41726
e56cdf21 41727 * boot/powerpc/ieee1275/cmain.c: New file.
41728 * boot/powerpc/ieee1275/crt0.S: Likewise.
41729 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41730 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41731
8c8cc205 417322004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41733
41734 * Makefile.in: Update copyright.
41735 * genmodsrc.sh: Likewise.
41736 * gensymlist.sh: Likewise.
41737 * term/i386/pc/vga.c: Indent correctly.
41738
41739 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41740 bugreporting address.
41741 * util/i386/pc/pupa-setup.c (usage): Likewise,
41742 (main): Call pupa_ext2_init and pupa_ext2_fini.
41743
f19dbdb7 41744 * fs/fat.c (log2): Renamed to ...
8c8cc205 41745 (fat_log2): ... this.
41746 All callers changed.
41747 * kern/misc.c (memcpy): Alias to pupa_memmove.
41748 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41749 lvalue cast.
41750 * util/console.c (pupa_ncurses_fini): Return 0.
41751
41752 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41753 Move fail label here.
41754 [__GNU__]: Don't warn when using stat.
41755 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41756 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41757 long int. Use strtol instead of strtoul.
f19dbdb7 41758
db1771cf 417592004-03-14 Marco Gerards <metgerards@student.han.nl>
41760
41761 * commands/boot.c: New file.
41762 * commands/cat.c: Likewise.
41763 * commands/cmp.c: Likewise.
41764 * commands/ls.c: Likewise.
41765 * commands/terminal.c: Likewise.
41766 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41767 (pupa_register_command): Changed interface to match the new
41768 argument parser.
41769 (pupa_command_execute): Changed (almost rewritten) so it uses
41770 pupa_split_command. Added support for setting variables using the
41771 syntax `foo=bar'.
41772 (rescue_command): Changed to work with the new argument parser.
41773 (terminal_command): Moved from here to commands/terminal.c.
41774 (set_command): New function.
41775 (unset_command): New function.
41776 (insmod_command): New function.
41777 (rmmod_command): New function.
41778 (lsmod_command): New function.
41779 (pupa_command_init): Don't initialize the command terminal
41780 anymore. Initialize the commands set, unset, insmod, rmmod and
41781 lsmod.
41782 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41783 (kernel_img_HEADERS): Add arg.h and env.h.
41784 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41785 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41786 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41787 normal/arg.c.
41788 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41789 terminal.mod.
41790 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41791 (boot_mod_SOURCES): New variable.
41792 (terminal_mod_SOURCES): Likewise.
41793 (ls_mod_SOURCES): Likewise.
41794 (cmp_mod_SOURCES): Likewise.
41795 (cat_mod_SOURCES): Likewise.
41796
41797 * normal/arg.c: New file.
41798 * kern/env.c: Likewise.
41799 * include/pupa/arg.h: Likewise.
41800 * include/pupa/env.h: Likewise.
41801 * font/manager.c (font_command): Changed to match argument parsing
41802 interface changes.
41803 (PUPA_MOD_INIT): Likewise.
41804 * hello/hello.c (pupa_cmd_hello): Likewise.
41805 (PUPA_MOD_INIT): Likewise.
41806 * include/pupa/disk.h: Include <pupa/device.h>.
41807 (pupa_print_partinfo): New prototype.
41808 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41809 (pupa_dl_get_prefix): Likewise.
41810 * include/pupa/misc.h: Include <pupa/err.h>.
41811 (pupa_isgraph): New prototype.
41812 (pupa_isdigit): Likewise.
41813 (pupa_split_cmdline): Likewise.
41814 * include/pupa/normal.h: Include <pupa/arg.h>.
41815 (pupa_command): Changed the prototype of the member `func' to
41816 match the argument parsing interface. Added member `options'.
41817 (pupa_register_command): Updated to match function.
41818 (pupa_arg_parse): New prototype.
41819 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41820 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41821 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41822 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41823 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41824 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41825 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41826 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41827 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41828 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41829 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41830 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41831 * kern/disk.c: Include <pupa/file.h>.
41832 (pupa_print_partinfo): New function.
41833 * kern/dl.c: Include <pupa/env.h>.
41834 (pupa_dl_dir): Variable removed.
41835 (pupa_dl_load): Use the environment variable `prefix' instead of
41836 the variable pupa_dl_dir.
41837 (pupa_dl_set_prefix): Function removed.
41838 (pupa_dl_get_prefix): Likewise.
41839 * kern/i386/pc/init.c: Include <pupa/env.h>.
41840 (pupa_machine_init): Use the environment variable `prefix' instead of
41841 using pupa_dl_set_prefix to set the prefix.
41842 * kern/main.c: Include <pupa/env.h>.
41843 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41844 using pupa_dl_get_prefix to get the prefix.
41845 * kern/misc.c: Include <pupa/env.h>.
41846 (pupa_isdigit): New function.
41847 (pupa_isgraph): Likewise.
41848 (pupa_ftoa): Likewise.
41849 (pupa_vsprintf): Added support for printing values of the type
41850 `double'. Make it possible to format variable output when using
41851 formatting like `%1.2%f'.
41852 (pupa_split_cmdline): New function.
41853 * kern/rescue.c: Include <pupa/env.h>.
41854 (next_word): Removed function.
41855 (pupa_rescue_cmd_prefix): Likewise.
41856 (pupa_rescue_cmd_set): New function.
41857 (pupa_rescue_cmd_unset): New function.
41858 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41859 split the command line instead of splitting it here. Added
41860 support for setting variables using the syntax `foo=bar'. Don't
41861 initialize the prefix command anymore. Initialized the set and
41862 unset commands.
41863 * normal/cmdline.c: Include <pupa/env.h>.
41864 (pupa_tab_complete): Added prototypes for print_simple_completion,
41865 print_partition_completion, add_completion, iterate_commands,
41866 iterate_dev, iterate_part and iterate_dir. Moved code to print
41867 partition information from here to kern/disk.c.
fe6b695a 41868 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 41869 * normal/main.c: Include <pupa/env.h>.
41870 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41871 instead of using pupa_dl_get_prefix to get the prefix.
41872 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41873 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41874 warning.
41875 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41876 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41877 ((unused))' to silence a gcc warning.
41878 (pupa_vga_setcolor): Likewise.
41879 (debug_command): Changed to match argument parsing
41880 interface changes.
41881 * util/pupa-emu.c: Include <pupa/env.h>.
41882 (options): Added 0's for unused fields to silence a gcc warning.
41883 (argp): Likewise.
41884 (main): Use the environment variable `prefix' instead of using
41885 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41886 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41887 and terminal.
41888
41889 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41890 * util/misc.c: Include <malloc.h>.
41891 (pupa_malloc): Rewritten so errors are correctly reported.
41892 (pupa_realloc): Likewise.
41893 (pupa_memalign): Likewise.
41894 (pupa_mm_init_region): Declare unused variables with
41895 `__attribute__ ((unused))' to silence a gcc warning.
41896 * normal/i386/setjmp.S: Remove tab at the end of the file to
41897 silence a gcc warning.
41898 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41899 variables with `__attribute__ ((unused))' to silence a gcc
41900 warning.
41901 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41902 local variable i unsigned to silence a gcc warning.
41903
41904 * kern/term.c: Include <pupa/misc.h>.
41905 (pupa_more_lines): New variable.
41906 (pupa_more): Likewise.
41907 (pupa_putcode): When the pager is active pause at the end of every
41908 screen.
41909 (pupa_set_more): New function.
41910 * include/pupa/term.h (pupa_set_more): New prototype.
41911
41912
3b1139cb 419132004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41914
41915 Now this project is GRUB 2 rather than PUPA. The location of
41916 the CVS repository was moved to GRUB's.
f19dbdb7 41917
3b1139cb 41918 * configure.ac: Use bug-grub as the reporting address.
41919 Use GRUB instead of PUPA.
41920 Change the version number to 1.90.
41921
8367695c 419222004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41923
41924 * genkernsyms.sh: Updated copyright information.
41925 * genmk.rb: Likewise.
41926 * genmodsrc.sh: Likewise.
41927 * gensymlist.sh: Likewise.
41928 * boot/i386/pc/boot.S: Likewise.
41929 * boot/i386/pc/diskboot.S: Likewise.
41930 * disk/i386/pc/biosdisk.c: Likewise.
41931 * disk/i386/pc/partition.c: Likewise.
41932 * font/manager.c: Likewise.
41933 * fs/ext2.c: Likewise.
41934 * fs/fat.c: Likewise.
41935 * include/pupa/boot.h: Likewise.
41936 * include/pupa/device.h: Likewise.
41937 * include/pupa/disk.h: Likewise.
41938 * include/pupa/dl.h: Likewise.
41939 * include/pupa/elf.h: Likewise.
41940 * include/pupa/err.h: Likewise.
41941 * include/pupa/file.h: Likewise.
41942 * include/pupa/font.h: Likewise.
41943 * include/pupa/fs.h: Likewise.
41944 * include/pupa/kernel.h: Likewise.
41945 * include/pupa/loader.h: Likewise.
41946 * include/pupa/misc.h: Likewise.
41947 * include/pupa/mm.h: Likewise.
41948 * include/pupa/net.h: Likewise.
41949 * include/pupa/normal.h: Likewise.
41950 * include/pupa/rescue.h: Likewise.
41951 * include/pupa/setjmp.h: Likewise.
41952 * include/pupa/symbol.h: Likewise.
41953 * include/pupa/term.h: Likewise.
41954 * include/pupa/types.h: Likewise.
41955 * include/pupa/i386/setjmp.h: Likewise.
41956 * include/pupa/i386/types.h: Likewise.
41957 * include/pupa/i386/pc/biosdisk.h: Likewise.
41958 * include/pupa/i386/pc/boot.h: Likewise.
41959 * include/pupa/i386/pc/console.h: Likewise.
41960 * include/pupa/i386/pc/init.h: Likewise.
41961 * include/pupa/i386/pc/kernel.h: Likewise.
41962 * include/pupa/i386/pc/linux.h: Likewise.
41963 * include/pupa/i386/pc/loader.h: Likewise.
41964 * include/pupa/i386/pc/memory.h: Likewise.
41965 * include/pupa/i386/pc/multiboot.h: Likewise.
41966 * include/pupa/i386/pc/partition.h: Likewise.
41967 * include/pupa/i386/pc/time.h: Likewise.
41968 * include/pupa/i386/pc/vga.h: Likewise.
41969 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41970 * include/pupa/util/getroot.h: Likewise.
41971 * include/pupa/util/misc.h: Likewise.
41972 * include/pupa/util/resolve.h: Likewise.
41973 * kern/device.c: Likewise.
41974 * kern/disk.c: Likewise.
41975 * kern/dl.c: Likewise.
41976 * kern/err.c: Likewise.
41977 * kern/file.c: Likewise.
41978 * kern/fs.c: Likewise.
41979 * kern/loader.c: Likewise.
41980 * kern/main.c: Likewise.
41981 * kern/misc.c: Likewise.
41982 * kern/mm.c: Likewise.
41983 * kern/rescue.c: Likewise.
41984 * kern/term.c: Likewise.
41985 * kern/i386/dl.c: Likewise.
41986 * kern/i386/pc/init.c: Likewise.
41987 * kern/i386/pc/lzo1x.S: Likewise.
41988 * kern/i386/pc/startup.S: Likewise.
41989 * loader/i386/pc/chainloader.c: Likewise.
41990 * loader/i386/pc/linux.c: Likewise.
41991 * loader/i386/pc/multiboot.c: Likewise.
41992 * normal/cmdline.c: Likewise.
41993 * normal/command.c: Likewise.
41994 * normal/main.c: Likewise.
41995 * normal/menu.c: Likewise.
41996 * normal/i386/setjmp.S: Likewise.
41997 * term/i386/pc/console.c: Likewise.
41998 * term/i386/pc/vga.c: Likewise.
41999 * util/console.c: Likewise.
42000 * util/genmoddep.c: Likewise.
42001 * util/misc.c: Likewise.
42002 * util/pupa-emu.c: Likewise.
42003 * util/resolve.c: Likewise.
42004 * util/unifont2pff.rb: Likewise.
42005 * util/i386/pc/biosdisk.c: Likewise.
42006 * util/i386/pc/getroot.c: Likewise.
42007 * util/i386/pc/pupa-mkimage.c: Likewise.
42008 * util/i386/pc/pupa-setup.c: Likewise.
42009
e6eced71 420102004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
42011
42012 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
42013 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
42014 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
42015 reading and reset it after reading.
42016 (pupa_ext2_close): Return PUPA_ERR_NONE.
42017
42018 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
42019 Correct value.
42020 (struct linux_kernel_header): Add kernel_version and
42021 initrd_addr_max.
42022 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
42023 pupa_file_read succeeds.
42024 (pupa_rescue_cmd_initrd): Implement.
42025
5aded270 420262003-12-03 Marco Gerards <metgerards@student.han.nl>
42027
42028 * fs/ext2.c (pupa_ext2_label): New function.
42029 (pupa_ext2_fs): Added label.
42030 * fs/fat.c (pupa_fat_label): New function.
42031 (pupa_fat_fs): Added label.
42032 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
42033
42034 * kern/misc.c (pupa_strndup): New function.
42035 * include/pupa/misc.h (pupa_strndup): New prototype.
42036
42037 * include/pupa/normal.h: Include <pupa/err.h>.
42038 (pupa_set_history): New prototype.
42039 (pupa_iterate_commands): New prototype.
42040 * normal/cmdline.c: Include <pupa/machine/partition.h>,
42041 <pupa/disk.h>, <pupa/file.h>.
42042 (hist_size): New variable.
42043 (hist_lines): Likewise.
42044 (hist_end): Likewise.
42045 (hist_used): Likewise.
42046 (pupa_set_history): New function.
42047 (pupa_history_get): Likewise.
42048 (pupa_history_add): Likewise.
42049 (pupa_history_replace): Likewise.
42050 (pupa_tab_complete): Likewise.
42051 (pupa_cmdline_run): Added tab completion and history buffer. Tab
42052 completion shows partitionnames while completing partitions, this
42053 feature was suggested by Jeff Bailey.
42054 * normal/command.c (pupa_iterate_commands): New function.
42055 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
42056 (pupa_normal_init): Initialize history buffer.
42057 (PUPA_MOD_INIT): Likewise.
42058 (pupa_normal_fini): Free the history buffer.
42059 (PUPA_MOD_FINI): Likewise.
42060
42061 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
42062 key.
42063
42064 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
42065 * configure.ac [i386]: Check for regparam bug.
42066 (NESTED_FUNC_ATTR) [! i386]: Defined.
42067
1f7315a3 420682003-11-17 Marco Gerards <metgerards@student.han.nl>
42069
42070 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
42071 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
42072 (pupa_emu_SOURCES): New variable.
42073 (pupa_emu_LDFLAGS): Likewise.
42074 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
42075 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
42076 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
42077 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42078 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
42079 (pupa_jmp_buf): New typedef.
42080 (pupa_setjmp) [PUPA_UTIL]: New macro.
42081 (pupa_longjmp) [PUPA_UTIL]: Likewise.
42082 * include/pupa/term.h (struct pupa_term): New member `refresh'.
42083 (pupa_refresh): New prototype.
42084 * include/pupa/util/getroot.h: New file.
42085 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
42086 it.
42087 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
42088 (pupa_rescue_cmd_cat): Likewise.
42089 (pupa_rescue_cmd_ls): Likewise.
42090 (pupa_rescue_cmd_testload): Likewise.
42091 (pupa_rescue_cmd_lsmod): Likewise.
42092 * normal/cmdline.c (pupa_cmdline_get): Likewise.
42093 * normal/menu.c (run_menu): Likewise.
42094 * kern/term.c (pupa_cls): Likewise.
42095 (pupa_refresh): New function.
42096 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
42097 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42098 * util/console.c: New file.
f19dbdb7 42099
1f7315a3 42100 * util/i386/pc/getroot.c: New file.
42101 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
42102 (pupa_putchar): New function.
42103 (pupa_refresh): Likewise.
42104 (xgetcwd): Function moved to ...
42105 (strip_extra_slashes): Likewise.
42106 (get_prefix): Likewise.
f19dbdb7 42107 * util/i386/pc/getroot.c: ... here.
1f7315a3 42108 (find_root_device): Function moved and renamed to...
42109 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42110 Changed all callers.
42111 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42112 and renamed to...
42113 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42114 Changed all callers.
42115 * util/misc.c (pupa_memalign): New function.
42116 (pupa_mm_init_region): Likewise.
42117 (pupa_register_exported_symbols): Likewise.
42118 (pupa_putchar): Function removed.
42119 * util/pupa-emu.c: New file.
42120
9a5c1ade 421212003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42122
42123 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42124 (_multiboot_mod_SOURCES): New variable.
42125 (_multiboot_mod_CFLAGS): Likewise.
42126 * loader/i386/pc/multiboot.c: New file.
42127 * include/pupa/i386/pc/multiboot.h: Likewise.
42128 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42129 (pupa_multiboot_real_boot): New function.
42130 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42131 (pupa_multiboot_real_boot): New prototype.
42132 (pupa_rescue_cmd_multiboot): Likewise
42133 (pupa_rescue_cmd_module): Likewise.
42134
42135 * kern/loader.c (pupa_loader_set): Continue when
42136 pupa_loader_unload_func() fails.
42137 (pupa_loader_unset): New function.
42138 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42139
42140 * kern/misc.c (pupa_stpcpy): New function.
42141 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42142
8e72a9c0 421432003-11-12 Marco Gerards <metgerards@student.han.nl>
42144
42145 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42146 for available extensions.
42147
42148 * include/pupa/i386/pc/time.h: New file.
42149 * kern/disk.c: Include <pupa/machine/time.h>.
42150 (PUPA_CACHE_TIMEOUT): New macro.
42151 (pupa_last_time): New variable.
42152 (pupa_disk_open): Flush the cache when there was a timeout.
42153 (pupa_disk_close): Reset the timer.
42154 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42155 pupa_currticks.
42156 * util/misc.c: Include <sys/times.h>
42157 (pupa_get_rtc): New function.
42158
c4adbd32 421592003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42160
42161 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42162 as blocks.
42163 (pupa_ext2_get_file_block): Use blocks member.
42164
42165 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42166 first block. Return -1 instead of pupa_errno on error.
42167
bfd30f06 421682003-10-27 Marco Gerards <metgerards@student.han.nl>
42169
42170 * README: In the pupa-mkimage example use _chain instead of chain
42171 and ext2 instead of fat.
42172 * TODO: Replace ext2fs with jfs as an example. Add an item for
42173 adding journal playback for ext2fs.
42174 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42175 (pkgdata_MODULES): Added ext2.mod.
42176 (ext2_mod_SOURCES): New variable.
42177 (ext2_mod_CFLAGS): Likewise.
42178 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42179 * include/pupa/misc.h (pupa_strncpy): New prototype.
42180 (pupa_strcat): Likewise.
42181 (pupa_strncmp): Likewise.
42182 * kern/misc.c (pupa_strcat): Enable function.
42183 (pupa_strncpy): New function.
42184 (pupa_strncmp): Likewise.
42185 * fs/ext2.c: New file.
f19dbdb7 42186
bfd30f06 42187 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42188 when the read failed before retrying.
42189 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42190 (_FILE_OFFSET_BITS): Likewise.
42191 * configure.ac: Added AC_SYS_LARGEFILE.
42192
98d15063 421932003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42194
42195 * genmk.rb (PModule#rule): Make sure to get only symbol names
42196 from the output of nm.
59cad637 42197 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 42198
18d9c7cd 421992003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42200
42201 I forgot to check in these changes for a long time. This adds
42202 incomplete support for VGA console, and this is still very
42203 buggy. Also, a lot of consideration is required for I18N,
42204 UNICODE, and VGA font issues. Therefore, assume that this is
42205 such that "better than nothing".
f19dbdb7 42206
18d9c7cd 42207 * font/manager.c: New file.
42208 * include/pupa/font.h: Likewise.
42209 * include/pupa/i386/pc/vga.h: Likewise.
42210 * term/i386/pc/vga.c: Likewise.
42211 * util/unifont2pff.rb: Likewise.
42212
42213 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42214 (pkgdata_MODULES): Added vga.mod and font.mod.
42215 (vga_mod_SOURCES): New variables.
42216 (vga_mod_CFLAGS): Likewise.
42217 (font_mod_SOURCES): Likewise.
42218 (font_mod_CFLAGS): Likewise.
42219
42220 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42221
42222 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 42223 (struct pupa_term): Added init and fini.
18d9c7cd 42224 Changed the argument of putchar to pupa_uint32_t.
42225
42226 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42227 (pupa_console_real_putchar): New prototype.
42228 (pupa_console_putchar): Removed.
42229 (pupa_console_checkkey): Exported.
42230 (pupa_console_getkey): Likewise.
42231
42232 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42233 characters.
42234
42235 * kern/term.c (pupa_term_set_current): Rewritten.
42236 (pupa_putchar): Likewise.
42237 (pupa_putcode): New function.
42238
42239 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42240 (pupa_console_real_putchar): ... this.
42241 (pupa_vga_set_mode): New function.
42242 (pupa_vga_get_font): Likewise.
42243
42244 * normal/command.c: Include pupa/term.h.
42245 (terminal_command): New function.
42246 (pupa_command_init): Register the command "terminal".
42247
42248 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42249 (DISP_UP): Likewise.
42250 (DISP_RIGHT): Likewise.
42251 (DISP_DOWN): Likewise.
42252 (DISP_HLINE): Likewise.
42253 (DISP_VLINE): Likewise.
42254 (DISP_UL): Likewise.
42255 (DISP_UR): Likewise.
42256 (DISP_LL): Likewise.
42257 (DISP_LR): Likewise.
42258
42259 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 42260
977329f5 422612003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42262
42263 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42264 FIX. Reverse the path_list.
42265
42266 * include/pupa/normal.h: Export pupa_register_command and
42267 pupa_unregister_command.
42268
42269 * hello/hello.c (pupa_cmd_hello): New module.
42270 * conf/i386-pc.rmk: Added hello.mod.
42271
1f5ab428 422722003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42273
42274 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 42275
1f5ab428 42276 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42277 (compress_kernel): New variable.
42278 (generate_image): Heavily modified to support compressing a
42279 large part of the core image.
42280
42281 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42282 leak.
42283 (pupa_util_load_image): New function.
42284
42285 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42286 (pupa_compressed_size): New variable.
42287 (codestart): Enable Gate A20 here.
42288 Decompress the compressed part of the core image.
42289 Rearrange the code to put functions and variables which are
42290 required for initialization in the non-compressed part.
42291 Include lzo1x.S.
42292
42293 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42294 here.
42295
42296 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42297
f19dbdb7 42298 * include/pupa/i386/pc/kernel.h
1f5ab428 42299 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42300 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42301 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42302 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42303 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42304
42305 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42306
42307 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42308 (Utility#rule): Likewise.
42309
42310 * configure.ac: Check if LZO is available.
42311
ce5bf700 423122003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42313
42314 * include/pupa/normal.h: New file.
42315 * include/pupa/setjmp.h: Likewise.
42316 * include/pupa/i386/setjmp.h: Likewise.
42317 * normal/cmdline.c: Likewise.
42318 * normal/command.c: Likewise.
42319 * normal/main.c: Likewise.
42320 * normal/menu.c: Likewise.
42321 * normal/i386/setjmp.S: Likewise.
f19dbdb7 42322
ce5bf700 42323 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42324 (pupa_rescue_cmd_initrd): Likewise.
42325
42326 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42327 Likewise.
42328
42329 * kern/i386/pc/startup.S (translation_table): New variable.
42330 (translate_keycode): New function.
42331 (pupa_console_getkey): Call translate_keycode.
42332
42333 * kern/rescue.c (attempt_normal_mode): New function.
42334 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42335 it failed, print a message.
42336
42337 * kern/mm.c (pupa_real_malloc): Print more information when a
42338 free magic is broken.
42339 (pupa_free): If the first free header is not free actually, set
42340 it to P.
42341
42342 * kern/main.c (pupa_load_normal_mode): Just load the module
42343 "normal".
42344 (pupa_main): Don't print the message
42345 "Entering into rescue mode..." here.
42346
42347 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42348 Declared.
42349 (pupa_rescue_cmd_initrd): Likewise.
42350 (pupa_rescue_cmd_initrd): Likewise.
42351
42352 * include/pupa/symbol.h (FUNCTION): Specify the type.
42353 (VARIABLE): Likewise.
42354
42355 * include/pupa/err.h (pupa_err_t): Added
42356 PUPA_ERR_UNKNOWN_COMMAND.
42357
42358 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42359 (pupa_dl_get_prefix): Likewise.
42360
42361 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42362 Added _chain.mod and _linux.mod instead of chain.mod and
42363 linux.mod.
42364 (chain_mod_SOURCES): Renamed to ...
42365 (_chain_mod_SOURCES): ... this.
42366 (chain_mod_CFLAGS): Renamed to ...
42367 (_chain_mod_CFLAGS): ... this.
42368 (linux_mod_SOURCES): Renamed to ...
42369 (_linux_mod_SOURCES): ... this.
42370 (linux_mod_CFLAGS): Renamed to ...
42371 (_linux_mod_CFLAGS): ... this.
42372 (normal_mod_SOURCES): New variable.
42373 (normal_mod_CFLAGS): Likewise.
42374 (normal_mod_ASFLAGS): Likewise.
42375
423762003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42377
42378 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42379 possible.
42380
fe6b695a 42381 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 42382 recursively.
42383 (pupa_dl_unref): Unrefer depending modules recursively.
42384 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42385 a module is unloaded before one depending on that module is
42386 unloaded.
42387 (pupa_dl_unload): Unload depending modules explicitly,
42388 if possible.
42389
c04da074 423902003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42391
42392 * include/pupa/i386/pc/linux.h: New file.
42393 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 42394
c04da074 42395 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42396 Removed.
42397 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42398 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42399 of PUPA_CHAINLOADER_BOOT_SECTOR.
42400
42401 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42402 (pupa_linux_prot_size): New variable.
42403 (pupa_linux_tmp_addr): Likewise.
42404 (pupa_linux_real_addr): Likewise.
42405 (pupa_linux_boot_zimage): New function.
42406 (pupa_linux_boot_bzimage): Likewise.
42407
42408 * kern/i386/pc/init.c (struct mem_region): New structure.
42409 (MAX_REGIONS): New macro.
42410 (mem_regions): New variable.
42411 (num_regions): Likewise.
42412 (pupa_os_area_addr): Likewise.
42413 (pupa_os_area_size): Likewise.
42414 (pupa_lower_mem): Likewise.
42415 (pupa_upper_mem): Likewise.
42416 (add_mem_region): New function.
42417 (compact_mem_regions): Likewise.
42418 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42419 the size of the conventional memory and that of so-called upper
42420 memory (before the first memory hole).
42421 Instead of adding each found region to free memory, use
42422 add_mem_region and add them after removing overlaps.
42423 Also, add only 1/4 of the upper memory to free memory. The rest
42424 is used for loading OS images. Maybe this is ad hoc, but this
42425 makes it much easier to relocate OS images when booting.
42426
42427 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42428 (pupa_enter_rescue_mode): Don't register initrd and module.
42429
42430 * kern/mm.c: Include pupa/dl.h.
42431
42432 * kern/main.c: Include pupa/file.h and pupa/device.h.
42433
42434 * kern/loader.c (pupa_loader_load_module_func): Removed.
42435 (pupa_loader_load_module): Likewise.
42436
42437 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42438 ``.o''.
42439
42440 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42441 (pupa_linux_tmp_addr): Likewise.
42442 (pupa_linux_real_addr): Likewise.
42443 (pupa_linux_boot_zimage): Likewise.
42444 (pupa_linux_boot_bzimage): Likewise.
42445
42446 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42447 (pupa_upper_mem): Likewise.
42448 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42449 module is too dangerous.
42450
42451 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42452 (pupa_os_area_size): Likewise.
42453 (pupa_loader_set): Remove the first argument. Loader doesn't
42454 manage modules or initrd any longer.
42455 (pupa_loader_load_module): Removed.
42456
42457 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42458 (linux_mod_SOURCES): New variable.
42459 (linux_mod_CFLAGS): Likewise.
42460
a13f9237 424612003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42462
42463 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42464 the length of a blocklist correctly.
42465
42466 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42467 Use ioctl only if the OS file is a block device.
42468 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42469 not very useful for normal files.
42470
42471 * kern/main.c (pupa_set_root_dev): New function.
42472 (pupa_load_normal_mode): Likewise.
42473 (pupa_main): Call those above.
42474
42475 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42476 pupa_uint16_t.
42477
42478 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42479
a5ffe966 424802003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42481
42482 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42483 (setup): Configure the installed partition information and the
42484 dl prefix.
42485
42486 * loader/i386/pc/chainloader.c (my_mod): New variable.
42487 (pupa_chainloader_unload): New function.
42488 (pupa_rescue_cmd_chainloader): Refer itself.
42489 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42490
42491 * kern/i386/pc/startup.S (install_partition): Removed.
42492 (version_string): Likewise.
42493 (config_file): Likewise.
42494 (pupa_install_dos_part): New variable.
42495 (pupa_install_bsd_part): Likewise.
42496 (pupa_prefix): Likewise.
42497 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42498
42499 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42500 and pupa/misc.h.
42501 (make_install_device): New function.
42502 (pupa_machine_init): Set the dl prefix.
42503
42504 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42505 (buf): Renamed to ...
42506 (linebuf): ... this.
42507 (pupa_rescue_cmd_prefix): New function.
42508 (pupa_rescue_cmd_insmod): Likewise.
42509 (pupa_rescue_cmd_rmmod): Likewise.
42510 (pupa_rescue_cmd_lsmod): Likewise.
42511 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42512 rmmod and lsmod.
42513
42514 * kern/mm.c (pupa_memalign): If failed even after invalidating
42515 disk caches, unload unneeded modules and retry.
42516
42517 * kern/misc.c (pupa_memmove): New function.
42518 (pupa_memcpy): Removed.
42519 (pupa_strcpy): New function.
42520 (pupa_itoa): Made static.
42521
42522 * kern/dl.c (pupa_dl_iterate): New function.
42523 (pupa_dl_ref): Likewise.
42524 (pupa_dl_unref): Likewise.
42525 (pupa_dl_unload): Return if succeeded or not.
42526 (pupa_dl_unload_unneeded): New function.
42527 (pupa_dl_unload_all): Likewise.
42528 (pupa_dl_init): Renamed to ...
42529 (pupa_dl_set_prefix): ... this.
42530 (pupa_dl_get_prefix): New function.
42531
42532 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42533 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42534 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42535 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42536 (pupa_install_dos_part): Declared.
42537 (pupa_install_bsd_part): Likewise.
42538 (pupa_prefix): Likewise.
42539 (pupa_boot_drive): Likewise.
42540
42541 * include/pupa/types.h: Fix a typo.
42542
42543 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42544 pupa_memmove.
42545 (pupa_memmove): Declared.
42546 (pupa_strcpy): Likewise.
42547
42548 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42549 pupa_mod_init takes one argument, its own module.
42550 (pupa_dl_unload_unneeded): Declared.
42551 (pupa_dl_unload_all): Likewise.
42552 (pupa_dl_ref): Likewise.
42553 (pupa_dl_unref): Likewise.
42554 (pupa_dl_iterate): Likewise.
42555 (pupa_dl_init): Renamed to ...
42556 (pupa_dl_set_prefix): ... this.
42557 (pupa_dl_get_prefix): Declared.
42558
42559 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 42560 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 42561 unloaded.
42562 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42563 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42564
42565 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42566 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42567
012d7999 425682003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42569
42570 * util/i386/pc/pupa-setup.c (setup): Define the internal
42571 function find_first_partition_start at the top level, because GCC
42572 3.0.x cannot compile internal functions in deeper scopes
42573 correctly.
42574 (find_root_device): Use lstat instead of stat.
42575 Don't follow symbolic links.
42576 Fix the path-constructing code.
42577
42578 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42579 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42580 by a BLKGETSIZE ioctl first, because block devices don't fill
42581 the member st_mode of the structure stat on Linux.
42582 [__linux__] (linux_find_partition): Use a temporary buffer
42583 REAL_DEV for the working space. Copy it to DEV before returning.
42584 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42585 buffer cache consistent.
42586 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42587 strncmp. The previous value was merely wrong.
42588 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42589
42590 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42591 FAT size is 12. The previous value was merely wrong.
42592
42593 * kern/main.c (pupa_main): Don't split the starting message from
42594 newlines.
42595
42596 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42597 LF, because BIOS goes crazy about character attributes in this
42598 case.
42599
1cc73a62 426002003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42601
42602 * include/i386/pc/util/biosdisk.h: New file.
42603 * util/i386/pc/biosdisk.c: Likewise.
42604 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 42605
1cc73a62 42606 * Makefile.in (INCLUDE_DISTFILES): Added
42607 include/pupa/i386/pc/util/biosdisk.h.
42608 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42609 directory util/i386/pc.
42610 (install-local): Added a rule for sbin_UTILITIES.
42611 (uninstall): Likewise.
42612
42613 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42614
42615 * util/misc.c (xrealloc): New function.
42616 (pupa_malloc): Likewise.
42617 (pupa_free): Likewise.
42618 (pupa_realloc): Likewise.
42619 (pupa_stop): Likewise.
42620 (pupa_putchar): Likewise.
42621
42622 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42623
42624 * include/pupa/util/misc.h (xrealloc): Declared.
42625
42626 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42627 macro.
42628 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42629 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42630
42631 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42632 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42633
42634 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42635 way should be implemented.
42636 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42637
42638 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42639 the size of NAME for safety.
42640 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42641 0x88.
42642
42643 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42644 (pupa_setup_SOURCES): Likewise.
42645
42646 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42647
08b70fe8 426482002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42649
42650 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42651 bunch of pushl's from pusha, because this destroys the return
42652 value.
42653
62ddcc8f 426542002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42655
42656 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42657 This means that any missing prototypes could be fatal. Also, you
42658 must take care when writing assembly code. See the comments at
42659 the beginning of startup.S, for more details.
f19dbdb7 42660
62ddcc8f 42661 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42662 compilation mechanism.
42663 (pupa_chainloader_real_boot): Likewise.
42664 (pupa_biosdisk_rw_int13_extensions): Likewise.
42665 (pupa_biosdisk_rw_standard): Likewise.
42666 (pupa_biosdisk_check_int13_extensions): Likewise.
42667 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42668 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42669 (pupa_get_memsize): Likewise.
42670 (pupa_get_mmap_entry): Likewise.
42671 (pupa_console_putchar): Likewise.
42672 (pupa_console_setcursor): Likewise.
42673 (pupa_getrtsecs): Use pushl instead of push.
42674
42675 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42676 memory instead of the stack for a mmap entry, because some
42677 BIOSes may ignore the maximum size and overflow.
42678
42679 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42680
42681 * genmk.rb (PModule#rule): Compile automatically generated
42682 sources with module-specific CFLAGS as well as other sources.
42683
9962ed99 426842002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42685
42686 * configure.ac: Check ld.
42687 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42688 respectively, before checking endianness and sizes.
42689
42690 * Makefile.in (LD): New variable.
f19dbdb7 42691
abdfc3c5 426922002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42693
42694 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42695
6a161fa9 426962002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42697
42698 * Changelog: New file.
42699