]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/i386/realmode.S: Remove useless align.
[grub2.git] / ChangeLog
CommitLineData
a4c65f34
VS
12012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/i386/realmode.S: Remove useless align.
4
d87893d5
VS
52012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * include/grub/dl.h (grub_dl_load_file): Don't export.
8
50159add
VS
92012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12 grub_dprintf.
13
b2582b84
VS
142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
17 grub_errors.
18 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
19 not reloading whole superblock but only the part which is really needed.
20 Remove useless grub_errors.
21 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
22 grub_errors.
23
e2a83395
VS
242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25
26 Don't export grub_get_rtc.
27
28 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
29 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
30
e7d2a906
VS
312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
34
6cf1363b
VS
352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 38 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 39
eece3349
VS
402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
41
42 Remove prio_list.
43
44 * include/grub/list.h (grub_prio_list): Removed.
45 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
46 GRUB_COMMAND_PRIO_MASK.
47 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
48 GRUB_COMMAND_FLAG_ACTIVE.
49 (grub_prio_list_insert): Removed.
50 (grub_prio_list_remove): Likewise.
51 (GRUB_AS_PRIO_LIST): Likewise.
52 (GRUB_AS_PRIO_LIST_P): Likewise.
53 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
54 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
55 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
56 * grub-core/kern/command.c (grub_register_command_prio): Inline
57 the prio_list code.
58 (grub_unregister_command): Likewise.
59
94f064b4
VS
602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
61
62 Fix interrupt mixup from previous commit.
63
64 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
65 (grub_realidt): New var.
66 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
67 Load idt.
68 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
69 New declaration.
70 (grub_relocator16_boot): Set grub_relocator16_idt.
71 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
72 (LOCAL(realidt)): ... this.
73 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
74 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
75 (grub_realidt): New variable.
76
27317084
VS
772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
80 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
81 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
82 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
83 Gettextize.
84 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
85 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
86 * po/POTFILES.in: Regenerate.
87
47b40053
VS
882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
91 errors.
92
2b343101
VS
932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
96 \0.
97 (add_length): Likewise.
98
ff27c3dd
LK
992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1002012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
101
102 GDB serial and backtrace support.
103
104 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
105 (prot_to_real): Likewise.
106 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
107 * grub-core/Makefile.core.def (backtrace): New module.
108 (gdb): Likewise.
109 * grub-core/gdb/cstub.c: New file.
110 * grub-core/gdb/gdb.c: Likewise.
111 * grub-core/gdb/i386/idt.c: Likewise.
112 * grub-core/gdb/i386/machdep.S: Likewise.
113 * grub-core/gdb/i386/signal.c: Likewise.
114 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 115 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
116 * include/grub/backtrace.h: Likewise.
117 * include/grub/gdb.h: Likewise.
118 * include/grub/i386/gdb.h: Likewise.
119
1202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
121
122 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
123 New function.
124 (add_length): Likewise.
125 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
126 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
127 proto.
128 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
129 __argp_get_display_len.
130
ff27c3dd 1312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
132
133 $"..." support in scripts.
134
135 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
136 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
137 * grub-core/script/yylex.l: Likewise.
138 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
139 value.
140
ff27c3dd 1412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
142
143 * gentpl.py: Remove obsolete pkglib_DATA handling.
144
ff27c3dd 1452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
146
147 Don't transform PACKAGE_TARNAME following a discussion on autoconf
148 mailing list.
149
150 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
151 * util/grub-kbdcomp.in: Likewise.
152 * util/grub-mkconfig.in: Likewise.
153 * util/grub-mkconfig_lib.in: Likewise.
154 * util/grub-mknetdir.in: Likewise.
155 * util/grub-mkrescue.in: Likewise.
156 * util/grub-mkstandalone.in: Likewise.
157 * util/grub-reboot.in: Likewise.
158 * util/grub-set-default.in: Likewise.
159 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
160
ff27c3dd 1612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
162
163 Remove GRUB_PREFIX.
164
165 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
166 * util/grub.d/00_header.in: Compute prefix in the only place it's still
167 used for backward compatibility.
168
ff27c3dd 1692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
170
171 Add new all_video module.
172
173 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
174 * grub-core/Makefile.core.def (all_video): New module.
175 * grub-core/genmoddep.awk: Generate dependency of all_video from
176 video.lst.
177 * grub-core/lib/fake_module.c: New file.
178 * grub-core/normal/main.c (features): Add feature_all_video_module.
179 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
180 don't do explicit search again.
47454da5 181 insmod all_video in load_video if available.
22c7ce85 182
ff27c3dd 1832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
184
185 Another round of string clarification and adding TRANSLATORS comments.
186
ff27c3dd 1872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
188
189 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
190
ff27c3dd 1912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
192
193 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
194 to grub_ssize_t.
195 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
196 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
197
ff27c3dd 1982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
199
200 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
201 trailing newline implicitly. All users updated.
202
ff27c3dd 2032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
204
205 Implement serial on IEEE1275 and EFI.
206
207 * docs/grub.texi (Platform-specific limitations): Fix the columen video
208 on emu. Mention arc and emu as the only platforms without serial
209 support.
210 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
211 ieee1275 platforms.
212 * grub-core/term/efi/serial.c: New file.
213 * grub-core/term/ieee1275/serial.c: Likewise.
214 * grub-core/term/serial.c (grub_serial_find): Disable direct port
215 specification if no ns8250 driver is available.
216 (grub_cmd_serial): Likewise.
217 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
218 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
219 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
220 (grub_efi_parity_type_t): New type.
221 (grub_efi_stop_bits_t): Likewise.
222 (grub_efi_serial_io_interface): New struct.
223 * include/grub/serial.h (grub_serial_port): Make 'broken' field
224 available for all interfaces.
225 Add EFI and IEEE1275 fields.
226 (grub_ofserial_init): New proto.
227 (grub_efiserial_init): Likeiwse.
228 * util/grub.d/00_header.in: Don't check for the presence of serial
229 module.
230
ff27c3dd 2312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
232
233 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
234 name as if it was an alias.
235
114076ef
VS
2362012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/commands/lsacpi.c (options): Fix typo.
239
6a656b0e
VS
2402012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
241
242 Convert grub-emu to argp.
243
244 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
245 emu.
246 * util/argp_common.c: Rename to ...
247 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
248 Add missing includes.
249 * grub-core/kern/emu/main.c: Convert to argp.
250 * po/POTFILES.in: Regenerate.
251 * util/grub-install.in (usage): Make first letter lowcase in messages
252 for uniformity.
253 * util/grub-setup.c (options): Likewise.
254
1e3f8ae8
VS
2552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
258 Put back accidently commented-out code.
259
ed167a80
VS
2602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
263 loop check using Brent algorithm.
264 (grub_hfsplus_btree_search): Likewise.
265
6753c0ec
VS
2662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/grub-install.in: Fix usage of wrong device for PreP install.
269
4e27343f
VS
2702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * conf/Makefile.common (CFLAGS_GNULIB): Add
273 -Wno-unsafe-loop-optimizations.
274 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
275 on tools.
276 * grub-core/commands/legacycfg.c: Add pragma to skip
277 -Wunsafe-loop-optimizations.
278 (check_password_md5_real): Fix loop counter type.
279 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
280 reading.
281 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
282 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
283 loop condition.
284 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
285 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
286 * grub-core/net/net.c (grub_net_route_address): Add safety loop
287 condition.
288 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
289 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
290 avoid possible infinite loops.
291 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
292 and -Wunsafe-loop-optimizations.
293 * grub-core/script/yylex.l: Likewise.
294 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
295 (print_glyphs): Avoid infinite loops.
296 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
297
697f18b0
GS
2982012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
299
300 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
301 to avoid infinite loop.
302 (disp_acpi_rsdt_table): Likewise.
303
274416e8
VS
3042012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/font/font.c (grub_font_load): Add support for default
307 path for fonts ($prefix/fonts).
308 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
309 for checking if string is a path.
310 * grub-core/normal/main.c (features): Add feature_default_font_path.
311 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
312 * util/grub.d/00_header.in: Use default directory if possible.
313 * util/grub-install.in: Install unicode.pf2.
314
b3e08622
VS
3152012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
318 * po/Rules-swiss: New file.
319 * po/swiss.sed: Likewise.
320
fe42ce09
VS
3212012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * grub-core/fs/btrfs.c (find_device): Fix typos.
324 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
325 * util/grub-mkrelpath.c (argp_parser): Likewise.
326 Reported by: Yuri Chornoivan.
327
72f1d065
DO
3282012-02-23 Dalet Omega <daletomega@gmail.com>
329
330 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
331 for usual informative messages.
332
c5884973
DO
3332012-02-23 Dalet Omega <daletomega@gmail.com>
334
335 Starfield theme.
336
337 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
338 * conf/Makefile.common: Define starfielddir.
339 * configure.ac: Configure starfield.
340 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
341 * themes/starfield/README: Likewise.
342 * themes/starfield/blob_w.png: Likewise.
343 * themes/starfield/boot_menu_c.png: Likewise.
344 * themes/starfield/boot_menu_e.png: Likewise.
345 * themes/starfield/boot_menu_n.png: Likewise.
346 * themes/starfield/boot_menu_ne.png: Likewise.
347 * themes/starfield/boot_menu_nw.png: Likewise.
348 * themes/starfield/boot_menu_s.png: Likewise.
349 * themes/starfield/boot_menu_se.png: Likewise.
350 * themes/starfield/boot_menu_sw.png: Likewise.
351 * themes/starfield/boot_menu_w.png: Likewise.
352 * themes/starfield/slider_c.png: Likewise.
353 * themes/starfield/slider_n.png: Likewise.
354 * themes/starfield/slider_s.png: Likewise.
355 * themes/starfield/src/blob_nw.xcf: Likewise.
356 * themes/starfield/src/bootmenu/: Likewise.
357 * themes/starfield/src/bootmenu/center.xcf: Likewise.
358 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
359 * themes/starfield/src/bootmenu/side.xcf: Likewise.
360 * themes/starfield/src/slider_c.xcf: Likewise.
361 * themes/starfield/src/slider_n.xcf: Likewise.
362 * themes/starfield/src/slider_s.xcf: Likewise.
363 * themes/starfield/src/terminalbox/: Likewise.
364 * themes/starfield/src/terminalbox/center.xcf: Likewise.
365 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
366 * themes/starfield/src/terminalbox/side.xcf: Likewise.
367 * themes/starfield/starfield.png: Likewise.
368 * themes/starfield/terminal_box_c.png: Likewise.
369 * themes/starfield/terminal_box_e.png: Likewise.
370 * themes/starfield/terminal_box_n.png: Likewise.
371 * themes/starfield/terminal_box_ne.png: Likewise.
372 * themes/starfield/terminal_box_nw.png: Likewise.
373 * themes/starfield/terminal_box_s.png: Likewise.
374 * themes/starfield/terminal_box_se.png: Likewise.
375 * themes/starfield/terminal_box_sw.png: Likewise.
376 * themes/starfield/terminal_box_w.png: Likewise.
377 * themes/starfield/theme.txt: Likewise.
378
17d73325
VS
3792012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * util/grub.d/00_header.in: Add missing export theme.
382
dbebaf92
VS
3832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
386 already included.
387 Reported by: Eren D.
388
3d68bffb
VS
3892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * conf/Makefile.common (grubdatadir): Removed.
392 (Makefile.am): Move eveything grubdata to pkgdata.
393
4b59234d
VS
3942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/commands/acpihalt.c (get_sleep_type):
397 Remove unused variable.
398
463dcadc
VS
3992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
402 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
403 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
404 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
405 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
406 i18n with gettext no-op.
407 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
408 GRUB_ACPI_OPCODE_STRING_CONST.
409 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
410 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
411
e5b90c82
VS
4122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * po/POTFILES.in: Regenerate.
415
2a704ca9
VS
4162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
419 -Wno-error=missing-noreturn.
420
84f9d341
VS
4212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
424 condition to avoid possibly infinite loops.
425 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
426 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
427
d46683f9
VS
4282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
431 condition to avoid possibly infinite loops.
432
c44866b2
VS
4332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
436 on show_error.
437
96790539
VS
4382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
441
1ba7e295
VS
4422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
445
21ffe8f1
VS
4462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * util/bin2h.c (usage): Add missing attribute noreturn.
449
0ccb6b3c
VS
4502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
453 if the size isn't divisible by 512.
454
b00d7fb6
VS
4552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
456
457 Make list_push and list_remove functions rather than inline functions
458 to decrease size and avoid aliasing violations.
459
460 * include/grub/list.h (grub_list_push): Move to ...
461 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
462 * include/grub/list.h (grub_list_remove): Move to ...
463 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
464
9d369087
VS
4652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
468 and -Wunused-result.
469
af0250d9
VS
4702012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
473 Reported by: Seth Goldberg
474
aad32b14
VS
4752012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
478
ac96441c
ST
4792012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
480
481 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
482 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
483 command line.
484 * docs/grub.texi (Simple configuration): Document
485 GRUB_CMDLINE_GNUMACH.
486
4872012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
488
489 * conf/Makefile.common (platform_SCRIPTS): New variable.
490 (platform_PROGRAMS): Likewise.
491 * gentpl.py: Mark *,module and *.image for install.
492 * grub-core/gdb_grub.in: Add a notice of expected environment.
493 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
494 (gmodule.pl): Likewise.
495
ac96441c 4962012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
497
498 Replace grub_checkkey with grub_getkey_noblock.
499
500 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
501 (grub_getkey_noblock): ... this. All users updated.
502
ac96441c 5032012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
504
505 * grub-core/kern/emu/console.c: Move to ...
506 * grub-core/term/emu/console.c: ...here.
507 (grub_ncurses_getkey): Fix return value if no key is detected.
508
e51b5666
VS
5092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
512 (grub_unit_test_fini): Likewise.
513 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
514
5152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * include/grub/test.h (GRUB_UNIT_TEST)
518
d9a62292
VS
5192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/script/execute.c (grub_script_break): Clarify logic.
522 Better error handling.
523 (grub_script_return): Likewise.
524 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
525
77c9182f
VS
5262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
529 rimplicit redifinition.
530
edb13cf9
VS
5312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
534 GRUB.
535
a9e9dc7c
VS
5362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
539 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
540 prompt here.
541
b4ba8e02
VS
5422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
545 as GRUB_ERR_BUG. Don't malloc if no device is available.
546
dded5540
VS
5472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
550 Mark calling with invalid term as GRUB_ERR_BUG.
551
0cf69874
VS
5522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
555 packets rather than raising an error.
556
59bfe502
VS
5572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
560 in if.
561
db5fc596
VS
5622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
565 diagnostic to dprintf.
566 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
567
e4b7f404
VS
5682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
571 device name.
572
e7b02f9e
VS
5732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
576 (grub_ntfs_iterate_dir): Likewise.
577
0331e102
VS
5782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
579
580 Efiemu stylistic fixes and gettext.
581
582 * grub-core/efiemu/i386/loadcore32.c
583 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
584 * grub-core/efiemu/i386/loadcore64.c
585 (grub_arch_efiemu_relocate_symbols64): Likewise.
586 * grub-core/efiemu/i386/pc/cfgtables.c
587 (grub_machine_efiemu_init_tables): Likewise.
588 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
589 (grub_efiemu_loadcore_initXX): Add a filename argument.
590 All users updated.
591 Improved error message.
592 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
593 Add a filename argument.
594 All users updated.
595 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
596 Reclassify double relocation as GRUB_ERR_BUG.
597
306fc074
VS
5982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
601 handling.
602
794d8ef2
VS
6032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
606 on partition.
607
6082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
609
610 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
611
794d8ef2 6122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
613
614 Improve string. Gettextize.
615
78dde88e
VS
6162012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
619 utils.
620 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
621
4786a90f
VS
6222012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
625 [GRUB_UTIL]: New function.
626 (insert_array) [GRUB_UTIL]: Store partmaps.
627 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
628 partmaps.
629 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
630 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
631 (probe_abstraction): Print diskfilter and not raid.
632 Reported by: Lennart Sorensen
633
0b6225bd
VS
6342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
637 * util/grub-mkimagexx.c (MASK3): New define.
638 (add_value_to_slot_20b): Use MASK3.
639 (add_value_to_slot_21): Likewise.
640 (relocate_addresses): Fix format specification.
641 (load_image): Explicitly init symtab_section.
642
b055f8f6
VS
6432012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
646 (grub_util_biosdisk_get_grub_dev): Fix format specification.
647
b77c2fb7
VS
6482012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
651 on powerpc.
652 Reported by: Lennart Sorensen
653
e3ec28ab
VS
6542012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * gentpl.py: Add missing license header.
657 * docs/grub.texi: Update copyright year.
658
c8d9ead6
GS
6592012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
660
661 Source grub-mkconfig_lib from the build directory at build time.
662 Suggested by: Vladimir Serbinenko.
663
664 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
665 * util/grub-install.in: Define pkgdatadir if not already set, and source
666 grub-mkconfig_lib from there.
667 * util/grub-kbdcomp.in: Likewise.
668 * util/grub-mkconfig.in: Likewise.
669 * util/grub-mknetdir.in: Likewise.
670 * util/grub-mkrescue.in: Likewise.
671 * util/grub-mkstandalone.in: Likewise.
672 * util/grub-reboot.in: Likewise.
673 * util/grub-set-default.in: Likewise.
674 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
675
ebcecdf1
VS
6762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
677
678 Increase warning level.
679
680 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
681 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
682 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
683 (TARGET_CFLAGS): Likewise.
684 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
685 * grub-core/Makefile.core.def (decompressor_xz): Add
686 -Wno-unreachable-code.
687 (normal): Add -Wno-redundant-decls.
688 (xzio): Add -Wno-unreachable-code.
689 (lzopio): Add -Wno-redundant-decls -Wno-error.
690 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
691 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
692 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
693 * grub-core/kern/dl.c: Add exception to -Wcast-align.
694 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
695 * grub-core/kern/i386/coreboot/init.c: Add exception to
696 -Wsuggest-attribute=noreturn.
697 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
698 * grub-core/kern/ia64/dl_helper.c: Likewise.
699 * grub-core/kern/mips/dl.c: Likewise.
700 * grub-core/kern/sparc64/dl.c: Likewise.
701 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
702 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
703 (memcmp): Likewise.
704 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
705 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
706 * grub-core/loader/mips/linux.c: Likewise.
707 * grub-core/loader/multiboot_elfxx.c: Likewise.
708 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
709 * grub-core/video/sm712.c: Add exception to -Wcast-align.
710 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
711 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
712 fixme.
713 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
714 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
715 Fix prototype.
716
37bb97fe
VS
7172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
720 address.
721
29a3550b
VS
7222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
725 Avoid improper use of strings.
726 (grub_cmd_legacy_initrdnounzip): Likewise.
727
dfdffd0d
VS
7282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * include/grub/emu/misc.h (grub_util_warn): Add missing format
731 attribute.
732 (grub_util_info): Likewise.
733 (grub_util_error): Likewise.
734
102fae4a
VS
7352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
738 * util/grub-fstest.c (fstest): Likewise.
739
7e94d044
VS
7402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
743 (grub_md_sha512_real): Likewise.
744 (grub_util_get_geli_uuid): Likewise.
745 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
746 (grub_util_biosdisk_open): Fix format specification.
747 Respect format security.
748 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
749 (xrealloc): Likewise.
750 (xasprintf): Likewise.
751
5ebd9769
VS
7522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * util/import_gcry.py: Include grub/crypto.h in init.c.
755
495fc8c1
VS
7562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
759 (generate_image): Make prefix a const char *.
760 Fix format specifications. Respect format security.
761 Avoid void * arithmetics.
762 Avoid shadowing.
763 (argp_parser): Remove unused variable. Respect format security.
764 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
765 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
766 (count_funcs): Remove unused variable.
767 (relocate_addresses): Fix format specification.
768 Disable x86-64 with elf32. Remove unused variables.
769 (add_fixup_entry): Avoid shadowing.
770 (make_reloc_section): Fix format specification.
771 Use assert.
772 (locate_sections): Fix format specifications.
773 (load_image): Avoid shadowing.
774
043c2ea3
VS
7752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
778 Fix format specifications. Respect format security.
779 Don't translate already translated grub_errmsg.
780 (argp_parser): Remove unused variable
781
3ec65a81
VS
7822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
785
a4d9fe4a
VS
7862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
789 (main): Likewise. Use xmalloc. Respect format security.
790
15b81d49
VS
7912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
794 a const char *.
795 (argp_parser): Remove unused variable.
796
31731fc0
VS
7972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
800 (add_pixel): Make static.
801 (add_font): Likewise.
802 (write_string_section): Make name and str a const char *.
803 (write_be16_section): Make name a const char *.
804 (print_glyphs): Make static.
805 (write_font_ascii_bitmap): Likewise.
806 (write_font_width_spec): Likewise.
807 (write_font_pf2): Likewise.
808 (argp_parser): Remove unused variable.
809 Respect format security.
810 (main): Avoid shadowing. Respect format security.
811
0809527b
VS
8122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * util/grub-editenv.c (argp_parser): Make static.
815 (create_envblk_file): Use xmalloc.
816 (open_envblk_file): Likewise.
817 Resepect format security.
818 (set_variables): Respect format security.
819
45b0c8b7
VS
8202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * util/getroot.c (grub_find_device): Respect format security.
823 (get_mdadm_uuid): Remove unused variable.
824 (grub_util_pull_device): Dont call gettext on already translated
825 grub_errmsg.
826 (find_system_device): Remove unused variable.
827 (grub_util_get_grub_dev): Likewise.
828 (grub_make_system_path_relative_to_its_root): Respect format security.
829
1b024b4e
VS
8302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/grub-fstest.c (execute_command): Make first argument
833 a const char *.
834 (read_file): Avoid shadowing.
835 Reuse underlying error message if device open fails.
836 (cmd_cmp): Respect format security.
837 (root): Make const char *.
838 (fstest): Remove args argument and use global copy.
839 Respect format security.
840 (argp_parser): Make static.
841 (main): Make default_root const char *.
842
5d1d4e28
VS
8432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * util/grub-mount.c (root): Make const char *.
846 (execute_command): Make first argument a const char *.
847 (fuse_init): Respect format security.
848 (argp_parser): Make static. Remove unused variable.
849 (main): Make default_root a const char *.
850 Respect format security.
851
36eb7379
VS
8522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * util/grub-probe.c (probe): Don't call gettext on already translated
855 grub_errmsg.
856 Remove unused variables.
857 (argp_parser): Remove unused variable.
858
76fb2ea9
VS
8592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * util/grub-script-check.c (argp_parser): Remove unused variable.
862 (main): Rename read to curread to avoid shadowing.
863
56c98584
VS
8642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * util/misc.c (grub_util_write_image_at): Fix format specification.
867 (grub_util_write_image): Likewise.
868 (grub_script_execute_argument_to_string): Removed (unused).
869 (grub_script_execute_menuentry): Likewise.
870 (grub_putchar): Likewise.
871
164ebb48
VS
8722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
875 (FUNCTION) [GRUB_UTIL]: Likewise.
876 (VARIABLE) [GRUB_UTIL]: Likewise.
877
44318d61
VS
8782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
881 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
882
31a26002
VS
8832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
886 buffer.
887
8882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
891 (LzmaEnc_SaveState): Removed (unused).
892 (LzmaEnc_RestoreState): Likewise.
893 (LzmaEnc_InitPriceTables): Made static.
894 (LzmaEnc_Construct): Likewise.
895 (LzmaEnc_FreeLits): Likewise.
896 (LzmaEnc_Destruct): Likewise.
897 (LzmaEnc_Init): Likewise.
898 (LzmaEnc_InitPrices): Likewise.
899 (LzmaEnc_Finish): Likewise.
900 (LzmaEnc_PrepareForLzma2): Removed (unused).
901 (LzmaEnc_MemPrepare): Likewise.
902 (LzmaEnc_GetNumAvailableBytes): Likewise.
903 (LzmaEnc_GetCurBuf): Likewise.
904 (LzmaEnc_CodeOneMemBlock): Likewise.
905
6fa67967
VS
9062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
909 (grub_util_ldm_embed): Likewise.
910
9a7428e6
VS
9112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * util/grub-editenv.c (print_var): Rename name to varname to
914 avoid shadowing.
915 (main): Rename index to curindex to avoid shadowing.
31a26002 916 Make filename a const char *.
9a7428e6 917
4f96abd1
VS
9182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
921 to arg_getline to avoid shadowing.
922
44d10dad
VS
9232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
926 disk_ to avoid shadowing.
927
340ba63e
VS
9282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
931 curindex to avoid shadowing.
932 Make static.
933 (MatchFinder_GetNumAvailableBytes): Make static.
934
22965bce
VS
9352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
938 avoid shadowing.
939
7b5784d4
VS
9402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
943 argument from encrypt to do_encrypt to avoid shadowing.
944
6f48ca01
VS
9452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
948 incorrect nesting of #if's.
949
a4ea2dff
VS
9502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
953 checks which are always false on some platforms.
954 (grub_cmd_lsacpi): Likewise.
955 * grub-core/kern/misc.c (grub_strtoul): Likewise.
956 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
957 Likewise.
958
def9fc1b
VS
9592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
962 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
963
a67b2a04
VS
9642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
967 re_dfa_t to avoid breaking alignment invariants.
968 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
969 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
970
44c6828d
VS
9712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
974 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
975
bebe0dd0
VS
9762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
979 Fix declaration.
980
a9cdb3cf
VS
9812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
984 conserve alignment invariants.
985 (grub_ehci_ehcc_read16): Likewise.
986 (grub_ehci_oper_read32): Likewise.
987 (grub_ehci_oper_write32): Likewise.
988 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
989 Conserve alignment invariants.
990
ccc3b1b8
VS
9912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
994 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
995 declarations.
996
987fbd95
VS
9972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
1000 Remove unused variable.
1001
0df363f3
VS
10022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
1005 Remove set in if.
1006
b2c0c4a6
VS
10072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * include/grub/net.h: Remove double declarations.
1010
690c531f
VS
10112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Remove "payload" command in ia64 Linux loader since I couldn't
1014 find any evidence of it being used for anything.
1015 Replace "relocate" command with an environment variable
1016
1017 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
1018 fields.
1019 (ia64_boot_payload): Removed.
1020 (last_payload): Likewise.
1021 (RELOCATE_OFF): Likewise.
1022 (RELOCATE_ON): Likewise.
1023 (RELOCATE_FORCE): Likewise.
1024 (relocate): Likewise.
1025 (free_pages): Don't free payloads.
1026 (grub_load_elf64): Use common error messages.
1027 Use "linux_relocate" variable.
1028 Increase the space after boot_params.
1029 (grub_cmd_payload): Removed.
1030 (grub_cmd_relocate): Likewise.
1031 (grub_cmd_fpswa): Improve messages.
1032 (cmd_payload): Removed.
1033 (cmd_relocate): Likewise.
1034 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
1035 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
1036
01783768
VS
10372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 Convert UHCI to DMA framework.
1040
1041 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
1042 (grub_uhci_pci_iter): Fill new members
1043 (grub_alloc_td): Use P2V and V2P functions.
1044 (grub_free_queue): Likewise.
1045 (grub_alloc_qh): Likewise.
1046 (grub_uhci_setup_transfer): Likewise.
1047 (grub_uhci_check_transfer): Likewise.
1048
43206939
VS
10492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
1052 Remove assignment in if while on it.
1053
571e140e
VS
10542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * util/grub-mkstandalone.in: Fix modules directory.
1057
a9d96eeb
VS
10582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
1061 on i386-pc target.
1062 (argp_parser): Accept "auto" as compression specification.
1063
e4e37e8d
VS
10642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 Fix `help' with unloaded modules.
1067
1068 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
1069 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
1070 (grub_dyncmd_dispatcher): Small stylistic fix.
1071 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
1072 explicit help is requested.
1073
e1ea3ade
VS
10742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
1077 Explicitly init restart while on it.
1078
27556881
VS
10792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
1082 uninited variable.
1083
d65f6b36
VS
10842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * util/grub-mknetdir.in: Use . rather than source for POSIX
1087 compatibility.
1088
0a1e473c
VS
10892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
1092
ce6647c8
VS
10932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
1096 variable.
1097
66747894
VS
10982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
1101 without quotes.
1102
71645f6e
VS
11032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
1106
0e1c1f61
VS
11072012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
1110 iteration of partitions.
1111
9c4b5c13
VS
11122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 Improve gettext support. Stylistic fixes and error handling fixes while
1115 on it.
1116
215c90cb
VS
11172012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1120 part. Instead setup the correct stack in RM.
1121 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1122 for stack.
1123 * include/grub/i386/relocator_private.h: New file.
1124
b5c1f9bf
VS
11252012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1128 argument.
1129 * util/grub-fstest.c (options): Add missing DEVICE part.
1130
b525fd83
VS
11312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 Clarify and unify messages.
1134
1135 * grub-core/commands/hashsum.c (options): Unify messages.
1136 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1137 literal-only message as translatable.
1138 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1139 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1140 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1141 commands.
1142 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1143 key, not the key used to unlock. Clarify what it's used for.
1144 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1145 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1146 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1147 * util/grub-editenv.c (options): Unify "verbose" message.
1148 * util/grub-fstest.c (read_file): Unify error message.
1149 (fstest): Add quotes around commands.
1150 (options): Unify "verbose" message.
1151 * util/grub-install.in: Add quotes around variable name.
1152 * util/grub-kbdcomp.in: Unify error message.
1153 * util/grub-mkfont.c (main): Likewise.
1154 * util/grub-mkrescue.in: Likewise.
1155 * util/grub-mklayout.c (options): Unify "verbose" message.
1156 * util/grub-mkstandalone.in: Unify help and verbose messages.
1157 * util/grub-mount.c (options): Unify "verbose" message.
1158 * util/grub-probe.c (options): Likewise.
1159 * util/grub-script-check.c (options): Likewise.
1160 * util/grub-setup.c (setup): Unify no-terminator message.
1161 (options): Use DEVICE and not DEV.
1162 Unify "verbose" message.
1163 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1164
0ae70393
VS
11652012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 Improve and unify messages.
1168
1169 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1170 name. All users updated.
1171 Print filename in error.
1172 (read_device_map): Print filename in error.
1173 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1174 (grub_util_get_os_disk): Likewise.
1175 (grub_util_biosdisk_get_grub_dev): Likewise.
1176 (grub_util_check_block_device): Likewise.
1177 (grub_util_check_char_device): Likewise.
1178 (grub_make_system_path_relative_to_its_root): Likewise.
1179 * util/grub-editenv.c (create_envblk_file): Likewise.
1180 (open_envblk_file): Likewise.
1181 (write_envblk): Likewise.
1182 * util/grub-fstest.c (cmd_cp): Likewise.
1183 (cmd_cat): Likewise.
1184 (cmd_cmp): Likewise.
1185 * util/grub-menulst2cfg.c (main): Likewise.
1186 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1187 (write_font_width_spec): Likewise.
1188 (write_font_pf2): Likewise.
1189 * util/grub-mkimage.c (generate_image): New argument outname.
1190 All users updated.
1191 Remove unreacheable message.
1192 (options): Unify messages.
1193 (help_filter): Likewise.
1194 * util/grub-mklayout.c (usage): Removed (unused).
1195 (main): Print filename in error.
1196 * util/grub-mkrescue.in: Fix wrong quoting.
1197 * util/grub-setup.c (setup): Print filename in error.
1198 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1199 (check_sas): Likewise.
1200 * util/misc.c (grub_util_get_fp_size): Removed.
1201 (grub_util_get_image_size): Print filename in error.
1202 (grub_util_read_at): Removed.
1203 (grub_util_read_image): Print filename in error.
1204 (grub_util_load_image): Likewise.
1205 (grub_util_write_image_at): New argument filename. All users updated.
1206 Print filename in error.
1207 (grub_util_write_image): New argument filename. All users updated.
1208 Print filename in error.
1209 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1210 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1211
0a96117d
VS
12122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/Makefile.core.def (pxechain): New module.
1215 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1216 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1217 function.
1218 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1219 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1220
aca002f7
VS
12212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1224 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1225 * include/grub/err.h (grub_error_saved): New struct.
1226 (grub_errmsg): Make array size explicit.
1227 * include/grub/misc.h (grub_error_save): New function.
1228 (grub_error_load): Likewise.
1229 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1230 (grub_error_push): Update `errno' member name.
1231 (grub_error_pop): Likewise
1232 * grub-core/net/tftp.c (tftp_data): New member save_err.
1233 (tftp_receive): Save error.
1234 (tftp_open): Restore error.
1235
a51dab13
VS
12362012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1239 to real mode down to execute A20-related code in protected mode as
1240 intended.
1241
eb6e6649
GS
12422012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1243
1244 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1245 NULL when the argument `level' has an unexpected value.
1246
92cd0f6e
VS
12472012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 Move platform-dependent files from $prefix to $prefix/$platform.
1250
1251 * config.h.in (GRUB_TARGET_CPU): New definition.
1252 (GRUB_PLATFORM): Likewise.
1253 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1254 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1255 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1256 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1257 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1258 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1259 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1260 * grub-core/normal/term.c (read_terminal_list): Likewise.
1261 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1262 $prefix/locale.
1263 (grub_gettext_init_ext): Likewise.
1264 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1265 grub_platform.
1266 * util/grub-install.in: Update directories.
1267 * util/grub-mknetdir.in: Likewise.
1268 * util/grub-mkrescue.in: Likewise.
1269
db606889
VS
12702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1273 grub_error framework. All users updated.
1274
c39992a4
VS
12752012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1278 lists (by always binsearching), improve caching (cache strings
1279 used for binsearch, not only results), improve
1280 maintainability (by using more structured binary search) and correct
1281 error handling.
1282
1e5ec32f
VS
12832012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/script/execute.c (grub_script_return): Fix warning.
1286
ac576cde
VS
12872012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/script/execute.c (grub_script_return): Fix potential
1290 NULL-dereference.
1291 Reported by: Jim Meyering.
1292
498453f6
VS
12932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * po/POTFILES.in: Regenerate.
1296 * util/grub-install.in: Gettextize the strings missed in first pass.
1297
8be63f2e
VS
12982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * Makefile.util.def (grub-mkdevicemap): Removed.
1301 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1302 * include/grub/util/deviceiter.h: Removed.
1303 * util/deviceiter.c: Likewise.
1304 * util/getroot.c (grub_util_get_os_disk): New function.
1305 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1306 replacement for EFI.
1307 * util/grub-mkdevicemap.c: Removed.
1308 * util/grub-probe.c (probe): Handle PRINT_DISK.
1309 (argp_parser): Handle -t disk.
1310
8e1e4e39
VS
13112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * util/grub-mkfont.c: Migrate to argp.
1314 * util/grub-mklayout.c: Likewise.
1315 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1316 * util/grub-mkrelpath.c: Likewise.
1317 * util/grub-probe.c: Likewise.
1318 * util/grub-script-check.c: Likewise.
1319
4459819a
VS
13202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/grub-reboot.in: Add missing datarootdir.
1323 Add missing newline.
1324 * util/grub-set-default.in: Add missing datarootdir.
1325 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1326 * util/grub-mkrescue.in: Likewise.
1327
f65741c7
VS
13282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1331
c1a33466
VS
13322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * util/grub-kbdcomp.in: Add decent help and gettextize.
1335 * docs/man/grub-kbdcomp.h2m: New file.
1336
c76899a0
VS
13372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 Migrate grub-mkimage.c to argp.
1340
1341 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1342 (grub-setup): Likewise.
1343 * util/grub-setup.c (print_version): Move to ...
1344 * util/argp_common.c (print_version): ... here.
1345 * util/grub-setup.c (argp_program_version_hook): Move to ...
1346 * util/argp_common.c (argp_program_version_hook): ... here.
1347 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1348 safety.
1349 * util/grub-mkimage.c (main): Migrate to argp.
1350
57db0757
VS
13512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * util/grub-mkrescue.in: Use same message as
1354 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1355 for better translations.
1356
18534ad9
VS
13572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1360 options with generic grub-mkrescue.in with the goal of future
1361 merge.
1362
c84ba308
VS
13632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/kern/mm.c: Add missing include of i18n.h
1366 * grub-core/lib/relocator.c: Likewise.
1367
347998c2
VS
13682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1371 error.
1372 (allocate_pages): Check return value.
1373 Replace fatal with error.
1374 (grub_linux_boot): Replace printf with dprintf.
1375 Check find_mmap_size return value.
1376 Replace fatal with error.
1377 Don't call grub_machine_fini.
1378 (grub_load_elf64): Replace printf with dprintf.
1379 (grub_cmd_linux): Likewise.
1380 (grub_cmd_initrd): Likewise.
1381 (grub_cmd_payload): Likewise.
1382
c779226e
VS
13832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1386 message.
1387 * grub-core/video/radeon_fuloong2e.c
1388 (grub_video_radeon_fuloong2e_setup): Likewise.
1389 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1390 * grub-core/video/video.c (grub_video_set_mode): Don't override
1391 standard out of memory message.
1392
dc87d45a
GS
13932012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1394
1395 NetBSD disk wedge support.
1396
1397 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1398 [__NetBSD__]: Handle NetBSD disk wedges.
1399 * util/getroot.c (convert_system_partition_to_system_disk)
1400 [__NetBSD__]: Likewise.
1401
055f856f
MW
14022012-02-03 Mark Wooding <mdw@distorted.org.uk>
1403
1404 * util/grub-mkconfig.in: Use umask rather than chmod to create
1405 grub.cfg.new to avoid insecure grub.cfg.
1406
4a9f8346
VS
14072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/commands/ls.c: Gettextize.
1410 * grub-core/commands/setpci.c: Likewise.
1411 * grub-core/commands/videotest.c: Likewise.
1412 * grub-core/disk/geli.c: Likewise.
1413 * grub-core/kern/mm.c: Likewise.
1414 * grub-core/lib/relocator.c: Likewise.
1415 * grub-core/loader/efi/appleloader.c: Likewise.
1416 * grub-core/loader/i386/xnu.c: Likewise.
1417 * grub-core/loader/ia64/efi/linux.c: Likewise.
1418 * grub-core/loader/xnu.c: Likewise.
1419 * grub-core/net/dns.c: Likewise.
1420 * grub-core/net/net.c: Likewise.
1421 * grub-core/script/lexer.c: Likewise.
1422 * grub-core/script/parser.y: Likewise.
1423 * grub-core/script/yylex.l: Likewise.
1424 * util/getroot.c: Likewise.
1425 * util/grub-setup.c: Likewise.
1426
a646a366
VS
14272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1430 number.
1431
54e2be26
VS
14322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1435
f7c71e68
VS
14362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1439 macro.
1440 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1441 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1442
a32d5c71
VS
14432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1446 * util/grub-install.in: Gettextize.
1447 * util/grub-mkconfig.in: Likewise.
1448 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1449 if not available.
1450 (grub_warn): Gettextize.
1451 * util/grub-mknetdir.in: Gettextize.
1452 * util/grub-mkrescue.in: Likewise.
1453 * util/grub-mkstandalone.in: Likewise.
1454 * util/grub-reboot.in: Likewise.
1455 * util/grub-set-default.in: Likewise.
1456 * util/grub.d/00_header.in: Likewise.
1457 * util/grub.d/10_hurd.in: Likewise.
1458 * util/grub.d/10_kfreebsd.in: Likewise.
1459 * util/grub.d/10_linux.in: Likewise.
1460 * util/grub.d/10_netbsd.in: Likewise.
1461 * util/grub.d/10_windows.in: Likewise.
1462 * util/grub.d/20_linux_xen.in: Likewise.
1463 * util/grub.d/30_os-prober.in: Likewise.
1464 * po/POTFILES-shell.in: Regenerate.
1465
69edd81a
RL
14662012-02-03 Richard Laager <rlaager@wiktel.com>
1467
1468 * util/grub-mkimage.c (main): Fix format-security warning.
1469 * util/grub-mkrelpath.c (main): Likewise.
1470 * util/grub-probe.c (main): Likewise.
1471
65f08dbf
RL
14722012-02-03 Richard Laager <rlaager@wiktel.com>
1473
1474 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1475 failure.
1476 Put back lost PRINT_DRIVE.
1477
e9084abe
RL
14782012-02-03 Richard Laager <rlaager@wiktel.com>
1479
1480 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1481 (grub_guess_root_devices): Replace strlen with sizeof.
1482 Avoid crash.
1483 (find_root_devices_from_poolname): Remove unused variable.
1484 Handle raidzN.
1485
cf5f7ee7
VS
14862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 Support install on multi-device filesystems.
1489
1490 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1491 (grub_guess_root_devices): ...this. Return char **. All users updated.
1492 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1493 Removed.
1494 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1495 (find_root_devices_from_poolname): ... here.
1496 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1497 Support zfs-fuse.
1498 (grub_guess_root_device): Rename to ...
1499 (grub_guess_root_devices): ... this. Return char **. All users updated.
1500 * util/grub-install.in: Handle multi-device filesystems.
1501 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1502 argument. All users updated.
1503 Handle multi-device filesystems.
1504 Use 'delim' as separator.
1505 Remove device check to allow filesystems on file.
1506 (main): Support -0 argument. Handle multi-device.
1507 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1508 Fix a cross-device check while on it.
1509 (arguments): Remove root_dev.
1510 (argp_parser): Remove -r.
1511 (main): Remove root_dev.
1512
2f53a9ed
VS
15132012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1516
17e1d934
VS
15172012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1520 symbol.
1521 Reported by: NODA, Kai <nodakai>.
1522
d3e3fab5
VS
15232012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 Fix ehci on amd64.
1526
1527 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1528 pointers.
1529 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1530 (grub_ehci_setup_qh): Likewise.
1531 (grub_ehci_find_qh): Likewise.
1532 (grub_ehci_transaction): Likewise.
1533 (grub_ehci_setup_transfer): Likewise.
1534 (grub_ehci_check_transfer): Likewise.
1535 (grub_ehci_portstatus): Likewise.
1536 (grub_ehci_detect_dev): Likewise.
1537 (grub_ehci_transfer_controller_data): New field td_last_phys.
1538 (grub_ehci_setup_transfer): Fill td_last_phys.
1539 (grub_ehci_check_transfer): Use td_last_phys.
1540
3008675b
SG
15412012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1542
1543 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1544 if no submenu is present.
1545
fc9b5652
AN
15462012-02-01 Aleš Nesrsta <starous@volny.cz>
1547
1548 CBI support.
1549
1550 * include/grub/usb.h (grub_usbms_protocol_t): New values
1551 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1552 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1553 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1554 (grub_usbms_dev): Add subclass, protocol and intrpt.
1555 Remove in_maxsz and out_maxsz.
1556 (grub_usbms_reset): Rename to ...
1557 (grub_usbms_bo_reset): .. this.
1558 (grub_usbms_cbi_cmd): New function.
1559 (grub_usbms_cbi_reset): Likewise.
1560 (grub_usbms_reset): Likewise.
1561 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1562 (grub_usbms_transfer): Rename to ...
1563 (grub_usbms_transfer_bo): ... this.
1564 (grub_usbms_transfer_cbi): Likewise.
1565 (grub_usbms_transfer): Likewise.
1566
a2b81d53
AN
15672012-02-01 Aleš Nesrsta <starous@volny.cz>
15682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1571 the support for the CS5536 modification thereos and few bugfixes.
1572
1573 * grub-core/Makefile.core.def (ehci): New module.
1574 * grub-core/bus/usb/ehci.c: New file.
1575 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1576 port and hubaddr. All users updated.
1577 Save port and hubaddr into dev structure.
1578 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1579 define.
1580 * include/grub/pci.h (grub_dma_phys2virt): New function.
1581 (grub_dma_virt2phys): Likewise.
1582 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1583
b1d51f02
VS
15842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1587 check as some mkfs implementations omit it.
1588
fc694106
VS
15892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1592
6c0920e3
VS
15932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1596 Add new member volname2.
1597 (grub_jfs_label): Use volname2 if available.
1598
d1a46f9a
VS
15992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1602 over last_mounted as seen in image generated by mkfs.nilfs2.
1603 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1604
dec8ed14
VS
16052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1608 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1609 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1610
7397c69b
VS
16112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1614 over the sector.
1615
b3fe42ad
VS
16162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1619 subvolume name (by removing a bogus and useless check).
1620
10476bb0
VS
16212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1624 sizeof while on it.
1625
9c08ad87
VS
16262012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1629 (grub_scsi_read_capacity10): ... this.
1630 (grub_scsi_read_capacity16): New function.
1631 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1632 0xffffffff.
1633 Fix off-by-one error.
1634 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1635 64-bit unsigned.
1636 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1637 (grub_scsi_read_capacity10): ... this.
1638 (grub_scsi_read_capacity_data): Rename to ...
1639 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1640 (grub_scsi_read_capacity16): New struct.
1641 (grub_scsi_read_capacity16_data): Likewise.
1642 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1643 grub_scsi_cmd_read_capacity10.
1644 New command grub_scsi_cmd_read_capacity16.
1645
bc8d0f45
VS
16462012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 SCSI >2TiB support.
1649
1650 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1651 (grub_scsi_write16): Likewise.
1652 (grub_scsi_read): Use read16 when necessary.
1653 (grub_scsi_write): Likewise.
1654 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1655 (grub_scsi_write16): Likewise.
1656 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1657
cc774926
VS
16582012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 SCSI write support (for usbms mainly).
1661
1662 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1663 a const pointer.
1664 (grub_scsi_write): Implement.
1665 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1666
67639fd7
VS
16672012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1670 variable.
1671
9079d3ed
VS
16722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1675
c6a6f204
VS
16762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * po/POTFILES.in: Regenerate.
1679
ecbf8cd1
VS
16802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1683 with grub_printf to avoid unnecessary fatal failure.
1684
0b3b3b38
VS
16852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1688 (INT_MAX): Likewise.
1689 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1690 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1691 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1692 (strcpy): Likewise.
1693 (strstr): Likewise.
1694 (strchr): Likewise.
1695 (strncpy): Likewise.
1696 (strcat): Likewise.
1697 (strncat): Likewise.
1698 (strcoll): Likewise.
1699 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1700 (GRUB_INT_MAX): Likewise.
1701
db7337a3
VS
17022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1705 unexpected error.
1706 (optimize_utf8): Likewise.
1707 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1708
f37c87e1
VS
17092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/boot/i386/pc/lnxboot.S: Use
1712 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1713 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1714 location.
1715 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1716 definition.
1717 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1718
63fe43f3
VS
17192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1722 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1723 now to avoid double free.
1724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1725 hostdisk.
1726 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1727 * util/grub-probe.c (escape_of_path): Always return a new copy.
1728 (print_full_name): Escape path.
1729 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1730 Fix hints on abstractions.
1731
ebe2c961
VS
17322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1735 Don't add "root" line if no compatibility hont is available.
1736 Suggested by: Seth Goldberg.
1737
2b5336a2
VS
17382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1741 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1742 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1743 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1744
74310bd8
VS
17452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1748
c30582ba
VS
17492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * util/grub-pe2elf.c (ehdr): Make static.
1752 (shdr): Likewise.
1753 (num_sections): Likewise.
1754 (offset): Likewise.
1755
5f47782c
VS
17562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Eliminate ofpath limits and possible overflows.
1759
1760 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1761 (OF_PATH_MAX): Removed.
1762 (MAX_DISK_CAT): New const.
1763 (find_obppath): Use allocated rather than preallocated buffer.
1764 Return result. Argument of_path removed. All users updated.
1765 Add missing fdstat.
1766 (xrealpath): New function.
1767 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1768 Allocate rather than use preallocated buffer. All users updated.
1769 (__of_path_common): Use allocated rather than preallocatecd buffer.
1770 Return result. Argument of_path removed. All users updated.
1771 (vendor_is_ATA): Read only needed part form the file.
1772 (check_sas): Allocate depending on contents rather than fixed.
1773 (main) [STANDALONE]: Handle NULL result.
1774
f990cbf9
VS
17752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1778
9c6e84b8
VS
17792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 Cryptodisk write support.
1782
1783 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1784 (grub_cryptodisk_decrypt): Moved logic to ...
1785 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1786 (grub_cryptodisk_write): Implement.
1787 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1788 (grub_util_fd_write): ... this. Make global.
1789 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1790
87cf9744
VS
17912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * include/grub/list.h (grub_list_remove): Don't crash if element is
1794 removed twice.
1795
ca8c0baf
VS
17962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 Rename ofconsole to console.
1799
1800 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1801 as sysnonym to console.
1802 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1803 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1804 Rename grub_ofconsole_ to grub_console_. All users updated
1805 (grub_console_term_output): Rename "ofconsole" to "console".
1806 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1807 as "console".
1808
64c8b8f6
VS
18092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1812 handling.
1813 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1814 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1815 GRUB_DISK_DEVICE_FILE_ID.
1816
f6c434d5
VS
18172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1820 and improve performance.
1821
5858b42d
VS
18222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1825 missing ieee1275/ prefix on whole disk.
1826
4ed3c26b
VS
18272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1830 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1831
df71143e
VS
18322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1835
076e7c0f
VS
18362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 Merge common RAID and LVM logic to an abstract diskfilter.
1839 Add LDM support using the same framework.
1840
1841 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1842 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1843 (libgrubmods): Remove grub-core/disk/raid.c and
1844 grub-core/partmap/gpt.c.
1845 * grub-core/Makefile.core.def (ldm): New module.
1846 (raid): Renamed to diskfilter. All users updated.
1847 * grub-core/disk/raid.c: Moved to ...
1848 * grub-core/disk/diskfilter.c: ... here.
1849 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1850 (lv_num): New var.
1851 (find_array): Renamed to ...
1852 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1853 (grub_is_array_readable): Renamed to ...
1854 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1855 (insert_array): New argument id.
1856 (is_node_readable): New function.
1857 (scan_device): Rename to ...
1858 (scan_disk): .. this. Restrict to one disk.
1859 (scan_devices): New function.
1860 (grub_diskfilter_iterate): Support multi-LV.
1861 Skip invisible and nameless LVs.
1862 (grub_diskfilter_memberlist): Support multi-LV.
1863 (grub_diskfilter_read_node): New function.
1864 (grub_raid_read): Most of logic moved to ...
1865 (read_segment): ... here
1866 (read_lv): New function.
1867 (grub_diskfilter_get_vg_by_uuid): New function.
1868 (grub_diskfilter_make_raid): Likewise.
1869 * grub-core/disk/ldm.c: New file.
1870 * grub-core/disk/lvm.c (vg_list): Removed.
1871 (lv_count): Likewise.
1872 (scan_depth): Likewise.
1873 (is_lv_readable): Likewise.
1874 (grub_lvm_getvalue): Advance pointer past the number.
1875 (find_lv): Removed.
1876 (do_lvm_scan): Refactored into ...
1877 (grub_lvm_detect): ... this. Support raid.
1878 (grub_lvm_iterate): Removed.
1879 (grub_lvm_memberlist): Likewise.
1880 (grub_lvm_open): Likewise.
1881 (grub_lvm_close): Likewise.
1882 (read_lv): Likewise.
1883 (read_node): Likewise.
1884 (is_node_readable): Likewise.
1885 (is_lv_readable): Likewise.
1886 (grub_lvm_read): Likewise.
1887 (grub_lvm_write): Likewise.
1888 (grub_lvm_dev): Use diskfilter
1889 (GRUB_MOD_INIT): Likewise.
1890 (GRUB_MOD_FINI): Likewise.
1891 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1892 new interface.
1893 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1894 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1895 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1896 grub_diskfilter_read_node.
1897 Fix a bug with xor.
1898 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1899 grub_diskfilter_read_node.
1900 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1901 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1902 (grub_disk_dev_iterate): Move from here...
1903 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1904 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1905 Make global.
1906 (grub_hostdisk_find_partition_start): Likewise.
1907 (grub_hostdisk_os_dev_to_grub_drive): New function.
1908 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1909 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1910 * util/getroot.c (make_device_name): ... here.
1911 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1912 Move to ...
1913 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1914 * grub-core/kern/emu/hostdisk.c
1915 (convert_system_partition_to_system_disk): Move to ...
1916 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1917 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1918 * util/getroot.c (device_is_wholedisk): ... here.
1919 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1920 * util/getroot.c (find_system_device): ... here.
1921 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1922 Move to ...
1923 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1924 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1925 Move to ...
1926 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1927 Handle LDM.
1928 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1929 Move to ...
1930 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1931 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1932 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1933 DISKFILTER.
1934 * include/grub/raid.h: Renamed to ...
1935 * include/grub/diskfilter.h: ... this.
1936 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1937 (GRUB_RAID_LAYOUT_*): Make into array.
1938 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1939 (grub_diskfilter_vg): New struct.
1940 (grub_diskfilter_pv_id): Likewise.
1941 (grub_raid_member): Removed.
1942 (grub_raid_array): Likewise.
1943 (grub_diskfilter_pv): New struct.
1944 (grub_diskfilter_lv): Likewise.
1945 (grub_diskfilter_segment): Likewise.
1946 (grub_diskfilter_node): Likewise.
1947 (grub_diskfilter_get_vg_by_uuid): New proto.
1948 (grub_raid_register): Inline.
1949 (grub_diskfilter_unregister): Likewise.
1950 (grub_diskfilter_make_raid): New proto.
1951 (grub_diskfilter_vg_register): Likewise.
1952 (grub_diskfilter_read_node): Likewise.
1953 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1954 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1955 (grub_util_is_ldm): Likewise.
1956 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1957 (grub_hostdisk_find_partition_start): Likewise.
1958 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1959 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1960 New definition.
1961 (grub_gpt_partition_map_iterate): New proto.
1962 * include/grub/lvm.h (grub_lvm_vg): Removed.
1963 (grub_lvm_pv): Likewise.
1964 (grub_lvm_lv): Likewise.
1965 (grub_lvm_segment): Likewise.
1966 (grub_lvm_node): Likewise.
1967 * util/getroot.c [...]
1968 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1969 (probe_abstraction): Likewise.
1970 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1971 (main): Remove dead logic.
1972
8a7f9b9c
VS
19732012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 Simplify root device discover and don't fail when trying to open
1976 incorrect devices.
1977
1978 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1979 function.
1980 (get_diskname_from_path): Likewise.
1981 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1982 of iterating.
1983
30545b85
VS
19842012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1987
28ea58cf
VS
19882012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1991 pastthe end.
1992
692dabca
VS
19932012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * util/grub-install.in: Add missing \.
1996 Reported by: gentoofan
1997
f6e4ea70
VS
19982012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
2001 (direct_read): Use correct compressed size.
2002 (grub_squash_read_data): Likewise.
2003
20042012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
2005
2006 * docs/grub.texi (Platform limitations): New section.
2007 (Platform-specific operations): Likewise.
2008 * docs/grub-dev.texi (Porting): Likewise.
2009
76261110
VS
20102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 IEEE1275 disk write support.
2013
2014 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
2015 const void *.
2016 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
2017 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
2018 and seek loginc to ...
2019 (grub_ofdisk_prepare): ... here.
2020 (grub_ofdisk_write): Implement.
2021
fc36d603
VS
20222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 ARC disk write support.
2025
2026 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
2027 (reopen): New argument writable. All users updated.
2028 Handle required access mode.
2029 (grub_arcdisk_write): Implement.
2030 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
2031 (grub_arc_firmware_vector): Make buffer to write a const buffer.
2032
e06c2e7a
VS
20332012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
2036 (read_sblock): Don't attempt to read superblocks outside the disk size.
2037
ff447958
VS
20382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
2041 first superblock to find the second one when possible.
2042
9e88df39
VS
20432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * util/grub-install.in: Fix an ARC bug.
2046 Print a warning if no platform-specific setup is available.
2047
bb26e4ff
VS
20482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Use static allocation rather than scratch pointer in reed_solomon.
2051 It decreases its size significantly and avoids a variable in .text.
2052
2053 * grub-core/lib/reed_solomon.c (scratch): Removed.
2054 (chosenstat): New const or static array.
2055 (sigma): Likewise.
2056 (errpot): Likewise.
2057 (errpos): Likewise.
2058 (sy): Likewise.
2059 (mstat): Likewise.
2060 (errvals): Likewise.
2061 (eqstat): Likewise.
2062 (pol_evaluate): Replace x with log_x argument. All users updated.
2063 (syndroms): Removed.
2064 (gauss_solve): Use statically allocated arrays.
2065 (rs_recover): Likewise.
2066 Calculate syndroms directly.
2067 (decode_block): Use statically allocated arrays.
2068 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
2069 (main) [TEST]: Allow -DTEST -DSTANDALONE.
2070
2e13ede5
VS
20712012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 Eliminate fixed limit on reed solomon decoder length.
2074
2075 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
2076 rather than hardcoding the address.
2077 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
2078 no_reed_solomon_length.
2079 Move gate_a20 to no-reed-solomon part.
2080 Don't force a particular size of no reed-solomon part.
2081 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2082 Removed.
2083 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
2084 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
2085
f8a9ab12
VS
20862012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/commands/wildcard.c (match_files): Handle filenames
2089 without explicit device.
2090 (wildcard_expand): Don't add explicit device if not already present.
2091 * tests/grub_script_echo1.in: Add a new expansion test.
2092
87edb894
VS
20932012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 Replace single-linked with double-linked lists. It results in more
2096 compact and more efficient code.
2097
2098 * grub-core/kern/list.c (grub_list_push): Moved from here ...
2099 * include/grub/list.h (grub_list_push): ... to here. Set prev.
2100 (grub_list_remove): Moved from here ...
2101 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
2102 (grub_prio_list_insert): Set prev.
2103 * include/grub/list.h (grub_list): Add prev. All users updated.
2104
48b391e9
VS
21052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 Handle newer autotools. Add some missing quotes while on it.
2108
2109 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
2110 (pkglib_DATA): Move grub-mkconfig_lib from here ...
2111 (pkgdata_DATA): ... here.
2112 * Makefile.util.def (update-grub_lib): Removed.
2113 * conf/Makefile.common (pkglib_DATA): Removed.
2114 (pkglib_SCRIPTS): Likewise.
2115 (pkgdata_DATA): New variable.
2116 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
2117 needed.
2118 Add missing quotes.
2119 Remove unused variable while on it.
2120 * tests/util/grub-shell.in: Likewise.
2121 * util/grub-install.in: Likewise.
2122 * util/grub-mkconfig.in: Likewise.
2123 * util/grub-mknetdir.in: Likewise.
2124 * util/grub-mkrescue.in: Likewise.
2125 * util/grub-mkstandalone.in: Likewise.
2126 * util/grub.d/00_header.in: Likewise.
2127 * util/grub.d/10_hurd.in: Likewise.
2128 * util/grub.d/10_illumos.in: Likewise.
2129 * util/grub.d/10_kfreebsd.in: Likewise.
2130 * util/grub.d/10_linux.in: Likewise.
2131 * util/grub.d/10_netbsd.in: Likewise.
2132 * util/grub.d/10_windows.in: Likewise.
2133 * util/grub.d/20_linux_xen.in: Likewise.
2134 * util/grub.d/30_os-prober.in: Likewise.
2135 * util/update-grub_lib.in: Removed.
2136
21372012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
2138
2139 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2140 a workaround for intel problem.
2141
66832792
PRP
21422012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
21432012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21442012-01-23 pfsmorigo
2145
2146 * util/grub-install.in: Support dd'in into PreP partition.
2147 * util/grub-probe.c (probe): Support discovering partition type.
2148 (main): Support -t msdos_parttype.
2149
7816a17e
VS
21502012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2153 infinite recursion using counter.
2154 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2155 init to skip it if the magic check fails.
2156 (dec_stream_header): Init s->crc32.
2157
8f9d3a8c
ZB
21582012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21592012-01-22 Zachary Bedell <pendorbound@gmail.com>
21602012-01-22 Richard Laager <rlaager@wiktel.com>
2161
2162 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2163 All users updated.
2164 (find_bestub): Determine correct size.
2165 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2166 (scan_disk): Align the size down.
2167 Call check pool before find_bestub to have ashift.
2168
b055dd32
VS
21692012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2172 dprintf in no-malloc zone.
2173
d779e9bd
ML
21742012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2175
2176 * configure.ac: Add back in test for limits.h.
2177
b508af69
VS
21782012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 Support 4K-sector NTFS.
2181
2182 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2183 (grub_ntfs_data): Remove blocksize.
2184 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2185 Remove data argument. All users updated.
2186
dad9c8b5
VS
21872012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2190 being in .text to avoid dprel references.
2191 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2192 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2193 (grub_arch_highmemsize): Likewise.
2194 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2195 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2196 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2197
d43a777e
VS
21982012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2201
2202 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2203 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2204
34e4208f
VS
22052012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2208 GRUB_UTIL.
2209 (grub_set_datetime_cmos): Likewise.
2210
3ec0fc1c
VS
22112012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 Make XZ compression parameters dependent on target and not host CPU.
2214
2215 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2216 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2217
22489834
VS
22182012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2221 set but not used variable.
2222
8502fbca
VS
22232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2226 created when no uuid support is compiled into mkfs.reiser.
2227
76df2068
VS
22282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2231 (utf8_to_macroman): Do the opposite.
2232 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2233
64e3f8f6
VS
22342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * configure.ac: Refise build qemu_mips w/o unifont.
2237
9c271078
VS
22382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Eliminate grub_min/grub_max prone to overflow usage.
2241
2242 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2243 (poll_nonroot_hub): Likewise.
2244 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2245 (grub_affs_label): Likewise.
2246 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2247 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2248 (grub_hfs_label): Likewise.
2249 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2250 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2251 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2252 (zap_leaf_array_get): Likewise.
2253 (dnode_get_path): Likewise.
2254 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2255 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2256 * grub-core/script/execute.c (grub_script_break): Likewise.
2257 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2258 grub_max.
2259 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2260 * include/grub/misc.h (grub_min): Removed.
2261 (grub_max): Likewise.
2262
80662dbc
VS
22632012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2264
2265 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2266 direct.inode = 0.
2267
e6da1467
VS
22682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2271
b1ac4cb1
VS
22722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2275
b4bf7c3b
VS
22762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2279 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2280
8ee1101a
VS
22812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2284 rather than a hack for grub_strncasemap.
2285
22862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Support multiple initrds
2289 Note: part of this was accidently committed in r3739.
2290
2291 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2292 initrd.
2293 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2294 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2295 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2296 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2297 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2298
4d1e2bc9
VS
22992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2302 disks with unknown size.
2303 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2304
75b49ebe
VS
23052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 Remove defines pertaining to arbitrary limits not affecting GRUB
2308 anymore.
2309
2310 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2311 (EXT2_MAX_SYMLINKCNT): Likewise.
2312 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2313 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2314 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2315 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2316 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2317 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2318 (DN_MAX_OBJECT_SHIFT): Likewise.
2319 (DN_MAX_OFFSET_SHIFT): Likewise.
2320 (DN_MAX_OBJECT): Likewise.
2321 (DNODES_PER_LEVEL_SHIFT): Likewise.
2322 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2323 (SPA_MAXBLOCKSIZE): Likewise.
2324 (SPA_BLOCKSIZES): Likewise.
2325 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2326 (MZAP_MAX_BLKSZ): Likewise.
2327
74a1dce7
VS
23282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2331 handle NULL appropriately.
2332 Remove MIN.
2333
30c7d3ce
VS
23342012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 Fix efiemu.
2337
2338 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2339 cpu/types.h.
2340 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2341 * configure.ac: Fix efiemu check.
2342
3c76ea0c
VS
23432012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2346 grub_probe.
2347 Reported by: adamwill
2348
7e532280
SG
23492012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2350
2351 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2352
30492374
VS
23532012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Fix handling of wide characters in gfxterm.
2356
2357 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2358 (clear_char): Likewise.
2359 (paint_char): Skip code == NULL chars.
2360 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2361
e70cb72f
VS
23622012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/normal/charset.c: Move comment to right place.
2365
5c827cf9
VS
23662012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2369 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2370 (grub_affs_mount): Revert the correct version checking.
2371
53603892
VS
23722012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * docs/grub.texi (Unicode): Mention several other unsupported features.
2375
ff094b9b
VS
23762011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2379 case statements as compile-time one.
2380 (direct_read): Prevent spurious warnings.
2381 (grub_squash_read_data): Likewise.
2382
c029da8a
VS
23832011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Various squash4 fixes and LZO and XZ support.
2386
2387 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2388 Add xzembed source files.
2389 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2390 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2391 (grub_squash_inode): New subtype long_dir.
2392 (SQUASH_TYPE_LONG_DIR): New inode type.
2393 (COMPRESSION): New enum.
2394 (XZBUFSIZ): New const.
2395 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2396 (read_chunk): Use data->decompress.
2397 (zlib_decompress): New function.
2398 (lzo_decompress): Likewise.
2399 (xz_decompress): Likewise.
2400 (squash_mount): Set new data fields.
2401 (grub_squash_iterate_dir): Handle long dir.
2402 (squash_unmount): Free xzdec and xzbuf.
2403 (grub_squash_open): Check ino type.
2404 (direct_read): Stylistic fixes. Use data->decompress.
2405 (grub_squash_read_data): Likewise.
2406 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2407 (get_byte): Likewise.
2408 (grub_zlib_disk_read): Removed.
2409 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2410 (GRUB_POSIX_BOOL_DEFINED): New define.
2411 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2412 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2413 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2414 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2415
7a45a539
VS
24162011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 Don't override more informative errors.
2419
2420 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2421 * grub-core/font/font.c (open_section): Likewise.
2422 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2423 filename. Don't override errors.
2424 (grub_cmd_openbsd_ramdisk): Don't override errors.
2425 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2426 (grub_cmd_initrd): Likewise.
2427 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2428 (grub_cmd_initrd): Likewise.
2429 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2430 (grub_cmd_linux): Likewise.
2431 (grub_cmd_initrd): Likewise.
2432 (grub_cmd_payload): Likewise.
2433 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2434 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2435 (grub_cmd_module): Likewise.
2436 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2437 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2438 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2439 (grub_cmd_xnu_mkext): Likewise.
2440 (grub_cmd_xnu_ramdisk): Likewise.
2441 (grub_xnu_check_os_bundle_required): Likewise.
2442 (grub_xnu_load_kext_from_dir): Likewise.
2443 (grub_cmd_xnu_kextdir): Likewise.
2444 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2445
b2d004db
VS
24462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2449 as 1024 in block size field. Found on one of my test images.
2450 Small optimisation while on it.
2451
ec000eac
VS
24522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2455 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2456 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2457 performance fixes while on it.
2458 (grub_sfs_close): Fix memory leak while on it.
2459 (grub_sfs_label): Convert Latin1 to UTF-8.
2460
f50e1165
VS
24612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2464 space to avoid overflows.
2465 (grub_hfs_label): Convert from macroman to UTF-8.
2466
2ae254de
VS
24672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2470
0108f491
VS
24712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2474
f45f5f89
VS
24752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * unicode: Import Unicode 6.0 data.
2478
4d8c4765
VS
24792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2480
63fa8ef9
VS
2481 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2482 outside of range.
2483
24842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
2487
2488 * include/grub/charset.h (grub_getend): New function.
2489 * grub-core/script/function.c (grub_script_function_find): Use
2490 grub_getend.
2491 * grub-core/normal/completion.c (add_completion): Likewise.
2492
f3cb4a4e
VS
24932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2496 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2497 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2498 (GRUB_UNICODE_TAG_END): Likewise.
2499 (GRUB_UNICODE_LAST_VALID): Likewise.
2500
5da8dbc5
VS
25012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2504 len and make it smaller. All users updated.
2505 * util/import_unicode.py: Put length and not end character.
2506 Check length.
2507
8569f13d
VS
25082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 Make better Unicode-compliant and unify some UTF-8 code pathes.
2511
2512 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2513 valid character.
2514 (grub_is_valid_utf8): Use grub_utf8_process.
2515 Check resulting code range.
2516 (grub_utf8_to_ucs4): Use grub_utf8_process.
2517 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2518 valid character.
2519
cc4fddf5
VS
25202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2523
bbc47747
VS
25242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * docs/grub.texi (Filesystems): Mention AFS.
2527
f63d6bf4
VS
25282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * docs/grub.texi (Filesystems): Clarify restrictions.
2531 (Regexp): Mention non-Unicode regexp behaviour.
2532 (Other): Mention non-Unicode matching behaviour.
2533
74bbf0db
VS
25342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2535
f63d6bf4 2536 Make HFS implementation use MacRoman.
74bbf0db
VS
2537
2538 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2539 (macroman): New const array.
2540 (macroman_to_utf8): New function.
2541 (utf8_to_macroman): Likewise.
2542 (grub_hfs_find_dir): Use utf8_to_macroman.
2543 (grub_hfs_dir): Use macroman_to_utf8.
2544 Set case_insensitive.
2545
4ea0316e
VS
25462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2549
d3c13cbd
VS
25502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Integrate hints into autogeneration scripts.
2553
2554 * docs/grub.texi (Filesystems): Add a hostdisk example.
2555 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2556 (grub-probe): Add ofpath.
2557 * gentpl.py: Remove group nosparc64.
2558 * grub-core/commands/search.c (cache_entry): New struct.
2559 (cache): New var.
2560 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2561 * grub-core/commands/search_wrap.c (options): Add platform-specific
2562 hint options.
2563 (grub_cmd_search): Handle platform-specific hints.
2564 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2565 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2566 (grub_util_biosdisk_data): Likewise.
2567 (grub_util_biosdisk_open): Set device_map.
2568 (read_device_map): Handle "" as indication of no map.
2569 Set device_map.
2570 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2571 (grub_util_biosdisk_get_compatibility_hint): New function.
2572 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2573 * include/grub/emu/hostdisk.h
2574 (grub_util_biosdisk_get_compatibility_hint): New proto.
2575 * util/grub-install.in: Don't call grub-mkdevicemap.
2576 Add platform-specific hint to load.cfg.
2577 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2578 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2579 hints. Set root preliminary to compatibility hint, not to OS name.
2580 * util/grub-probe.c (PRINT_*): Add hints.
2581 (print): Make static.
2582 (escape_of_path): New function.
2583 (guess_bios_drive): Likewise.
2584 (guess_efi_drive): Likewise.
2585 (guess_baremetal_drive): Likewise.
2586 (print_full_name): Likewise.
2587 (probe): Handle hints.
2588 (main): Likewise.
2589 * util/ieee1275/devicemap.c: Removed.
2590 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2591 updated.
2592 (grub_util_devname_to_ofpath): Return NULL on failure.
2593
2594 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2595 resource leak.
2596 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2597
2598 * po/POTFILES.in: Regenerated.
2599
2600 Allow purely long options
2601
2602 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2603 (SHORT_ARG_USAGE): Likewise.
2604 (grub_arg_show_help): Compare opt with help_options.
2605 (parse_option): Receive opt as argument. If makes big simplificatons.
2606 All users updated
2607
00ce2df3
VS
26082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2611 Restructure to avoid warning.
2612
e77e325f
VS
26132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * util/grub-install.in: Account for possible escaped comma in device
2616 name.
2617
165099ea
VS
26182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2621 channel.
2622
ce4a999d
VS
26232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2626 allocation and zero-setting.
2627 (grub_ieee1275_get_devname): Check that alias is complete.
2628
379586ad
VS
26292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2632 unaligned segments.
2633
9197b0ad
VS
26342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2637 prefix.
2638 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2639 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2640 Add ieee1275 prefix.
2641
edddb7f9
VS
26422011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * docs/grub.texi (Filesystems): Update.
2645
a1a8b1b9
VS
26462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 Support odc, newc and bigendian cpio formats.
2649
2650 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2651 * grub-core/Makefile.core.def (newc): New module.
2652 (odc): Likewise.
2653 (cpio_be): Likewise.
2654 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2655 (MAGIC): Likewise.
2656 (MAGIC2): Likewise.
2657 (head) [MODE_ODC]: Adapt for the format.
2658 (head) [MODE_NEWC]: Likewise.
2659 (head) [!MODE_*]: Write fields of interest as arrays.
2660 (MAGIC_USTAR): Removed.
2661 (read_number) [MODE_NEWC]: Change to hex.
2662 (read_number) [!MODE_*]: Parse binary arrays.
2663 (grub_cpio_find_file): Factor out the code for better structure and
2664 always use read_number.
2665 (grub_cpio_mount): Use MAGIC and MAGIC2.
2666 (grub_cpio_dir): Exit on first hook non-0 return.
2667 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2668 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2669 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2670 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2671 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2672 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2673 * grub-core/fs/newc.c: New file.
2674 * grub-core/fs/odc.c: Likewise.
2675 * grub-core/fs/cpio_be.c: Likewise.
2676
58eba9ee
VS
26772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 Fix handling of tar numbers occupying the whole field.
2680
2681 * grub-core/fs/cpio.c (read_number): New function.
2682 (grub_cpio_find_file): Use read_number instead of strtoull.
2683
a54a0e12
VS
26842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2687 occupying the whole field size.
2688
a6120aca
LA
26892011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2690
2691 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2692
a93964ce
VS
26932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2696
3ea1ca46
SG
26972011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2698
2699 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2700 TARGET_IMG_LDFLAGS.
2701
b87f7ef2
VS
27022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2705 (mountinfo_entry): Increase the field size to take escaping into
2706 account.
2707 (find_root_device_from_libzfs): Add one byte to size of strings for
2708 security.
2709
62092395
VS
27102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2713 an assert.
2714 * util/grub-setup.c (setup): Likewise.
2715
1f0b1a77
VS
27162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2719 _LzmaDecodeA.
2720
8eba9997
VS
27212011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * docs/grub.texi (Internationalisation): New section.
2724
dd0c91e9
VS
27252011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * docs/grub.texi (Loopback booting): New section.
2728
27292011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
2730
2731 * util/grub-mkstandalone.in: Fix minor typo errors.
2732
198e150a
VS
27332011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2736
2737 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2738 net/icmp.c and net/icmp6.c.
2739 (http): New module.
2740 (priority_queue): Likewise.
2741 * grub-core/io/bufio.c: Rewritten.
2742 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2743 TYPE_WITH_CONFIGFILE_OPTION.
2744 (legacy_commands): Add bootp and dhcp.
2745 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2746 (grub_legacy_parse): Likewise.
2747 * grub-core/lib/priority_queue.c: New file.
2748 * grub-core/net/arp.c: Add missing license header.
2749 (arp_find_entry): Removed.
2750 (arp_find_entry): Likewise.
2751 (grub_net_arp_resolve): Rename to ...
2752 (grub_net_arp_send_request): ...this.
2753 (grub_net_arp_receive): New card argument.
2754 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2755 Set router and DNS server.
2756 (grub_net_configure_by_dhcp_ack): Handle routing information.
2757 (grub_cmd_bootp): Set checksum.
2758 (grub_bootp_init): Remove net_dhcp.
2759 * grub-core/net/dns.c: New file.
2760 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2761 completion.
2762 (get_card_packet): Handle allocation.
2763 (grub_efinet_findcards): Set mtu.
2764 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2765 (get_card_packet): Handle allocation.
2766 (emucard): Set mtu.
2767 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2768 (GRUB_MOD_INIT): Set mtu.
2769 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2770 mtu.
2771 (get_card_packet): Handle allocation.
2772 (grub_ofnet_findcards): Set mtu.
2773 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2774 assert.
2775 (grub_net_recv_ethernet_packet): Handle IPv6.
2776 * grub-core/net/http.c: New file.
2777 * grub-core/net/icmp.c: Likewise.
2778 * grub-core/net/icmp6.c: Likewise.
2779 * grub-core/net/ip.c (ip6addr): New type.
2780 (ip6hdr): Likewise.
2781 (reassemble): Likewise.
2782 (cmp): New function.
2783 (reassembles): New variable.
2784 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2785 (id): New variable.
2786 (send_fragmented): New function.
2787 (grub_net_send_ip_packet): Rename to ...
2788 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2789 Handle non-UDP.
2790 (grub_net_recv_ip_packets): Rename to ...
2791 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2792 (free_rsm): New function.
2793 (free_old_fragments): Likewise.
2794 (grub_net_recv_ip4_packets): New function.
2795 (grub_net_send_ip6_packet): Likewise.
2796 (grub_net_send_ip_packet): Likewise.
2797 (grub_net_recv_ip6_packets): Likewise.
2798 (grub_net_recv_ip_packets): Likewise.
2799 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2800 (LINK_LAYER_CACHE_SIZE): New const.
2801 (link_layer_find_entry): New function.
2802 (grub_net_link_layer_add_address): Likewise.
2803 (grub_net_link_layer_resolve_check): Likewise.
2804 (grub_net_link_layer_resolve): Likewise.
2805 (grub_net_ipv6_get_slaac): Likewise.
2806 (grub_net_ipv6_get_link_local): Likewise.
2807 (grub_cmd_ipv6_autoconf): Likewise.
2808 (parse_ip): Handle one number representation.
2809 (parse_ip6): New functoion.
2810 (match_net): Handle IPv6.
2811 (grub_net_resolve_address): Handle IPv6 and DNS.
2812 (grub_net_resolve_net_address): Handle IPv6.
2813 (route_cmp): New function.
2814 (grub_net_route_address): Find best route.
2815 (grub_net_addr_to_str): Handle IPv6.
2816 (grub_net_addr_cmp): New function.
2817 (grub_net_add_addr): Register local route.
2818 (print_net_address): Handle net address.
2819 (grub_net_poll_cards): Retransmit TCP.
2820 (grub_net_poll_cards_idle_real): Likewise.
2821 (have_ahead): New function.
2822 (grub_net_seek_real): Use underlying seek.
2823 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2824 * grub-core/net/tcp.c: New file.
2825 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2826 (cmp): New function.
2827 (ack): Likewise.
2828 (tftp_receive): Handle unordered input.
2829 (destroy_pq): New function.
2830 (tftp_close): Close pq.
2831 * grub-core/net/udp.c: Put missing license header.
2832 (grub_net_udp_socket): New function.
2833 (udp_socket_register): Likewise.
2834 (grub_net_udp_close): Likewise.
2835 (grub_net_recv_udp_packet): Check checksum.
2836 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2837 * include/grub/misc.h (grub_memchr): New function.
2838 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2839 (grub_net_card_driver): Return buf in recv.
2840 (grub_net_slaac_mac_list): New struct.
2841 (grub_network_level_protocol_id): Add ipv6.
2842 (grub_net_network_level_addr): Likewise.
2843 (grub_net_network_level_net_addr): Likewise.
2844 (grub_net_app_protocol): Add seek.
2845 (grub_net_socket): Removed.
2846 (grub_net_sockets): Likewise.
2847 (grub_net_socket_register): Likewise.
2848 (grub_net_socket_unregister): Likewise.
2849 (FOR_NET_SOCKETS): Likewise.
2850 (grub_net_add_addr): Add const.
2851 (GRUB_NET_BOOTP_*): New enum.
2852 (grub_net_addr_cmp): New proto.
2853 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2854 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2855 (grub_net_hwaddr_to_str): NEw proto.
2856 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2857 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2858 (grub_dns_init): New proto.
2859 (grub_dns_fini): Likewise.
2860 (grub_net_tcp_retransmit): Likewise.
2861 (grub_net_link_layer_add_address): Likewise.
2862 (grub_net_link_layer_resolve_check): Likewise.
2863 (grub_net_link_layer_resolve): Likewise.
2864 (grub_net_dns_lookup): Likewise.
2865 (grub_net_add_dns_server): Likewise.
2866 (grub_net_remove_dns_server): Likewise.
2867 (GRUB_NET_TRIES): New const.
2868 (GRUB_NET_INTERVAL): Likewise.
2869 * include/grub/net/arp.h: Mostly rewritten.
2870 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2871 * include/grub/net/ip.h: Mostly rewritten.
2872 * include/grub/net/netbuff.h: Indent.
2873 * include/grub/net/tcp.h: New file.
2874 * include/grub/net/udp.h: Mostly rewritten.
2875 * include/grub/priority_queue.h: New file.
2876 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2877 (grub_swap_bytes64_compile_time): Likewise.
2878 (grub_cpu_to_be16_compile_time): Likewise.
2879 (grub_cpu_to_be32_compile_time): Likewise.
2880 (grub_cpu_to_be64_compile_time): Likewise.
2881 (grub_be_to_cpu64_compile_time): Likewise.
2882
215c1800
VS
28832011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2886 UINT_TO_PTR with cast.
2887
c17e546c
VS
28882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2891 don't use them.
2892
ff6b18b6
VS
28932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2896 already there.
2897
70ffcc93
VS
28982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2901 confusing ipxe.
2902
e5f4d260
VS
29032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2906 Add missing const attribute.
2907 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2908 Likewise.
2909 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2910 Likewise.
2911
8e54b4b7
VS
29122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2915 misaligned access.
2916 (serpent_setkey): Likewise.
2917 (serpent_encrypt_internal): Likewise.
2918 (serpent_decrypt_internal): Likewise.
2919 (serpent_encrypt): Don't put an alignment-increasing cast.
2920 (serpent_decrypt): Likewise.
2921 (serpent_test): Likewise.
2922
813c0a2b
VS
29232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2926
f2b60fbd
VS
29272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2930
2931 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2932 grub_addr_t casts.
2933 (PTR_TO_UINT64): Likewise.
2934 (PTR_TO_UINT32): Likewise.
2935
5ef5c511
VS
29362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2939 because of stack.
2940 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2941 limit.
2942
c476e6df
VS
29432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2946 text_width > available width a bit more gracefully.
2947
384ad7cc
VS
29482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2951 current address calculation.
2952
96f8caf8
VS
29532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2956 stack.
2957 (encode_block): Likewise.
2958
276b7a8b
VS
29592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2962 certainety.
2963
e3fd394a
VS
29642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2967 non-RS part to avoid RS messing with GDT.
2968 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2969 Increase to suit in realmode routines.
2970
29712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/kern/i386/realmode.S: Increase alignment.
2974 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2975
ee9c2e7a
VS
29762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2979 be deterministic.
2980 (syndroms): Compute 0 syndrom.
2981 (rs_recover): Use 0 syndrom.
2982
7a7f7cc9
VS
29832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2986
a14b16d1
VS
29872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2990 brackets.
2991
9f59e9fc
VS
29922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2993
ca1b552c
VS
2994 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2995 account.
2996 (get_top_pad): Likewise.
2997 (get_right_pad): Likewise.
2998 (get_bottom_pad): Likewise.
2999
30002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 3003
e739d698
VS
30042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
3007 attribute as the structure isn't guaranteed to be properly aligned.
3008 (grub_efi_pci_device_path): Likewise.
3009 (grub_efi_pccard_device_path): Likewise.
3010 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
3011 specify the size of `memory_type'.
3012 (grub_efi_vendor_device_path): Likewise.
3013 (grub_efi_controller_device_path): Likewise.
3014 (grub_efi_acpi_device_path): Likewise.
3015 (grub_efi_expanded_acpi_device_path): Likewise.
3016 (grub_efi_atapi_device_path): Likewise.
3017 (grub_efi_scsi_device_path): Likewise.
3018 (grub_efi_fibre_channel_device_path): Likewise.
3019 (grub_efi_1394_device_path): Likewise.
3020 (grub_efi_usb_device_path): Likewise.
3021 (grub_efi_usb_class_device_path): Likewise.
3022 (grub_efi_i2o_device_path): Likewise.
3023 (grub_efi_mac_address_device_path): Likewise.
3024 (grub_efi_ipv4_device_path): Likewise.
3025 (grub_efi_ipv6_device_path): Likewise.
3026 (grub_efi_infiniband_device_path): Likewise.
3027 (grub_efi_uart_device_path): Likewise.
3028 (grub_efi_vendor_messaging_device_path): Likewise.
3029 (grub_efi_hard_drive_device_path): Likewise.
3030 (grub_efi_cdrom_device_path): Likewise.
3031 (grub_efi_vendor_media_device_path): Likewise.
3032 (grub_efi_file_path_device_path): Likewise.
3033 (grub_efi_protocol_device_path): Likewise.
3034 (grub_efi_piwg_device_path): Likewise.
3035 (grub_efi_bios_device_path): Likewise.
3036
cb8f88ea
VS
30372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
3040 (grub_ucs4_to_utf8_alloc): Likewise.
3041 (grub_ucs4_to_utf8): Likewise.
3042 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
3043 (grub_ucs4_to_utf8_alloc): Likewise.
3044
309e5352
VS
30452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 AFFS never uses unicode.
3048
3049 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
3050 (grub_latin1_to_utf8): New inline function.
3051 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
3052
e7987e1b
VS
30532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
3056 overflow.
3057
efc2616e
VS
30582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
3061 (grub_squash_dirent_header): Likewise.
3062 (read_chunk): Don't double swap.
3063 (grub_squash_iterate_dir): Fix swap sizes.
3064
3c349f5a
VS
30652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
3068
b453412d
VS
30692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
3072 (grub_hfs_iterate_dir): Likewise.
3073
12e9d4d1
VS
30742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 Fix video on platforms where unaligned access is forbidden.
3077 Make several optimisations while on it.
3078
3079 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
3080 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3081 (grub_video_fbblit_replace_32bit_1bit): Likewise.
3082 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3083 Disable.
3084 (grub_video_fbblit_replace_16bit_1bit):
3085 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3086 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3087 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
3088 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
3089 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3090 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3091 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
3092 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
3093 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
3094 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
3095 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
3096 (grub_video_fbblit_replace_index_RGB888): Likewise.
3097 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
3098 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
3099 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
3100 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3101 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
3102 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3103 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3104 Disable.
3105 (grub_video_fbblit_blend_XXX565_1bit):
3106 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3107 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
3108 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
3109 void *.
3110 * grub-core/video/fb/video_fb.c (common_blitter)
3111 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
3112 (grub_video_fb_create_render_target_from_pointer)
3113 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3114 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
3115 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
3116 definition.
3117 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
3118
ace96609
VS
31192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3122 HH22 and HM10 relocations.
3123
fd261d73
VS
31242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3127
e59b7857
VS
31282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3131 allocation succeeded.
3132
9b4baaa4
VS
31332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3136 argument a u8 pointer. All users updated.
3137 Handle unaligned buffers.
3138
dc713193
VS
31392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3142 add_part to workaround compiler bug.
3143
30dd48c2
VS
31442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3147
0c6087a8
VS
31482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3151 Reserve alignment invariants.
3152 (grub_multiboot_load): Likewise.
3153 (retrieve_video_parameters): Likewise.
3154 (grub_multiboot_make_mbi): Likewise.
3155
c2e77777
VS
31562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3159 incorrect pointer.
3160
b70b6d11
VS
31612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3164 (grub_pata_pio_write): Likewise.
3165
02a2bf83
VS
31662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Add noreturn attributes and remove unreachable code.
3169
3170 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3171 code.
3172 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3173 code. Mark as noreturn.
3174 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3175 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3176 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3177 unreachable code.
3178 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3179 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3180 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3181 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3182 * include/grub/kernel.h (grub_main): Mark as noreturn.
3183 * include/grub/reader.h (grub_rescue_run): Likewise.
3184
2019d09e
VS
31852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3188 redundant declaration.
3189
d1c501ee
VS
31902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3193 redundant declaration.
3194 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3195
61664420
VS
31962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3199 to ensure alignment.
3200 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3201 alignment. Ensure tmp alignment.
3202 (grub_cmd_hdparm): Ensure buf alignment.
3203 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3204 to ensure alignment.
3205 (grub_ata_dumpinfo): Ensure text alignment.
3206 (grub_atapi_identify): Preserve alignment invariant.
3207 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3208
0d51ee20
VS
32092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3212 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3213 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3214 * include/grub/misc.h (grub_reboot)
3215 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3216 (grub_halt) [__mips__]: Likewise.
3217
753ef8c1
VS
32182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3221 Remove redundant declaration.
3222 (grub_mmap_get_post64): Likewise.
3223 (grub_mmap_get_upper): Likewise.
3224 (grub_mmap_get_lower): Likewise.
3225
85c85365
VS
32262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3229 uint32_t * to ensure alignment.
3230 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3231
a23f2cc4
VS
32322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3233
93018f64
VS
3234 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3235 uint16_t * to ensure alignment.
3236 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3237 alignment.
3238
32392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
3242 to ensure alignment.
3243 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3244
58acccd6
VS
32452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3248 Handle unaligned pointers.
3249 (u32at): Likewise.
3250 (u64at): Likewise.
3251 (fixup): Use byte access instead of v16at.
3252 (find_attr): Fix imporper usage of v32at.
3253 (read_data): Likewise.
3254 (list_file): Handle byte-swapping and unaligned strings.
3255 (grub_ntfs_label): Likewise.
3256
9b05cad7
VS
32572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3260 as it's not necessarily aligned.
3261
b3950b84
VS
32622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3265 redundant declaration.
3266 (grub_serial_init): Likewise.
3267 (grub_terminfo_init): Likewise.
3268
fcd232b7
VS
32692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3272 function.
3273 (ZAP_HASH_IDX): Likewise.
3274 (ZAP_LEAF_HASH_SHIFT): Likewise.
3275 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3276 (LEAF_HASH): Likewise.
3277 (ZAP_LEAF_NUMCHUNKS): Likewise.
3278 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3279 alignment invariants. Return pointer. All users updated.
3280 (ZAP_LEAF_ENTRY): Make into inline function.
3281 (NBBY): Removed.
3282 (xor): LIkewise.
3283 (xor_out): Use grub_crypto_xor.
3284 (dnode_get_path): Use grub_get_unaligned.
3285 (nvlist_find_value): Likewise.
3286 (grub_zfs_nvlist_lookup_uint64): Likewise.
3287 (grub_zfs_nvlist_lookup_string): Likewise.
3288 (get_nvlist_size): Likewise.
3289 (grub_zfs_open): Likewise.
3290 (fill_fs_info): Likewise.
3291 (grub_zfs_dir): Likewise.
3292 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3293 alignment invariants.
3294 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3295 necessarily aligned.
3296
f138623a
VS
32972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3300
564840dc
VS
33012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3304 arithmetic to conserve alignment invariants.
3305
9b40df20
VS
33062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3309 redundant declaration.
3310 (grub_efiemu_mm_obtain_request): Likewise.
3311 (grub_efiemu_prepare): Likewise.
3312
d1c930f9
VS
33132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3316 to match types.
3317
4c5f3056
VS
33182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3321 case of aunaligned recptr.
3322 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3323 alignment.
3324 (grub_hfsplus_btree_search): Handle unaligned index.
3325
728cba91
VS
33262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3329 to get freetag and skip.
3330
eb561f31
VS
33312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3334 array.
3335 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3336 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3337
20993fbb
VS
33382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3341 name for checksum and fix allocation algorithm.
3342
1f313b94
VS
33432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * include/grub/types.h (grub_properly_aligned_t): New type.
3346 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3347 (grub_get_unaligned16): Add explicit casts.
3348 (grub_get_unaligned32): Likewise.
3349 (grub_get_unaligned64): Likewise.
3350 (grub_set_unaligned16): New function.
3351 (grub_set_unaligned32): Likewise.
3352
47ae27ec
VS
33532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3356
78c2cd1c
VS
33572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3360 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3361 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3362
53072f9b
VS
33632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3366 conditionals.
3367
055dc239
VS
33682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3371 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3372
496bd074
VS
33732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 Unify and improve RAID and crypto xor.
3376
3377 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3378 changed to grub_crypto_xor
3379 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3380 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3381 Use bigger types when possible.
3382
ef6e4335
VS
33832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/disk/raid.c (scan_devices): Fix condition.
3386
5d048bf2
VS
33872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3390 Make name a const ptr.
3391
ee533335
VS
33922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3395 first argument a const pointer.
3396 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3398 proto.
3399 (grub_children_iterate): Likewise.
3400 (grub_machine_mmap_iterate): Remove redundant declaration.
3401
cc8f3668
VS
34022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3405 (grub_cmd_acpi) [!x86]: Disable EBDA.
3406
c5fc563a
VS
34072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Enable UTF8 in gnulib regexp.
3410
3411 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3412 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3413 (isupper): Use grub_isupper.
3414 (isascii): New inline function.
3415 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3416 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3417 * grub-core/normal/charset.c (grub_utf8_process): New function.
3418 (grub_utf8_to_utf16): Use grub_utf8_process.
3419 (grub_encode_utf8_character): New function.
3420 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3421 * include/grub/charset.h (grub_utf8_process): New declaration.
3422 (grub_encode_utf8_character): Likewise.
3423 * include/grub/misc.h (grub_islower): New inline function.
3424 (grub_isupper): Likewise.
3425 (grub_strchrsub): Moved down to fix the definitions.
3426
0af2346f
VS
34272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3430 specification.
3431
74dbd244
VS
34322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * include/grub/loader.h (grub_loader_register_preboot_hook):
3435 Use struct preboot * and not void * for handle. All users updated.
3436 (grub_loader_unregister_preboot_hook): Likewise.
3437
1bc8f60d
VS
34382011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3441 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3442 UTF-16-BE. All users updated.
3443 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3444 (grub_hfsplus_iterate_dir): Likewise.
3445 (grub_hfsplus_label): Likewise.
3446
48d6e456
VS
34472011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3450
bf3a3857
VS
34512011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Add missing const qualifiers.
3454
3455 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3456 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3457 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3458 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3459 (grub_lvm_check_flag): Likewise.
3460 * grub-core/efiemu/i386/coredetect.c
3461 (grub_efiemu_get_default_core_name): Likewise
3462 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3463 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3464 * grub-core/fs/ntfs.c (fixup): Likewise.
3465 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3466 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3467 (fzap_lookup): Likewise.
3468 (zap_lookup): Likewise.
3469 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3470 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3471 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3472 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3473 (grub_freebsd_add_meta_module): Likewise.
3474 (grub_cmd_freebsd_module): Likewise.
3475 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3476 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3477 (grub_xnu_writetree_get_size): Likewise.
3478 (grub_xnu_writetree_toheap_real): Likewise.
3479 (grub_xnu_find_key): Likewise.
3480 (grub_xnu_create_key): Likewise.
3481 (grub_xnu_create_value): Likewise.
3482 (grub_xnu_register_memory): Likewise.
3483 (grub_xnu_check_os_bundle_required): Likewise.
3484 (grub_xnu_scan_dir_for_kexts): Likewise.
3485 (grub_xnu_load_kext_from_dir): Likewise.
3486 * grub-core/normal/color.c (color_list): Likewise.
3487 * grub-core/normal/completion.c (current_word): Likewise.
3488 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3489 * grub-core/term/serial.c (grub_serial_find): Likewise.
3490 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3491 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3492 Likewise.
3493 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3494 (grub_freebsd_add_meta_module): Likewise.
3495 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3496 * include/grub/net.h (grub_net_card_driver): Likewise.
3497 (grub_net_card): Likewise.
3498 (grub_net_app_protocol): Likewise.
3499 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3500 * include/grub/serial.h (grub_serial_find): Likewise.
3501 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3502 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3503 (grub_xnu_create_value): Likewise.
3504 (grub_xnu_find_key): Likewise.
3505 (grub_xnu_scan_dir_for_kexts): Likewise.
3506 (grub_xnu_load_kext_from_dir): Likewise.
3507
3508 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3509 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3510 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3511 Moved from here ...
3512 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3513
112b4837
CW
35142011-11-28 Colin Watson <cjwatson@ubuntu.com>
3515
3516 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3517
49e891ac
VS
35182011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3521 (read_device): Fix size calculation.
3522
fd258e5c
RM
35232011-11-25 Robert Millan <rmh@gnu.org>
3524
3525 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3526 (find_root_device_from_libzfs): Add zpool output parser to be used
3527 as fallback when libzfs isn't available.
3528
78845dc2
SG
35292011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3530
3531 * po/Makefile.in.in: Add missing escape-continuation.
3532
adac5211
VS
35332011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3536
10b64f1c
VS
35372011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3540
bb416954
VS
35412011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3544
bdfe9eeb
VS
35452011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3548
581ffa8a
VS
35492011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/lib/adler32.c: Add missing license specification.
3552 * grub-core/lib/crc64.c: Likewise.
3553 * grub-core/loader/i386/pc/plan9.c: Likewise.
3554 * grub-core/partmap/plan.c: Likewise.
3555
2536cf64
LK
35562011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3557
3558 Add facility to debug GRUB with gdb under qemu.
3559
3560 * grub-core/gdb_grub.in: New file.
3561 * grub-core/gmodule.pl.in: Likewise.
3562 * grub-core/Makefile.core.def (gmodule.pl): New script.
3563 (gdb_grub): Likewise.
3564
bc108a4a
VS
35652011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * util/grub-mount.c (argp_parser): Accept relative pathes.
3568 * util/grub-fstest.c (argp_parser): Likewise.
3569
111c1778
VS
35702011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 Plan9 support.
3573
3574 * Makefile.util.def (libgrubmods): Add
3575 grub-core/partmap/plan.c.
3576 * docs/grub.texi: Notice Plan9 support.
3577 * grub-core/Makefile.core.def (plan9): New module.
3578 (part_plan): Likewise.
3579 * grub-core/loader/i386/pc/plan9.c: New file.
3580 * grub-core/partmap/plan.c: Likewise.
3581 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3582 define.
3583 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3584 * include/grub/mm.h (grub_extend_alloc): New inline function.
3585
c30be3b6
VS
35862011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 Make Reed-Solomon faster by using power of generator representation of
3589 GF(256)*.
3590
3591 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3592 (gf_double_t): Likewise.
3593 (gf_invert): Removed.
3594 (gf_powx): New array.
3595 (gf_powx_inv): Likewise.
3596 (scratch): Move higher.
3597 (gf_reduce): Removed.
3598 (gf_mul): Use powx.
3599 (gf_invert): Likewise.
3600 (init_inverts): Replaced with ...
3601 (init_powx): ...this. All users updated.
3602 (pol_evaluate): Replace multiplications with additions.
3603 (rs_encode): Likewise.
3604 (gauss_eliminate): Call gf_invert.
3605 (grub_reed_solomon_add_redundancy): Call init_powx.
3606 (grub_reed_solomon_recover): Call init_powx unconditionally.
3607
fa5aeffc
VS
36082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3611
a346b81c
VS
36122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3615 disk->partiton for safety.
3616
d89ee414
VS
36172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3620 Fix a memory leak.
3621 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3622
91ee7b6d
VS
36232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3626
91e5a33d
VS
36272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3630
9edd7be2
VS
36312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 Fix spaces handling in proc/self/mountinfo.
3634
3635 * util/getroot.c (unescape): New function.
3636 (grub_find_root_device_from_mountinfo): Use unescape.
3637
ba102053
VS
36382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 Support ZFS embedding.
3641
3642 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3643 (grub_zfs_fs): Register grub_zfs_embed.
3644
aa94b870
VS
36452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 Fix MIPS compilation.
3648
3649 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3650 * include/grub/offsets.h: Rename decompressor fields from
3651 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3652 * util/grub-mkimage.c (image_targets): Use new names.
3653
5fbdac14
VS
36542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 Defer multiboot device parsing until we're in compressed part.
3657
3658 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3659 bsd_part. setdevice has fallen into disuse.
3660 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3661 (bsd_part): Likewise.
3662 (boot_dev): New variable.
3663 (multiboot_trampoline): Don't parse multiboot device.
3664 Pass multiboot device in %edx.
3665 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3666 grub_boot_device.
3667 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3668 Likewise.
3669 * grub-core/kern/i386/pc/startup.S: Save edx.
3670 (grub_boot_drive): Removed.
3671 (grub_install_dos_part): Likewise.
3672 (grub_install_bsd_part): Likewise.
3673 (grub_boot_device): New variable.
3674 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3675 (grub_install_bsd_part): Likewise.
3676 (grub_boot_drive): Likewise.
3677 (grub_boot_device): New variable.
3678 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3679 Removed.
3680 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3681 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3682 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3683 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3684 * util/grub-install.in: Remove redundant condition.
3685
691cbb58
VS
36862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 Fix bug introduced by previous commit.
3689
3690 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3691
60240b8b
VS
36922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 Use decompressors framework on i386-pc. It increases core size
3695 by 46 bytes but improves compatibility and maintainability.
3696
3697 * grub-core/Makefile.core.def (lzma_decompress): New image.
3698 (kernel): Add i386_pc_ldflags.
3699 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3700 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3701 to real_to_prot, prot_to_real and device info.
3702 * include/grub/offsets.h: Renamed decompressor offsets.
3703 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3704 (image_target_desc): Remove raw_size and rename decompressor fields.
3705 (compress_kernel): Handle lzma.
3706 (generate_image): Handle decompressors on i386-pc.
3707
e9d3421c
VS
37082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * configure.ac: Add -fno-asynchronous-unwind-tables.
3711
2b23074a
VS
37122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 Move assembly code to C by using intwrap. It increases core size
3715 by 88 bytes but improves compatibility and maintainability.
3716
3717 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3718 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3719 ... here. Translated to C.
3720 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3721 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3722 ... here. Translated to C.
3723 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3724 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3725 ... here. Translated to C.
3726 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3727 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3728 ... here. Translated to C.
3729 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3730 * grub-core/term/i386/pc/console.c (grub_console_cls):
3731 ... here. Translated to C.
3732 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3733 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3734 ... here. Translated to C.
3735 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3736 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3737 Translated to C.
3738 * grub-core/term/i386/pc/console.c (int10_9): New function.
3739 (grub_console_putchar): Likewise.
3740 * include/grub/i386/pc/console.h: Removed the not anymore shared
3741 functions.
3742
678f4b67
VS
37432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 Move grub_chainloader_real_boot out of the kernel.
3746
3747 * grub-core/Makefile.am: Remove machine/loader.h.
3748 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3749 Removed.
3750 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3751 variable.
3752 (grub_relocator16_keep_a20_enabled): Likewise.
3753 (grub_relocator16_boot): Fill new variables.
3754 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3755 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3756 relocator.
3757 (grub_chainloader_unload): Likewise.
3758 (grub_chainloader_cmd): Likewise.
3759 * include/grub/i386/pc/loader.h: Removed.
3760 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3761 and esi. All initialisers updated.
3762
4626edf6
VS
37632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
37642011-11-12 Colin Watson <cjwatson@ubuntu.com>
3765
3766 * Makefile.util.def (grub-mount): New util.
3767 * .bzrignore: Add grub-mount.
3768 * configure.ac: Check for fuse and enable grub-mount if available.
3769 * docs/man/grub-mount.h2m: New file.
3770 * util/grub-mount.c: Likewise.
3771
10f0117b
VS
37722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/commands/efi/fixvideo.c: Gettextize.
3775 * grub-core/commands/hashsum.c: Likewise.
3776 * grub-core/commands/i386/cmostest.c: Likewise.
3777 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3778 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3779 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3780 * grub-core/commands/lsmmap.c: Likewise.
3781 * grub-core/commands/menuentry.c: Likewise.
3782 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3783 * grub-core/commands/setpci.c: Likewise.
3784 * grub-core/loader/i386/bsd.c: Likewise.
3785 * grub-core/loader/i386/linux.c: Likewise.
3786 * util/getroot.c: Likewise.
3787 * util/grub-editenv.c: Likewise.
3788 * util/grub-fstest.c: Likewise.
3789 * util/grub-mkfont.c: Likewise.
3790 * util/grub-mkimage.c: Likewise.
3791 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3792 * util/grub-pe2elf.c: Likewise.
3793 * util/grub-probe.c: Likewise.
3794 * util/grub-setup.c: Likewise.
3795 * util/ieee1275/ofpath.c: Likewise.
3796 * util/misc.c: Likewise.
3797 * util/raid.c: Likewise.
3798
566f779b
RM
37992011-11-11 Robert Millan <rmh@gnu.org>
3800
3801 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3802 __attribute__((unused)) from `os_dev', which *is* being used.
3803
b50787de
VS
38042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3807 forgotten define.
3808 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3809 GRUB_IA64_DL_GOT_ALIGN.
3810 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3811 GRUB_IA64_DL_TRAMP_ALIGN.
3812
119d11c8
VS
38132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 Replace grub_fatal with normal errors in i386 linux loader.
3816
3817 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3818 (allocate_pages): Check find_efi_mmap_size return value.
3819 (grub_e820_add_region): Return error.
3820 (grub_linux_boot): Check mmap return value.
3821
6e0632e2
VS
38222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/commands/acpihalt.c: Gettextized.
3825 * grub-core/commands/cacheinfo.c: Likewise.
3826 * grub-core/commands/cmp.c: Likewise.
3827 * grub-core/commands/efi/loadbios.c: Likewise.
3828 * grub-core/commands/gptsync.c: Likewise.
3829 * grub-core/commands/ieee1275/suspend.c: Likewise.
3830 * grub-core/commands/legacycfg.c: Likewise.
3831 * grub-core/commands/memrw.c: Likewise.
3832 * grub-core/commands/minicmd.c: Likewise.
3833 * grub-core/commands/parttool.c: Likewise.
3834 * grub-core/commands/time.c: Likewise.
3835 * grub-core/commands/videoinfo.c: Likewise.
3836 * grub-core/disk/geli.c: Likewise.
3837 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3838 * grub-core/disk/luks.c: Likewise.
3839 * grub-core/disk/lvm.c: Likewise.
3840 * grub-core/font/font_cmd.c: Likewise.
3841 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3842 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3843 * grub-core/gfxmenu/view.c: Likewise.
3844 * grub-core/kern/emu/hostdisk.c: Likewise.
3845 * grub-core/kern/emu/main.c: Likewise.
3846 * grub-core/kern/emu/misc.c: Likewise.
3847 * grub-core/kern/emu/mm.c: Likewise.
3848 * grub-core/kern/mips/arc/init.c: Likewise.
3849 * grub-core/kern/mips/loongson/init.c: Likewise.
3850 * grub-core/kern/partition.c: Likewise.
3851 * grub-core/lib/i386/halt.c: Likewise.
3852 * grub-core/lib/mips/arc/reboot.c: Likewise.
3853 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3854 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3855 * grub-core/loader/i386/xnu.c: Likewise.
3856 * grub-core/loader/multiboot.c: Likewise.
3857 * grub-core/net/bootp.c: Likewise.
3858 * grub-core/net/net.c: Likewise.
3859 * grub-core/normal/term.c: Likewise.
3860 * grub-core/partmap/bsdlabel.c: Likewise.
3861 * grub-core/parttool/msdospart.c: Likewise.
3862 * grub-core/term/gfxterm.c: Likewise.
3863 * grub-core/term/terminfo.c: Likewise.
3864 * grub-core/video/i386/pc/vbe.c: Likewise.
3865 * util/grub-menulst2cfg.c: Likewise.
3866 * util/grub-mkdevicemap.c: Likewise.
3867 * util/grub-mklayout.c: Likewise.
3868 * util/grub-mkrelpath.c: Likewise.
3869 * util/grub-script-check.c: Likewise.
3870 * util/ieee1275/grub-ofpathname.c: Likewise.
3871 * util/resolve.c: Likewise.
3872
073aa7a9
VS
38732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Support %1$d syntax.
3876
3877 * tests/printf_unit_test.c: New file.
3878 * Makefile.util.def (printf_test): New test.
3879 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3880
c76b5417
VS
38812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3884 fix.
3885
df067ad1
VS
38862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3889 dprintf.
3890 * grub-core/font/font.c (grub_font_load): Likewise.
3891
5b289bc5
VS
38922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * util/grub-macho2img.c: Add comment concerning gettext.
3895 * grub-core/lib/legacy_parse.c: Likewise.
3896
c1860f87
VS
38972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3900 (grub_xvasprintf): Likewise.
3901
d35d0d37
VS
39022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 Add const keyword to grub_env_get and gettextize week days.
3905
3906 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3907 (grub_read_hook_datetime): Return const char *.
3908 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3909 updated.
3910 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3911 Mark for gettext.
3912 (grub_get_weekday_name): Return const char *. Call gettext.
3913 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3914 char * and len as the argument. All users updated.
3915 (grub_script_argv_split_append): Receive const char *.
3916 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3917 * include/grub/env.h (grub_env_get): Likewise.
3918 (grub_env_read_hook_t): Return const char *.
3919 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3920 (grub_script_argv_split_append): Likewise.
3921
9aed8a71
VS
39222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3925
067fdf00
VS
39262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3929 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3930
a8bd9d39
VS
39312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3934 Fix prototype.
3935
f7ce5baf
VS
39362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 Fix mips compilation.
3939
3940 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3941 normal decoder.
3942 (hashes): Use in embed decoder as well (for sizes).
3943 (dec_stream_header): Fix embed decompressor logic.
3944 (dec_stream_footer): Likewise.
3945
9bb182f3
VS
39462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3949 an error and not a fatal on unrecognised relocation types.
3950
63a9e6f6
VS
39512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3954 Issue error rather than printf on unknown arguments.
3955
4c458569
VS
39562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3959 Make buf a const.
3960
e2d22baf
VS
39612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3964 Fix module name.
3965
53dc8590
VS
39662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3969 leftover debug printf.
3970
6c189294
VS
39712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3974
f7688369
VS
39752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3978 A stylistic fix.
3979
11a775a3
VS
39802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3983
33f784e8
SL
39842011-11-10 Shea Levy <slevy@tieronedesign.com>
3985
3986 Allow all modules to perform serial IO
3987
3988 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3989 * include/grub/serial.h (grub_serial_port_configure): New inline
3990 function.
3991 (grub_serial_port_fetch): Likewise.
3992 (grub_serial_port_put): Likewise.
3993 (grub_serial_port_fini): Likewise.
3994 (grub_serial_find): New proto.
3995
f6276525
VS
39962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 Put symlink at the end of the node and fix a potential
3999 memory corruption.
4000
4001 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
4002 Make symlink into an array.
4003 (set_rockridge): Set have_symlink and alloc_dirents.
4004 (grub_iso9660_read_symlink): Use new layout.
4005 (grub_iso9660_iterate_dir): Fix memory corruption.
4006 Use new layout.
4007 (grub_iso9660_dir): Set have_symlink.
4008 (grub_iso9660_open): Likewise.
4009
c3591189
VS
40102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 Remove local keyword.
4013
4014 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
4015 (version_test_gt): Likewise.
4016 (version_find_latest): Likewise.
4017 (gettext_printf): Likewise.
4018 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
4019
cb544caa
VS
40202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
4023
45bd824d
VS
40242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 Fix ZFS memory and resource leaks.
4027
4028 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
4029 All users updated.
4030 Free type on exit.
4031 (fill_vdev_info): New parameter inserted. All users updated.
4032 (check_pool_label): Likewise.
4033 (scan_disk): Likewise.
4034 (scan_devices): Close non-inserted disks.
4035 (fzap_iterate): Free l.
4036 (unmount_device): Free children descripto memory.
4037
ad9a2f44
VS
40382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
4041 argument (access out of bounds).
4042
6b68db81
VS
40432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
4046 >= 6 drives.
4047
28840fda
VS
40482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
4051 Fix declaration.
4052
8a5a3a5b
VS
40532011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 Fix several memory leaks.
4056
4057 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
4058 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
4059 (grub_cpio_dir): Likewise.
4060 * grub-core/fs/fat.c (grub_fat_label): Likewise.
4061 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
4062 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
4063 (grub_romfs_label): Likewise.
4064 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
4065 (squash_unmount): New function.
4066 (grub_squash_dir): Fix memory leak.
4067 (grub_squash_open): Likewise.
4068 (grub_squash_read): Likewise.
4069 (grub_squash_mtime): Likewise.
4070 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
4071 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
4072 * util/grub-fstest.c (fstest): Likewise.
4073
57b01250
VS
40742011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
4077 avoid accessing beyond the array.
4078
19e81ba7
VS
40792011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
4082
52b656c0
VS
40832011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Several AFFS fixes.
4086
4087 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
4088 (GRUB_AFFS_FLAG_FFS): Removed.
4089 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
4090 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
4091 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
4092 (grub_fshelp_node): Make block 32-bit.
4093 Add block_cache and last_block_cache.
4094 (grub_affs_read_block): Fill and use block cache.
4095 (grub_affs_read_file): Removed.
4096 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
4097 boot block.
4098 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
4099 safety.
4100 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
4101 space.
4102 (grub_affs_close): Free block cache.
4103 (grub_affs_read): Use grub_fshelp_read_file directly.
4104
438a746a
VS
41052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
4108 with no error set.
4109
49a45021
VS
41102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
4113 used variable.
4114 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4115 Likewise.
4116
3ae17eb8
VS
41172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4120
4121 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4122 byteswap when needed.
4123
27610c38
VS
41242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 Fix FreeBSD compilation.
4127
4128 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4129 to avoid circular dependency.
4130 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4131 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4132 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4133
4a19b601
VS
41342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 Fix ZFS crypto error types.
4137
4138 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4139 (grub_gcm_decrypt): Likewise.
4140 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4141 from PBKDF2.
4142
958ee221
VS
41432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 Illumos support.
4146
4147 * Makefile.util.def (10_illumos): New script.
4148 * configure.ac: Set COND_HOST_ILLUMOS.
4149 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4150 Support Illumos calls.
4151 (find_partition_start) [__sun__]: Likewise.
4152 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4153 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4154 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4155 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4156 device.
4157 * util/grub-probe.c (probe) [__sun__]: Do character check.
4158 * util/grub.d/10_illumos.in: New file.
4159
cac14fb6
VS
41602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 Support escaped commas in hostdisk.
4163
4164 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4165 (find_grub_drive): Use unescape_cmp.
4166 (make_device_name): Escape commas.
4167
78e08dc3
VS
41682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4171
9f421dd1
VS
41722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4175 variable.
4176
ed64e9e2
VS
41772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 Support trampoline jumps on powerpc.
4180
4181 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4182 __ia64__ path.
4183 (grub_dl_load_segments): Set mod->sz.
4184 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4185 segments.
4186 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4187 (jump): Likewise.
4188 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4189 function.
4190 (trampoline): New struct.
4191 (trampoline_template): New const.
4192 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4193 * include/grub/dl.h (grub_dl): Add sz element.
4194 [__powerpc__]: Follow __ia64__.
4195 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4196 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4197 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4198 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4199
3084ede4
VS
42002011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 ZFS crypto support.
4203
4204 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4205 * grub-core/Makefile.core.def (zfscrypt): New module.
4206 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4207 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4208 it. All users updated.
4209 (grub_zfs_decrypt): New var.
4210 (grub_zfs_load_key): Likewise.
4211 (zio_checksum_functions): Add SHA256+MAC.
4212 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4213 (zio_read): Handle encrypted blocks.
4214 (zap_verify): Remove incorrect check.
4215 (fzap_iterate): Handle non-standard fzap.
4216 (zap_iterate): Likewise.
4217 (zap_iterate_u64): New function.
4218 (dnode_get_fullpath): Load keys.
4219 * grub-core/fs/zfs/zfscrypt.c: New file.
4220 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4221 (grub_crypto_ecb_encrypt): Make input const.
4222 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4223 (grub_crypto_ecb_encrypt): Make input const.
4224 (GRUB_CIPHER_AES): New macro.
4225 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4226 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4227 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4228 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4229 prefix. All users updated.
4230 (grub_zfs_add_key): New proto.
4231 (grub_zfs_decrypt): Likewise.
4232 (grub_zfs_load_key): Likewise.
4233 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4234 * util/grub-fstest.c (options): Add -K option.
4235 (argp_parser): Likewise.
4236
b632b404
VS
42372011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 Support zle compression on ZFS.
4240
4241 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4242 (decomp_table): Add zle.
4243 * include/grub/zfs/zio.h (zio_compress): Add zle.
4244
c7ba4f69
VS
42452011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 Support BtrFS embedding.
4248
4249 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4250 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4251 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4252 * util/grub-setup.c (setup): Use fs embedding if available.
4253 Add additional sanity check.
4254
455377d9
VS
42552011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * util/grub-install.in: Fix condition for config_opt.
4258
c2fd16ca
VS
42592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 Support third redundancy strip on raidz3.
4262
4263 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4264 Return error on singularity. All users updated.
4265 (read_device): Don't stop on 3rd failure on raidz3.
4266
8622923b
VS
42672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 Support case-insensitive ZFS subvolumes.
4270
4271 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4272 All users updated.
4273 (zap_hash): Likewise.
4274 (name_cmp): New function.
4275 (zap_leaf_array_equal): New parameter case_insensitive.
4276 All users updated.
4277 (zap_leaf_lookup): Likewise.
4278 (fzap_lookup): Likewise.
4279 (zap_lookup): Likewise.
4280 (dnode_get_path): New parameter case_insensitive. Retrieve case
4281 sensitiviness of a volume. All users updated.
4282 (dnode_get_fullpath): New parameter case_insensitive.
4283 All users updated.
4284 (grub_zfs_dir): Set info.case_insensitiveness.
4285
95f2e860
VS
42862011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 Support second redundancy strip on raidz(2,3).
4289
4290 * grub-core/fs/zfs/zfs.c (powx): New array.
4291 (powx_inv): Likewise.
4292 (poly): New const.
4293 (xor_out): New function.
4294 (gf_mul): Likewise.
4295 (recovery): Likewise.
4296 (read_device): Use second redundancy strip.
4297
11ee4389
VS
42982011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 Use a power of generator representation of GF(256) multiplication group
4301 to save space time and complexity.
4302
4303 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4304 (raid6_table2): Likewise.
4305 (powx): New array.
4306 (powx_inv): Likewise.
4307 (poly): New const.
4308 (grub_raid_block_mul): Replace with ...
4309 (grub_raid_block_mulx): ...this.
4310 (grub_raid6_init_table): Rewritten.
4311 (grub_raid6_recover): Use power of generator representation.
4312
09e2763f
VS
43132011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4316 for the right device.
4317
8bec9a28
VS
43182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4321 expected by grub-mkimage and it's more clear since there is no implicit
4322 padding.
4323
dbd3a32e
VS
43242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4327 disk.
4328 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4329
182c872a
PMH
43302011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4331
4332 * util/grub-mkrescue.in: Fix handling xorriso option.
4333
1e51cabd
VS
43342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4337 NULL.
4338
9cc3581d 43392011-11-03 crocket <crockabiscuit@gmail.com>
4340
4341 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4342
158dc1ea
VS
43432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 XZ CRC64 and SHA256 support.
4346
4347 * Makefile.util.def (libgrubmods): Add crc64.c.
4348 * grub-core/Makefile.core.def (crc64): New module.
4349 * grub-core/lib/crc64.c: New file.
4350 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4351 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4352 Fix the type.
4353 (MAX_HASH_SIZE): New define.
4354 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4355 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4356 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4357 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4358 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4359 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4360 Handle non-crc32 hashes.
4361 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4362 (dec_stream_header): Handle non-crc32 hashes.
4363 (dec_stream_footer): Likewise.
4364 (dec_block_header): Likewise.
4365 (dec_main): Likewise.
4366 (xz_dec_init): Likewise.
4367 (xz_dec_reset): Likewise.
4368 (xz_dec_end): Likewise.
4369 * util/import_gcry.py: Add CRC64 line.
4370
9d9b3d2f
VS
43712011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4374 as well.
4375
7d0ac931
VS
43762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 Make reiserfs label retrieval similar to other *_label functions.
4379
4380 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4381 (REISERFS_MAX_LABEL_LENGTH): Removed.
4382 (REISERFS_LABEL_OFFSET): Likewise.
4383 (grub_reiserfs_label): Rewritten.
4384
43852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4388 field.
4389
cf5ba824
VS
43902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4393
17744004
VS
43942011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4397 drive failure on both raidz and raidz2.
4398
aca5aefc
VS
43992011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 Fix RAIDZ(2) for >= 5 devices.
4402
4403 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4404 asize argument. All users updated.
4405
ce8ca56e
VS
44062011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 Fix RAIDZ(2).
4409
4410 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4411 (fill_vdev_info_real): Set ashift.
4412 (read_device): Rewrite RAIDZ part based on reverse engineering.
4413
7c01e783
VS
44142011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4417 don't report potentially unavialiable fields in debug output.
4418 (find_path): Fix double-free and memory leak.
4419
ce109e84
VS
44202011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 Read label on UFS1.
4423
4424 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4425 (grub_ufs_fs): Always set .label.
4426
87661123
VS
44272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 Use shifts in UFS.
4430
4431 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4432 (grub_ufs_data): New field log2_blksz.
4433 (grub_ufs_read_file): Use shifts.
4434 (grub_ufs_mount): Check block size and logarithm it.
4435
46bc1dc2
VS
44362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4439 long symlinks.
4440
19ee2987
VS
44412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 Handle symlinks and long names on tar and cpio.
4444
4445 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4446 (ATTR_FILE): Likewise.
4447 (ATTR_DIR): Likewise.
4448 (ATTR_LNK): Likewise.
4449 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4450 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4451 L and K entries.
4452 (grub_cpio_mount): Zero-fill data.
4453 (handle_symlink): New function.
46bc1dc2
VS
4454 (grub_cpio_dir): Handle symlinks.
4455 (grub_cpio_open): Likewise.
4456 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 4457
c83a08d8
VS
44582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 Fix iso9660 filename limitations and fix memory leaks.
4461
4462 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4463 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4464
45cdd3ea
VS
44652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 Fix JFS file name length limitations.
4468
4469 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4470 (grub_jfs_diropen): Fix maximum filename length.
4471 (grub_jfs_getent): Fix filename length.
4472 (grub_jfs_lookup_symlink): Fix size checks.
4473
94ef05c2
VS
44742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4477 string.
4478
785ab8c7
VS
44792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4480
eb0b6b45
VS
4481 Leverage BFS implementation to read AFS.
4482
4483 * Makefile.util.def (libgrubmods): Add afs.c.
4484 * grub-core/Makefile.core.def (afs): New module
4485 * grub-core/fs/afs.c: New file.
4486 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4487
44882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 4491
c4a1628f
VS
44922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/fs/bfs.c: Run indent.
4495
5825b379
VS
44962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 BFS implementation based on the specification.
4499
4500 * grub-core/fs/bfs.c: New file.
4501 * Makefile.util.def (libgrubmods): Add bfs.c.
4502 * grub-core/Makefile.core.def (bfs): New module.
4503
42b2a706
VS
45042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * util/grub-fstest.c (cmd_cp): Clarify error message.
4507 (cmd_cmp): Likewise.
4508
61b99bfc
YB
45092011-10-30 Yves Blusseau <blusseau@zetam.org>
4510
4511 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4512 and befs_be.
4513
faba3d16
VS
45142011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 Remove afs and befs because of copyright problem.
4517
4518 * grub-core/fs/afs.c: Removed.
4519 * grub-core/fs/afs_be.c: Removed.
4520 * grub-core/fs/befs.c: Removed.
4521 * grub-core/fs/befs_be.c: Removed.
4522 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4523 * grub-core/Makefile.core.def (afs): Removed.
4524 (afs_be): Likewise.
4525 (befs): Likewise.
4526 (befs_be): Likewise.
4527
c39224b0
VS
45282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 Prefer rockridge over Joliet.
4531
4532 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4533 to ...
4534 (set_rockridge): ... here.
4535 (grub_iso9660_mount): Check rockridge on the primary label when
4536 discovering. Ignore Joliet if Rockridge is present.
4537
e551115a
VS
45382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 Use shifts in nilfs2.
4541
4542 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4543 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4544 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4545 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4546 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4547 (grub_nilfs2_entries_per_block): Replaced with ...
4548 (grub_nilfs2_log_entries_per_block_log): ... this.
4549 (grub_nilfs2_blocks_per_group): Replaced with ...
4550 (grub_nilfs2_blocks_per_group_log): ... this.
4551 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4552 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4553 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4554 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4555 (grub_nilfs2_palloc_entry_offset): Replaced ...
4556 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4557 (grub_nilfs2_dat_translate): Use shifts.
4558 (grub_nilfs2_read_inode): Likewise.
4559 (GRUB_MOD_INIT): Ensure that logs are correct.
4560
564dd58c
VS
45612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 Use shifts in minix filesystem.
4564
4565 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4566 (GRUB_MINIX_ZONE2SECT): Likewise.
4567 (grub_minix_data): Replace block_size with log_block_size.
4568 (grub_minix_read_file): Use shifts.
4569 (grub_minix_mount): Check block size and take a logarithm.
4570
ed9ba06d
VS
45712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 Use shifts in squash4.
4574
4575 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4576 (squash_mount): Check block size and take logarithm.
4577 (direct_read): Use shifts.
4578
ad03fe76
VS
45792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 Correct befs block counting logic.
4582
4583 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4584 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4585 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4586 (grub_afs_read_inode): Use block_shift.
4587 (RANGE_SHIFT): New definition.
4588 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4589 unexpected conditions, use shifts and appropriate types.
4590 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4591
6563f63d
VS
45922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * grub-core/disk/raid.c (scan_devices): Check partition.
4595 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4596
5b1ae25f
VS
45972011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 Support BFS (befs) UUID.
4600
4601 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4602 (grub_afs_small_data_element_header): New struct.
4603 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4604 (grub_afs_read_attribute) [MODE_BFS]: New function.
4605 (grub_afs_iterate_dir): Allocate for complete inode.
4606 (grub_afs_mount): Likewise.
4607 (grub_afs_uuid) [MODE_BFS]: New function.
4608 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4609
f8d82408
VS
46102011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4613 (zfs_unmount): Fix memory leak.
4614
5773fb64
VS
46152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 Support NTFS reparse points.
4618
4619 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4620 (symlink_descriptor): New struct.
4621 (grub_ntfs_read_symlink): New function.
4622 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4623 (grub_ntfs_open): Likewise.
4624
91c3fdde
VS
46252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4628
3be82e10
VS
46292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 fstest xnu_uuid subcommand.
4632
4633 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4634 grub-core/commands/xnu_uuid.c.
4635 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4636 (fstest): Handle xnu_uuid.
4637 (options): Document xnu_uuid.
4638 (argp_parser): Parse xnu_uuid.
4639
8e32442e
VS
46402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4643 -l argument. Add newline at the end if printing.
4644 (GRUB_MOD_INIT): Document -l.
4645
52a05075
VS
46462011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4649
1869edb5
VS
46502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 ZFS multi-device and version 33 support.
4653
4654 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4655 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4656 (grub_zfs_data): Add multidev-ice-related fields.
4657 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4658 (dva_get_offset): Make dva const.
4659 (zfs_fetch_nvlist): New function.
4660 (fill_vdev_info_real): Likewise.
4661 (fill_vdev_info): Likewise.
4662 (check_pool_label): Likewise.
4663 (scan_disk): Likewise.
4664 (scan_devices): Likewise.
4665 (read_device): Likewise.
4666 (read_dva): Likewise.
4667 (zio_read_gang): Use read_dva.
4668 (zio_read_data): Likewise.
4669 (zap_leaf_lookup): Add missing endian conversion.
4670 (zap_verify): Add missing endian conversion. All users updated.
4671 (fzap_lookup): Likewise.
4672 (fzap_iterate): Likewise.
4673 (dnode_get_path): Handle SA bonus.
4674 (nvlist_find_value): Make input const. All users updated.
4675 (unmount_device): New function.
4676 (zfs_unmount): Use unmount_device.
4677 (zfs_mount): Use scan_disk.
4678 (zfs_mtime): New function.
4679 (grub_zfs_open): Handle system attributes.
4680 (fill_fs_info): Likewise.
4681 (grub_zfs_dir): Likewise.
4682 (grub_zfs_fs): Add mtime.
4683 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4684 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4685 (SA_MTIME_OFFSET): Likewise.
4686 (SA_SYMLINK_OFFSET): Likewise.
4687 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4688 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4689 (fstest): Support zfsinfo.
4690 (argp_parser): Likewise.
4691
186b4028
VS
46922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4695 error.
4696
46972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
4698
4699 ZFS fixes.
4700
4701 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4702 sharing the same block. Iterate over correct number of indices.
4703 (dnode_get_path): Handle symlinks correctly.
4704
c0584900
VS
47052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4708
67e2bd71
VS
47092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 Read label on HFS+.
4712
4713 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4714 (grub_hfsplus_btree_search): Fix types.
4715 (grub_hfsplus_label): Implement.
4716
e9cc6b7b
VS
47172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4720
19832ddb
VS
47212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4724
66b40850
VS
47252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 Fix symlink handling on iso9660.
4728
4729 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4730 All users updated.
4731 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4732 (grub_iso9660_read_symlink): Moved most of code ...
4733 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4734
db821363
VS
47352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4738 Use union to avoid breaking strict-aliasing rules.
4739
e1211949
VS
47402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Support multi-extent iso files.
4743
4744 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4745 Add node.
4746 (grub_fshelp_node): Revamp. All users updated.
4747 (FLAG_*): New enum.
4748 (read_node): New function.
4749 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4750 All users updated.
4751 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4752 (get_node_size): New function.
4753 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4754 entries.
4755 Fix memory leak on . and ..
4756 (grub_iso9660_read): Use read_node.
4757 (grub_iso9660_close): Free node.
4758
d4888031
VS
47592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 Fix tar 4G limit and handle paths containing dot.
4762
4763 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4764 (canonicalize): New function.
4765 (grub_cpio_find_file): Use canonicalize. Store offs in
4766 grub_disk_addr_t.
4767 (grub_cpio_dir): Use grub_disk_addr_t.
4768 (grub_cpio_open): Likewise.
4769
9f12e664
VS
47702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4773
4774 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4775 unused flags.
4776 (grub_squash_inode): Add long_file and block_size.
4777 (grub_squash_cache_inode): New struct.
4778 (grub_squash_dirent): Make types into enum.
4779 (SQUASH_TYPE_LONG_REGULAR): New type.
4780 (grub_squash_frag_desc): Add field size.
4781 (SQUASH_BLOCK_FLAGS): New enum.
4782 (grub_squash_data): Use grub_squash_cache_inode.
4783 (grub_fshelp_node): Make ino_chunk 64-bit.
4784 (read_chunk): Minor argument change. All users updated.
4785 (squash_mount): Use correct le_to_cpu.
4786 (grub_squash_open): Handle LONG_REGULAR.
4787 (direct_read): New function.
4788 (grub_squash_read_data): Handle blocks correctly.
4789
9f326fba
VS
47902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4793
f4d9b64b
VS
47942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4797
5bbd28b8
VS
47982011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 Fix 2G limit on ZFS.
4801
4802 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4803 types.
4804 (uberblock_verify): Likewise.
4805 (dmu_read): Likewise.
4806 (grub_zfs_read): Likewise. Remove invalid cast.
4807
68c72069
VS
48082011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4811 (grub_jfs_blkno): Fix incorrect shift.
4812 (grub_jfs_read_file): Use more appropriate types.
4813
6e536dc8
VS
48142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 Support triple indirect on minix2 and minix3.
4817
4818 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4819 Declare triple_indir_zone.
4820 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4821 indirect.
4822
e0864e7a
VS
48232011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 Minix FS fixes.
4826
4827 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4828 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4829 Rename ctime to mtime. All users updated.
4830 (grub_minix_get_file_block): Fix types and double indirect computations.
4831
89481cab
VS
48322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4835 if no label is found.
4836 (grub_fat_iterate_dir): Fix file size type.
4837 (grub_fat_iterate_dir): Likewise.
4838
f646e143
VS
48392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4842 save some space.
4843 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4844 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4845
534d769e
VS
48462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4849
e084ba18
VS
48502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * util/import_gcry.py: Accept space between # and include.
4853
3471ecdf
VS
48542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4857
124df5f6
VS
48582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4861
4862 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4863 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4864 yylex_strncpy.
4865 * grub-core/script/yylex.l: Add fine-grained #pragma.
4866
4defb8d5
VS
48672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4870 New inline function.
4871 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4872 Likewise.
4873 (memset) [GRUB_UTIL]: Likewise.
4874 (memcmp) [GRUB_UTIL]: Likewise.
4875
4e94ae65
VS
48762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4879 inline function rather than a define.
4880
18c575e5
VS
48812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * util/grub-setup.c: Add missing include.
4884
f8bc22a8
VS
48852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * util/ieee1275/grub-ofpathname.c: Add missing include.
4888
3ce69fc9
VS
48892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4892 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4893 Likewise.
4894
d1e293bb
VS
48952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4898 grub_memcmp usage.
4899
7a5c54a4
VS
49002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * util/grub-install.in: Add datarootdir as per automake manual
4903 suggestion.
4904 * util/grub-mknetdir.in: Likewise.
4905
49062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
4907
4908 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4909 suggestion.
4910 * util/grub.d/10_kfreebsd.in: Likewise.
4911 * util/grub.d/10_linux.in: Likewise.
4912 * util/grub.d/10_netbsd.in: Likewise.
4913 * util/grub.d/10_windows.in: Likewise.
4914 * util/grub.d/20_linux_xen.in: Likewise.
4915
766f7d08
VS
49162011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Remove redundant grub_kernel_image_size.
4919
4920 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4921 _edata and _start.
4922 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4923 the small code. It moves it only by few bytes but simplifies the code.
4924 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4925 _start.
4926 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4927 (grub_kernel_image_size): Removed.
4928 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4929 (grub_kernel_image_size): Removed.
4930 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4931 compiled with Apple toolchain.
4932 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4933 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4934 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4935 (grub_total_module_size): Likewise.
4936 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4937 Removed.
4938 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4939 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4940 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4941 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4942 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4943 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4944 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4945 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4946 Removed.
4947 (grub_total_module_size): Removed.
4948 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4949 (image_targets): Likewise.
4950 Set .compressed_size to no field on sparc.
4951 (generate_image): Remove kernel_image_size handling.
4952
fcf1d672
SJ
49532011-10-19 Szymon Janc <szymon@janc.net.pl>
4954
4955 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4956 NULL pointer dereference.
4957
de9c615e
VS
49582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4961 done with a dedicated section.
4962
4963 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4964 Ensure the correct position of boot_path.
4965 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4966 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4967 other fields.
4968 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4969 * include/grub/boot.h: Removed. All references removed.
4970 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4971 Removed.
4972 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4973
e55599dc
VS
49742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4977 name.
4978
36dd20ad
VS
49792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4982
f8f72eb8
VS
49832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4986 Don't add the bogus brackets.
4987
a374751b
VS
49882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 ExFAT support.
4991
4992 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4993 * grub-core/Makefile.core.def (exfat): New module.
4994 * grub-core/fs/exfat.c: New file.
4995 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4996 (GRUB_FAT_ATTR_*): Make into an enum.
4997 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4998 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4999 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
5000 (GRUB_FAT_MAXFILE): Removed.
5001 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
5002 (grub_current_fat_bpb_t): New type.
5003 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
5004 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
5005 (grub_fat_dir_node_t): New type.
5006 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
5007 (fat_log2) [MODE_EXFAT]: Removed.
5008 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
5009 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
5010 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
5011 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
5012 (grub_fat_label) [MODE_EXFAT]: New function.
5013 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
5014 reserved_first_sector to 0.
5015
544c2487
VS
50162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 Move grub_reboot out of the kernel.
5019
5020 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
5021 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
5022 * grub-core/lib/efi/reboot.c: ... here.
5023 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
5024 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5025 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
5026 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
5027 * grub-core/lib/i386/reboot_trampoline.S: ... here.
5028 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
5029 * grub-core/lib/ieee1275/reboot.c: ... here.
5030 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
5031 * grub-core/lib/mips/arc/reboot.c: ... here.
5032 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
5033 * grub-core/lib/mips/loongson/reboot.c: ...here.
5034 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
5035 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
5036 * include/grub/emu/misc.h (grub_reboot): New function declaration.
5037 * include/grub/i386/reboot.h: New file.
5038 * include/grub/mips/loongson/ec.h: Fix includes.
5039 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
5040 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
5041 * grub-core/lib/i386/reboot.c: New file.
5042
a97501d2
VS
50432011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 Make grub_prefix into module to fix the arbitrary limit and save
5046 some space.
5047
5048 * grub-core/kern/emu/main.c (grub_prefix): Removed.
5049 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
5050 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
5051 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
5052 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
5053 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
5054 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
5055 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
5056 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5057 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
5058 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
5059 * include/grub/ia64/efi/kernel.h: Removed.
5060 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
5061 (grub_prefix): Removed.
5062 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
5063 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
5064 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
5065 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
5066 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
5067 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
5068 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
5069 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
5070 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
5071 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
5072 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5073 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5074 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5075 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5076 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
5077 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
5078 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
5079 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5080 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
5081 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
5082 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
5083 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
5084 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
5085 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
5086 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
5087 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
5088 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
5089 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
5090 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
5091 from module.
5092 * util/grub-mkimage.c (image_target_desc): Removed prefix and
5093 prefix_end.
5094 (image_targets): Likewise.
5095 (generate_image): Put prefix as a module.
5096
39705fad
VS
50972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 Replace grub_module_iterate with FOR_MODULES.
5100
5101 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
5102 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
5103 (grub_efi_modules_addr): ...this.
5104 * grub-core/kern/efi/init.c (grub_modbase): New variable.
5105 (grub_efi_init): Set grub_modbase.
5106 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
5107 (grub_modbase): New variable.
5108 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
5109 (grub_modbase): New variable.
5110 (grub_machine_init): Set grub_modbase.
5111 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
5112 (grub_modbase): New variable.
5113 (grub_machine_init): Set grub_modbase.
5114 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
5115 (grub_modbase): New variable.
5116 (grub_machine_init): Set grub_modbase.
5117 * grub-core/kern/main.c (grub_module_iterate): Remove.
5118 (grub_modules_get_end): Use grub_modbase.
5119 (grub_load_modules): Use FOR_MODULES.
5120 (grub_load_config): Likewise.
5121 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5122 (grub_modbase): New variable.
5123 (grub_machine_init): Set grub_modbase.
5124 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5125 (grub_modbase): New variable.
5126 (grub_machine_init): Set grub_modbase.
5127 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5128 Removed.
5129 (grub_modbase): New variable.
5130 (grub_machine_init): Set grub_modbase.
5131 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5132 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5133 (grub_module_iterate): Likewise.
5134 (grub_modbase): New variable declaration.
5135 (FOR_MODULES): New macro.
5136
2afb7f6c
VS
51372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5140 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5141
366e34fa
VS
51422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 Fix few obvious type discrepancies.
5145
5146 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5147 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5148 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5149 variable.
5150 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5151 and connected types.
5152 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5153 offset.
5154 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5155 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5156 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5157 and connected types.
5158
177b960e
VS
51592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 Fix python 3.x incompatibilities.
5162
5163 * gentpl.py: Put brackets around print strings.
5164 * util/import_gcry.py: Open explicitly as utf-8.
5165 Use in instead of has_key.
5166
3b619ae1
VS
51672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5170 (GRUB_XFS_INO_AGBITS): Make into inline function.
5171 (GRUB_XFS_INO_INOINAG): Likewise.
5172 (GRUB_XFS_INO_AG): Likewise.
5173 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5174 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5175 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5176 (GRUB_XFS_EXTENT_SIZE): Likewise.
5177 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5178 (GRUB_XFS_NEXT_DIRENT): Likewise.
5179 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5180 (grub_xfs_read_file): Fix offset type.
5181
8bcebcb8
RM
51822011-10-15 Robert Millan <rmh@gnu.org>
5183
5184 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5185
0017e5ef
RM
51862011-10-15 Robert Millan <rmh@gnu.org>
5187
5188 Fix build problem on FreeBSD and GNU/kFreeBSD.
5189
5190 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5191
d8919552
VS
51922011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5195
5196 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5197 types.
5198 (grub_hfsplus_btree_recoffset): Likewise.
5199 (grub_hfsplus_btree_recptr): Likewise.
5200 (grub_hfsplus_find_block): Likewise.
5201 (grub_hfsplus_btree_search): Likewise.
5202 (grub_hfsplus_read_block): Likewise.
5203 (grub_hfsplus_read_file): Likewise.
5204 (grub_hfsplus_mount): Likewise.
5205 (grub_hfsplus_btree_iterate_node): Likewise.
5206 (grub_hfsplus_btree_search): Likewise.
5207 (grub_hfsplus_iterate_dir): Likewise.
5208 (grub_hfsplus_read): A small code simplification.
5209
c81296b6
VS
52102011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/kern/emu/hostdisk.c
5213 (convert_system_partition_to_system_disk): Don't assume that children
5214 of mapper nodes are mapper nodes.
5215
0eb8ffb1
VS
52162011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5219 * include/grub/misc.h (grub_isxdigit): New function.
5220 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5221 switched to grub_isxdigit.
5222 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5223 number starting with a letter.
5224
a98f4a08
RM
52252011-10-09 Robert Millan <rmh@gnu.org>
5226
5227 LVM support for FreeBSD and GNU/kFreeBSD.
5228
5229 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5230 GNU/kFreeBSD.
5231 (LVM_DEV_MAPPER_STRING): Move from here ...
5232 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5233 * util/getroot.c: Include `<grub/util/lvm.h>'.
5234 (grub_util_get_dev_abstraction): Enable
5235 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5236 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5237 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5238 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5239 support it.
5240 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5241 GNU/kFreeBSD.
5242 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5243 when LVM abstraction is required for ${GRUB_DEVICE}.
5244
050e8e90
SJ
52452011-10-06 Szymon Janc <szymon@janc.net.pl>
5246
5247 Add support for LZO compression in GRUB:
5248 - import of minilzo library,
5249 - LZO decompression for btrfs,
5250 - lzop files decompression.
5251
5252 * grub-core/io/lzopio.c: New file.
5253 * grub-core/lib/adler32.c: Likewise.
5254 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5255 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5256 * grub-core/lib/minilzo/minilzo.c: Likewise.
5257 * grub-core/lib/minilzo/minilzo.h: Likewise.
5258 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5259 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5260 grub-core/lib/minilzo/minilzo.c to common.
5261 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5262 cflags in cppflags.
5263 * grub-core/Makefile.core.def (btrfs): Likewise.
5264 * grub-core/Makefile.core.def (lzopio): New module.
5265 (adler32): Likewise.
5266 * grub-core/fs/btrfs.c: Include minilzo.h.
5267 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5268 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5269 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5270 (grub_btrfs_lzo_decompress): New function.
5271 (grub_btrfs_extent_read): Add support for LZO compression type.
5272 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5273 (GRUB_USHRT_MAX): Likewise.
5274 (GRUB_UINT_MAX): Likewise.
5275 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5276 (UINT_MAX): Likewise.
5277 (CHAR_BIT): Likewise.
5278 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5279 grub-core/lib/posix_wrap/limits.h
5280 (UCHAR_MAX): Likewise.
5281 * include/grub/file.h (grub_file_filter_id): New compression filter
5282 GRUB_FILE_FILTER_LZOPIO.
5283 * include/grub/file.h (grub_file_filter_id): Set
5284 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5285 * include/grub/types.h (grub_get_unaligned16): New function.
5286 (grub_get_unaligned32): Likewise.
5287 (grub_get_unaligned64): Likewise.
5288 * util/import_gcry.py (cryptolist): Add adler32.
5289
0eb8ffb1
VS
52902011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5293 in perspective decreases the complexity of build system and fixes
5294 compilation right now.
5295
ce79cc99 52962011-10-01 Ales Nesrsta <starous@volny.cz>
5297
5298 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5299 (fixed problem related to using UHCI with coreboot).
5300
8667a314
BC
53012011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5302
5303 * gentpl.py: Use Autogen macros so that the output template file
5304 (Makefile.tpl) size is reduced.
5305
fc5efcc0
MK
53062011-09-29 Mads Kiilerich <mads@kiilerich.com>
5307
5308 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5309 extra_dist.
5310
d1ab689d
ML
53112011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5312
5313 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5314 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5315
c05de032
ML
53162011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5317
5318 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5319 _fullpath.
5320
cca7ccd8
ML
53212011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5322
5323 Remove extra declaration of sleep for mingw32.
5324
5325 * util/misc.c (sleep) [__MINGW32__]: Removed.
5326 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5327
e0b0dc83
GS
53282011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5329
5330 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5331 type and packname.
5332 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5333 Resurrected.
5334 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5335 (grub_netbsd_btinfo_bootwedge): New struct.
5336 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5337 New function.
5338 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5339
91a1a164
TH
53402011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5341
5342 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5343 loader.
5344
2ded951e
AB
53452011-09-28 Andreas Born <futur.andy@googlemail.com>
5346
5347 Fix incorrect identifiers in bash-completion.
5348
5349 * util/bash-completion.d/grub-completion.bash.in
5350 (_grub_mkpasswd-pbkdf2): Rename to ...
5351 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5352 (_grub_script-check): Rename to ...
5353 (_grub_script_check): ... this. All users updated.
5354
69915030
VS
53552011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5358 Return 0 if disk isn't biosdisk.
5359
20fd15f9
GS
53602011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5361
5362 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5363 on NetBSD.
5364 * Makefile.util.def (grub-fstest): Likewise.
5365
1a7d7db9
GS
53662011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5367
5368 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5369 Get sector size from disk label.
5370
2221ab6c
CW
53712011-09-05 Colin Watson <cjwatson@ubuntu.com>
5372
5373 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5374 */README* as well as README*.
5375 Reported by: Axel Beckert.
5376
ca51c4a0
VS
53772011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5380 case of less than 256 MiB of RAM.
5381
ab80f326
VS
53822011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/commands/wildcard.c (make_regex): Handle @.
5385
4155e697
VS
53862011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5389
ab178c08
SJ
53902011-08-21 Szymon Janc <szymon@janc.net.pl>
5391
5392 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5393 AC_LANG_CONFTEST macros.
5394
7dc3c686
SJ
53952011-08-20 Szymon Janc <szymon@janc.net.pl>
5396
5397 Add grub-fstest option to uncompress data for commands.
5398
5399 * util/grub-fstest.c (uncompress): New var.
5400 (options): New option -u.
5401
fe8d4a7b
SJ
54022011-08-20 Szymon Janc <szymon@janc.net.pl>
5403
5404 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5405 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5406
a5219af1
SJ
54072011-08-20 Szymon Janc <szymon@janc.net.pl>
5408
5409 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5410 file type was not recognized correctly (not gzip or corrupted).
5411
f87abff5
VS
54122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5415 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5416
d94497ea
VS
54172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5420 loongson.
5421 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5422 video_radeon_fuloong2e.
5423 * grub-core/video/radeon_fuloong2e.c: New file.
5424 * include/grub/video.h (grub_video_id_t): Add new ID
5425 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5426
0d1fd011
VS
54272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5430 define.
5431 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5432 that PRID matches the detected subplatform and reset the subplatform
5433 if it doesn't.
5434
84beb0ee
VS
54352011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5438
1227c133
VS
54392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 Fix PCI iterating on functions >= 4.
5442
5443 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5444 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5445 Removed.
5446 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5447 (grub_pci_read): Fix bitmask.
5448 (grub_pci_read_word): Likewise.
5449 (grub_pci_read_byte): Likewise.
5450 (grub_pci_write): Likewise.
5451 (grub_pci_write_word): Likewise.
5452 (grub_pci_write_byte): Likewise.
5453
9594c689
VS
54542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5457 can still be specified in TARGET_CFLAGS)
5458
14a2562c
VS
54592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5462
5463 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5464 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5465 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5466 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5467 (FULOONG): Rename to ...
5468 (FULOONG2F): ... this. All users updated.
5469 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5470 (machtype_fuloong2f_str): ... this.
5471 (machtype_fuloong2e_str): New string.
5472 Check for machtype_fuloong2e_str.
5473 * grub-core/loader/mips/linux.c (loongson_machtypes)
5474 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5475 * grub-core/term/serial.c (loongson_defserial)
5476 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5477 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5478 loongson_defserial.
5479 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5480 Rename to ...
5481 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5482 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5483 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5484 to IMAGE_FULOONG2F_FLASH. All users updated.
5485 (image_targets): Rename images.
5486 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5487
b526cbb6
SJ
54882011-08-19 Szymon Janc <szymon@janc.net.pl>
5489
5490 Make enable of disk cache statistics code configurable.
5491
5492 * configure.ac: --enable-cache-stats added.
5493 * config.h.in (DISK_CACHE_STATS): New define.
5494 * grub-core/Makefile.core.def (cacheinfo): New command.
5495 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5496 * grub-core/commands/cacheinfo.c: New file.
5497 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5498 moved to cacheinfo.c.
5499 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5500 debug code.
5501 * include/grub/disk.h: Likewise.
5502
fb739ccd
SJ
55032011-08-19 Szymon Janc <szymon@janc.net.pl>
5504
5505 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5506 * grub-core/Makefile.am: Likewise.
5507
2bba8cfd
VS
55082011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5511 non-zero pull.
5512
43526629
VS
55132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5516 All users updated.
5517 (grub_jfs_lookup_symlink): Use correct starting inode.
5518
5c144cc8
VS
55192011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * util/grub-setup.c (main): Add missing gcry initialisation.
5522
b1257f65
VS
55232011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 Don't accept text modes on EFI when booting Linux.
5526
5527 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5528 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5529
828bc390
ML
55302011-08-15 Mario Limonciello <mario_limonciello@dell.com>
55312011-08-15 Colin Watson <cjwatson@ubuntu.com>
5532
5533 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5534 use of "/path/.." as in grub-install for EFI as well as handling
5535 symlinks correctly.
5536 Fixes Debian bug #637768.
5537
5f60ccac
CW
55382011-08-15 Colin Watson <cjwatson@ubuntu.com>
5539
5540 * util/grub-probe.c: Remove duplicate #include.
5541
6dc212f9
RM
55422011-08-10 Robert Millan <rmh@gnu.org>
5543
5544 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5545
5546 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5547 function.
5548 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5549 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5550
66816d85
RM
55512011-08-03 Robert Millan <rmh@gnu.org>
5552
5553 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5554 la_array as packed.
5555 Reported by: Zachary Bedell
5556
20168fca
CW
55572011-07-26 Colin Watson <cjwatson@ubuntu.com>
5558
5559 * configure.ac: The Loongson port requires grub-mkfont due to its
5560 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5561 be built.
5562
303b6246
CW
55632011-07-26 Colin Watson <cjwatson@ubuntu.com>
5564
5565 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5566 processing arguments (otherwise help2man fails when GRUB has not yet
5567 been installed).
5568
6795300e
VS
55692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5570
41aa28ea
VS
5571 New script grub-mkstandalone.
5572
5573 * Makefile.util.def (grub-mkstandalone): New script.
5574 * docs/man/grub-mkstandalone.h2m: New file.
5575 * util/grub-mkstandalone.in: Likewise.
5576
55772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 Support ATA disks with 4K sectors.
6795300e
VS
5580
5581 * include/grub/ata.h (grub_ata): New member log_sector_size.
5582 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5583 (grub_ata_identify): Read sector size.
5584 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5585
92227597
VS
55862011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * util/grub-install.in: Don't use uhci outside of x86.
5589
c77069f5
VS
55902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * util/grub-mkrescue.in: Add missing quotes.
5593
55942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
5595
5596 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5597 dereference.
5598
583168a2
VS
55992011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5602
6be1c01f
VS
56032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * include/grub/video.h: add missing EXPORT_FUND on
5606 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5607
a1167439
VS
56082011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * include/grub/mips/kernel.h: Fix define conflict.
5611
bf66054f
VS
56122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5615 all four ways.
5616
8fc4fa45
CW
56172011-07-21 Colin Watson <cjwatson@ubuntu.com>
5618
5619 Preferred resolution detection for VBE.
5620
5621 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5622 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5623 the Flat Panel extension, in line with the X.org VESA driver.
5624 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5625 New function.
5626 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5627 (grub_vbe_bios_read_edid): Likewise.
5628 (grub_vbe_get_preferred_mode): Likewise.
5629 (grub_video_vbe_setup): When the mode is "auto", try to get the
5630 preferred mode from VBE, and use the largest mode that is no larger
5631 than the preferred mode (some BIOSes expose a preferred mode that is
5632 not in their mode list!). If this fails, fall back to 640x480 as a
5633 safe conservative choice.
5634 (grub_video_vbe_get_edid): New function.
5635 (grub_video_vbe_adapter): Add get_edid.
5636 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5637 (struct grub_video_adapter): Add get_edid.
5638 (grub_video_edid_checksum): Add prototype.
5639 (grub_video_edid_preferred_mode): Likewise.
5640 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5641 structure.
5642
5643 * grub-core/commands/videoinfo.c (print_edid): New function.
5644 (grub_cmd_videoinfo): Print EDID if available.
5645
5646 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5647 is more appropriate on a wider range of platforms than 640x480.
5648 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5649 documentation.
5650
ca5572a9
VS
56512011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5654
e4bcf625
VS
56552011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * po/POTFILES.in: Regenerate.
5658
c4edd548
VS
56592011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5662 incorrect memory usage.
5663
16a2bab0
VS
56642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * util/grub-install.in: Source grub-mkconfig_lib.
5667
2e418de6
VS
56682011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 Remove getroot.c from core on emu platform.
5671
5672 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5673 kern/emu/raid.c.
5674 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5675 useless.
5676 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5677 * util/getroot.c (get_win32_path): ... here.
5678 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5679 * util/getroot.c (fini_libzfs): ... here.
5680 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5681 * util/getroot.c (grub_get_libzfs_handle): ... here.
5682 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5683 Moved from here...
5684 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5685 * grub-core/kern/emu/misc.c
5686 (grub_make_system_path_relative_to_its_root): Moved from here...
5687 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5688 * grub-core/kern/emu/getroot.c: Moved from here ...
5689 * util/getroot.c: ... here. All users updated.
5690 * grub-core/kern/emu/raid.c: Moved from here ...
5691 * util/raid.c: ... here. All users updated.
5692
def9832a
VS
56932011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * po/POTFILES.in: Regenerate.
5696
cd8fe79a
VS
56972011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Fix compilation on GNU/Linux.
5700
5701 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5702 Disable geli.
5703 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5704 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5705 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5706
a251b719
VS
57072011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
57082011-07-07 Michael Gorven <michael@gorven.za.net>
57092011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5710
5711 LUKS and GELI support.
5712
5713 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5714 grub-core/disk/luks.c, grub-core/disk/geli.c,
5715 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5716 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5717 grub-core/lib/arg.c.
5718 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5719 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5720 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5721 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5722 (grub-bin2h): Add libgcry.a.
5723 (grub-mkimage): Likewise.
5724 (grub-mkrelpath): Likewise.
5725 (grub-script-check): Likewise.
5726 (grub-editenv): Likewise.
5727 (grub-mkpasswd-pbkdf2): Likewise.
5728 (grub-pe2elf): Likewise.
5729 (grub-fstest): Likewise.
5730 (grub-mkfont): Likewise.
5731 (grub-mkdevicemap): Likewise.
5732 (grub-probe): Likewise.
5733 (grub-ofpath): Likewise.
5734 (grub-mklayout): Likewise.
5735 (example_unit_test): Likewise.
5736 (grub-menulst2cfg): Likewise.
5737 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5738 * grub-core/Makefile.core.def (cryptodisk): New module.
5739 (luks): Likewise.
5740 (geli): Likewise.
5741 * grub-core/disk/AFSplitter.c: New file.
5742 * grub-core/disk/cryptodisk.c: Likewise.
5743 * grub-core/disk/geli.c: Likewise.
5744 * grub-core/disk/luks.c: Likewise.
5745 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5746 grub_util_is_lvm.
5747 (grub_util_get_dm_abstraction): New function.
5748 (grub_util_follow_gpart_up): Likewise.
5749 (grub_util_get_geom_abstraction): Likewise.
5750 (grub_util_get_dev_abstraction): Use new functions.
5751 (grub_util_pull_device): Pull GELI and LUKS.
5752 (grub_util_get_grub_dev): Handle LUKS and GELI.
5753 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5754 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5755 (follow_geom_up): Removed.
5756 (grub_util_fd_seek): New function.
5757 (open_device): Use grub_util_fd_seek.
5758 (nread): Rename to ..
5759 (grub_util_fd_read): ... this. All users updated.
5760 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5761 (grub_crypto_cbc_decrypt): Likewise.
5762 (grub_crypto_hmac_write): Likewise.
5763 (grub_crypto_hmac_buffer): Likewise.
5764 (grub_password_get): Extend to util.
5765 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5766 New member modname.
5767 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5768 * include/grub/cryptodisk.h: New file.
5769 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5770 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5771 LUKS and GELI.
5772 (grub_util_follow_gpart_up): New proto.
5773 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5774 (grub_util_fd_read): Likewise.
5775 (grub_cryptodisk_cheat_mount): Likewise.
5776 (grub_util_cryptodisk_print_uuid): Likewise.
5777 (grub_util_get_fd_sectors): Likewise.
5778 * util/grub-fstest.c (mount_crypt): New var.
5779 (fstest): Mount crypto if requested.
5780 (options): New option -C.
5781 (argp_parser): Parse -C.
5782 (main): Init and fini gcry.
5783 * util/grub-install.in: Support cryptodisk install.
5784 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5785 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5786 cryptodisk.
5787 (prepare_grub_to_access_device): Likewise.
5788 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5789 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5790 (probe_cryptodisk_uuid): New function.
5791 (probe_abstraction): Likewise.
5792 (probe): Use new functions.
5793 * util/import_gcry.py: Create Makefile.utilgcry.def.
5794 Add modname member.
5795
9bfdcbbc
VS
57962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 Lazy device scanning.
5799
5800 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5801 (grub-setup): Remove util/raid.c.
5802 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5803 * grub-core/disk/lvm.c (scan_depth): New variable.
5804 (grub_lvm_iterate): Rescan if necessary.
5805 (find_lv): New function based on grub_lvm_open.
5806 (grub_lvm_open): Use find_lv. Rescan on error.
5807 (is_node_readable): New function.
5808 (is_lv_readable): Likewise.
5809 (grub_lvm_scan_device): Skip already found disks.
5810 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5811 Stop if searched device is found and readable.
5812 * grub-core/disk/raid.c (inscnt): New variable.
5813 (scan_depth): Likewise.
5814 (scan_devices): New function based on grub_raid_register. Abort if
5815 looked for device is found.
5816 (grub_raid_iterate): Rescan if needed.
5817 (find_array): NEw function based on -grub_raid_open.
5818 (grub_raid_open): Use find_array and rescan.
5819 (insert_array): Set became_readable_at.
5820 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5821 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5822 New function.
5823 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5824 (grub_util_pull_device): New function.
5825 (grub_util_get_grub_dev): Call grub_util_pull_device.
5826 * util/raid.c: Moved to ..
5827 * grub-core/kern/emu/raid.c: ... here.
5828 (grub_util_raid_getmembers): New parameter "bootable".
5829 All users updated. Support 1.x.
5830 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5831 All users updated.
5832 * include/grub/disk.h (grub_disk_pull_t): New enum.
5833 (grub_disk_dev): Change iterate prototype.
5834 All users updated.
5835 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5836 New proto.
5837 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5838 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5839 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5840 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5841 All users updated.
5842 * include/grub/util/raid.h: Removed.
5843
1c358e59
VS
58442011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * po/POTFILES.in: Regenerate.
5847
abee94ed
VS
58482011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 Unify sparc init with other ieee1275.
5851
5852 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5853 instead of kern/sparc64/ieee1275/init.c.
5854 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5855 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5856 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5857 grub/machine/kernel.h.
5858 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5859 (grub_claim_heap) [__sparc__]: Use sparc version.
5860 (grub_machine_init): Moved args parsing to
5861 (grub_parse_cmdline): ...this.
5862 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5863 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5864 New definition.
5865 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5866
5867 Move BOOTP to separate file.
5868
5869 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5870 * grub-core/net/net.c: Move all BOOTP functions to
5871 * grub-core/net/bootp.c: ... here.
5872
5873 Use frame interface on PXE.
5874
5875 * grub-core/Makefile.core.def (pxecmd): Removed.
5876 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5877 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5878 * grub-core/i386/pc/pxe.c: Moved from here ...
5879 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5880 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5881 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5882
5883 EFI network support.
5884
5885 * grub-core/Makefile.core.def (efinet): New module.
5886 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5887 here...
5888 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5889 All users updated.
5890 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5891 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5892 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5893 * grub-core/net/drivers/efi/efinet.c: New file.
5894 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5895 (grub_efi_net_config): New extern var.
5896
5897 Various cleanups and bugfixes.
5898
5899 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5900 error.
5901 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5902 disk declared as partition.
5903 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5904 leak on failure.
5905 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5906 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5907 (grub_debug_zalloc): Likewise.
5908 (grub_debug_realloc): Likewise.
5909 (grub_debug_memalign): Likewise.
5910 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5911 Check that target is IPv4.
5912 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5913 local-mac-address as fallback.
5914 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5915 memory leak.
5916 * grub-core/net/ip.c (ipchksum): Rename to ...
5917 (grub_net_ip_chksum): ... this. All users updated.
5918 (grub_net_recv_ip_packets): Special handling for DHCP.
5919 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5920
5921 Unify prefix handling
5922
5923 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5924 (grub_machine_get_bootlocation): ... this.
5925 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5926 (grub_machine_get_bootlocation): ... this.
5927 (grub_prefix): New variable.
5928 (prefix): Removed.
5929 (root_dev): New variable.
5930 (dir): Likewise.
5931 (main): Use new variables.
5932 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5933 Revamped into ...
5934 (grub_machine_get_bootlocation): ... this.
5935 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5936 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5937 (grub_machine_get_bootlocation): ... this.
5938 (grub_machine_set_prefix): Removed.
5939 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5940 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5941 Revamped into ...
5942 (grub_machine_get_bootlocation): ... this.
5943 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5944 (grub_set_prefix_and_root): ... this. All users updated.
5945 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5946 Revamped into ...
5947 (grub_machine_get_bootlocation): ... this.
5948 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5949 (grub_machine_get_bootlocation): New proto.
5950 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5951
5952 Less intrusive and more reliable seek on network implementation.
5953
5954 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5955 (grub_file_seek): Don't call grub_file_net_seek.
5956 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5957 (grub_net_fs_read_real): .. this.
5958 (grub_net_seek_real): Use net->offset.
5959 (grub_net_fs_read): Seek if necessary.
5960
5961 Unify IEEE1275 netwotk config with the other platforms.
5962
5963 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5964 New variable.
5965 (grub_machine_get_bootlocation): Support network.
5966 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5967 Support type and device parsing.
5968 (grub_ieee1275_get_device_type): New function.
5969 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5970 into ...
5971 (grub_ieee1275_net_config_real): ... this.
5972 (grub_ofnet_probecards): Removed.
5973 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5974 * include/grub/ieee1275/ofnet.h: Removed.
5975 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5976 extern var.
5977 (grub_ieee1275_get_device_type): New function.
5978
5979 Unify network device closing across platforms and make more robust.
5980
5981 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5982 grub_grubnet_fini.
5983 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5984 already.
5985 * grub-core/net/net.c (grub_net_network_level_interface_register):
5986 Update num_ifaces.
5987 (grub_net_card_unregister): Close all interfaces.
5988 (receive_packets): Don't poll if no iterfaces are registered.
5989 Open if necessary.
5990 (grub_net_fini_hw): New function.
5991 (grub_net_restore_hw): Likewise.
5992 (fini_hnd): New variable.
5993 (GRUB_MOD_INIT): Register preboot hook.
5994 (GRUB_MOD_FINI): Run and unregister preboot hook.
5995
5996 Poll network cards when idle.
5997
5998 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5999 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
6000 * grub-core/net/net.c (receive_packets): Save last poll time.
6001 (grub_net_poll_cards_idle_real): New function.
6002 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
6003 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
6004 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
6005
6006 Rename ofnet interfaces.
6007
6008 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
6009 (grub_ofnet_findcards): Use ofnet_%s names.
6010
6011 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
6012
6013 Cleanup socket opening.
6014
6015 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
6016 (grub_net_fs_close): Likewise.
6017 (grub_net_fs_read_real): Use eof member.
6018 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
6019 (+grub_net_udp_close): New inline function.
6020
6021 * include/grub/net/tftp.h: Moved to the top of ...
6022 * grub-core/net/tftp.c: ... here.
6023 * include/grub/net/ip.h: Moved mostly to the top of ...
6024 * grub-core/net/ip.c: ... here.
6025 * include/grub/net/ethernet.h: Moved mostly to the top of ...
6026 * grub-core/net/ethernet.c: ... here.
6027
6028 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
6029
6030 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
6031 FS name.
6032
6033 * include/grub/net/ip.h (ipv4_ini): Removed.
6034 (ipv4_fini): Likewise.
6035
6036 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
6037 (grub_net_send_ip_packets): Likewise.
6038
cf1337aa
VS
60392011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
6042 grub_read_cmos prototype.
6043
93c06ff9
VS
60442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 VGA text support in qemu-mips
6047
6048 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
6049 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
6050 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
6051 text.
6052 * grub-core/kern/i386/qemu/init.c: Renamed to ...
6053 * grub-core/kern/vga_init.c: ... this.
6054 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
6055 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
6056 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
6057 Adjust.
6058 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
6059 GRUB_MACHINE_PCI_IO_BASE.
6060
748ccabe
VS
60612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 MIPS qemu flash support.
6064
6065 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
6066 magic.
6067 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
6068 (grub_machine_init): Probe memory if its size isn't known.
6069 * util/grub-mkimage.c (image_targets): Add flash targets.
6070 (generate_image): Handle flash targets.
6071
d7345994
VS
60722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 MIPS qemu at_keyboard support.
6075
6076 * gentpl.py (videoinkernel): Add qemu-mips.
6077 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
6078 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
6079 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
6080 modules.
6081 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
6082 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
6083 * grub-core/term/serial.c (grub_serial_register)
6084 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
6085
a07a81b3
VS
60862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 CMOS support on sparc.
6089
6090 * gentpl.py (cmos): Add powerpc and sparc.
6091 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
6092 powerpc and sparc.
6093 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
6094 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
6095 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
6096 grub_set_datetime_cmos.
6097 * grub-core/lib/ieee1275/cmos.c: New file.
6098 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
6099 (find_rtc): Set no_ieee1275_rtc on error.
6100 (grub_get_datetime): Call grub_get_datetime_cmos on error.
6101 (grub_set_datetime): Call grub_set_datetime_cmos on error.
6102 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
6103 fail. Move value to argument. All users updated
6104 (grub_cmos_write): Likewise.
6105 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
6106 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
6107 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
6108 grub_get_datetime_cmos and grub_set_datetime_cmos.
6109
77546584
GS
61102011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6111
6112 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
6113 sourcing grub-mkconfig_lib.
6114 * util/update-grub_lib.in: Likewise.
6115 * util/grub.d/00_header.in: Likewise.
6116 * util/grub.d/10_hurd.in: Likewise.
6117 * util/grub.d/10_kfreebsd.in: Likewise.
6118 * util/grub.d/10_linux.in: Likewise.
6119 * util/grub.d/10_netbsd.in: Likewise.
6120 * util/grub.d/10_windows.in: Likewise.
6121 * util/grub.d/20_linux_xen.in: Likewise.
6122 * util/grub.d/30_os-prober.in: Likewise.
6123
54894791
CW
61242011-06-28 Colin Watson <cjwatson@ubuntu.com>
6125
6126 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6127 default_bg_color rather than black.
6128 (grub_gfxterm_fullscreen): Likewise.
6129 (grub_gfxterm_background_color_cmd): Save new background color in
6130 default_bg_color.
6131
8d5d8444
VS
61322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6135
5afeb5bd
VS
61362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6139 mismerge.
6140
ba7df45e
VS
61412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 Chainloading on coreboot support.
6144
6145 * grub-core/Makefile.core.def (chain): Add coreboot.
6146 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6147
d0b526b2
VS
61482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6151 if it happens.
6152
5ff1d945
VS
61532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 Implement time command.
6156
6157 * grub-core/Makefile.core.def (time): New module.
6158 * grub-core/commands/time.c: New file.
6159 * grub-core/script/parser.y: Remove "time" keyword.
6160 * grub-core/script/yylex.l: Likewise.
6161
5ebaad7e
VS
61622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6165
bdea3798
VS
61662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6169 when handling leftovers.
6170
b28c5655
VS
61712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6174 so that help2man doesn't fail.
6175
b6f945dc
VS
61762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6179 type in pointers on sparc64.
6180 (get_card_packet): Likewise.
6181
f9b75e8a
CW
61822011-06-27 Colin Watson <cjwatson@ubuntu.com>
6183
6184 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6185 with `*'.
6186 (grub_cmd_videoinfo): Fetch current video mode.
6187
1e3d9b86
VS
61882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6191 because of underlying system restrictions.
6192
efff4b1c
VS
61932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6196 necessary.
6197
9fc9ce37
VS
61982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 Coreboot video support.
6201
6202 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6203 (vbe): Likewise.
6204 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6205 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6206 here ...
6207 * grub-core/kern/i386/int.S: ... here.
6208 * grub-core/video/i386/pc/vbe.c: Updated includes.
6209 * grub-core/video/i386/pc/vga.c: Likewise.
6210 * include/grub/i386/coreboot/memory.h
6211 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6212 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6213 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6214 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6215 Disable interrupts.
6216 * include/grub/i386/pc/vga.h: Removed. All users updated.
6217
41bec7fe
VS
62182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6221 definitions for dprintf.
6222 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6223
ca80309d
VS
62242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6227 prototype.
6228 (get_card_packet): Likewise.
6229
9e322ce8
YB
62302011-06-26 Yves Blusseau <blusseau@zetam.org>
6231
6232 Display the path of the file when file is not found
6233
6234 * grub-core/fs/fat.c: Display the filename when file is not found.
6235 * grub-core/fs/fshelp.c: Likewise.
6236 * grub-core/fs/hfs.c: Likewise.
6237 * grub-core/fs/jfs.c: Likewise.
6238 * grub-core/fs/minix.c: Likewise.
6239 * grub-core/fs/ufs.c: Likewise.
6240 * grub-core/fs/btrfs.c: Likewise.
6241 * grub-core/commands/i386/pc/play.c: Likewise.
6242
cbf597af
SJ
62432011-06-26 Szymon Janc <szymon@janc.net.pl>
6244
6245 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6246 pointer checks before calling grub_free().
6247 * grub-core/commands/wildcard.c (match_devices): Likewise.
6248 * grub-core/commands/wildcard.c (match_files): Likewise.
6249 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6250 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6251 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6252 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6253 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6254 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6255 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6256 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6257 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6258
6295b32f
P
62592011-06-25 Patrick <p55@mailinator.com>
6260
6261 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6262
77c0840b
VS
62632011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6266 (grub_pxe_send): Likewise.
6267 (GRUB_MOD_INIT): Fix types.
6268
40ea05de
SJ
62692011-06-24 Szymon Janc <szymon@janc.net.pl>
6270
6271 * grub-core/io/xzio.c: Fix code style issues
6272
90162423
MRA
62732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
62742011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
6275
6276 Network infrastructure.
6277 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6278
6279 * include/grub/net/arp.h: New file.
90162423
MRA
6280 * include/grub/net/device.h: Likewise.
6281 * include/grub/net/ethernet.h: Likewise.
6282 * include/grub/net/ip.h: Likewise.
6283 * include/grub/net/netbuff.h: Likewise.
6284 * include/grub/net/tftp.h: Likewise.
6285 * include/grub/net/udp.h: Likewise.
6286 * include/grub/ieee1275/ofnet.h: Likewise.
6287 * include/grub/emu/export.h: Likewise.
6288 * include/grub/net.h: Likewise.
6289 * grub-core/net/arp.c: Likewise.
6290 * grub-core/net/ethernet.c: Likewise.
6291 * grub-core/net/ip.c: Likewise.
6292 * grub-core/net/udp.c: Likewise.
6293 * grub-core/net/tftp.c: Likewise.
6294 * grub-core/net/netbuff.c: Likewise.
6295 * grub-core/net/net.c: Likewise.
6296 * grub-core/net/drivers/emu/emunet.c: Likewise.
6297 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6298 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6299 export.h.
6300 * grub-core/Makefile.core.def (net): New module.
6301 (tftp): Likewise.
6302 (ofnet): Likewise.
6303 (emunet): Likewise.
6304 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6305 network protocols.
6306 * grub-core/kern/device.c (grub_net_open) : New variable.
6307 (grub_device_open): Handle network device.
6308 (grub_device_close): Likewise.
6309 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6310 (grub_grubnet_fini): Likewise.
6311 (grub_file_seek): Seek in network device.
6312 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6313 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6314 network root.
6315 (grub_machine_fini): Call grub_grubnet_fini.
6316 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6317 network.
6318 (grub_ieee1275_get_aliasdevname): New function.
6319 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6320 Add unofficial Solaris network info.
6321 (grub_multiboot_make_mbi): Likewise.
6322 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6323 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6324 * include/grub/device.h (grub_fs): Removed.
6325 * include/grub/err.h (grub_err_t): Add network-related values.
6326 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6327 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6328 (grub_ieee1275_get_aliasdevname): New proto.
6329 * include/grub/net.h: Rewritten.
423a1849 6330
031f22a0
VS
63312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6334 names.
6335
4388ca72
VS
63362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6339 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6340 it truncates the output.
6341 Reported by: Ximin Luo.
6342
98e2f506
VS
63432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6346
2a5e94d8
VS
63472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6350 partmap before abstraction.
6351
535c1910
AK
63522011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6353
6354 * util/grub-mkconfig_lib.in: Add missing quotes.
6355
bc09e1a2
VS
63562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6359 old method if mountinfo would return /dev/root and /dev/root doesn't
6360 exist.
6361
290766fb
VS
63622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 ZFS zlib support
6365
6366 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6367 (decomp_table): Add zlib entries.
6368 (zio_read): USe 8 bits for compression function rather than 3.
6369 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6370
63712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * grub-core/disk/ahci.c: Add missing license statements.
6374 * grub-core/fs/romfs.c: Likewise.
6375 * grub-core/lib/ia64/setjmp.S: Likewise.
6376 * grub-core/loader/i386/pc/freedos.c: Likewise.
6377 * grub-core/loader/ia64/efi/linux.c: Likewise.
6378 * grub-core/video/colors.c: Likewise.
6379 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6380
5ab3f48a
VS
63812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 AHCI support.
6384
6385 * grub-core/Makefile.core.def (ata_pthru): Removed.
6386 (ahci): New module.
6387 (pata): Likewise.
6388 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6389 on unload.
6390 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6391 readwrite.
6392 (grub_hdparm_do_check_powermode_cmd): Likewise.
6393 (grub_hdparm_do_smart_cmd): Likewise.
6394 (grub_hdparm_set_val_cmd): Likewise.
6395 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6396 * grub-core/disk/ahci.c: New file.
6397 * grub-core/disk/ata.c: Factor out the low-level part into ...
6398 * grub-core/disk/pata.c: ... here.
6399 * grub-core/disk/ata_pthru.c: Contents moved to ...
6400 * grub-core/disk/pata.c: ... here.
6401 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6402 (grub_scsi_iterate): Use grub_scsi_names.
6403 (grub_scsi_open): Likewise.
6404 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6405 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6406 (grub_ata_regs_t): New struct.
6407 (grub_disk_ata_pass_through_parms): Likewise.
6408 (grub_ata_device): Renamed to ...
6409 (grub_ata): ... this.
6410 (grub_ata_dev): New struct.
6411 Removed all low-level inline functions.
6412 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6413 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6414 iterate hooks and open. All users updated.
6415 * util/grub-install.in: Handle AHCI disk module.
6416
c31dc5f5
SJ
64172011-06-23 Szymon Janc <szymon@janc.net.pl>
6418
6419 Add support for DRI and RSTn markers in JPEG files.
6420
6421 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6422 (JPEG_MARKER_RST0): Likewise.
6423 (JPEG_MARKER_RST1): Likewise.
6424 (JPEG_MARKER_RST2): Likewise.
6425 (JPEG_MARKER_RST3): Likewise.
6426 (JPEG_MARKER_RST4): Likewise.
6427 (JPEG_MARKER_RST5): Likewise.
6428 (JPEG_MARKER_RST6): Likewise.
6429 (JPEG_MARKER_RST7): Likewise.
6430 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6431 (grub_jpeg_decode_dri): New function.
6432 (grub_jpeg_decode_sos): Move image data related part into
6433 grub_jpeg_decode_data function.
6434 (grub_jpeg_decode_data): New function.
6435 (grub_jpeg_reset): New function.
6436 (grub_jpeg_decode_jpeg): Handle new markers.
6437
fe12fd5b
VS
64382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * util/ieee1275/ofpath.c (check_sas): Close fd.
6441 (main): Free of_path.
6442 Reported by: David Volgyes <dvolgyes>.
6443
03147f46
VS
64442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6447 Reported by: David Volgyes <dvolgyes>.
6448
cad3237f
VS
64492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6452 file after stat.
6453 Reported by: David Volgyes <dvolgyes>.
6454
13548d26
VS
64552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6458
6459 Reported by: David Volgyes <dvolgyes>.
6460
e061a1b5
VS
64612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6464 Prevent memory leak.
6465
1abe47dc
VS
64662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6469 (main): Close file.
e061a1b5 6470 Reported by: David Volgyes <dvolgyes>.
1abe47dc 6471
fbc62666
VS
64722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6475 to continue if allocation is failed.
6476
6477 Reported by: David Volgyes <dvolgyes>.
6478
e98c83e9
DV
64792011-06-23 David Volgyes <dvolgyes>
6480
6481 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6482 dereference.
6483
a199a8cd
VS
64842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 Fix spurious warning.
6487
6488 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6489 (acorn_partition_map_find): Use .bin member.
6490
e2d1dba0
VS
64912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6494 /dev/root as a valid device.
6495
8a5d6919
JM
64962011-06-23 Jim Meyering <meyering@redhat.com>
6497
e2d1dba0
VS
6498 Avoid NULL deref in grub_device_open.
6499
8a5d6919
JM
6500 * grub-core/kern/device.c (grub_device_open): Don't dereference
6501 a NULL pointer upon failed grub_env_get.
6502
f7db6f4a
VS
65032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 Support non-512B sectors and agglomerate reads.
6506
6507 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6508 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6509 (disk_io_guid): Removed.
6510 (make_devices): Locate solely by BlockIO.
6511 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6512 (grub_efidisk_read): Use read_blocks.
6513 (grub_efidisk_write): Use write_blocks.
6514 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6515 log_sector_size.
6516 (get_safe_sectors): Handle non-512B sectors.
6517 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6518 sectors.
6519 (grub_biosdisk_write): Handle non-512B sectors.
6520 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6521 (grub_scsi_read): Remove special non-512B block handling (now handled
6522 one level up).
6523 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6524 and do sanity checks.
6525 (grub_disk_adjust_range): Handle non-512B sectors.
6526 (transform_sector): New function.
6527 (grub_disk_read_small): Likewise.
6528 (grub_disk_read): Rewritten.
6529 (grub_disk_write): Handle non-512B sectors.
6530 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6531 log_sector_size.
6532 (open_device): Use log_sector_size.
6533 (grub_util_biosdisk_read): Likewise.
6534 (grub_util_biosdisk_write): Likewise.
6535 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6536 non-512B sectors.
6537 (pc_partition_map_embed): Likewise.
6538 * include/grub/disk.h (grub_disk): New field log_sector_size.
6539 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6540 (GRUB_DISK_CACHE_BITS): Increased to 6.
6541 * util/grub-fstest.c (fstest): New command testload.
6542 (argp_parser): Likewise.
6543
881ac815
RM
65442011-06-16 Robert Millan <rmh@gnu.org>
6545
6546 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6547 `ata' driver on kernel of FreeBSD 9.
6548
6549 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6550 (get_ataraid_disk_name): New functions.
6551 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6552 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6553 get_ataraid_disk_name() and get_ada_disk_name().
6554
1e9aef7d
CW
65552011-06-13 Colin Watson <cjwatson@ubuntu.com>
6556
6557 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6558 input format.
6559
351c7c8a
CW
65602011-05-29 Colin Watson <cjwatson@ubuntu.com>
6561
6562 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6563 `ftp.gnu.org' for `alpha.gnu.org'.
6564
6b4e6430
CW
65652011-05-27 Colin Watson <cjwatson@ubuntu.com>
6566
6567 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6568 partitions under /dev/disk/by-id/.
6569
c64db050
CW
65702011-05-27 Colin Watson <cjwatson@ubuntu.com>
6571
6572 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6573 after ten consecutive open failures. Scanning all the way up to
6574 10000 is excessive and can cause serious performance problems in
6575 some configurations.
6576 Fixes Ubuntu bug #787461.
6577
245f4aba
VS
65782011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6581 opening new one.
6582
f767c929
VS
65832011-05-21 Colin Watson <cjwatson@ubuntu.com>
65842011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 Don't stat devices unless we have to.
6587
6588 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6589 dir == /dev/mapper.
6590 (grub_guess_root_device): Use already known os_dev if possible.
6591 * grub-core/kern/emu/hostdisk.c
6592 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6593 if device is known to be a dm one.
6594
f35fa3a6
CW
65952011-05-20 Colin Watson <cjwatson@ubuntu.com>
6596
6597 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6598 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6599 Reported by: Pawel Tecza.
6600
9a79fcf2
VS
66012011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6604 (lsefisystab): Likewise.
6605 (lssal): Likewise.
6606 (lsefimmap): Likewise.
6607 (hdparm): Enable on qemu-mips.
6608 (setjmp): Add ia64 nodist.
6609 (serial): Simplify tags.
6610
63e3eea9
CW
66112011-05-18 Colin Watson <cjwatson@ubuntu.com>
6612
6613 * Makefile.util.def (grub-ofpathname): Install manual page.
6614
09728256
CW
66152011-05-18 Colin Watson <cjwatson@ubuntu.com>
6616
6617 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6618
8b63a142
CW
66192011-05-18 Colin Watson <cjwatson@ubuntu.com>
6620
6621 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6622
e775d8ed
VS
66232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6626 into dprintf.
6627
bf947d36
VS
66282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 Use full 64-bit division.
6631
6632 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6633 (grub_divmod64): ... this.
6634 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6635 version.
6636
b84f26c5
CW
66372011-05-18 Colin Watson <cjwatson@ubuntu.com>
6638
6639 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6640 `source'.
6641
5626056f
CW
66422011-05-18 Colin Watson <cjwatson@ubuntu.com>
6643
6644 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6645 to avoid accidents when debugging with 'sh -x'.
6646 * grub-core/gensyminfo.sh.in: Likewise.
6647 * tests/example_scripted_test.in: Likewise.
6648 * tests/grub_cmd_regexp.in: Likewise.
6649 * tests/grub_script_blanklines.in: Likewise.
6650 * tests/grub_script_dollar.in: Likewise.
6651 * tests/grub_script_expansion.in: Likewise.
6652 * tests/grub_script_final_semicolon.in: Likewise.
6653 * tests/partmap_test.in: Likewise.
6654 * tests/util/grub-shell-tester.in: Likewise.
6655 * tests/util/grub-shell.in: Likewise.
6656
e2965f4a
CW
66572011-05-18 Colin Watson <cjwatson@ubuntu.com>
6658
6659 Move gfxmenu color handling to video, so that gfxterm can use it
6660 too.
6661
6662 * grub-core/gfxmenu/named_colors.c: Move to ...
6663 * grub-core/video/colors.c: ... here. Rename
6664 grub_gui_get_named_color to grub_video_get_named_color.
6665 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6666 * grub-core/video/colors.c (my_isxdigit): ... here.
6667 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6668 Move to ...
6669 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6670 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6671 to ...
6672 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6673
6674 * include/grub/gui.h (grub_gui_color_t): Move to ...
6675 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6676 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6677 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6678 * include/grub/gui.h (grub_gui_map_color): Move to ...
6679 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6680 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6681 to ...
6682 * include/grub/video.h (grub_video_get_named_color): ... here.
6683 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6684 * include/grub/video.h (grub_video_parse_color): ... here.
6685
6686 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6687 video/colors.c.
6688 (gfxmenu): Remove gfxmenu/named_colors.c.
6689 (video) [videomodules]: Add video/colors.c.
6690
6691 Add a background_color command.
6692
6693 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6694 function.
6695 (GRUB_MOD_INIT): Register background_color command.
6696 (GRUB_MOD_FINI): Unregister background_color command.
6697 (redraw_screen_rect): Allow blend/replace of text layer to be
6698 controlled independently from whether there is a background bitmap.
6699 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6700 changing bitmap.
6701
1e4b4390
VS
67022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6703
26618ff0
VS
6704 Patch BPB in ntldr and chainloader --bpb.
6705
1e4b4390
VS
6706 * grub-core/fs/fat.c: Include grub/fat.h.
6707 (grub_fat_bpb): Moved to ...
6708 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6709 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6710 grub/ntfs.h.
6711 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6712 Moved from here...
6713 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6714 here.
6715 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6716 New function.
6717 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6718 (GRUB_MOD_INIT): Show --bpb.
6719 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6720 * grub-core/normal/main.c (features): New variable.
6721 (GRUB_MOD_INIT): Set feature_* variables.
6722 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6723 proto.
6724 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6725
cf02731e
VS
67262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6729 for cleanness.
6730
e3a1073f
VS
67312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 FreeDOS direct loading support.
6734
6735 * docs/grub.texi (Supported OS): Add FreeDOS.
6736 * grub-core/Makefile.core.def (freedos): New module.
6737 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6738 variable.
6739 (grub_relocator16_boot): Handle %ebx.
6740 * grub-core/lib/i386/relocator16.S: Likewise.
6741 * grub-core/loader/i386/pc/freedos.c: New file.
6742
05caa461
VS
67432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 Long Linux command line support.
6746
6747 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6748 (maximal_cmdline_size): New variable.
6749 (allocate_pages): Use maximal_cmdline_size.
6750 (grub_cmd_linux): Set and use maximal_cmdline_size.
6751 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6752 (allocate_pages): Use maximal_cmdline_size.
6753 (grub_cmd_linux): Set and use maximal_cmdline_size.
6754 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6755 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6756 and cmdline_size.
6757
a2491e23
VS
67582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
67592011-05-18 Colin Watson <cjwatson@ubuntu.com>
6760
6761 Improve devmapper support
6762
6763 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6764 (grub_util_is_lvm): New function.
6765 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6766 than lvm if not dmraid.
6767 Handle mapped md nodes.
6768 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6769 (grub_util_device_is_mapped): ... this. Make always available. All users
6770 updated.
6771 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6772 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6773 dmraid nodes.
6774 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6775
6ad6223e
VS
67762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6779
6780 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6781 * grub-core/modinfo.sh.in: New file.
6782 * grub-core/Makefile.core.def (modinfo.sh): New script.
6783 * util/grub-mknetdir.in: Use modinfo.sh.
6784 * util/grub-mkrescue.in: Likewise.
6785
543a8f6e
VS
67862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6789 Fix potential usage of Elf32 instead of Elf64 when compiling on
6790 32-bit architecture. Add endianness macros while on it.
6791
4959e111
VS
67922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Use mipsel- rather than mips- in directories involving mipsel ports to
6795 allow both endiannesses coexist.
6796
6797 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6798 mips. All conditions adjusted.
6799 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6800 variable.
6801 * util/grub-install.in: Adjust conditions to take renaming into account.
6802 * util/grub-mkimage.c (image_targets): Likewise. New target
6803 mips-qemu_mips-elf for bigendian mips.
6804
35341bbc
VS
68052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 Avoid unnecessary copying on MIPS.
6808
6809 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6810 early if src == dest.
6811 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6812 compression is none.
6813
b772baed
VS
68142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Reduce memory footprint on SGI by putting modules before the kernel
6817 as opposed to after.
6818
6819 * grub-core/Makefile.core.def (kernel): Increase linking address.
6820 (none_decompress): Likewise.
6821 (xz_decompress): Likewise.
6822 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6823 address.
6824 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6825 layout change.
6826 (grub_arch_modules_addr): New function.
6827 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6828 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6829 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6830 here.
6831 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6832 (grub_total_modules_size): ... this. Make global.
6833 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6834 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6835 New definition.
6836 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6837 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6838 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6839 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6840 * util/grub-mkimage.c (image_target_desc): New flag
6841 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6842 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6843 (generate_image): Handle images with modules before kernel.
6844
566a1917
VS
68452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 Prevent potential loss of memory map by overwrite on qemu-mips.
6848
6849 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6850 Save ram size in $s4.
6851 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6852 All users changed to grub_arch_memsize.
6853 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6854 Loongson.
6855 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6856 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6857 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6858 external variable.
6859
5d420cd9
CW
68602011-05-17 Colin Watson <cjwatson@ubuntu.com>
6861
6862 * .bzrignore: Remove grub-dumpbios.
6863
d064b830
CW
68642011-05-17 Colin Watson <cjwatson@ubuntu.com>
6865
6866 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6867 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6868 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6869 existing options which append).
6870 * docs/grub.texi (Simple configuration): Document new options.
6871 Reported by: Ian Jackson. Fixes Debian bug #617538.
6872
3ca2b466
CW
68732011-05-17 Colin Watson <cjwatson@ubuntu.com>
6874
6875 * util/grub-fstest.c (cmd_cat): New function.
6876 (fstest): Handle CMD_CAT.
6877 (options): Add cat.
6878 (argp_parser): Handle cat.
6879
24c9143a
CW
68802011-05-17 Colin Watson <cjwatson@ubuntu.com>
6881
6882 * Makefile.util.def (grub-bin2h): Don't install.
6883 * docs/man/grub-bin2h.h2m: Remove.
6884
90f7ac19
VS
68852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6888 place.
6889
8d4a5178
VS
68902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 Reenable qemu-mips port.
6893
6894 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6895 Fix small arc bug while on it.
6896 * gentpl.py: Handle qemu_mips.
6897 * grub-core/Makefile.am: Likewise.
6898 * grub-core/Makefile.core.def: Likewise.
6899 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6900 inappropriate includes.
6901 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6902 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6903 * grub-core/kern/main.c (grub_modules_get_end)
6904 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6905 * grub-core/kern/mips/qemu-mips: Moved to ..
6906 * grub-core/kern/mips/qemu_mips: ... this.
6907 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6908 (grub_machine_init): Call terminfo_init and serial_init.
6909 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6910 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6911 New variable.
6912 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6913 parameter passing.
6914 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6915 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6916 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6917 * include/grub/mips/qemu_mips/cmos.h: New file.
6918 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6919 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6920 Removed.
6921 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6922 Use correct mips-style address.
6923 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6924 (GRUB_TICKS_PER_SECOND): Removed.
6925 (grub_get_rtc): Likewise.
6926 (grub_cpu_idle): Likewise.
6927 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6928 New definition.
6929 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6930 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6931 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6932 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6933 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6934 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6935 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6936 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6937
400b9371
VS
69382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 SGI ARCS port.
6941
6942 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6943 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6944 platforms.
6945 * configure.ac: New target mips-arc.
6946 * gentpl.py: Likewise.
6947 * grub-core/Makefile.am: Likewise.
6948 * grub-core/Makefile.core.def: Likewise.
6949 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6950 (none_decompress): Likewise.
6951 (lsdev): New module.
6952 (datetime): Use lib/arc/datetime.c on ARC.
6953 (part_dvh): New module.
6954 * grub-core/commands/arc/lsdev.c: New file.
6955 * grub-core/disk/arc/arcdisk.c: Likewise.
6956 * grub-core/kern/mips/arc/init.c: Likewise.
6957 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6958 aligned addresses.
6959 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6960 support.
6961 (grub_arch_dl_relocate_symbols): Likewise.
6962 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6963 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6964 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6965 platforms.
6966 * grub-core/lib/arc/datetime.c: New file.
6967 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6968 pci.h on non-loongson.
6969 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6970 (grub_linux_boot): Set unused registers to 0.
6971 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6972 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6973 * grub-core/mmap/mips/uppermem.c: ...here.
6974 * grub-core/partmap/dvh.c: New file.
6975 * grub-core/term/arc/console.c: Likewise.
6976 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6977 (grub_terminfo_set_current): Add terminal "arc".
6978 (grub_terminfo_readkey): Support ARC sequences.
6979 * include/grub/arc/arc.h: New file.
6980 * include/grub/arc/console.h: Likewise.
6981 * include/grub/disk.h (grub_disk_dev_id): Add
6982 GRUB_DISK_DEVICE_ARCDISK_ID.
6983 * include/grub/mips/arc/kernel.h: New file.
6984 * include/grub/mips/arc/memory.h: Likewise.
6985 * include/grub/mips/arc/time.h: Likewise.
6986 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6987 * include/grub/mips/kernel.h (grub_halt): ... here.
6988 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6989 here...
6990 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6991 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6992 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6993 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6994 proto.
6995 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6996 from here ...
6997 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6998 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6999 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
7000 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
7001 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
7002 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
7003 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
7004 (grub_phys_addr_t): Moved from here ...
7005 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
7006 (grub_vtop): Moved from here ...
7007 * include/grub/mips/memory.h (grub_vtop): ... here.
7008 (grub_map_memory): Moved from here ...
7009 * include/grub/mips/memory.h (grub_map_memory): ... here.
7010 (grub_unmap_memory): Moved from here ...
7011 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
7012 (grub_machine_mmap_iterate): Moved from here ...
7013 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
7014 (grub_mmap_get_lower): Moved from here ...
7015 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
7016 (grub_mmap_get_upper): Moved from here ...
7017 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
7018 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7019 here ...
7020 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7021 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
7022 here ...
7023 * include/grub/mips/time.h (grub_get_rtc): ... here.
7024 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7025 here ...
7026 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7027 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
7028 here ...
7029 * include/grub/mips/time.h (grub_cpu_idle): ... here.
7030 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
7031 definition.
7032 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
7033 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
7034 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
7035 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
7036 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7037 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7038 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
7039 (GRUB_MACHINE_LINK_ADDR): Likewise.
7040 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
7041 to 6.
7042 * util/grub-install.in: Run dvhtool on ARC.
7043 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 7044 (generate_image): Handle ECOFF output for mips-arc.
400b9371 7045
c8ecc840
VS
70462011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
7049 blocks.
7050
153a4b55
VS
70512011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
7054 after enabling port.
7055
ff44d107
VS
70562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 Skip incorrect USB devices.
7059
7060 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
7061 configcnt == 0.
7062 * include/grub/usb.h (grub_usb_err_t): New enum value
7063 GRUB_USB_ERR_BADDEVICE.
7064
638dbe4f
VS
70652011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 Fuloong video init support.
7068
7069 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
7070 well.
7071 (grub_vga_read_arx): New function.
7072 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
7073 definition.
7074 (framebuffer): New members io, mmioptr and mmiobase.
7075 (read_sis_cmd): New function.
7076 (write_sis_cmd): Likewise.
7077 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
7078 rather than 640x400.
7079 * grub-core/video/sis315_init.c: New file.
7080
c3fc520c
VS
70812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
7084 non-loongson.
7085 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
7086 to grub_dl_register_symbol.
7087
67b1e5c9
VS
70882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 Fix compilation errors.
7091
7092 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
7093 potentially unused.
7094 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
7095 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
7096 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
7097 to loongson machines.
7098
b756f75f
VS
70992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 Several FS mtime support.
7102
7103 * grub-core/fs/affs.c (grub_affs_time): New struct.
7104 (grub_affs_file): New field mtime.
7105 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
7106 type. Removed 'size'. New field 'di'. All users updated.
7107 (grub_affs_mount): Simplify checsum checking.
7108 (grub_affs_iterate_dir): New helper grub_affs_create_node.
7109 (grub_affs_dir): Handle mtime.
7110 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
7111 (grub_cpio_dir): Likewise.
7112 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
7113 (grub_hfs_filerec): New field mtime.
7114 (grub_hfs_dir): Handle mtime.
7115 (grub_hfs_mtime): New function.
7116 (grub_hfs_fs): Register grub_hfs_mtime.
7117 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
7118 (grub_iso9660_dir): New field mtime.
7119 (grub_fshelp_node): New field dirent.
7120 (iso9660_to_unixtime): New function.
7121 (iso9660_to_unixtime2): Likewise.
7122 (grub_iso9660_read_symlink): Use node->dirent.
7123 (grub_iso9660_iterate_dir): Likewise.
7124 (grub_iso9660_dir): Set mtime.
7125 (grub_iso9660_mtime): New function.
7126 (grub_iso9660_fs): Register grub_iso9660_mtime.
7127 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7128 (grub_jfs_inode): New fields atime, ctime and mtime.
7129 (grub_jfs_dir): Set mtime.
7130 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7131 * grub-core/fs/ntfs.c (list_file): Set mtime.
7132 (grub_ntfs_dir): Likewise.
7133 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7134 (grub_reiserfs_iterate_dir): Set mtime.
7135 (grub_reiserfs_dir): Likewise.
7136 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7137 (grub_fshelp_node): Likewise.
7138 (grub_sfs_iterate_dir): Set mtime.
7139 (grub_sfs_dir): Likewise.
7140 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7141 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7142 (grub_xfs_inode): New fields atime, mtime, ctime.
7143 (grub_xfs_dir): Set mtime.
7144 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7145 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7146 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7147
7148 Support UDF symlinks.
7149
7150 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7151 (grub_ufs_read_symlink): New function. All users updated.
7152
7153 Check amiga partmap checksum.
7154
7155 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7156 (grub_amiga_partition): Likewise.
7157 (amiga_partition_map_checksum): New function.
7158 (amiga_partition_map_iterate): Check checksum.
7159
5470225d
VS
71602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 ROMFS support.
7163
7164 * Makefile.util.def (libgrubmods.a): Add romfs.
7165 * grub-core/Makefile.core.def (romfs): New module.
7166 * grub-core/fs/romfs.c: New file.
7167
d4680a35
VS
71682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 Squashfs v4 support.
7171
7172 * Makefile.util.def (libgrubmods.a): Add squash4.
7173 * grub-core/Makefile.core.def (squash4): New module.
7174 * grub-core/fs/squash4.c: New file.
7175 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7176 disk_input_start, disk_input.
7177 (get_byte): Handle disk_input.
7178 (grub_zlib_disk_read): New function.
7179 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7180
bcb18e74
FZ
71812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
71822011-05-15 Feiran Zheng <famcool@gmail.com>
7183
7184 * Makefile.util.def (libgrubmods.a): Add minix3.
7185 * grub-core/Makefile.core.def (minix3): New module.
7186 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7187 (GRUB_MINIX_BSIZE): Removed.
7188 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7189 (grub_minix_ino_t): New type.
7190 (grub_minix_le_to_cpu_ino): New macro.
7191 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7192 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7193 (grub_minix_data): New field block_size.
7194 (grub_minix_read_file): Handle 64-bit correctly.
7195 * grub-core/fs/minix3.c: New file.
7196
32297d5f
TG
71972011-05-15 Tristan Gingold <gingold@free.fr>
71982011-05-15 Robert Millan <rmh.grub@aybabtu.com>
71992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 IA64 support.
7202
7203 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7204 * configure.ac: Add ia64-efi target.
7205 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7206 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7207 * gentpl.py: Add ia64_efi platform.
7208 Rename x86_efi to efi and Add ia64-efi. All users updated.
7209 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7210 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7211 Remove kern/generic/rtc_get_time_ms.c on EFI.
7212 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7213 kern/ia64/dl_helper.c on ia64-efi.
7214 Add kern/emu/cache.c on emu.
7215 (linux): Use on loader/ia64/efi/linux.c on ia64.
7216 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7217 whether symbol is a function.
7218 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7219 (grub_symbol): New field 'isfunc'.
7220 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7221 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7222 (grub_dl_load_segments): Place all sections into the same region.
7223 [__ia64__]: Create trampolines and got.
7224 [GRUB_MACHINE_EMU]: Call mprotect.
7225 (grub_dl_resolve_symbols): Resolve symbol type as well.
7226 [__ia64__]: Create function descriptors.
7227 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7228 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7229 (grub_get_rtc): New function.
7230 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7231 * grub-core/kern/emu/cache.S: Renamed to ...
7232 * grub-core/kern/emu/cache_s.S: ... this.
7233 [__ia64__]: Add a nop.
7234 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7235 [__ia64__]: New function.
7236 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7237 * grub-core/kern/ia64/dl.c: New file.
7238 * grub-core/kern/ia64/dl_helper.c: Likewise.
7239 * grub-core/kern/ia64/efi/init.c: New file.
7240 * grub-core/kern/ia64/efi/startup.S: Likewise.
7241 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7242 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7243 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7244 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7245 * grub-core/loader/ia64/efi/linux.c: New file.
7246 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7247 (GRUB_MOD_DEP): Likewise.
7248 (grub_dl) [__ia64__]: New fields got and tramp.
7249 (grub_dl): New field 'base'.
7250 (grub_dl_register_symbol): New argument isfunc. All users updated.
7251 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7252 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7253 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7254 (grub_ia64_dl_get_tramp_got_size): New proto.
7255 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7256 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7257 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7258 * include/grub/efi/api.h: Skip call wrappers on ia64.
7259 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7260 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7261 * include/grub/elf.h (ELF_ST_INFO): New definition.
7262 * include/grub/ia64/efi/kernel.h: New file.
7263 * include/grub/ia64/efi/memory.h: Likewise.
7264 * include/grub/ia64/efi/time.h: Likewise.
7265 * include/grub/ia64/kernel.h: Likewise.
7266 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7267 * include/grub/ia64/time.h: New file.
7268 * include/grub/ia64/types.h: Likewise.
7269 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7270 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7271 New protos.
7272 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7273 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7274 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7275 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7276 All users updated.
7277 (EFI64_HEADER_SIZE): New definition. All users updated.
7278 (image_targets): Add ia64-efi.
7279 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7280 jumpers_addr. All users updated.
7281 Create function descriptors.
7282 (count_funcs): New function.
7283 (unaligned_uint32): New struct.
7284 (MASK20): New definition.
7285 (MASK19): Likewise.
7286 (MASKF21): Likewise.
7287 (add_value_to_slot_20b): New function.
7288 (add_value_to_slot_21_real): Likewise.
7289 (add_value_to_slot_21): Likewise.
7290 (ia64_kernel_trampoline): New struct.
7291 (nopm): New variable.
7292 (jump): Likewise.
7293 (make_trampoline): New function.
7294 (relocate_addresses): Handle ia64.
7295 (make_reloc_section): Likewise.
7296 (load_image): Likewise.
7297
983b414d
VS
72982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7301 warning. Move variables before code while on it.
7302
5d063cdc
VS
73032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 Fuloong support.
7306
7307 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7308 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7309 * grub-core/boot/mips/loongson/fuloong.S: New file.
7310 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7311 Explicitly init CS5536.
7312 [FULOONG]: Don't use serial until CS5536 is available.
7313 Set GPIO based on dumps.
7314 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7315 [FULOONG]: Handle GPIO and memory controller differences.
7316 Parse machine type in $a2.
7317 * grub-core/boot/mips/startup_raw.S: Determine and save the
7318 architecture.
7319 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7320 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7321 init on architecture type.
7322 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7323 SIS315E. Don't init at_keyboard on fuloong.
7324 (grub_halt): Support Fuloong.
7325 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7326 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7327 (loongson_machtypes): New array.
7328 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7329 type.
7330 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7331 config. All users updated. Handle CS5536 serial.
7332 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7333 default port on machine type. Register serial as inactive.
7334 * grub-core/video/sis315pro.c: New file.
7335 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7336 definition.
7337 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7338 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7339 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7340 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7341 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7342 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7343 to ...
7344 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7345 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7346 definition.
7347 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7348 (grub_arch_machine): New extern var.
7349 * include/grub/mips/loongson/serial.h
7350 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7351 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7352 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7353 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7354 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7355 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7356 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7357 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7358 * include/grub/term.h (grub_term_register_input_inactive): New inline
7359 function.
7360 (grub_term_register_output_inactive): Likewise.
7361 * include/grub/video.h (grub_video_driver_id): New value
7362 GRUB_VIDEO_DRIVER_SIS315PRO.
7363 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7364 New field "names". All users updated.
7365 New field value IMAGE_FULOONG_FLASH.
7366 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7367
6ada82d1
JU
73682011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7369
7370 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7371 and add some clarification.
7372
90c571a4
VS
73732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7376 platforms if kernel is compressed.
7377
de04eecf
VS
73782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7381 unused modules since currently referrence counter isn't reliable and
7382 there isn't much memory to recover there anyway.
7383
57688121
VS
73842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7387 rather than resetting it to allow modules to reference themselves
7388 in init.
7389
3d2c7e35
VS
73902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7393 counter on dependencies since grub_dl_unref already handles this.
7394
b25db218
VS
73952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7398 on error if not already done.
7399
25a45338
VS
74002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 Fix few potential memory misusage.
7403
7404 * grub-core/font/font.c (load_font_index): Don't free char_index to
7405 avoid double free.
b25db218
VS
7406 (grub_font_load): Zero-fill font at alloc for safety.
7407 Close file on error.
7408 (free_font): Free bmp_idx.
25a45338 7409
0cac83df
VS
74102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * docs/grub.texi (Installation): Fix several outdated claims.
7413
2217a143
VS
74142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 Handle module_license on windows.
7417
7418 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7419 sections shifted.
7420 (insert_string): Make argument const char * instead of char *.
7421 (write_section_data): Handle long section names.
7422 Handle module_license.
7423
d4de6b01
VS
74242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7427 handle class-free menuentries.
7428 (grub_normal_add_menu_entry): Add a check to be sure.
7429
4c2a3b43
VS
74302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7433 PgUp and PgDown.
7434
85c6210f
VS
74352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * configure.ac: Bump version to 1.99.
7438
36084912
VS
74392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Give ATA device a bit more time on first try in order to allow disks
7442 to spin up.
7443
7444 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7445 if dev->present is 1. Reset dev->present on failure.
7446 (grub_ata_device_initialize): Set dev->present to 1.
7447 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7448 (grub_ata_device): New member 'present'.
7449
bda0e219
VS
74502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * util/grub-mkimage.c (generate_image): Update hash.
7453
19e1c41b
VS
74542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 Flush caches on DMA memory.
7457
7458 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7459 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7460 (grub_dma_free): Likewise.
7461 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7462
91bbcc0c
VS
74632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7466 to avoid asm treating ld and sd as macros.
7467
60ddfad3
VS
74682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7471 decompressor.
7472
a298aa04
VS
74732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7476 grub_decompress_core since later would fail if grub_decompress_core
7477 is too far.
7478
9b44feca
VS
74792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7482 R_MIPS_JALR since it's used by newer compiler.
7483
56dbe7b4
VS
74842011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7487
52856af2
VS
74882011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7491 file_path to 0 for surety.
7492 (grub_chainloader_boot): Set exit_data to NULL.
7493 Unset the loader once done.
7494 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7495
9c9bfc6d
VS
74962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7499 unknown key into a dprintf.
7500
dd94a3df
VS
75012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7504 on first non-existant partition.
7505
fa68d99c
VS
75062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7509 openning fails.
7510 Reported by: Mark Korenberg.
7511
157effb7
VS
75122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7515 overflow.
7516
ea75312f
VS
75172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7520 before closing to ensure that it will be readable by grub-setup.
7521
072b5d31
VS
75222011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7525 (devpath_1): Use MAKE_PIWG_PATH.
7526 (devpath_2): Likewise.
7527 (devpath_3): Likewise.
7528 (devpath_4): Likewise.
7529 (devpath_5): Likewise.
7530 (devpath_6): Likewise.
7531
7532 The appleldr.mod was checked that to be binary identical to previous
7533 version.
7534
7fae0051
Z
75352011-05-05 Zach <mikezackles>
7536
7537 Support 2010 Macbooks.
7538
7539 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7540 (devs): Add devpath_6.
7541
7c515bee
VS
75422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7545 /dev/random. /dev/urandom is good enough for our purposes (salting).
7546
ed660bd8
VS
75472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7550
ee5614b7
VS
75512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7554 hexadecimal.
7555
664889a6
VS
75562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7559 and not 0 on failure.
7560
bd405bbc
CW
75612011-05-03 Colin Watson <cjwatson@ubuntu.com>
7562
7563 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7564 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7565 disk; otherwise grub_fs_probe will not fall back to the next
7566 filesystem.
7567 (grub_pxefs_open): Likewise, for consistency.
7568 Reported and tested by: Ezekiel Grave.
7569
4ebff753
CW
75702011-05-03 Colin Watson <cjwatson@ubuntu.com>
7571
7572 * tests/partmap_test.in: Don't hardcode path to parted.
7573 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7574
8f942553
CW
75752011-05-01 Colin Watson <cjwatson@ubuntu.com>
7576
7577 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7578 of `ls' to find out which devices are available.
7579
3c62402d
VS
75802011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7583 than source address for efi mmap buffer.
7584
723f63f2
VS
75852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7588 wrong action on non-detecting the magic.
7589
68797f92
VS
75902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7593 already supplied by another part of the module (fixes compilation on
7594 FreeBSD).
7595
6be8715d
VS
75962011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7599 match the one used by mdadm.
7600
e91dba5b
CW
76012011-04-21 Colin Watson <cjwatson@ubuntu.com>
7602
7603 * po/README: Add instructions for creating po/LINGUAS.
7604
c85140b3
CW
76052011-04-21 Colin Watson <cjwatson@ubuntu.com>
7606
7607 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7608 #551428.
7609
7610 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7611 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7612 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7613 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7614 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7615 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7616 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7617 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7618 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7619 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7620 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7621 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7622 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7623 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7624 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7625 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7626 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7627 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7628 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7629 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7630 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7631 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7632
92051871
CW
76332011-04-21 Colin Watson <cjwatson@ubuntu.com>
7634
7635 * grub-core/kern/emu/getroot.c
7636 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7637 test that was incorrectly reintroduced in r3214.
7638 Reported by: Ian Dall. Fixes Savannah bug #33133.
7639
b13f79a4
CW
76402011-04-21 Colin Watson <cjwatson@ubuntu.com>
7641
7642 Fix stack pointer handling in 16-bit relocator.
7643
7644 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7645 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7646 Fixes Ubuntu bug #683904.
7647
9b710a88
VS
76482011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * configure.ac: Bump version to 1.99~rc2.
7651
d97e7b59
VS
76522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7655 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7656 * grub-core/lib/x86_64/setjmp.S: Likewise.
7657 * grub-core/lib/mips/setjmp.S: Likewise.
7658 * grub-core/lib/powerpc/setjmp.S: Likewise.
7659 * grub-core/lib/sparc64/setjmp.S: Likewise.
7660
0624551c
VS
76612011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7664 * grub-core/lib/efi/datetime.c: Likewise.
7665
e8f28d4c
VS
76662011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7669 New function.
7670 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7671 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7672 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7673
bba79a15
VS
76742011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7677 bitmap.
7678 (grub_gfxterm_term_init): Likewise.
7679
abc474ef
VS
76802011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 Take into account the decorations the computing menu entry width.
7683
7684 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7685 (grub_gfxmenu_create_box): Register get_border_width.
7686 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7687 if available.
7688 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7689 get_border_width.
7690
e74b3947
EP
76912011-04-18 Endres Puschner <code@e7p.de>
7692
7693 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7694 Don't skip first class.
7695
34faa595
VS
76962011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7699 chunks.
7700 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7701
93a777e3
VS
77022011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 Complete 64-bit division support.
7705
7706 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7707 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7708 * include/grub/misc.h (grub_divmod64): Rename to ...
7709 (grub_divmod64_full): ... this.
7710 (grub_divmod64): New inline function.
7711
a5102d94
VS
77122011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7715
f3fb7b36
VS
77162011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7719 performing the necessary test.
7720
9ac718b0
VS
77212011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7724 (kfreebsd.elf): Likewise.
7725 (pc-chainloader.elf): Likewise.
7726 (ntldr.elf): Likewise.
7727
50d2cc5a
VS
77282011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 Identify RAID by its UUID rather than (guessed) name.
7731
7732 * grub-core/disk/raid.c (ascii2hex): New function.
7733 (grub_raid_open): Accept mduuid/%s specification.
7734 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7735 (get_mdadm_uuid): ... this.
7736 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7737
e03f7bea
VS
77382011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7741 to negative size.
7742
e74c3112
CW
77432011-04-13 Colin Watson <cjwatson@ubuntu.com>
7744
7745 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7746 btrfs subvolume.
7747 * util/grub.d/20_linux_xen.in: Likewise.
7748
78fa584f
CW
77492011-04-13 Colin Watson <cjwatson@ubuntu.com>
7750
7751 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7752 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7753
7754 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7755 Build a list of relevant visible mounts using the mnt_id and
7756 parent_mnt_id fields, and then scan that list at the end.
7757
9d5f8162
CW
77582011-04-12 Colin Watson <cjwatson@ubuntu.com>
7759
7760 * docs/grub.texi (normal): New section.
7761 (normal_exit): New section.
7762 (Embedded configuration): Add reference to normal.
7763 (GRUB only offers a rescue shell): Likewise.
7764 * docs/grub-dev.texi (Error Handling): Fix typo.
7765
09a9d66f
CW
77662011-04-12 Colin Watson <cjwatson@ubuntu.com>
7767
7768 * NEWS: Drop obsolete entry about probe-only btrfs support.
7769
0c676933
CW
77702011-04-12 Colin Watson <cjwatson@ubuntu.com>
7771
7772 * util/import_gcry.py: Fix typo.
7773
ec9f5e0d
VS
77742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * NEWS: Add btrfs support.
7777
fe6b2cba
VS
77782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
77792011-04-11 Colin Watson <cjwatson@ubuntu.com>
7780
7781 BtrFS support. Written by me (Vladimir) with important bugfixes and
7782 even more important testing by Colin.
7783
7784 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7785 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7786 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7787 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7788 mem_input_off and mem_input. All users updated to accept in-RAM input.
7789 (gzio_seek): New function.
7790 (test_zlib_header): Likewise.
7791 (grub_gzio_read): Likewise.
7792 (grub_zlib_decompress): Likewise.
7793 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7794 Accept partial and non-virtual mounts.
7795 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7796 avoid receiving /dev/dm-X as device.
7797 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7798 Handle bind and partial mounts.
7799 * grub-core/lib/crc.c: New file.
7800 * include/grub/deflate.h: Likewise.
7801 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7802 proto.
7803 * include/grub/lib/crc.h: New file.
7804
e745cf0c
VS
78052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 Implement automatic module license checking according to new GNU
7808 guidelines.
7809
7810 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7811 (grub_dl_load_core): Use grub_dl_check_license.
7812 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7813 (GRUB_MOD_LICENSE): Likewise.
7814 (GRUB_MOD_DUAL_LICENSE): Likewise.
7815 All modules updated.
7816
2a9bc016
CW
78172011-04-11 Colin Watson <cjwatson@ubuntu.com>
7818
7819 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7820 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7821 loaders.
7822 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7823
8a3bc88e
VS
78242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7827
af869a4a
VS
78282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7831 failed.
7832
9ee8d94f
VS
78332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7836 parenthesis in the middle of the filename.
7837
b01abe3e
VS
78382011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7841 rather than trying to put initrd way too high.
7842 Reported by: Ryan Lortie <desrt@desrt.ca>
7843
335bda1e
VS
78442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7847 improperly removed string.
7848
5ca1a64d
VS
78492011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7852 is_disk.
7853 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7854 (open_device) Likewise.
7855 (grub_util_biosdisk_close): Likewise.
d8ce9995 7856 Reported by: Mark Korenberg.
5ca1a64d 7857
cbac5b1e
AK
78582011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7859
7860 * util/grub-mkconfig_lib.in: Add missing quotes.
7861
088cdb65
CW
78622011-04-10 Colin Watson <cjwatson@ubuntu.com>
7863
7864 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7865 is NULL.
7866
8b8a81fa
VS
78672011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 Dynamically count the number of lines for the lower banner.
7870
7871 * grub-core/normal/menu_entry.c (per_term_screen): New member
7872 num_entries.
7873 (print_down): Use num_entries.
7874 (update_screen): Likewise.
7875 (grub_menu_entry_run): Set num_entries.
7876 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7877 num_entries.
7878 (grub_print_message_indented): Move real part to ...
7879 (grub_print_message_indented_real): ... here. Additional argument
7880 dry_run.
7881 (draw_border): Additional argument num_entries.
7882 (print_message): Additional argument dry_run.
7883 (print_entries): Receive menu viewer data.
7884 (grub_menu_init_page): New argment num_entries.
7885 (menu_text_set_chosen_entry): Use num_entries.
7886 (grub_menu_try_text): Likewise.
7887 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7888 All users updated.
7889 (grub_ucs4_count_lines): New function.
7890 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7891 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7892 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7893 (grub_term_border_height): Likewise.
7894 (grub_term_num_entries): Likewise.
7895
277f955b
VS
78962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7899 Remove now unused string.
7900
536ce85a
CW
79012011-04-09 Colin Watson <cjwatson@ubuntu.com>
7902
7903 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7904 build system.
7905 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7906
7907 (Comment): Fix typo.
7908 (Getting started): General copy-editing.
7909 (Typical Development Experience): Likewise.
7910 (Error Handling): Likewise.
7911 (Video API): Likewise.
7912
2cf09e32
CW
79132011-04-09 Colin Watson <cjwatson@ubuntu.com>
7914
7915 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7916 throughout.
7917
1ec652f4
VS
79182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7921 directory.
7922
2c583728
CW
79232011-04-08 Colin Watson <cjwatson@ubuntu.com>
7924
7925 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7926 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7927 "development".
7928
d7a565e9
VS
79292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7932 grub_strcpy since the lines aren't necessarily 0-terminated.
7933
7c2e4909
VS
79342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7937 root on legacy.
7938
34c09785
VS
79392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7942 (GRUB_MOD_INIT): DEVICE isn't optional.
7943
6a6f8058
VS
79442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7947 word on new line if it's too long anyway. Fixes a hang.
7948
2e335e90
VS
79492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7952 const.
7953 * util/grub-setup.c (main): Reuse md device name if available.
7954 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7955 not GRUB name as argument.
7956 Based on patch by: Florian Wagner <fwagner>.
7957
10a7a867
VS
79582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7961 Place mbi on low memory for better compatibility.
7962
7a3d6cd9
VS
79632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7966
18dd6b47
VS
79672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
79682011-04-08 Colin Watson <cjwatson@ubuntu.com>
7969
7970 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 7971 * conf/Makefile.common: Likewise.
18dd6b47 7972
3c0e3f14
VS
79732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7974
f7148863
VS
7975 * grub-core/normal/menu.c: Add missing include.
7976
79772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 7980
6d1fa41f
MZ
79812011-04-08 Martin Zuther <mzuther@mzuther.de>
7982
7983 * util/grub-mkconfig.in: Ignore emacsen backup.
7984
478182a8
VS
79852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7988 on open.
7989 (grub_util_biosdisk_close): Likewise.
7990
72a89a54
VS
79912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7994 const attribute and use grub_isdigit.
7995
b5ebecfa
A
79962011-04-06 Andrey <dev_null@ukr.net>
7997
7998 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7999 gcc warning.
8000
7755f66e
VS
80012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
8004 useful grub_dprintf's.
8005
461121ff
VS
80062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
8009
2a961775
VS
80102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
8013
adf594cc
VS
80142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 Output errors if theme loading failed.
8017
8018 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
8019 grub_gfxterm_fullscreen on error paths to ...
8020 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
8021 theme loading error.
8022
665900a3
VS
80232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
8026 space for older compilers.
8027 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8028
a562b479
VS
80292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
8032 and report them as not RAID members since they are useless for GRUB.
8033 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8034
850e9373
VS
80352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 Increase LVM implementation robustness in order not to crash on
8038 configurations like pvmove. Previously code assumed that in some places
8039 only lvs or only pvs are used whereas it seems that they are used
8040 interchangeably.
8041
8042 * grub-core/disk/lvm.c (read_node): New function.
8043 (read_lv): Use read_node.
8044 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
8045 Match volumes only at the end when all lvs are found. Take both
8046 pvs (first) and lvs (second) into account.
8047 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
8048 mirror_* into node_*. All users updated.
8049 (grub_lvm_stripe): Merge this ...
8050 (grub_lvm_mirror): ... and this ...
8051 (grub_lvm_node): ... into this. All users updated.
8052
6f332153
VS
80532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
8056 of function to allow further scanning for LVMs.
8057
829ea451
VS
80582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
8061 on failed seek as it breaks open fd reusage.
8062
09ceb9a5
VS
80632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * util/grub-install.in: Add a recommendation to use --recheck before
8066 reporting bugs.
8067
67e11623
VS
80682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
8071 are obtained.
8072
caee5efd
VS
80732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 GRUB developper manual based on existing Internals section and
8076 contributions by the various authors with active copyright assignment.
8077
8078 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
8079 * docs/font_char_metrics.png: New file.
8080 * docs/font_char_metrics.txt: Likewise.
8081 * docs/grub-dev.texi: Likewise.
8082 * docs/grub.texi (Internals): Move from here ...
8083 * docs/grub-dev.texi: ... here.
8084
2cccc747
CW
80852011-04-01 Colin Watson <cjwatson@ubuntu.com>
8086
8087 Store the loopback device as data on loopback grub_disk structures,
8088 rather than the file it points to. This fixes use of freed memory
8089 if an existing loopback device is replaced.
8090
8091 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
8092 disk->data, not dev->file.
8093 (grub_loopback_read): Adjust file assignment to match.
8094 Fixes Ubuntu bug #742967.
8095
186ae367
CW
80962011-04-01 Colin Watson <cjwatson@ubuntu.com>
8097
8098 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
8099 when replacing an existing device.
8100
cfed2ad0
VS
81012011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
8104 memory corruptions.
8105
8106 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
8107 unsigned.
8108 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
8109 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
8110 (grub_jfs_read_inode): Likewise.
8111 (grub_jfs_opendir): Likewise. Remove now useless casts.
8112 (grub_jfs_getent): Likewise.
8113 Make ino a grub_uint32_t rather than int.
8114 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
8115 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
8116 division and module with bit operations.
8117 (grub_jfs_find_file): Make ino a grub_uint32_t.
8118 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8119
05d2ed32
CW
81202011-04-01 Colin Watson <cjwatson@ubuntu.com>
8121
8122 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8123 warning. (This was in fact always initialised before use, but GCC
8124 wasn't smart enough to prove that.)
8125 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8126
91dc6073
VS
81272011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8130 stack alignment.
8131 (efi_wrap_1): Likewise.
8132 (efi_wrap_2): Likewise.
8133 (efi_wrap_3): Likewise.
8134 (efi_wrap_4): Likewise.
8135 (efi_wrap_5): Likewise.
8136 (efi_wrap_6): Likewise.
8137 (efi_wrap_10): Likewise.
8138 Based on information by: Red Hat/Peter Jones.
8139
a8afc1d1
CW
81402011-03-31 Colin Watson <cjwatson@ubuntu.com>
8141
8142 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8143 set-but-not-used variable.
8144
a826cc7d
CW
81452011-03-31 Colin Watson <cjwatson@ubuntu.com>
8146
8147 * docs/grub.texi (Simple configuration): Be more explicit about
8148 GRUB_DEFAULT, and add an example.
8149 Reported by: Leslie Rhorer.
8150
875b67ba
CW
81512011-03-30 Colin Watson <cjwatson@ubuntu.com>
8152
8153 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8154 shell".
8155
fd7cd914
AS
81562011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8157
8158 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8159 * util/grub.d/20_linux_xen.in: Likewise.
8160
090b1b6a
VS
81612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * util/grub.d/10_linux.in: Try alternative config filenames where
8164 we parse config file.
8165 * util/grub.d/20_linux_xen.in: Likewise.
8166
baad885c
AS
81672011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8168
8169 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8170 * util/grub.d/20_linux_xen.in: Likewise.
8171
241e41f5
VS
81722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * grub-core/disk/raid.c (insert_array): Add few potentially
8175 useful grub_util_info.
8176 (grub_raid_register): Likewise.
8177
56445fb2
VS
81782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8181 Preserve partition number in mdadm code path.
8182
c871b1c6
VS
81832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8186 few potentially useful grub_util_info.
8187
5e631b4f
CW
81882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8191
2d5d0333
CW
81922011-03-30 Colin Watson <cjwatson@ubuntu.com>
8193
8194 * docs/grub.texi (default): Use @example rather than nested
8195 itemized lists to avoid breaking gendocs.
8196
3d7ed04e
CW
81972011-03-30 Colin Watson <cjwatson@ubuntu.com>
8198
8199 * docs/grub.texi (Future): Update.
8200
abf04200 82012011-03-30 Colin Watson <cjwatson@ubuntu.com>
8202
8203 * docs/grub.texi (Environment): New chapter.
8204 (Changes from GRUB Legacy): Link to "Environment block" section for
8205 details of limitations.
8206 (Simple configuration): Likewise. Link to documentation of gfxmode
8207 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8208 respectively.
8209 (Shell-like scripting): Note that normal variables are stored in the
8210 environment.
8211 (gettext): Link to documentation of lang and locale_dir.
8212 (list_env): New section.
8213 (load_env): New section.
8214 (save_env): New section.
8215
8216 (Reporting bugs): Fix typo.
8217
e1ad0edd
VS
82182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8221 the example.
8222
5d803174
VS
82232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * grub-core/term/at_keyboard.c (set_scancodes)
8226 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8227
2a2da1d0
CW
82282011-03-30 Colin Watson <cjwatson@ubuntu.com>
8229
8230 * docs/grub.texi (Menu-specific commands): Remove some semantics
8231 that were true in GRUB Legacy but not in GRUB 2.
8232 (submenu): New section.
8233 (false): New section.
8234 (read): New section.
8235 (true): New section.
8236
a7527639
CW
82372011-03-30 Colin Watson <cjwatson@ubuntu.com>
8238
8239 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8240
82412011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
8242
8243 * docs/grub.texi (Simple configuration): Explain some of the
8244 current limitations of grub-mkconfig.
8a748df2 8245 Reported by: Leslie Rhorer.
e30af029 8246
fc858482
VS
82472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 Old macs search for boot.efi rather than for bootia32.efi.
8250
8251 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8252 * util/grub-mkrescue.in: Likewise.
8253 Suggested by: Peter Jones.
8254
e1eb511d
VS
82552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8258
70e75364
VS
82592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8262 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8263 (grub_lvm_mirror): New struct.
8264 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8265 (grub_lvm_iterate): Iterate only visible volumes.
8266 (grub_lvm_read): Factor out to ..
8267 (read_lv): ... this. Support mirrors.
8268 (grub_lvm_read): New wrapper function.
8269 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8270 stripped or mirrored.
8271
fc18f6a3
VS
82722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8275
5c650f4c
CW
82762011-03-29 Colin Watson <cjwatson@ubuntu.com>
8277
8278 * docs/grub.texi (loopback): New section.
8279
61d7156b
CW
82802011-03-29 Colin Watson <cjwatson@ubuntu.com>
8281
8282 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8283 removed -p option.
8284
994b8264
CW
82852011-03-29 Colin Watson <cjwatson@ubuntu.com>
8286
8287 * docs/grub.texi (BIOS installation): New section, partly based on
8288 previous text in other sections.
8289 (Installing GRUB using grub-install): Replace BIOS discussion with a
8290 cross-reference.
8291 (Images): Likewise.
8292
9e4d19e0
VS
82932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8296 [HAVE_DIOCGDINFO]: Add safety checks.
8297
a307c0b2
VS
82982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8301 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8302
b4db4f39
CW
83032011-03-29 Colin Watson <cjwatson@ubuntu.com>
8304
8305 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8306 real_sb->size is zero (e.g. RAID-0), get the disk size from
8307 real_sb->data_size instead.
8308 Fixes Ubuntu bug #743136.
8309
35e5f84c
VS
83102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8313 printf clauses for printing size and start.
8314
d2e29d81
VS
83152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8318 Reported and tested by: Timothy Nikkel.
8319
ed5587af
VS
83202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8323 (dirty_region_add_real): ... this.
8324 (dirty_region_add): Don't discard margin refresh when performing
8325 scheduled repaint.
8326
a1dc717c
VS
83272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/lib/relocator.c (allocate_regstart)
8330 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8331 terminals are capabple of malloc-free operation.
8332 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8333 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8334
9f3677d3
VS
83352011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8336
8337 * util/grub-setup.c: Copy the partition table zone if floppy support
8338 is disabled, even if no partition table is found.
8339
8340 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8341 during POST if an invalid partition table is contained in the PBR
8342 of the active partition when GRUB is installed to a partition.
8343
24148725
CW
83442011-03-28 Colin Watson <cjwatson@debian.org>
8345
8346 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8347 comment.
8348
f329eda7
CW
83492011-03-28 Colin Watson <cjwatson@debian.org>
8350
8351 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8352 to be specific about what kind of RAID device we're scanning for.
8353
c482ad98
SG
83542011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8355
8356 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8357 return freed string.
8358
5ee04984
VS
83592011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8362
f4727da9
VS
83632011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 Use libgeom on FreeBSD to detect partitions.
8366
8367 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8368 (grub-mkrelpath): Likewise.
8369 (grub-script-check): Likewise.
8370 (grub-editenv): Likewise.
8371 (grub-mkpasswd-pbkdf2): Likewise.
8372 (grub-fstest): Likewise.
8373 (grub-mkfont): Likewise.
8374 (grub-mkdevicemap): Likewise.
8375 (grub-probe): Likewise.
8376 (grub-setup): Likewise.
8377 (grub-ofpathname): Likewise.
8378 (grub-mklayout): Likewise.
8379 (example_unit_test): Likewise.
8380 (grub-menulst2cfg): Likewise.
8381 * grub-core/Makefile.core.def (grub-emu): Likewise.
8382 (grub-emu-lite): Likewise.
8383 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8384 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8385 define HAVE_DIOCGDINFO.
8386 (follow_geom_up) [FreeBSD]: New function.
8387 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8388 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8389 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8390 unconditionally of HAVE_DIOCGDINFO.
8391
82fe6c75
VS
83922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 Fix FreeBSD compilation problem.
8395
8396 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8397 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8398
4c6c9431
CW
83992011-03-24 Colin Watson <cjwatson@ubuntu.com>
8400
8401 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8402 Switch back to page zero before loading a kernel, since some kernel
8403 drivers expect that.
8404 Thanks to: Felix Kuehling.
8405
c7064d94
VS
84062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8409 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8410 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8411
3f71cded
VS
84122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8415 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8416
ef6de21a
VS
84172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8418
8419 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8420 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8421 malloc is disabled.
8422
8bc66a2c
VS
84232011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8426 for modules headers when counting the needed allocation size.
8427
5657722c
VS
84282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8431 if no ASCII character is found to prevent crash.
8432
41a85f55
AK
84332011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8434
8435 * grub-core/video/bitmap.c (match_extension): Ignore case.
8436
59e1e5f1
VS
84372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8440
bd4d051a
VS
84412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * grub-core/script/parser.y: Declare "time" as valid argument.
8444
bae7fcc1
PJ
84452011-03-23 Peter Jones <pjones@redhat.com>
8446
8447 Fix incorrect assert failure reporting.
8448
8449 * grub-core/tests/example_functional_test.c (example_test): Add
8450 a failure comment.
8451 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8452 (failure_start): ...this. Check that malloc succeeded.
8453 Don't call xvasprintf. Return failure struct.
8454 (failure_append_vtext): New function.
8455 (failure_append_text): Likewise.
8456 (add_failure): Likewise.
8457 (grub_test_assert_helper): Likewise.
8458 * include/grub/test.h (grub_test_assert_helper): New declaration.
8459 (grub_test_assert): Macro rewritten.
8460
537dc9be
VS
84612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8464
fa3e01bf
VS
84652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8468
b1d28404
VS
84692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8472 into GRUB-style one.
8473
2e3e2e09
VS
84742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8477 error and not grub_errno.
8478 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8479
ed57e557
VS
84802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8483 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8484
d1611f01
VS
84852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/efiemu/i386/pc/cfgtables.c
8488 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8489 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8490 (grub_xnu_unlock): Likewise.
8491 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8492
7d4e39d6
VS
84932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8496 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8497 * grub-core/commands/hashsum.c (aliases): Likewise.
8498 * grub-core/commands/setpci.c (pci_registers): Likewise.
8499 * grub-core/disk/usbms.c (attach_hook): Likewise.
8500 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8501 (zio_checksum_table): Likewise.
8502 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8503 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8504 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8505 * grub-core/lib/relocator.c (leftovers): Likewise.
8506 (extra_blocks): Likewise.
8507 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8508 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8509 (modules_last): Likewise.
8510 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8511 (devices): Likewise.
8512 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8513 (modules_last): Likewise.
8514 * grub-core/normal/auth.c (users): Likewise.
8515 * grub-core/normal/context.c (initial_menu): Likewise.
8516 (current_menu): Likewise.
8517 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8518 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8519 (grub_serial_terminfo_input_template): Likewise.
8520 (grub_serial_terminfo_output_template): Likewise.
8521 (grub_serial_terminfo_input): Likewise.
8522 (grub_serial_terminfo_output): Likewise.
8523 (registered): Likewise.
8524 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8525
40fc4659
VS
85262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8529 grub_video_mode_type_t.
8530 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8531 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8532 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8533
2da48d28
VS
85342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * util/grub-install.in: Correct the x86-64 name as x86_64.
8537
9b43bf39
CW
85382011-03-11 Colin Watson <cjwatson@ubuntu.com>
8539
8540 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8541 initial chunk read from the kernel always includes GRUB's multiboot
8542 header, which is now outside the first sector.
8543
be1a7ce0
CW
85442011-03-09 Colin Watson <cjwatson@ubuntu.com>
8545
8546 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8547 cached mmap_size, so that this works correctly when called multiple
8548 times.
8549 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8550
83a3c48d
CW
85512011-03-09 Colin Watson <cjwatson@ubuntu.com>
8552
8553 * docs/grub.texi (Simple configuration): Tidy up formatting.
8554
57d75699
SJ
85552011-03-07 Szymon Janc <szymon@janc.net.pl>
8556
8557 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8558 Set-but-not-used variable removed.
8559
028501a0
VS
85602011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 Workaround yet another IEEE1275 bug.
8563
8564 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8565 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8566 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8567 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8568 is set.
8569 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8570 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8571
d998657d
VS
85722011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8575 error.
8576
fee7cdd4
CW
85772011-02-11 Colin Watson <cjwatson@ubuntu.com>
8578
8579 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8580 empty, since in that case we can only generate either nothing or a
8581 syntactically invalid configuration file.
8582 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8583
97286eb5
CW
85842011-02-09 Colin Watson <cjwatson@ubuntu.com>
8585
8586 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8587 (Making a GRUB bootable CD-ROM): Likewise.
8588 (Invoking grub-mkrescue): New section.
8589 Reported by: Yann Dirson. Fixes Debian bug #612585.
8590
22b28eb3
CW
85912011-02-09 Colin Watson <cjwatson@ubuntu.com>
8592
8593 * util/grub-install.in: Remove unnecessary brackets from tr
8594 arguments.
8595 * util/grub.d/10_hurd.in: Likewise.
8596 * util/grub.d/10_kfreebsd.in: Likewise.
8597 * util/grub.d/10_linux.in: Likewise.
8598 * util/grub.d/20_linux_xen.in: Likewise.
8599 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8600
7e735e43
CW
86012011-02-08 Colin Watson <cjwatson@ubuntu.com>
8602
8603 * include/grub/file.h (not_easly_seekable): Rename to ...
8604 (not_easily_seekable): ... this. Update all users.
8605
800f1881
CW
86062011-01-28 Colin Watson <cjwatson@ubuntu.com>
8607
8608 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8609 grub-mkrescue.
8610
3281d3d6
VS
86112011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * util/grub-mkimage.c (generate_image): Refuse to create the images
8614 bigger than the actual flash (512K) in Loongson machines. 512K is also
8615 the biggest chip supported by them.
8616
3533413c
VS
86172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8620
73ae4f4f
VS
86212011-01-22 Anthony DeRobertis <anthony@derobert.net>
8622
8623 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8624 super_offset field.
8625
37f4f608
VS
86262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * util/grub-install.in: Ignore install device on platforms
8629 where it doesn't make sense. Always use UUIDs except on pc, efi and
8630 sparc64.
8631 Reported by: Daniel Kahn Gillmor.
8632
03a4ccb5
VS
86332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8636
ffc8f4d8
VS
86372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8640 (iterate_real): Don't rely on partition being non-NULL.
8641
80f23be7
VS
86422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8645 supported platforms. Put a compile time assert for this rather than
8646 generate a warning with 32-bit shift.
8647
5d4f4dd5
VS
86482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8651 logical expression more readable.
8652
e489601a
VS
86532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8656 even if some elements have a name.
8657 Reported by: Alexander GQ Gerasiov.
8658
96e0a6ea
CW
86592011-01-22 Colin Watson <cjwatson@ubuntu.com>
8660
8661 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8662 path unreadable if `grub-probe -t abstraction' fails, for example if
8663 memberlist fails on an LVM volume group.
8664 Reported by: Darius Jahandarie.
8665
81431e2b
CW
86662011-01-22 Colin Watson <cjwatson@ubuntu.com>
8667
8668 * docs/grub.texi (Simple configuration): Document
8669 GRUB_PRELOAD_MODULES.
8670
5e79d66a
CW
86712011-01-17 Colin Watson <cjwatson@ubuntu.com>
8672
8673 * .bzrignore: Remove nonexistent grub-pbkdf2.
8674
646ada34
VS
86752011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 * configure.ac: Bump version to 1.99~rc1.
8678
04360337
VS
86792011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8682 for safety.
8683
46c9db88
VS
86842011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8687 module.
8688
86892011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
8690
8691 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8692
4fbf1852
VS
86932011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8696 diskdevid.
8697
f1632d4d
VS
86982011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 Fix compilation on cygwin.
8701
8702 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8703 -R .drectve on cygwin.
8704 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8705 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8706 (COND_CYGWIN): New condition.
8707 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8708 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8709 not @TARGET_OBJ2ELF@.
8710 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8711 type to determine whether aux is to be used.
8712
0b5e127b
VS
87132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8716 realpath'ed device string.
8717 Handle floppy (somewhat).
8718 Issue error in unknown case rather than garbage.
8719 Reported by: Axel Beckert.
8720
173b71e9
VS
87212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * util/grub.d/00_header.in (load_video): Handle the case when no video
8724 drivers available.
8725 Thanks to: Axel Beckert.
8726
f8f479db
VS
87272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8730 variable. Fixes problem on big endian platforms.
8731
8fc0a245
VS
87322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8735 It doesn't work well there.
8736
b8494fbe
VS
87372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8740 warning.
8741 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8742 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8743 counter.
8744
b44a558c
VS
87452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 Use alias->path rather than buggy "canon".
8748
8749 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8750 (ofdisk_hash_add): New argument curcan. All users updated.
8751
51fa856c
CW
87522011-01-11 Colin Watson <cjwatson@ubuntu.com>
8753
8754 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8755
9da068a5
VS
87562011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8759 loadmask before doing any calculations. Use correct type for offset.
8760 (grub_linux_load64): Likewise.
8761
86205c94
CW
87622011-01-11 Colin Watson <cjwatson@ubuntu.com>
8763
8764 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8765 with NULL.
8766 (console_grub_equivalences_unshift): Likewise.
8767 Reported by: Daniel Dehennin.
8768
4531a206
VS
87692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8772 (set_env_limn_ro): Likewise.
8773 (GRUB_MOD_INIT): Likewise.
8774 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8775 ARRAY_SIZE while on it.
8776 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8777 * grub-core/normal/context.c (grub_env_export): Move from here ...
8778 * grub-core/kern/env.c (grub_env_export): ... here.
8779 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8780 prefix.
8781 * grub-core/kern/main.c (grub_main): Export root and prefix.
8782 * include/grub/env.h (grub_env_export): Export.
8783 Reported by: Seth Goldberg.
8784
45146057
VS
87852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8788 Take into account space used by ELF sections and multiboot palette.
8789 Reported by: Grégoire Sutre.
8790
f093110b
VS
87912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * BUGS: New file.
8794
3395fe52
VS
87952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 Pass more appropriate video id to Linux.
8798
8799 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8800 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8801 fill have_vga.
8802 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8803 shift params->lfb_size.
8804 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8805
c2fa6cbb
VS
88062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8809
b3ff6ff0
VS
88102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8813 separator and pass bootpath/devid even if only one of them is available.
8814 Reported by: Seth Goldberg.
8815
ae67942e
VS
88162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8819 implementations bug on them.
8820
8821 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8822 memory.
8823 (filter_memory_map): Likewise.
8824
d570097a
VS
88252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8828 Reported by: nebuchadnezzar.
8829
a508e776
VS
88302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8833 Reported by: nebuchadnezzar.
8834
dcb883b1
VS
88352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 Submenu default support.
8838
8839 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8840 auto_boot. All users updated.
8841 Declared static.
8842 Handle chosen and default with submenus.
8843 (grub_menu_execute_with_fallback): Declared static.
8844 Don't notify failure if autobooted. Upper level does it.
8845 (menuentry_eq): New function.
8846 (get_entry_number): Use menuentry_eq.
8847 (show_menu): New parameter "autobooted". All users updated.
8848 (grub_show_menu): Likewise.
8849 * include/grub/normal.h (grub_show_menu): Likewise.
8850 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8851 (grub_menu_execute_with_fallback): Likewise.
8852
6fef99b4
VS
88532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * util/grub-mklayout.c (usage): Update help text.
8856
47a77af5
VS
88572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8860
ce6bb3ee
VS
88612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * util/grub-menulst2cfg.c (main): Trim the line.
8864
db87be2a
VS
88652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8868 (grub_machine_init): Don't check amount of low memory as reportedly
8869 INT 12h can be broken and if low memory is too low we wouldn't have
8870 gotten into grub_machine_init anyway.
8871
c49849cc
VS
88722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8875 (grub_machine_mmap_iterate): Take low memory into account
8876
b1969b30
VS
88772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8880 badfs.
8881 Reported by: TiCPU.
8882
cf0eaf13
VS
88832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8886 members errors.
8887
1f060f39
GS
88882011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8889
8890 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8891 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8892
a21e5672
GS
88932011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8894
8895 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8896 openbsd and netbsd types being in part_bsd module.
8897
c88172fa
VS
88982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8901 (_FILE_OFFSET_BITS): Likewise.
8902 Reported by: Seth Goldberg.
8903
53798c4b
GS
89042011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8905
8906 * configure.ac: Check for libdevmapper header.
8907
e7121b69
VS
89082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8911 avoid aliasing.
8912 (fzap_lookup): Likewise.
8913 (dnode_get): Likewise.
8914 (make_mdn): Likewise.
8915 (zfs_mount): Likewise.
8916 (fzap_iterate): Use temporary pointer to avoid aliasing.
8917 (grub_zfs_read): Likewise.
8918 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8919 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8920 pointers to avoid aliasing.
8921 (grub_cmd_xnu_kernel64): Likewise.
8922 (grub_xnu_load_driver): Likewise.
8923
fc836af9
VS
89242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8927 aliasing warning.
8928 (grub_cmd_terminal_output): Likewise.
8929 Reported and tested by: Grégoire Sutre.
8930
f9f37648
VS
89312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8934 warning.
8935 Reported and tested by: Grégoire Sutre.
8936
ec1dfd63
VS
89372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * configure.ac: Do CPU substitution even if it's specified explicitly.
8940 Reported and tested by: Alain Greppin.
8941
9462775a
VS
89422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8945 Reported and tested by: Alain Greppin.
8946
0fd48e35
VS
89472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 Satisfy some bison versions need for inttypes.h.
8950
8951 * grub-core/lib/posix_wrap/inttypes.h: New file.
8952 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8953 (int16_t): Likewise.
8954 (int32_t): Likewise.
8955 (int64_t): Likewise.
8956 Reported and tested by: Alain Greppin.
8957
43f1bc83
VS
89582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8961 Silence spurious warning.
8962 Reported and tested by: Alain Greppin.
8963
64d1f041
SJ
89642011-01-07 Szymon Janc <szymon@janc.net.pl>
8965
8966 * docs/grub.texi (Support automatic decompression): Update with xz
8967 decompression support.
8968
25953e10
SJ
89692011-01-07 Szymon Janc <szymon@janc.net.pl>
8970
8971 Improve loaders' kernel command line handling.
8972
8973 * grub-core/lib/cmdline.c: New file.
8974 * include/grub/lib/cmdline.h: Likewise.
8975 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8976 grub_create_loader_cmdline to create kernel command line.
8977 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8978 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8979 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8980 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8981 (linux): Add lib/cmdline.c on common.
8982
e72d259f
VS
89832011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8986 inopos might be unaligned.
8987
c0cf26da
VS
89882011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8991 endian transformations.
8992 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8993 Based on report by: Doug Nazar.
8994
0ca09e6c
DN
89952011-01-07 Doug Nazar <nazard.michi@gmail.com>
8996
8997 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8998 array->members[i].start_sector.
8999 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9000
014b6806
VS
90012011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
9004 Reported and tested by: Grégoire Sutre.
9005
415502c2
CW
90062011-01-06 Colin Watson <cjwatson@ubuntu.com>
9007
9008 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
9009 avoid causing test failures by clearing the screen.
9010
71b6a2b7
CW
90112011-01-06 Colin Watson <cjwatson@ubuntu.com>
9012
9013 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9014 Fix prefix check to handle the case where dir ends with a slash
9015 (most significantly, "/" itself).
9016 Reported by: Michael Vogt.
9017
b3f8d28a
VS
90182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 Run terminfo_cls on initing terminfo output to clear the screen and
9021 move the cursor to (0,0).
9022
9023 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
9024 Call grub_terminfo_output_init.
9025 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
9026 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
9027 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
9028
4c3e4f37
VS
90292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
9032 only when needed.
9033
488f71f1
VS
90342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
9037 CTRL.
9038
18a38098
VS
90392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 The E820 type 5 is BADRAM, not EXEC_CODE.
9042
9043 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9044 (GRUB_E820_BADRAM): New define.
9045 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
9046 into reserved. Propagate BADRAM.
9047 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9048 (GRUB_E820_BADRAM): New define.
9049
9eae2084
VS
90502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
9053 Ignore the memory post-4G.
9054 (grub_relocator_firmware_alloc_region): Additional debug statement.
9055
ebc71d28
VS
90562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
9059 names.
9060 Reported by: David Pravec.
9061
446fa400
VS
90622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
9065 BIOSes.
9066
a0159f37
VS
90672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
9070 Prevent overflow.
9071 (grub_reed_solomon_recover): Likewise.
9072
e5146ca1
VS
90732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
9076
90772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
9078
9079 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
9080 variable.
9081
5b1bdf12
CW
90822011-01-04 Colin Watson <cjwatson@ubuntu.com>
9083
9084 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
9085 descriptions of extract_legacy_entries_source and
9086 extract_legacy_entries_configfile.
9087 Reported by: Seung Soo, Ha.
9088
99d925aa
CW
90892011-01-03 Colin Watson <cjwatson@ubuntu.com>
9090
9091 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
9092 on devices that do not implement function 0.
9093
4af0504b
DV
90942011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
9095
9096 * grub-core/fs/hfsplus.c: Make parent unsigned.
9097 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
9098 overflows.
9099 (grub_hfsplus_cmp_extkey): Likewise
9100
469ee10a
VS
91012011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * util/grub-install.in: Correctly use bootloader_id and not
9104 GRUB_DISTRIBUTOR on efibootmgr line.
9105
323a8e9c
VS
91062011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
9109
1b394975
IC
91102010-12-31 Ian Campbell <ijc@hellion.org.uk>
9111
9112 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
9113 Xen and reorder menu item wording to make it clearer that this entry
9114 will launch Xen. Print separate messages when loading Xen and
9115 Linux.
9116
275bff5f
VS
91172010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9120 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9121 loop in case of incorrect amiga partmap.
9122
307806cb
VS
91232010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9126 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9127 Reported by:EHeM.
9128
b12b923e
VS
91292010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9132 spurious warning.
9133 Reported by: crocket
9134
14b48a19
VS
91352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9138 Preload EFIemu.
9139 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9140
693db2df
VS
91412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9144 is loaded
9145 (grub_cmd_xnu_kextdir): Likewise.
9146 (grub_cmd_xnu_splash): Likewise.
9147
c7638645
VS
91482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 Avoid using Reed-Solomon with 0 redundancy.
9151
9152 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9153 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9154 or 0 redundancy.
9155 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9156 (grub_reed_solomon_recover): Likewise.
9157
25dd4780
VS
91582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 Don't use disk subsystem in freebsd_boot.
9161
9162 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9163 (freebsd_biosdev): Likewise.
9164 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9165 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9166
0b2db943
VS
91672010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 Handling of files of unknown size is currently limited. They can't be
9170 used e.g. for initrd or modules. Moreover gzip handling of not
9171 easily seekable files is buggy. Disable unknown file size for now. May
9172 be inefficient but works.
9173
9174 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9175 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9176
5c408d0f
MP
91772010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9178
9179 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9180 floppy probe.
9181
190a011a
JD
91822010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9183
9184 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9185
022d01b8
SL
91862010-12-25 Shea Levy <shlevy>
9187
9188 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9189
c4855fdc
VS
91902010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9193 Windows Server 2008.
9194 Reported by: Devin Giddings.
9195
0354b867
VS
91962010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9199 writing an error message because of async power management.
9200 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9201 (grub_reboot): Likewise.
9202
ab66c69f
JU
92032010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9204
9205 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9206 keep unit tests from failing when they shouldn't.
9207
1426ef35
CW
92082010-12-21 Colin Watson <cjwatson@ubuntu.com>
9209
9210 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9211 previous patch increased the size of the RS code by 20 bytes (at
9212 least with gcc-4.4), so increase this by 20 bytes to match.
9213 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9214
20641b6b
CW
92152010-12-21 Colin Watson <cjwatson@ubuntu.com>
9216
9217 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9218 scratch area. Make sure to initialise chosen in standalone mode as
9219 well as non-standalone.
9220 Reported by: Robert Hooker and Andy Whitcroft.
9221 Tested by: Andy Whitcroft.
9222
d060ad60
CW
92232010-12-21 Colin Watson <cjwatson@ubuntu.com>
9224
9225 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9226 constructing a new unescaped string and passing it to grub_xputs in
9227 one go, rather than passing characters to grub_printf one at a time.
9228
b889cfad
CW
92292010-12-21 Colin Watson <cjwatson@ubuntu.com>
9230
9231 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9232 initialising utf16.
9233
4e01b6c8
CW
92342010-12-21 Colin Watson <cjwatson@ubuntu.com>
9235
9236 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9237 comment. Add an extra layer of quotation, requiring the output of
9238 this function to be used in a printf format string.
9239 (gettext_printf): New function.
9240 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9241 Extract translatable strings from here-documents and use a temporary
9242 variable instead, so that xgettext can find them.
9243 * util/grub.d/10_kfreebsd.in: Likewise.
9244 * util/grub.d/10_linux.in: Likewise.
9245 * util/grub.d/20_linux_xen.in: Likewise.
9246
9247 * po/grub.d.sed: New file.
9248 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9249 arguments. Set c-format flags on all strings extracted from
9250 util/grub.d/ (xgettext refuses to include these itself for strings
9251 it extracted from a shell file, but these really are c-format).
9252
5318fe98
VS
92532010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9256 Avoid next pointing to nowhere.
9257
6c85b743
VS
92582010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9261 rather than assuming than rootblock is exactly in the middle.
9262 (grub_affs_label): Likewise.
9263
a2a08a35
VS
92642010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9267 reserved_first_sector to 0.
9268 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9269 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9270 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9271
7059d1ec
VS
92722010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 Fix handling of UTF-16 UDF labels.
9275
9276 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9277 (read_string): .. here.
9278 (grub_udf_label): Use read_string.
9279
30aff4cb
BC
92802010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9281
9282 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9283 editor under argument scope.
9284 Reported by: Jordan Uggla
9285
5cf86f4b
VS
92862010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9289
32570200
CW
92902010-12-18 Colin Watson <cjwatson@ubuntu.com>
9291
9292 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9293 line, and other keys scroll an entire page (previous handling was
9294 for \r and \n to scroll a page and other keys to scroll two lines).
9295
e1dffcf2
VS
92962010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9299 Set ptrdest to correct get_physical_target_address rather than
9300 incorrect get_virtual_current_address.
9301
b04298cf 93022010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9303
9304 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9305 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9306
5367ecd3
CW
93072010-12-10 Colin Watson <cjwatson@ubuntu.com>
9308
9309 * .bzrignore: Ignore grub-core/rs_decoder.S.
9310
1fb430f8
CW
93112010-12-10 Colin Watson <cjwatson@ubuntu.com>
9312
9313 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9314 .mo/.mo.gz opening sequence to ...
9315 (grub_mofile_open_lang): ... here.
9316 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9317 * util/grub.d/00_header.in (grub_lang): Include country part of
9318 locale.
9319 Reported by: Mario Limonciello.
9320
a94a6671
RM
93212010-12-09 Robert Millan <rmh@gnu.org>
9322
9323 * NEWS: Document addition of ZFS support.
9324
24b7938b
CW
93252010-12-04 Colin Watson <cjwatson@ubuntu.com>
9326
9327 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9328 rather than `/ 2', as the latter requires -Wa,--divide which would
9329 require bumping our minimum binutils version.
9330
bddc3ef6
BC
93312010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9332
9333 * util/grub-script-check.c (main): Print script line number on
9334 error.
9335
bf78d5b2
RM
93362010-12-01 Robert Millan <rmh@gnu.org>
9337
9338 * grub-core/fs/zfs/zfs.c: New file.
9339 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9340 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9341 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9342 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9343
9344 * include/grub/zfs/dmu.h: Likewise.
9345 * include/grub/zfs/dmu_objset.h: Likewise.
9346 * include/grub/zfs/dnode.h: Likewise.
9347 * include/grub/zfs/dsl_dataset.h: Likewise.
9348 * include/grub/zfs/dsl_dir.h: Likewise.
9349 * include/grub/zfs/sa_impl.h: Likewise.
9350 * include/grub/zfs/spa.h: Likewise.
9351 * include/grub/zfs/uberblock_impl.h: Likewise.
9352 * include/grub/zfs/vdev_impl.h: Likewise.
9353 * include/grub/zfs/zap_impl.h: Likewise.
9354 * include/grub/zfs/zap_leaf.h: Likewise.
9355 * include/grub/zfs/zfs.h: Likewise.
9356 * include/grub/zfs/zfs_acl.h: Likewise.
9357 * include/grub/zfs/zfs_znode.h: Likewise.
9358 * include/grub/zfs/zil.h: Likewise.
9359 * include/grub/zfs/zio.h: Likewise.
9360 * include/grub/zfs/zio_checksum.h: Likewise.
9361
9362 * Makefile.util.def: Build ZFS into libgrubmods.
9363 * grub-core/Makefile.core.def: Build zfs.mod.
9364
3f0f3831
SJ
93652010-11-30 Szymon Janc <szymon@janc.net.pl>
9366
9367 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9368 variable.
9369 * grub-core/commands/wildcard.c (match_files): Likewise.
9370
3a4253b2
RM
93712010-11-30 Robert Millan <rmh@gnu.org>
9372
9373 * grub-core/loader/i386/bsd.c
9374 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9375 whether kernel is loaded using grub_loader_is_loaded(), rather
9376 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9377 certain error conditions.
9378
8c317b27
RM
93792010-11-30 Robert Millan <rmh@gnu.org>
9380
c5c9cd3e
RM
9381 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9382 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 9383
49d3ab46
VS
93842010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 Avoid using tricks for initialising endian variables.
9387
9388 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9389 Make const.
9390 (GRUB_MOD_INIT): Don't byte-swap.
9391 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9392 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9393 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9394 (grub_swap_bytes32_compile_time): Likewise.
9395 (grub_cpu_to_le32_compile_time): Likewise.
9396 (grub_cpu_to_le16_compile_time): Likewise.
9397
f420a804
VS
93982010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * util/grub-setup.c (setup): Stop recommending --force. People who
9401 understand the dangers of blocklists are able to find this option
9402 anyway and the ones who don't shouldn't use it anyway.
9403
4e7db17b
RM
94042010-11-26 Robert Millan <rmh@gnu.org>
9405
9406 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9407 Update all users.
9408
9be57a0d
CW
94092010-11-26 Colin Watson <cjwatson@ubuntu.com>
9410
9411 Fix LVM-on-RAID probing.
9412
9413 * util/grub-probe.c (probe): Remember which disk was detected as
9414 RAID (perhaps an LVM physical volume). Use that disk's raidname
9415 rather than that of the top-level disk.
9416
2c7859b3 94172010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 9418
d7647bb6
BC
9419 Fix cmdline argument quotes for setparams command of menuentry
9420 definitions.
7e623b0d
BC
9421
9422 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9423 quotes for arguments.
f866fe80 9424 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 9425 grub_strchrsub function instead.
f866fe80 9426
7955bea0 9427 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 9428
74f72a64
CW
94292010-11-24 Colin Watson <cjwatson@ubuntu.com>
9430
9431 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9432 effort by skipping "." and ".." entries up-front.
9433 Suggested by: Michael Lazarev.
9434
5a407278
CW
94352010-11-24 Colin Watson <cjwatson@ubuntu.com>
9436
9437 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9438 ldflags to ldadd, to fix link line ordering.
9439 (none_decompress): Likewise.
9440
3030d8ec
CW
94412010-11-24 Colin Watson <cjwatson@ubuntu.com>
9442
9443 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9444 platforms.
9445 (grub-emu-lite): Remove kern/emu/cache.S.
9446
b7fbac12
CW
94472010-11-23 Colin Watson <cjwatson@ubuntu.com>
9448
9449 * util/deviceiter.c (compare_devices): If the by-id link for a
9450 device couldn't be resolved, fall back to sorting by the by-id link
9451 rather than segfaulting.
9452 Reported and tested by: Daniel Mierswa.
9453
5225f328
CW
94542010-11-23 Colin Watson <cjwatson@ubuntu.com>
9455
9456 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9457 ldflags, to fix link line ordering.
9458
038b3ce8
CW
94592010-11-23 Colin Watson <cjwatson@ubuntu.com>
9460
9461 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9462 linkers are picky about this.
9463
bf16e98e
CW
94642010-11-23 Colin Watson <cjwatson@ubuntu.com>
9465
9466 * grub-core/Makefile.am (command.lst): Adjust sed expression
9467 ordering so that extended and priority commands aren't treated as
9468 ordinary commands.
9469
7242bab6
CW
94702010-11-23 Colin Watson <cjwatson@ubuntu.com>
9471
9472 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9473 Remove byte-swapping function calls, which are not valid in
9474 structure initialisers.
9475 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9476 non-const.
9477 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9478 grub_gpt_partition_type_bios_boot.
9479
14e8b279
CW
94802010-11-22 Colin Watson <cjwatson@ubuntu.com>
9481
9482 Fix test program build on GNU/kFreeBSD.
9483
9484 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9485 $(LIBNVPAIR)' library dependencies.
9486
e6f63338 94872010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
9488
9489 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9490
cf8ffc38
CW
94912010-11-22 Colin Watson <cjwatson@ubuntu.com>
9492
9493 * util/grub-install.in: Remove excessive quoting that broke
9494 installations to RAID devices.
9495
7f8b0fd7
VS
94962010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9499 bootloader version instead of 0.
9500
dfd240b1
VS
95012010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9504 warning.
9505
7b61e609
VS
95062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9509 retrieve the metadat sector if size isn't known.
9510 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9511
9dfe92d0
RM
95122010-11-18 Robert Millan <rmh@gnu.org>
9513
9514 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9515 with grub_memcmp().
9516
41cc919e
VS
95172010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9520 arrow.
9521 Reported by: Jordan Uggla.
9522
1afcc914
VS
95232010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 Make better UTF compliant.
9526
9527 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9528 sequences as incorrect.
9529 (grub_is_valid_utf8): Likewise.
9530 (grub_utf8_to_ucs4): Likewise.
9531 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9532 (grub_ucs4_to_utf8_alloc): Likewise.
9533 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9534
f1808884
VS
95352010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 Make legacy_source behave like source.
9538
9539 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9540 grub_show_menu.
9541 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9542
24ec575b
CW
95432010-11-16 Colin Watson <cjwatson@debian.org>
9544
9545 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9546 (-Wunused implies -Wunused-parameter, but not vice versa).
9547
72b7c7aa
CW
95482010-11-16 Colin Watson <cjwatson@ubuntu.com>
9549
9550 * configure.ac: Make error messages less confusing by testing for
9551 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9552 accepted, but produces a diagnostic if something else is wrong).
9553
e98937aa
VS
95542010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9557 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9558 (now unused).
9559 (grub_keyboard_controller_init)
9560 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9561 read the initial state since controller isn't inited yet.
9562
f6bbabc3
VS
95632010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9566 allocate_regbeg may need to create new chunk header.
9567
22e7dbb2
VS
95682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 Fix quoting in legacy parser.
9571
9572 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9573 single quotes.
9574 (grub_legacy_parse): Likewise.
9575 Reported by: Jordan Uggla.
9576 Tested by: Jordan Uggla.
9577
03f80960
VS
95782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 Don't add -lgcc on i386 and x86_64.
9581
9582 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9583 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9584 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9585
779dc15b
VS
95862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * configure.ac: Add -Wno-trampolines when supported.
9589
d20a3b37
MV
95902010-11-14 Modestas Vainius <modax@debian.org>
9591
9592 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9593 fakeraid.
9594
e5360933
GC
95952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9596
9597 Add generic logical block size support for UDF.
9598
9599 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9600 (GRUB_UDF_BLKSZ): Removed.
9601 (struct grub_udf_data): New field "lbshift" to hold the logical block
9602 size of the file system in log2 format. All users updated.
9603 (sblocklist): Change type to unsigned.
9604 (grub_udf_mount): Change type of "sblklist" to unsigned.
9605 Move AVDP search before VRS recognition, because the latter requires
9606 knowledge of the logical block size, which is detected during the
9607 former.
9608 Detect and validate logical block size during AVDP search, adding
9609 support for block sizes 512, 1024 and 4096.
9610 Make VRS recognition independent of block size.
9611
cb0229c5
GC
96122010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9613
9614 Properly handle deleted files on UDF.
9615
9616 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9617 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9618 set.
9619
406858a8
GC
96202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9621
9622 Support reading files larger than 2 GiB.
9623
9624 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9625 "offset" to grub_off_t.
9626 (grub_udf_read_file): Likewise for parameter "pos".
9627
130da6a7
VS
96282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9631 unavailable.
9632 (Simple configuration): Refer to Changes from GRUB Legacy about
9633 save_env availability.
9634
65e93f6b
VS
96352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * util/grub-install.in: Ignore empty partition table detection
9638 instead of trying to include part_ module.
9639
1fd08bf1
VS
96402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9643 LVM on RAID support.
9644
de1a024f
VS
96452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 Properly define WORDS_BIGENDIAN in wrapped environments.
9648
9649 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9650 definition.
9651 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9652
9653 Reported by: Manoel Rebelo Abranches.
9654 Tested by: Manoel Rebelo Abranches.
9655
bc5dd0b9
VS
96562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * util/grub-mkconfig.in: Fix quoting.
9659
58c184be
VS
96602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 Support big ext2 files.
9663
9664 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9665 (grub_ext2_read_block): Support triple indirect blocks.
9666 (grub_ext2_read_file): Use 64-bit types and read size_high.
9667 (grub_ext2_open): Read size_high.
9668 Reported by: Ximin Luo.
9669 Tested by: Manoel Rebelo Abranches.
9670
5f0c02b3
VS
96712010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * util/grub-install.in: Handle filenames containing spaces.
9674 Reported by: Jordan Uggla.
9675 Tested by: Jordan Uggla.
9676
4417aae6
VS
96772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * util/grub-mkconfig.in (grub_script_check): New variable.
9680 Use grub_script_check instead of grub-script-check.
9681 Reported by: Barry Jackson.
9682
7625a68e
VS
96832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * docs/grub.texi (menu): Correct the order.
9686 Reported by: D. Hugh Redelmeier.
9687
10001ac5
VS
96882010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9691 jump.
9692
9c4cf53b
MRA
96932010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9694
10001ac5
VS
9695 * include/grub/elfload.h (grub_elf32_size): New parameter.
9696 All users updated.
9c4cf53b
MRA
9697 Return maximum segments alignment.
9698 (grub_elf64_size): Likewise.
9699 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9700 Return maximum segments alignment.
9701 (grub_elf64_size): Likewise.
9702 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
9703 (grub_linux_claimmap_iterate): New function. Uses the
9704 "available" property in the "memory" node for memory allocation
9705 for kernel in the PowerPC loader.
9c4cf53b
MRA
9706 (grub_linux_load32): Correctly find linux entry point offset.
9707 (grub_linux_load64): Likewise.
9708
d2bf06bf
RM
97092010-11-07 Robert Millan <rmh@gnu.org>
9710
9711 On mips-yeeloong, build with -march=loongson2f when this flag is
9712 available (GCC >= 4.4).
9713 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9714 `-march=mips3'.
9715 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9716 or otherwise add -march=mips3.
9717
898c99a2
BC
97182010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9719
87220a68
BC
9720 Suppress shell expansion on echo '*' and echo "*" like cases.
9721 Reported by: Jordan Uggla.
898c99a2
BC
9722
9723 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9724 string arguments before shell expansion.
9725 * tests/grub_cmd_echo.in: New testcases.
9726
4f9b406a
RM
97272010-11-07 Robert Millan <rmh@gnu.org>
9728
9729 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9730 transition.
9731
80c6d25e
VS
97322010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * grub-core/kern/emu/hostdisk.c
9735 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9736
4a1a0153
VS
97372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9740 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9741 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9742
34706ddc
VS
97432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9746
6972dea9
VS
97472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * util/grub-install.in: Replace useless recomendation to pass
9750 --modules with a recomendation to report a bug.
9751
9c693bd6
VS
97522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 Properly register serial terminfo.
9755 Reported by: Jordan Uggla
9756
9757 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9758 const.
9759 (grub_serial_terminfo_output_template): Likewise.
9760 (grub_cmd_serial): Register "serial" with terminfo.
9761 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9762 grub_serial_terminfo_output.
9763
6c9e4c0c
RM
97642010-11-05 Robert Millan <rmh@gnu.org>
9765
9766 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9767 needed).
9768
b9b3839f
RM
97692010-11-05 Robert Millan <rmh@gnu.org>
9770
9771 On Yeeloong, pass machine type information to Linux.
9772
9773 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9774 (LOONGSON_MACHTYPE): New macro, set to
9775 "machtype=lemote-yeeloong-2f-8.9inches".
9776 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9777 additional argument to Linux.
9778
1a3aaff4
RM
97792010-11-04 Robert Millan <rmh@gnu.org>
9780
9781 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9782 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9783 (its SATA disks are detected as slaveless IDE master drives on
9784 kFreeBSD).
9785 Reported by Carsten Aulbert.
9786
a75f4f62
CW
97872010-11-02 Colin Watson <cjwatson@ubuntu.com>
9788
9789 * util/bin2h.c (main): Fix spelling error in generated output.
9790
33b4b0c6
GS
97912010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9792
9793 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9794
2b36fbf4
VS
97952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9798 vga= option is supplied.
9799
74aaf558
VS
98002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9803 * util/grub.d/10_kfreebsd.in: Likewise.
9804 * util/grub.d/10_linux.in: Likewise.
9805 * util/grub.d/20_linux_xen.in: Likewise.
9806
6428dec3
VS
98072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9810 argument as an argument to no-argument option.
9811
f8729d98
VS
98122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * util/grub.d/10_linux.in: Add missing load_video with explicit
9815 GRUB_GFXPAYLOAD_LINUX.
9816
89d68fa6
VS
98172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9820
3a1197cd
VS
98212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9824 elements with invlid index.
9825 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9826 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9827 members.
9828 * include/grub/raid.h (grub_raid_member): New struct.
9829 (grub_raid_array): Transform devices and start_sector into usage of
9830 grub_raid_member. All users updated
9831 (allocated_devs): New member.
9832
71574288
VS
98332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9836 is modified
9837
8d40ec65
BC
98382010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9839
9840 NetBSD build fix for getline function conflict from gnulib.
9841
9842 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9843 components that depend on gnulib headers.
9844 (libgrubmods.a): Renamed from earlier libgrub.a.
9845 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9846
95b9257e
VS
98472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9850 install rather than creating a broken install.
9851
26c53dc6
VS
98522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * util/grub-setup.c (argp): Remove misleading example of installing to
9855 a partition.
9856
4171b3c5
VS
98572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * util/grub-setup.c (setup): Clarify the error message.
9860
18568d18
VS
98612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9864
4f6a2e21
VS
98652010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/kern/emu/misc.c
9868 (grub_make_system_path_relative_to_its_root)
9869 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9870
98712010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
9872
9873 * grub-core/kern/emu/misc.c
9874 (grub_make_system_path_relative_to_its_root): Revert r2882.
9875
e138c458
VS
98762010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9879 useless field head. All users updated.
9880 (free_subchunk): Correct handling of IN_REGION subchunk.
9881
0cbcdf0e
CW
98822010-10-22 Colin Watson <cjwatson@ubuntu.com>
9883
9884 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9885 (Supported kernels): Likewise.
9886
b65ea155
GS
98872010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9888
9889 Make mktemp invocations portable.
9890
9891 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9892 exit if mktemp fails.
9893 * tests/grub_script_blockarg.in: Likewise.
9894 * tests/partmap_test.in: Likewise.
9895 * tests/util/grub-shell-tester.in: Likewise.
9896 * tests/util/grub-shell.in: Likewise.
9897 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9898 * Makefile.am: Likewise, and chain shell commands with `&&'
9899 instead of ';'.
9900 * util/grub-mkrescue.in: Use the same explicit template as above, and
9901 exit if mktemp fails.
9902
05f43cdd
BC
99032010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9904
9905 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9906 Linux kernel, reported by Dennis Schridde.
9907
800e6a9b
SJ
99082010-10-17 Szymon Janc <szymon@janc.net.pl>
9909
9910 * grub-core/normal/auth.c (grub_auth_check_authentication):
9911 Set-but-not-used variable removed.
9912
d82df574
VS
99132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9916 32-bit linux protocol.
9917
7bced458
VS
99182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9921 cursor shape for sanity.
9922
5b027690
VS
99232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * docs/grub.texi (Installation): Document buggy BIOS install.
9926
ba5f65cf
VS
99272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * docs/grub.texi (Installation): Indent.
9930
fdf2ec9c
VS
99312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * util/grub-setup.c (setup): New parameter allow_floppy.
9934 (arguments): New member allow_floppy.
9935 (argp_parser): Handle --allow-floppy.
9936 (main): Pass allow_floppy.
9937 * util/grub-install.in: New option --allow-floppy passed though to
9938 grub-setup.
9939
861dfd4c
VS
99402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * util/grub-install.in: Handle partitionless disks.
9943
f77a8c24
VS
99442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * util/grub-setup.c (setup): Don't clean blocklists before readability
9947 verfification.
9948
27d9ee32
VS
99492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * docs/grub.texi (Installation): Document embedding zone. Remove
9952 obsolete grub-install example.
9953
6bdda8f8
SJ
99542010-10-16 Szymon Janc <szymon@janc.net.pl>
9955
9956 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9957 Set-but-not-used variable ifdef'ed.
9958 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9959 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9960 variable removed.
9961 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9962 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9963 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9964 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9965 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9966 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9967 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9968 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9969 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9970 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9971 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9972 Likewise.
9973
e19b016b
VS
99742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9977 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9978 enum value.
9979
6c8d3002
VS
99802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9983 synonym to _S5_. Needed for some DSDTs.
9984
c32b51c9
VS
99852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 Userspace ACPI parser debugging.
9988
9989 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9990 headers and add relevant defines. Don't include standard headers.
9991 (main) [GRUB_DSDT_TEST]: New function.
9992 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9993 Don't declare functions.
9994
fbfbeb39
VS
99952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 Remove dead grub_efi_mm_fini.
9998
9999 * grub-core/kern/efi/mm.c (allocated_page): Removed.
10000 (ALLOCATED_PAGES_SIZE): Likewise.
10001 (MAX_ALLOCATED_PAGES): Likewise.
10002 (allocated_pages): Likewise.
10003 (grub_efi_allocate_pages): Don't record allocated pages.
10004 (grub_efi_free_pages): Likewise.
10005 (grub_efi_mm_init): Likewise.
10006 (grub_efi_mm_fini): Removed.
10007
65f7ed7c
VS
100082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
10011 (grub_efi_mm_init): Take into account the memory map size increase.
10012
24977b44
VS
100132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
10016 (serial_hw_put): Wait based on real time rather than port reads. Don't
10017 roken ports.
10018 * include/grub/serial.h (grub_serial_port): New field broken.
10019
1eb01cd2
RM
100202010-10-16 Robert Millan <rmh@gnu.org>
10021
10022 * grub-core/kern/emu/misc.c
10023 (grub_make_system_path_relative_to_its_root): Fix premature return
10024 when processing non-root ZFS filesystems.
5f8b440b 10025 Reported by Sergio Talens-Oliag.
1eb01cd2 10026
2d5fed60
RM
100272010-10-15 Robert Millan <rmh@gnu.org>
10028
10029 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
10030 guarantee compressed ones are processed first.
10031
d0f4c1ea
VS
100322010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
10035 grub_efiemu_autocore.
10036
d87c681f
VS
100372010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
10040 rather than 0x1b.
10041 (grub_console_getkey): Use correct jae opcode rather than ja.
10042
219b3564
RM
100432010-10-12 Robert Millan <rmh@gnu.org>
10044
10045 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
10046 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
10047 variable. All references updated.
10048
10049 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
10050
20c6bb7e
VS
100512010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 Correctly distinguish mdraid flavours.
10054
10055 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
10056 (insert_array): New argument raid.
10057 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
10058 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
10059 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
10060
74baff84
VS
100612010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
10064 handling of special keys.
10065
3ef068df 100662010-10-02 Aleš Nesrsta <starous@volny.cz>
10067
c7980ad9
VS
10068 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
10069 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 10070
a9455194 100712010-10-02 Aleš Nesrsta <starous@volny.cz>
10072
c7980ad9
VS
10073 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
10074 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
10075 users updated.
a9455194 10076 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 10077 Use right endpoint when querying descriptor.
a9455194 10078
441cfe65
VS
100792010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 Clear out 0x80 color bit on EFI.
10082 Tested by: decoder
10083 Reported by: decoder and meta tech.
10084
10085 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
10086 (grub_console_setcolorstate): Clear out 0x80 bit.
10087 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
10088 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
10089 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
10090
bf26bcc4
VS
100912010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
10094 Set to "auto".
10095
6e3c515d
VS
100962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
10099 mo_file after freeing.
10100
e6d983ba
VS
101012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
10104
74ccb5b5
VS
101052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
10108 flags.
10109
17821956
VS
101102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
10113 usage.
10114
ee74fa48
VS
101152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 Put terminfo into core on ieee1275 and yeeloong (needed for console).
10118
10119 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10120 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10121 and terminfo.h when needed.
10122 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10123 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10124 (terminfo): Enable only on terminfokernel.
10125 (extcmd): Likewise.
10126 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10127 * include/grub/lib/arg.h: Likewise.
10128 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10129 incorrect usage of ->.
10130
aa438e68
VS
101312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10134 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10135
57994012
VS
101362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 Fix coreboot compilation.
10139
10140 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10141 Take VBE info into account even if only text is supported.
10142 (fill_vbe_info): Take into account the case when only VGA text
10143 is supported.
10144 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10145 on coreboot, multiboot and qemu.
10146
2a406611
VS
101472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10150 debug messages.
10151 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10152
d33613fc
VS
101532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10156 parameters.
10157
44a1b432
VS
101582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10161 if they were BSD-style.
10162
edde54e6
VS
101632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * grub-core/boot/i386/pc/lnxboot.S: Replace
10166 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10167 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10168
b65830fa
VS
101692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 Write embedding zone using Reed-Solomon.
10172
10173 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10174 * grub-core/Makefile.am (rs_decoder.S): New target.
10175 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10176 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10177 (multiboot): Move to RS part.
10178 (post_reed_solomon): New label.
10179 (grub_boot_drive): Move to non-RS part since it's modified in memory
10180 on boot.
10181 Include rs_decoder.S.
10182 * grub-core/lib/reed_solomon.c: New file.
10183 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10184 New definition.
10185 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10186 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10187 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10188 * include/grub/partition.h (grub_partition_map): Change prototype of
10189 embed to allow returning additional sectors.
10190 * include/grub/reed_solomon.h: New file.
10191 * util/grub-setup.c (setup): Handle Reed-Solomon.
10192
0b4b227f
CW
101932010-09-28 Colin Watson <cjwatson@ubuntu.com>
10194
10195 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10196 i386 and x86-64 definedness tests.
10197
f772623b
YB
101982010-09-27 Yves Blusseau <blusseau@zetam.org>
10199
10200 Fix generation of kernel_syms.lst
10201
10202 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10203 ASM_PREFIX
10204
8e57a6ca
RM
102052010-09-26 Robert Millan <rmh@gnu.org>
10206
10207 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10208
10209 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10210 the pool is an array of devices, iterate through it and return the
10211 first device that passes a stat() test (instead of blindly returning
10212 the first one).
10213
f9130836
RM
102142010-09-26 Robert Millan <rmh@gnu.org>
10215
10216 Build fixes for GNU/kFreeBSD.
10217
10218 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10219 to programs that require ZFS conversion.
10220 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10221 kernels that don't have FLOPPY_MAJOR.
10222
96510faf
BC
102232010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10224
10225 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10226
449333eb
BC
102272010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10228
10229 Fix grub-emu build.
10230
10231 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10232 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10233 mdraid09 and mdraid1x.
10234
e1fd1939
CW
102352010-09-24 Colin Watson <cjwatson@ubuntu.com>
10236
10237 Re-enable grub-extras.
10238
10239 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10240 avoid confusing Automake. Run autogen only twice, once for the top
10241 level and once for grub-core. Add Makefile.util.def and
10242 Makefile.core.def from extra modules to the appropriate autogen
10243 invocations. If Makefile.common exists in an extra module, include
10244 it in both Makefile.util.am and grub-core/Makefile.core.am;
10245 similarly, include any Makefile.util.common file in Makefile.util.am
10246 and any Makefile.core.common file in grub-core/Makefile.core.am.
10247 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10248 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10249 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10250 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10251
10252 * gentpl.py (gvar_add): Turn GVARS into a set.
10253 (global_variable_initializers): Sort global variables on output.
10254 (vars_init): New function.
10255 (first_time): Likewise.
10256 (library): Ensure that non-global variable initialisations are
10257 emitted before the first time we emit code for a library block.
10258 Append to variables rather than setting them. Only emit
10259 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10260 each conditional path.
10261 (program): installdir() emits an Autogen macro, so must be passed to
10262 var_add rather than gvar_add.
10263 (data): Likewise.
10264 (script): Likewise.
10265 (rules): New function, centralising handling for different target
10266 types. Set up Guile association lists for first_time and vars_init,
10267 and send most output to a diversion so that variable initialisations
10268 can be emitted first.
10269 (module_rules): Use new rules function.
10270 (kernel_rules): Likewise.
10271 (image_rules): Likewise.
10272 (library_rules): Likewise.
10273 (program_rules): Likewise.
10274 (script_rules): Likewise.
10275 (data_rules): Likewise.
10276
10277 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10278
10279 * .bzrignore: Add contrib and grub-core/contrib. Remove
10280 grub-core/Makefile.gcry.am.
10281
1d12cf29
YB
102822010-09-24 Yves Blusseau <blusseau@zetam.org>
10283
10284 * grub-core/lib/LzFind.c: Add missing include.
10285 * grub-core/lib/LzmaEnc.c: Likewise.
10286 * grub-core/script/lexer.c: Likewise.
10287 * grub-core/script/yylex.l: Likewise.
10288 * util/grub-macho2img.c: Likewise.
10289 * util/grub-menulst2cfg.c: Likewise.
10290 * util/grub-mklayout.c: Likewise.
10291 * util/grub-mkpasswd-pbkdf2.c
10292 * util/grub-mkrelpath.c: Likewise.
10293 * util/resolve.c: Likewise.
10294
dd363028
BC
102952010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10296
10297 * Makefile.util.def (example_unit_test): Add
10298 grub-core/gnulib/libgnu.a.
10299
f5a109e2
GS
103002010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10301
10302 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10303
6d0fa83c
VS
103042010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 Support xz compression on yeeloong.
10307
10308 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10309 * configure.ac: Check for LZMA.
10310 * grub-core/Makefile.core.def (xz_decompress): New target.
10311 (none_decompress): Likewise.
10312 * grub-core/boot/decompressor/minilib.c: New file.
10313 * grub-core/boot/decompressor/none.c: Likewise.
10314 * grub-core/boot/decompressor/xz.c: Likewise.
10315 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10316 * grub-core/kern/mips/cache_flush.S: Likewise.
10317 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10318 * grub-core/kern/mips/startup.S: Move first stage to ...
10319 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10320 nomacro.
10321 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10322 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10323 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10324 Allocate statically.
10325 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10326 Allocate statically or use scratch. Don't check CRC32.
10327 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10328 Allocate statically. Don't check CRC32.
10329 * include/grub/decompressor.h: New file.
10330 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10331 Removed.
10332 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10333 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10334 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10335 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10336 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10337 * util/grub-mkimage.c (grub_compression_t): New type.
10338 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10339 (image_target_desc): New field default_compression.
10340 (image_targets): Adjust yeeloong targets.
10341 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10342 (compress_kernel): New parameter comp.
10343 (generate_image): Likewise. Handle new compression case.
10344 (options): New option --compression
10345 (help): Likewise.
10346 (main): Handle new option.
10347
1b655af6
GS
103482010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10349
10350 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10351
8f03f0b5
CW
103522010-09-22 Colin Watson <cjwatson@ubuntu.com>
10353
10354 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10355 typo in __i386__ conditional.
10356
7835dfd3
VS
103572010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10360 include.
10361
e255597e
VS
103622010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10363
6d0fa83c 10364 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
10365
10366 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10367 new tags as supported.
10368 (acpiv2_size): New function.
10369 (grub_multiboot_get_mbi_size): Take new tags into account.
10370 (grub_multiboot_make_mbi): Add new tags.
10371 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 10372
6cc14051 103732010-09-21 Aleš Nesrsta <starous@volny.cz>
10374
10375 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10376 Added missing configuration of USB device.
10377
df7769d8
CW
103782010-09-21 Colin Watson <cjwatson@ubuntu.com>
10379
10380 * grub-core/normal/menu_entry.c (run): Make sure we always return
10381 a value.
10382
b031012d
CW
103832010-09-21 Colin Watson <cjwatson@ubuntu.com>
10384
10385 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10386 NumberOfPages is UINT64 according to the UEFI specification, not
10387 UINTN. Fix printf format.
10388
174de8f3
CW
103892010-09-21 Colin Watson <cjwatson@ubuntu.com>
10390
10391 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10392 `err' to grub_usb_err_t.
10393 Reported and tested by: KESHAV P.R.
10394
d7dbe923
CW
103952010-09-21 Colin Watson <cjwatson@ubuntu.com>
10396
10397 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10398 tpart non-const, so that we can assign to it. (Since this is a
10399 typedef, the constness refers to the pointer rather than what it
10400 points to.)
10401
8d5e2af3
CW
104022010-09-21 Colin Watson <cjwatson@ubuntu.com>
10403
10404 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10405 $(top_srcdir)/grub-core/gnulib as well as
10406 $(top_builddir)/grub-core/gnulib.
10407 Reported by: KESHAV P.R.
10408
5c527783
CW
104092010-09-21 Colin Watson <cjwatson@ubuntu.com>
10410
10411 * util/grub-install.in: Fix the bootloader ID option to be
10412 consistently --bootloader-id, not --bootloader_id.
10413 Reported by: KESHAV P.R.
10414
d309a16e
CW
104152010-09-21 Colin Watson <cjwatson@ubuntu.com>
10416
10417 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10418 check hash checksum." consistently translatable.
10419
b830cd16
YB
104202010-09-21 Yves Blusseau <blusseau@zetam.org>
10421
10422 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10423 $(top_builddir).
10424
c4fe27a8
CW
104252010-09-21 Colin Watson <cjwatson@ubuntu.com>
10426
10427 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10428 (GRUB_MOD_INIT): Register sha1sum command.
10429 (GRUB_MOD_FINI): Unregister sha1sum command.
10430
a4c1d277
YB
104312010-09-21 Yves Blusseau <blusseau@zetam.org>
10432
10433 Keep boot and grub directory names in sync with utils scripts
10434
10435 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10436 * config.h.in: Add previous macros.
10437 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10438 * util/grub-install.in: Use $bootdir and $grubdir variables.
10439
4eff79d2
CW
104402010-09-21 Colin Watson <cjwatson@ubuntu.com>
10441
10442 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10443 convert partition names to disk names if the new `convert' parameter
10444 is set.
10445 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10446 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10447 disk in its own right. This can happen with Xen disk images.
10448
934d7e44
YB
104492010-09-21 Yves Blusseau <blusseau@zetam.org>
10450
10451 * util/grub-editenv.c: Update strings to avoid warnings when generating
10452 grub.pot file.
10453 * util/grub-setup.c: Likewise.
934d7e44 10454
df3367cc
VS
104552010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * configure.ac: Change version to 1.99~beta0.
10458
77a94e98
VS
104592010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10462 Add BADRAM.
10463 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10464 Likewise.
10465 * include/multiboot.h: Resynced with specification.
10466 * include/multiboot2.h: Likewise.
10467
269004c1
CW
104682010-09-21 Colin Watson <cjwatson@ubuntu.com>
10469
10470 Fix po directory handling.
10471
10472 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10473 * grub-core/gnulib/Makefile.am: Import gettext module.
10474 * m4/gnulib-cache.m4: Likewise.
10475 * m4/gnulib-comp.m4: Likewise.
10476 * m4/gettext.m4: New file, from gnulib.
10477 * m4/glibc2.m4: Likewise.
10478 * m4/iconv.m4: Likewise.
10479 * m4/intdiv0.m4: Likewise.
10480 * m4/intl.m4: Likewise.
10481 * m4/intldir.m4: Likewise.
10482 * m4/intlmacosx.m4: Likewise.
10483 * m4/intmax.m4: Likewise.
10484 * m4/inttypes-pri.m4: Likewise.
10485 * m4/lcmessage.m4: Likewise.
10486 * m4/lib-ld.m4: Likewise.
10487 * m4/lib-link.m4: Likewise.
10488 * m4/lib-prefix.m4: Likewise.
10489 * m4/lock.m4: Likewise.
10490 * m4/nls.m4: Likewise.
10491 * m4/po.m4: Likewise.
10492 * m4/printf-posix.m4: Likewise.
10493 * m4/progtest.m4: Likewise.
10494 * m4/threadlib.m4: Likewise.
10495 * m4/uintmax_t.m4: Likewise.
10496 * m4/visibility.m4: Likewise.
10497 * po/Makefile.am: Remove.
10498 * po/Makefile.in.in: New file, from gettext.
10499 ($(DOMAIN).pot-update): Support POTFILES-shell.
10500 * po/Makevars: New file.
10501 * po/POTFILES-shell: Rename to ...
10502 * po/POTFILES-shell.in: ... this. Update.
10503 * po/POTFILES: Rename to ...
10504 * po/POTFILES.in: ... this. Update.
10505 * po/Rules-quot: New file, from gettext.
10506 * po/boldquot.sed: Likewise.
10507 * po/en@boldquot.header: Likewise.
10508 * po/en@quot.header: Likewise.
10509 * po/insert-header.sin: Likewise.
10510 * po/quot.sed: Likewise.
10511 * po/remove-potcdate.sin: Likewise.
10512
3e0fa5d0
VS
105132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10516
ade9bd66
VS
105172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * util/grub.d/20_linux_xen.in: Use submenus.
10520
fc55cc4c
VS
105212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 Support submenus.
10524
10525 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10526 parameter submenu. All users updated.
10527 * grub-core/normal/main.c (free_menu): Rename to ...
10528 (grub_normal_free_menu): ... this. Made global.
10529 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10530 if requested.
10531 * grub-core/normal/menu_entry.c (screen): New field submenu.
10532 (make_screen): Set submenu.
10533 (run): Open new context if requested.
10534 * include/grub/menu.h (grub_menu_entry): New field submenu.
10535 * include/grub/normal.h (grub_normal_free_menu): New proto.
10536
600cedf7
VS
105372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Menu entries extractor.
10540
10541 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10542 variants.
10543 (GRUB_MOD_INIT): Register new variants.
10544 (GRUB_MOD_FINI): Unregister new variants.
10545 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10546 into grub_cmd_legacy_source.
10547 (grub_cmd_legacy_source): Implement extractor variants.
10548 (GRUB_MOD_INIT): Register new variants.
10549 (GRUB_MOD_FINI): Unregister new variants.
10550 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10551 as an extractor.
10552 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10553 search as an extractor.
10554 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10555 test as an extractor.
10556 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10557 as an extractor.
10558 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10559 (grub_env_new_context): New function.
10560 (grub_env_context_open): Likewise.
10561 (grub_env_extractor_open): Likewise.
10562 (grub_env_extractor_close): Likewise.
10563 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10564 grub_extractor_level.
10565 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10566 * include/grub/env.h (grub_env_extractor_open): New proto.
10567 (grub_env_extractor_close): Likewise.
10568 * include/grub/normal.h (grub_extractor_level): New external variable.
10569
7bda3a87
VS
105702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 Make cutmem accept a region specification.
10573 Suggested by: Samuel Thibault
10574
10575 * grub-core/mmap/mmap.c (parsemem): New function.
10576 (grub_cmd_cutmem): Handle new arguments.
10577
2ea57f88
VS
105782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 New command cutmem.
10581
10582 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10583 (GRUB_MOD_INIT): Register new command.
10584 (GRUB_MOD_FINI): Unregister new command.
10585
74342e31
VS
105862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 Support some annoying BSD and Minix subpartitions.
10589
10590 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10591 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10592 Properly handle concatenation.
10593 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10594 * grub-core/normal/completion.c (iterate_partition): Likewise.
10595 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10596 contain partition. All users updated.
10597 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10598 struct.
10599 (grub_openbsdlabel_partition_map): Likewise.
10600 (bsdlabel_partition_map_iterate): Rename to ..
10601 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10602 (bsdlabel_partition_map_iterate): New function.
10603 (netopenbsdlabel_partition_map_iterate): Likewise.
10604 (netbsdlabel_partition_map_iterate): Likewise.
10605 (openbsdlabel_partition_map_iterate): Likewise.
10606 (GRUB_MOD_INIT): Register new partmaps.
10607 (GRUB_MOD_FINI): Unregister new partmaps.
10608 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10609 (grub_partition_msdos_iterate): ... this. All users updated.
10610 Don't support embedding other than in a minix partition.
10611 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10612 proto.
10613 * include/grub/partition.h (grub_partition): New field msdostype.
10614 * util/grub-install.in: Handle openbsd and netbsd types being in
10615 part_bsd module.
10616
1e8d555b
VS
106172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10620
10621 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10622 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10623 (mdraid09): ... this.
10624 (mdraid1x): New module.
10625 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10626 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10627
899d8af4
VS
106282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10631 vsprintf.
10632
40901acd
CW
106332010-09-20 Colin Watson <cjwatson@ubuntu.com>
10634
10635 * grub-core/commands/efi/lsefimmap.c: Correct header.
10636 * NEWS: Update.
10637
dfe3b247
CW
106382010-09-20 Colin Watson <cjwatson@ubuntu.com>
10639
10640 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10641 as printf format strings; the translations might contain '%' which
10642 could cause a crash.
10643 (main): Likewise.
10644 * util/grub-fstest.c (argp_parser): Likewise.
10645 * util/grub-setup.c (argp_parser): Likewise.
10646 (main): Likewise.
10647
3286a4b4
VS
106482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 Use argp in grub-fstest.
10651
10652 * util/grub-fstest.c: Don't include getopt.h.
10653 Include argp.h.
10654 (root): New variable.
10655 (args_count): Likewise.
10656 (nparm): Likewise.
10657 (num_disks): Likewise.
10658 (images): Likewise.
10659 (cmd): Likewise.
10660 (debug_str): Likewise.
10661 (args): Likewise.
10662 (options): Transformed to argp.
10663 (usage): Removed.
10664 (main): Split argument parsing into ...
10665 (argp_parser): ... this. Changed to argp format.
10666 (argp): New variable.
10667 (main): Use argp_parse.
10668
3dccbe4b
TG
106692010-09-20 Tristan Gingold <gingold@free.fr>
106702010-09-20 Robert Millan <rmh.grub@aybabtu.com>
106712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/commands/efi/lsefimmap.c: New file.
10674 * grub-core/Makefile.core.def (lsefimmap): New module.
10675 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10676
38c259a7
VS
106772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 Pause the execution (10s max) if any errors are displayed so the user
10680 has a chance to see them.
10681
10682 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10683 (grub_print_error): Increment grub_err_printed_errors.
10684 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10685 execution if any errors were displayed.
10686 (show_menu): Remove old code for pause.
10687 * grub-core/normal/menu_entry.c (run): Likewise.
10688 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10689 users updated.
10690 (grub_normal_get_char_counter): Likewise.
10691 * include/grub/err.h (grub_err_printed_errors): New external variable.
10692 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10693
f218b09c
VS
106942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 Support multiboot VBE info.
10697
10698 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10699 Take VBE info into account.
10700 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10701 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10702 Call fill_vbe_info when appropriate.
10703 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10704 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10705 as supported.
10706 (grub_multiboot_get_mbi_size): Take new tags into account.
10707 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10708 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10709 Call fill_vbe_tag when appropriate.
10710 (grub_multiboot_make_mbi): Properly align tags.
10711 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10712 function.
10713 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10714 proto.
10715 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10716
a9cc5438
VS
107172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 Suport manual terminal geometry specification.
10720
10721 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10722 Save state in grub_ofconsole_terminfo_output.
10723 (grub_ofconsole_term): Use grub_terminfo_getwh.
10724 (grub_ofconsole_getwh): Removed.
10725 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10726 (grub_serial_term): Use grub_terminfo_getwh.
10727 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10728 (options): New struct.
10729 (OPTION_*): New enum.
10730 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10731 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10732 width and height.
10733 (grub_terminfo_getwh): New proto.
10734 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10735
1a8fed20
VS
107362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 Handle legacy "terminal" command.
10739
10740 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10741 and FLAG_TERMINAL.
10742 (legacy_commands): Add terminal and title.
10743 (grub_legacy_parse): Handle terminal. Simplify title handling.
10744
41e9c57d
VS
107452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10748 parameters overflow.
10749
61c874c5
CW
107502010-09-20 Colin Watson <cjwatson@ubuntu.com>
10751
10752 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10753 widthspec.h.
10754
10755 * docs/grub.texi (Shell-like scripting): Document `!'.
10756 (Network): Simplify using new i386-pc-pxe format. Mention
10757 grub-mknetdir.
10758
10759 * NEWS: Update.
10760
943682b4
CW
107612010-09-20 Colin Watson <cjwatson@ubuntu.com>
10762
10763 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10764 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10765 when needed.
10766
6d3d698d
CW
107672010-09-20 Colin Watson <cjwatson@ubuntu.com>
10768
10769 * grub-core/commands/efi/lsefisystab.c: Correct header.
10770 * grub-core/commands/efi/lssal.c: Likewise.
10771 * grub-core/commands/testload.c: Likewise.
10772
c982589f
CW
107732010-09-20 Colin Watson <cjwatson@ubuntu.com>
10774
10775 * util/grub-mkrescue.in: Add explicit root argument to --set to
10776 prevent the UUID being interpreted as an argument to --set (matches
10777 previous change to prepare_grub_to_access_device).
10778
a63c31b6
CW
107792010-09-20 Colin Watson <cjwatson@ubuntu.com>
10780
10781 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10782 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10783 the verbosity of later #ifs.
10784 (find_partition_start): Define this function on FreeBSD too.
10785 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10786 function.
10787 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10788 on FreeBSD.
10789
6439b8ee
YB
107902010-09-20 Yves Blusseau <blusseau@zetam.org>
10791
10792 * util/grub-editenv.c: Use argp instead of getopt.
10793
c5930ec8
YB
107942010-09-20 Yves Blusseau <blusseau@zetam.org>
10795
10796 * util/grub-setup.c: Use argp instead of getopt.
10797
15c69261
YB
107982010-09-20 Yves Blusseau <blusseau@zetam.org>
10799
10800 Use gnulib-tool to create gnulib source files.
10801
10802 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10803 grub-core/gnulib directories
10804 * .bzignore: Add **/.deps and autogenerated gnulib files
10805 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10806 of gnulib macros, add grub-core/gnulib/Makefile
10807 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10808 include m4 directory to aclocal.
10809 * Makefile.util.def: Remove direct compilation of gnulib source files
10810 and use the new grub-core/gnulib/libgnu.a.
10811 * build-aux/config.rpath: move config.rpath from top directory to
10812 build-aux
10813 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10814 in gnulib headers
10815 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10816 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10817 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10818 header.
10819 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10820 string.
10821
e511c9f5
YB
108222010-09-20 Yves Blusseau <blusseau@zetam.org>
10823
10824 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10825 grub-core/genmod.sh and grub-core/gensyminfo.sh
10826
c2dede05
BC
108272010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10828
10829 Add a test for echo command options.
10830
10831 * tests/grub_cmd_echo.in: New test.
10832 * Makefile.util.def: Rules for new test.
10833
c55f5018
SJ
108342010-09-20 Szymon Janc <szymon@janc.net.pl>
10835
10836 Remove crc.mod and move crc command to hashsum.mod.
10837 Remove lib/crc.c - users updated to use gcrypt implementation.
10838
10839 * grub-core/commands/crc.c: Removed.
10840 * grub-core/Makefile.core.def (crc): Module removed.
10841 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10842 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10843 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10844 * grub-core/lib/crc.c: Removed.
10845 * include/grub/lib/crc.h: Removed.
10846 * Makefile.util.def (crc): Remove lib/crc.c
10847 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10848 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10849 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10850 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10851 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10852 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10853
e0337366
VS
108542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10857
742f9232
VS
108582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 Split config.h for util and core.
10861
10862 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10863 (ADDR32): Likewise.
10864 (DATA32): Likewise.
10865 (BSS_START_SYMBOL): Likewise.
10866 (END_SYMBOL): Likewise.
10867 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10868 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10869 * config.h.in: New file.
10870 * configure.ac: Use config-util.h as config define file.
10871 Rename MACHINE into GRUB_MACHINE. All users updated.
10872 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10873 updated.
10874 (NESTED_FUNC_ATTR): Likewise.
10875 Substitue new variables.
10876 (COND_HAVE_ASM_USCORE): New conditional.
10877 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10878 (kernel_syms.lst): Use ASM_PREFIX.
10879 * grub-core/kern/emu/console.c: Include config-util.h.
10880 * grub-core/kern/emu/misc.c: Likewise.
10881 * grub-core/kern/emu/mm.c: Likewise.
10882 * include/grub/emu/misc.h: Likewise.
10883 * include/grub/libgcc.h: Likewise.
10884
39feb0e8
VS
108852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10888 constants usage.
10889 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10890 Fix GRUB_TERM_KEY_* constants usage.
10891 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10892
9af6dac3
VS
108932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10896 print pointer.
10897 * grub-core/bus/usb/uhci.c: Remove empty define.
10898 (grub_uhci_check_transfer): Add missing cast.
10899 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10900 print pointer.
10901 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10902 PRIuGRUB_SIZE.
10903 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10904
d6d94820
VS
109052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/Makefile.core.def (legacycfg): Add
10908 lib/i386/pc/vesa_modes_table.c on emu.
10909
3572f2b6
BC
109102010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10911
10912 Reduce number of temporary files generated by build system.
10913
10914 * grub-core/gencmdlist.sh: Removed.
10915 * grub-core/genfslist.sh: Removed.
10916 * grub-core/genhandlerlist.sh: Removed.
10917 * grub-core/genmodsrc.sh: Removed.
10918 * grub-core/genpartmaplist.sh: Removed.
10919 * grub-core/genparttoollist.sh: Removed.
10920 * grub-core/gentermiinallist.sh: Removed.
10921 * grub-core/genvideolist.sh: Removed.
10922
10923 * grub-core/genmod.sh.in: New file.
10924 * grub-core/gensyminfo.sh.in: New file.
10925
10926 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10927 * conf/Makefile.extra-dist: Update with new files.
10928 * gentpl.py: Remove rules related to unnecessary temporary files.
10929 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10930 and und-* files.
10931 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10932 genmod.sh scripts.
10933 * grub-core/bus/usb/uhci.c: Remove empty #define.
10934 * grub-core/genmoddep.awk: Updated with new syminfo format.
10935 * util/bash-completion.d/Makefile.am: Add config.log to
10936 CLEANFILES.
10937
c836b030
YB
109382010-09-19 Yves Blusseau <blusseau@zetam.org>
10939
10940 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10941
2f4e8053
BC
109422010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10943
10944 * util/grub-mkconfig.in: Check the config script for syntax errors
10945 before saving.
10946
75831c34
CW
109472010-09-19 Colin Watson <cjwatson@ubuntu.com>
109482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10951 platforms.
10952 * util/grub-install.in: Add EFI and IEEE1275 support.
10953 * util/i386/efi/grub-install.in: Removed.
10954 * util/ieee1275/grub-install.in: Likewise.
10955
eaf41b25
VS
109562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10959 (grub_cmd_cmosclean): Likewise.
10960 (GRUB_MOD_INIT): Register command cmosclean.
10961 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10962 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10963
1a9130dd
CPE
109642010-09-18 Carles Pina i Estany <carles@pina.cat>
109652010-09-18 Aleš Nesrsta <starous@volny.cz>
109662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10967
10968 Add keyboard layouts support.
10969
10970 * Makefile.util.def (grub-mklayout): New file.
10971 (grub-kbdcomp): New script.
10972 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10973 Add keyboard_layouts.h.
10974 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10975 commands/boot.c on yeeloong.
10976 (keylayouts): New module.
10977 * grub-core/bus/usb/ohci.c
10978 * grub-core/bus/usb/uhci.c
10979 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10980 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10981 (attach_root_port): Likewise.
10982 (poll_nonroot_hub): Likewise.
10983 (grub_usb_poll_devices): Likewise.
10984 (detach_device): Close transfer.
10985 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10986 function.
10987 (grub_usb_bulk_setup_readwrite): Likewise.
10988 (grub_usb_bulk_finish_readwrite): Likewise.
10989 * grub-core/commands/keylayouts.c: New file.
10990 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10991 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10992 aliases.
10993 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10994 support scancode 2.
10995 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10996 * include/grub/keyboard_layouts.h: New file.
10997 * util/grub-mklayout.c: New file.
10998 * util/grub-kbdcomp.in: Likewise.
10999
a1d84a5e
VS
110002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 Unify memory types.
11003
11004 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
11005 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
11006 types.
11007 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
11008 (grub_upper_mem): Likewise.
11009 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
11010 * include/grub/memory.h (grub_memory_type_t): New enum.
11011 All users updated.
11012
9696382e
VS
110132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * grub-core/Makefile.core.def (lsapm): New module.
11016 * grub-core/commands/i386/pc/lsapm.c: New file.
11017 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
11018 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
11019 Likewise.
11020 * include/grub/i386/pc/apm.h: New file.
11021 * include/multiboot.h (multiboot_apm_info): New struct.
11022
110232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 GRUB-legacy configuration file support.
11026
11027 * Makefile.util.def (grub-menulst2cfg): New util.
11028 * docs/man/grub-menulst2cfg.h2m: New file.
11029 * grub-core/Makefile.core.def (legacycfg): New module.
11030 * grub-core/commands/legacycfg.c: New file.
11031 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
11032 (grub_normal_add_menu_entry): ... this.
11033 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
11034 (grub_normal_set_password): ...this.
11035 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
11036 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
11037 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
11038 * grub-core/lib/legacy_parse.c: New file.
11039 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
11040 * include/grub/i386/pc/vesa_modes_table.h: New file.
11041 * include/grub/legacy_parse.h: Likewise.
11042 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
11043 * util/grub-menulst2cfg.c: New file.
11044
bf8d1338
CW
110452010-09-17 Colin Watson <cjwatson@ubuntu.com>
11046
11047 * grub-core/kern/emu/hostdisk.c
11048 (convert_system_partition_to_system_disk): Initialise node.
11049
9c0bad2e
CW
110502010-09-17 Colin Watson <cjwatson@ubuntu.com>
11051
11052 * grub-core/kern/emu/hostdisk.c
11053 (convert_system_partition_to_system_disk): Fix devmapper memory pool
11054 leak.
11055 Reported and based on patch by: Modestas Vainius.
11056
a939d135
CW
110572010-09-17 Colin Watson <cjwatson@ubuntu.com>
11058
11059 Fix DM-RAID probing with recent versions of device-mapper udev
11060 rules.
11061
11062 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
11063 canonicalise device paths under /dev/mapper/.
11064 (convert_system_partition_to_system_disk): Compare the
11065 uncanonicalised path to /dev/mapper/ rather than the canonicalised
11066 path, since device nodes under /dev/mapper/ are often symlinks.
11067
0f7ee3c9
YB
110682010-09-17 Yves Blusseau <blusseau@zetam.org>
11069
11070 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
11071
10854d0d
YB
110722010-09-16 Yves Blusseau <blusseau@zetam.org>
11073
11074 * configure.ac: Avoid some annoying error messages if freetype-config
11075 program is not found.
11076
108538d8
CW
110772010-09-16 Colin Watson <cjwatson@ubuntu.com>
11078
11079 Support RAID on virtio devices, and others.
11080
11081 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
11082 Rename to ...
11083 [__MINGW32__] (grub_find_device): ... this.
11084 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
11085 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
11086 reasonable default if dir is NULL.
11087 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
11088 ...
11089 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
11090 (grub_guess_root_device): Update callers.
11091 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
11092
11093 * util/raid.c (grub_util_getdiskname): Remove.
11094 (grub_util_raid_getmembers): Use grub_find_device rather than
11095 grub_util_getdiskname.
11096
e5bfc130
CW
110972010-09-16 Colin Watson <cjwatson@ubuntu.com>
11098
11099 * docs/grub.texi (serial): Remove obsolete comment about GRUB
11100 needing to be compiled with serial support.
11101 (ls): Indicate that multiple files are accepted.
11102 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
11103 indicate that multiple files are accepted.
11104
be458ae2
CW
111052010-09-16 Colin Watson <cjwatson@ubuntu.com>
11106
11107 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
11108 libgrub_a_init.c, and util/bash-completion.d/grub.
11109
cb731b5e
VS
111102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * util/grub-setup.c (setup): Fix incorrect container semantics.
11113
35139e8a
VS
111142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
11117 misusage.
11118 Reported by: J. Nick Terry
11119
e50fca4a
VS
111202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 Move embedding routines to partmap sources files.
11123
11124 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11125 [GRUB_UTIL]: New variable.
11126 (gpt_partition_map_iterate): Set part.parent.
11127 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11128 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11129 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11130 New function.
11131 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11132 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11133 (grub_partition_map) [GRUB_UTIL]: New field embed.
11134 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11135 (setup): Use ->embed.
11136
f00478b7
VS
111372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11140 function.
11141 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11142 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11143
2b94e3ff
YB
111442010-09-15 Yves Blusseau <blusseau@zetam.org>
11145
11146 Add function to get completions from usage.
11147
11148 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11149 completions from usage. Use LC_ALL=C to get options properly.
11150
2e04a006
VS
111512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * grub-core/gnulib/basename-lgpl.c: Imported.
11154 * grub-core/gnulib/basename.c: Likewise.
11155 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11156 * grub-core/gnulib/dirname.c: Likewise.
11157 * grub-core/gnulib/dirname.h: Likewise.
11158 * grub-core/gnulib/stripslash.c: Likewise.
11159
5dcdf93a
VS
111602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/gnulib/error.c: Resynced.
11163 * grub-core/gnulib/getopt.c: Likewise.
11164 * grub-core/gnulib/getopt_int.h: Likewise.
11165 * grub-core/gnulib/regex.h: Likewise.
11166 * grub-core/gnulib/regex_internal.c: Likewise.
11167 * grub-core/gnulib/regex_internal.h: Likewise.
11168
014f47b7
SJ
111692010-09-15 Szymon Janc <szymon@janc.net.pl>
11170
11171 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11172 CRC calculations and validity checks.
11173 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11174 calculations.
11175
dd521a4a
SJ
111762010-09-15 Szymon Janc <szymon@janc.net.pl>
11177
11178 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11179
79c4eeb9
VS
111802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 Fix incorrect echo options handling.
11183 Reported by: Yves Blusseau.
11184
11185 * include/grub/command.h (grub_command_flags_t): New flags
11186 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11187 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11188 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11189
ed80f7d5
VS
111902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11193 users updated.
11194 (GRUB_COMMAND_FLAG_MENU): Likewise.
11195 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11196 (GRUB_COMMAND_FLAG_TITLE): Removed.
11197 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11198 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11199 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11200 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11201 (grub_command_flags_t): New enum. All users updated.
11202
5fe7620a
SG
112032010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11204
11205 Fix solaris compilation.
11206
11207 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11208 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11209 (grub-emu-list): Likewise.
11210
545b752f
VS
112112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 Remove deprecated root command.
11214
11215 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11216 updated.
11217
6c1a338c
VS
112182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * util/i386/pc/grub-setup.c: Merge this ...
11221 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11222 * util/grub-setup.c: ... into this.
11223 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11224 New struct.
11225
112262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11229 possible.
11230
d2ea4551
VS
112312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11234 allocate p.
11235
3c3b5040
VS
112362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11239 explicit root argument to set to prevent UUID to be interpreted as
11240 argument to set.
11241
b71c3fae
VS
112422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11245
275433e6
VS
112462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 Don't export grub_gate_a20.
11249
11250 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11251 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11252 to ...
11253 (grub_gate_a20): ... this. All users updated.
11254 * include/grub/i386/pc/init.h: Removed. All users updated.
11255
a5dbb1f1
VS
112562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 Create euro.pf2 which supports most European languages.
11259
11260 * Makefile.am (grubdata_DATA): Add euro.pf2.
11261 (euro.pf2): New target.
11262 (CLEANFILES): Add euro.pf2.
11263
62a747cb
VS
112642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * configure.ac: Disable emu-usb by default to prevent inadvertent
11267 device takeover.
11268
608e43b1
VS
112692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 Disable usbserial on grub-emu since our libusb code isn't good enough
11272 yet.
11273
11274 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11275 (usbserial_pl2303): Likewise.
11276 (usbserial_ftdi): Likewise.
11277
94564f81
VS
112782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * include/grub/disk.h (grub_disk): Remove has_partitions.
11281 All users updated.
11282 * disk/loopback.c (grub_loopback): Remove has_partitions.
11283 All users updated.
11284 (options): Remove partitions. All users updated.
11285 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11286 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11287 actual partition table is found.
11288
3352800b
VS
112892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 Remove readability checks (too many false negatives).
11292
11293 * util/grub-install.in: Remove readability checks.
11294 * util/grub-mkconfig.in: Likewise.
11295 * util/grub.d/10_hurd.in: Likewise.
11296 * util/grub.d/10_kfreebsd.in: Likewise.
11297 * util/grub.d/10_linux.in: Likewise.
11298 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11299 way.
11300
2419f17a
VS
113012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 Enable acpi shutdown on all ACPI platforms.
11304
11305 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11306 on coreboo, multiboot and EFI.
11307 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11308 (grub_acpi_halt): Likewise.
11309 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11310 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11311 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11312 * grub-core/lib/i386/halt.c (grub_halt)
11313 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11314
0575c7c3
VS
113152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11318 context.
11319
54ac3cd1
VS
113202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11323 * grub-core/video/efi_uga.c: Likewise.
11324
b2a30ac5
VS
113252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 Filter devaliases and never open same device twice.
11328
11329 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11330 (last_ihandle): Likewise.
11331 (ofdisk_hash_ent): New member shortest.
11332 (ofdisk_hash_add): Add canonical path too.
11333 (scan): New function.
11334 (grub_ofdisk_iterate): Iterate over hashed entries.
11335 (compute_dev_path): Don't add :0.
11336 (grub_ofdisk_open): Don't really open the disk.
11337 (grub_ofdisk_close): Avoid closing unrelated disk.
11338 (grub_ofdisk_read): Implement reopen logic.
11339 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11340 New function.
11341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11342 New proto.
11343
fb53b340
VS
113442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 Fix sparc64.
11347
11348 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11349 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11350 right address. Add sparc64_ieee1275_ldflags.
11351 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11352 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11353 to grub_host_to_target_addr
11354 (load_image): Likewise.
11355
f452b040
VS
113562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * grub-core/normal/completion.c (complete_file): Handle device
11359 containing slash.
11360 Fix based on patch by Doug Nazar.
11361
9b5b2541
VS
113622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 grub-mknetdir script.
11365
11366 * Makefile.util.def (grub-mknetdir): New module.
11367 * tests/util/grub-shell.in: Support boot=net
11368 * util/grub-mknetdir.in: New file.
11369
9d2be652
VS
113702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 videoinfo on non-vbe.
11373
11374 * grub-core/Makefile.core.def (vbeinfo): Removed.
11375 (vbetest): Removed.
11376 (videoinfo): New module.
11377 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11378 * grub-core/commands/i386/pc/vbetest.c: Removed.
11379 * grub-core/commands/videoinfo.c: New file.
11380 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11381 specification.
11382 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11383 as vbetest.
11384 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11385 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11386 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11387 mode_number. New parameter mode. All users updated.
11388 (grub_video_gop_iterate): New function.
11389 (grub_video_efi_gop): New member iterate.
11390 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11391 (grub_vbe_set_video_mode): Remove setting useless fields.
11392 (vbe2videoinfo): New function.
11393 (grub_video_vbe_iterate): Likewise.
11394 (grub_video_vbe_setup): Use vbe2videoinfo.
11395 (grub_video_vbe_print_adapter_specific_info): New function.
11396 (grub_video_vbe_adapter): New fields iterate and
11397 print_adapter_specific_info.
11398 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11399 All users updated.
11400 (grub_video_mode_info): New field mode_number.
11401 (grub_video_adapter): New fields iterate and
11402 print_adapter_specific_info.
11403
179503f5
TG
114042010-09-13 Tristan Gingold <gingold@free.fr>
114052010-09-13 Robert Millan <rmh.grub@aybabtu.com>
114062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * grub-core/commands/efi/lsefisystab.c: New file.
11409 * grub-core/commands/efi/lssal.c: Likewise.
11410 * grub-core/Makefile.core.def (lsacpi): New module.
11411 (lsefisystab): Likewise.
11412 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11413 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11414 (grub_efi_sal_system_table): New struct.
11415 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11416 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11417 (grub_efi_sal_system_table_platform_features): Likewise.
11418 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11419 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11420 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11421 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11422
cf9827de
VS
114232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Support explicit user claim that a device is BIOS-visible.
11426
11427 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11428 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11429 * grub-core/kern/emu/hostdisk.c
11430 (convert_system_partition_to_system_disk): Support mdX.
11431 (find_system_device): New parameter add. All users updated.
11432 (grub_util_biosdisk_is_present): New function.
11433 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11434 proto.
11435
53f0eb1f
VS
114362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 Search hints support.
11439
11440 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11441 All users updated.
11442
b23ffd70
YB
114432010-09-13 Yves Blusseau <blusseau@zetam.org>
11444
11445 Bash completion script for util commands
11446
11447 * Makefile.am: Add util/bash-completion.d directory
11448 * configure.ac: Likewise.
11449 * util/bash-completion.d/Makefile.am: New file.
11450 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11451
d547dc28
VS
114522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11455 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11456 Reported by: Yves Blusseau.
11457
2fc8ccb9
VS
114582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11461 partition size and offset.
11462
d8a84076
VS
114632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11466
84fb3b3d
VS
114672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11470
768ec2e2
VS
114712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11474 (grub_xvasprintf): Likewise.
11475
4870900f
VS
114762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11479
faca6bec
VS
114802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11483 args ending with NULL.
11484
114852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
11486
11487 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11488 pointer.
11489
3c70f225
SJ
114902010-09-11 Szymon Janc <szymon@janc.net.pl>
11491
11492 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11493
4df7996d
VS
114942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 Shutdown using ACPI.
11497
11498 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11499 * grub-core/commands/acpihalt.c: New file.
11500 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11501 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11502 (grub_acpi_halt): New proto.
11503 (GRUB_ACPI_SLP_EN): New const.
11504 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11505 (GRUB_ACPI_OPCODE_*): New enum.
11506 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11507
126b4c32
TG
115082010-09-11 Tristan Gingold <gingold@free.fr>
115092010-09-11 Robert Millan <rmh.grub@aybabtu.com>
115102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * commands/lsacpi.c: New file.
11513 * grub-core/Makefile.core.def (lsacpi): New module.
11514 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11515 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11516 (grub_acpi_madt_entry_header): New struct.
11517 (grub_acpi_madt): Likewise.
11518 (grub_acpi_madt_entry_interrupt_override): Likewise.
11519 (grub_acpi_madt_entry_sapic): Likewise.
11520 (grub_acpi_madt_entry_lsapic): Likewise.
11521 (grub_acpi_madt_entry_platform_int_source): Likewise.
11522 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11523 (PRIuGRUB_UINT32_T): Likewise.
11524 (PRIxGRUB_UINT64_T): Likewise.
11525
1aa4fe88
VS
115262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 Implement loading palette on ieee1275_fb.
11529
11530 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11531 (have_setcolors): Likewise.
11532 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11533 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11534 (grub_video_ieee1275_set_palette): Implement.
11535
25761e13
VS
115362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
115372010-09-11 Colin Watson <cjwatson@ubuntu.com>
11538
11539 * util/grub-install.in (grub_partition): New variable.
11540 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11541 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11542 Fixes a bug reported by Yves Blusseau.
11543
050abaea
VS
115442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 Fix emu on mipsel.
11547
11548 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11549 =grub_cpu_flush_cache on all mips and not only yeeloong.
11550 * configure.ac (COND_mips): New conditional.
11551 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11552 platforms.
11553 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11554 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11555 [GRUB_LINKER_HAVE_INIT]: New function.
11556 (grub_emu_post_init): Likewise.
11557 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11558 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11559 * include/grub/cache.h (_mips): Include mips/cache.h.
11560 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11561 LVM and RAID prototypes.
11562 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11563 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11564 function.
11565
5ed7d816
CW
115662010-09-10 Colin Watson <cjwatson@ubuntu.com>
11567
11568 * util/grub-install.in: Don't try to verify core.img until after
11569 running grub-mkimage to create it.
11570
90367e04
RM
115712010-09-10 Robert Millan <rmh@gnu.org>
11572
11573 * util/grub.d/10_hurd.in: Add misc readability checks.
11574 * util/grub.d/10_kfreebsd.in: Likewise.
11575 * util/grub.d/10_linux.in: Likewise.
11576
c452fa66
CW
115772010-09-10 Colin Watson <cjwatson@ubuntu.com>
11578
11579 * util/grub-install.in: ${imgext} won't be defined here until the
11580 install branch is merged. For the meantime, only verify core.img on
11581 i386-pc and sparc64-ieee1275 platforms.
11582
c38fe9f4
RM
115832010-09-10 Robert Millan <rmh@gnu.org>
11584
11585 Solaris support in grub_find_zpool_from_dir(). Thanks
11586 Seth Goldberg for referring to getextmntent() facility.
11587
11588 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11589 `sys/mkdev.h'.
11590 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11591 `<sys/mnttab.h>'.
11592 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11593 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11594 method for finding zpool name.
11595
905f7773
CW
115962010-09-10 Colin Watson <cjwatson@ubuntu.com>
11597
11598 grub-fstest needs the host and hostfs modules while other utilities
11599 actively require those modules to be absent, so grub-fstest needs
11600 its own initialisation and finalisation code.
11601
11602 * Makefile.am (grub_fstest.pp): New target.
11603 (grub_fstest_init.lst): Likewise.
11604 (grub_fstest_init.c): Likewise.
11605 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11606
fb90b546
RM
116072010-09-10 Robert Millan <rmh@gnu.org>
11608
11609 * configure.ac: Check for `struct statfs.f_fstypename' and
11610 `struct statfs.f_mntfromname'.
11611
11612 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11613 kFreeBSD-specific code.
11614
66d4bea5
RM
116152010-09-10 Robert Millan <rmh@gnu.org>
11616
11617 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11618 on ZFS. Now non-main filesystems are supported as / too.
11619
b6a690ee
CW
116202010-09-09 Colin Watson <cjwatson@ubuntu.com>
11621
11622 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11623 and grub-core/disk/host.c to ...
11624 (grub-fstest): ... here. Having the host disk implementation
11625 present confuses grub-probe and other utility programs.
11626
11627 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11628 when writing to a file, not when writing to stdout.
11629
8901b00c 116302010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11631
11632 * tests/partmap_test.in: New test for partitions.
11633 * Makefile.util.def: Rules for new test.
11634
7bf45fdd
RM
116352010-09-09 Robert Millan <rmh@gnu.org>
11636
11637 * util/grub-probe.c (probe): Fix a pair of unhandled error
11638 conditions.
11639
4dfbc574
RM
116402010-09-09 Robert Millan <rmh@gnu.org>
11641
11642 Basic Btrfs support (detection and UUID).
11643
11644 * grub-core/fs/btrfs.c: New file.
11645 * Makefile.util.def (library): Register btrfs.c.
11646 * grub-core/Makefile.core.def: Likewise.
11647
6b8e78ae
RM
116482010-09-08 Robert Millan <rmh@gnu.org>
11649
11650 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11651 with (optional) parameters to specify device and relative path.
11652 * util/grub-install.in: Use is_path_readable_by_grub() to
11653 verify readability of a few critical files.
11654 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11655 verify readability of grub.cfg.new.
11656
27f21a8b
VS
116572010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 Split minix.mod into minix.mod and minix2.mod.
11660
11661 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11662 * grub-core/Makefile.core.def (minix2): New module.
11663 * grub-core/fs/minix.c: Use definitions instead of runtime version
11664 checking.
11665 * grub-core/fs/minix2.c: New file.
11666
c0e53ea5
YB
116672010-09-08 Yves Blusseau <blusseau@zetam.org>
11668
11669 Add new --boot-directory option to replace --root-directory
11670
11671 * util/grub-install.in: Add new --boot-directory option
11672 * util/grub-reboot.in: Likewise.
11673 * util/grub-set-default.in: Likewise.
11674
b9fe6ea2
YB
116752010-09-08 Yves Blusseau <blusseau@zetam.org>
11676
11677 * util/grub-mkconfig.in: Use new variable.
11678
d87aedff
YB
116792010-09-08 Yves Blusseau <blusseau@zetam.org>
11680
11681 * configure.ac: Define some useful variables.
11682
e55e8495
VS
116832010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11686 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11687 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11688 Use terminfo and don't use cursor-on/cursor-off unless it's known
11689 to work.
11690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11691 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11692
6fa6d675
CW
116932010-09-08 Colin Watson <cjwatson@ubuntu.com>
11694
11695 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11696 starts with "(,", fill the drive containing the loaded image in
11697 between those two characters, but expect that a full partition
11698 specification including partition map names will follow.
11699
92f2aef0
RM
117002010-09-08 Robert Millan <rmh@gnu.org>
11701
11702 * configure.ac: Remove `--enable-grub-fstest' option.
11703 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11704
11705 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11706 `grub-fstest' instead of `grub-probe' for readability verification.
11707 * util/grub-probe.c (probe): Remove readability verification kludge.
11708
99fd620d
RM
117092010-09-08 Robert Millan <rmh@gnu.org>
11710
11711 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11712 initializing `GRUB_FS'.
11713
058e30ac 117142010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11715
11716 Not command (!) support to GRUB script.
11717
11718 * tests/grub_script_not.in: New test.
11719 * Makefile.util.def: Rules for new test.
11720
11721 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11722 ! command as a special case.
11723 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11724
b61d05ed 117252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11726
058e30ac 11727 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11728 grub_free.
b61d05ed 11729
4d69c786 117302010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11731
11732 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11733
aa3119c4 117342010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11735
11736 * docs/grub.texi (Shell-like scripting): Documentation for break,
11737 continue, shift and return commands.
11738
db0f7e3d
VS
117392010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 Rename CD-ROM to cd on BIOS.
11742
11743 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11744 "cd".
11745 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11746
88b87c93
VS
117472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11750 * util/grub-probe.c (main): Likewise.
11751 * util/i386/pc/grub-setup.c (main): Likewise.
11752 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11753 Reported and debugged by: alexxy
11754
294f324d
VS
117552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11758 diagnostic info.
11759
d7ee3441
JS
117602010-09-05 Jo Shields <directhex@apebox.org>
11761
11762 * util/grub.d/30_os-prober.in: Add missing classes.
11763
d7e06c1f
VS
117642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * docs/grub.texi (Theme file format): Document new position format.
11767
fc157e53
VS
117682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11771 a table. Use @code instead of @verbatim.
11772
506e9a1c
CB
117732010-09-05 Colin D Bennett <colin@gibibit.com>
11774
11775 Gfxmenu documentation.
11776
11777 * docs/grub.texi (Theme file format): New chapter.
11778
f0aff67c
SJ
117792010-09-05 Szymon Janc <szymon@janc.net.pl>
11780
11781 * grub-core/Makefile.core.def (xzio): New module.
11782 * grub-core/io/xzio.c: New file.
11783 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11784 * grub-core/lib/xzembed/xz_config.h: Likewise.
11785 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11786 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11787 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11788 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11789 * grub-core/lib/xzembed/xz_private.h: Likewise.
11790 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11791 * include/grub/file.h (grub_file_filter_id): New compression filter
11792 GRUB_FILE_FILTER_XZIO.
11793
82a85062
VS
117942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11797 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11798 size.
11799
3579415d
VS
118002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11803 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11804
5124ae6d
VS
118052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 Uncompressed checksum support.
11808
11809 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11810 (check_list): New parameter uncompress.
11811 (grub_cmd_hashsum): Handle --uncompress.
11812
9aadb3d1
VS
118132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 Reintroduce testload.
11816
11817 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11818 from here ...
11819 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11820 (GRUB_MOD_INIT): New function.
11821 (GRUB_MOD_FINI): Likewise.
11822 * grub-core/Makefile.core.def (testload): New module.
11823
a17792c3
SJ
118242010-09-05 Szymon Janc <szymon@janc.net.pl>
11825
11826 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11827 (uint8_t): New type.
11828 (uint16_t): Likewise.
11829 (uint32_t): Likewise.
11830 (uint64_t): Likewise.
11831
b81e40a3
SJ
118322010-09-05 Szymon Janc <szymon@janc.net.pl>
11833
11834 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11835
fc2ef117
VS
118362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11839 Made static.
11840 (grub_gzfile_open): Removed. All users updated.
11841 (GRUB_MOD_INIT): New function.
11842 (GRUB_MOD_FINI): Likewise.
11843 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11844 (grub_file_filters_enabled): Likewise.
11845 (grub_file_open): Handle filters.
11846 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11847 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11848 * include/grub/file.h (grub_file_filter_id_t): New type.
11849 (grub_file_filter_t): Likewise.
11850 (grub_file_filters_all): New extern variable.
11851 (grub_file_filters_enabled): Likewise.
11852 (grub_file_filter_register): New inline function.
11853 (grub_file_filter_unregister): Likewise.
11854 (grub_file_filter_disable): Likewise.
11855 (grub_file_filter_disable_compression): Likewise.
11856 * include/grub/gzio.h: Removed.
11857
35ee15e0
BC
118582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11859
11860 Filename expansion support for wildcards in GRUB script.
11861
11862 * tests/grub_script_expansion.in: New test.
11863 * Makefile.util.def: Rule for new test.
11864
11865 * grub-core/commands/wildcard.c: New file, implements filename
11866 expansion support for GRUB script.
11867 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11868 * grub-core/script/argv.c: Cosmetic changes.
11869 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11870 Refactored to perform wildcard expansion on arguments.
11871 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11872 struct.
11873
11874 * tests/util/grub-shell.in: Fix quoting for read input.
11875
5f0c4aca
BC
118762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11877
11878 Support for updating environment variables with matched substrings
11879 of regexp.
11880
11881 * tests/grub_cmd_regexp.in: New test.
11882 * Makefile.util.def: Rule for new test.
11883
11884 * grub-core/commands/regexp.c: New option -s to update environment
11885 variables with regexp matches.
11886
3759a35f
SJ
118872010-09-04 Szymon Janc <szymon@janc.net.pl>
11888
11889 * include/grub/file.h (grub_file): New member not_easly_seekable.
11890 (grub_file_seekable): New inline function.
11891 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11892 easily seekable.
11893 (grub_gzio_open): Set not_easly_seekable.
11894 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11895 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11896
ed8c6dec
BC
118972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11898
11899 Support for options to appear multiple times on cmdline.
11900
11901 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11902 * grub-core/commands/extcmd.c: Support for repeatable option.
11903 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11904 repeatable option support.
11905
11906 Refactor menuentry into a regular command.
11907
11908 * grub-core/commands/menuentry.c: New file, menuentry command
11909 implementation.
11910 * grub-core/Makefile.core.def: Rule update for normal.mod.
11911 * grub-core/normal/main.c: Moved menuentry creation to
11912 grub-core/commands/menuentry.c.
11913 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11914 (grub_menu_execute_entry_real): Removed.
11915 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11916 function.
11917 (grub_script_execute_menuentry): Removed.
11918 * grub-core/script/parser.y (menuentry): Removed.
11919 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11920 * grub-core/script/yylex.l (menuentry): Removed.
11921 * include/grub/menu.h (grub_menu_init): New prototype.
11922 (grub_menu_fini): New prototype.
11923 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11924 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11925 (grub_script_execute_sourcecode): New prototype.
11926
dacd0cf0
BC
119272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11928
11929 "return" command for GRUB script functions.
11930
11931 * tests/grub_script_return.in: New test.
11932 * Makefile.util.def: Rules for new test.
11933
11934 * grub-core/script/execute.c (grub_script_return): New function.
11935 * grub-core/script/main.c: Register/unregister return commaond.
11936 * include/grub/script_sh.h (grub_script_return): New prototype.
11937
52e72f9d
BC
119382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11939
11940 "setparams" command to update positional parameters.
11941
11942 * tests/grub_script_setparams.in: New test.
11943 * Makefile.util.def: Rules for new test.
11944
11945 * grub-core/script/argv.c (grub_script_argv_make): New function.
11946 * grub-core/script/execute.c (replace_scope): New function.
11947 (grub_script_setparams): New function.
11948 * grub-core/script/lexer.c: Remove unused variables.
11949 * grub-core/script/main.c: Register/unregister setparams command.
11950 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11951 (grub_script_setparams): New prototype.
11952
25b60c91
BC
119532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11954
11955 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11956 grub_free order.
11957
37e7bf68
BC
119582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11959
11960 Support for passing block of commands as an argument to extcmds.
11961
11962 * Makefile.util.def: Rules for new test.
11963 * tests/grub_script_blockarg.in: New test.
11964 * grub-core/tests/test_blockarg.c: New file, block argument
11965 command used in the test.
11966
11967 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11968 (grub_register_extcmd_prio): New function prototype.
11969 (grub_extcmd_dispatcher): New function prototype.
11970 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11971 type.
11972 * include/grub/script_sh.h (struct grub_script): New members
11973 `children', `next_siblings' and `refcnt' for block arguments and
11974 reference counting.
11975 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11976 (grub_script_arg): New member `script' for block argument.
11977 (grub_script_argv): New member `script' for block argument.
11978 (grub_parser_param): New member `scripts' for block argument.
11979 (grub_script_mem_free): New extern function prototype.
11980 (grub_script_ref): New function prototype.
11981 (grub_script_unref): New function prototype.
11982
11983 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11984 extcmd form to support block arguments.
11985 * grub-core/script/argv.c: Block arguments support.
11986 * grub-core/script/execute.c: Likewise.
11987 * grub-core/script/lexer.c: Likewise.
11988 * grub-core/script/main.c: Likewise.
11989 * grub-core/script/script.c: Likewise.
11990 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11991 non-terminals.
11992
11993 * grub-core/commands/acpi.c: Update extcmd implementations with
11994 grub_extcmd_context_t.
11995 * grub-core/commands/cat.c: Likewise.
11996 * grub-core/commands/echo.c: Likewise.
11997 * grub-core/commands/extcmd.c: Likewise.
11998 * grub-core/commands/hashsum.c: Likewise.
11999 * grub-core/commands/hdparm.c: Likewise.
12000 * grub-core/commands/help.c: Likewise.
12001 * grub-core/commands/hexdump.c: Likewise.
12002 * grub-core/commands/i386/cpuid.c: Likewise.
12003 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12004 * grub-core/commands/i386/pc/halt.c: Likewise.
12005 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12006 * grub-core/commands/iorw.c: Likewise.
12007 * grub-core/commands/keystatus.c: Likewise.
12008 * grub-core/commands/loadenv.c: Likewise.
12009 * grub-core/commands/ls.c: Likewise.
12010 * grub-core/commands/lspci.c: Likewise.
12011 * grub-core/commands/memrw.c: Likewise.
12012 * grub-core/commands/probe.c: Likewise.
12013 * grub-core/commands/search_wrap.c: Likewise.
12014 * grub-core/commands/setpci.c: Likewise.
12015 * grub-core/commands/sleep.c: Likewise.
12016 * grub-core/disk/loopback.c: Likewise.
12017 * grub-core/hello/hello.c: Likewise.
12018 * grub-core/loader/i386/bsd.c: Likewise.
12019 * grub-core/loader/xnu.c: Likewise.
12020 * grub-core/term/gfxterm.c: Likewise.
12021 * grub-core/term/serial.c: Likewise.
12022 * grub-core/tests/lib/functional_test.c: Likewise.
12023
888d1500
BC
120242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12025
12026 Multi-line quoted strings support.
12027
12028 * grub-core/script/lexer.c (append_newline): Removed.
12029 (grub_script_lexer_yywrap): Refactored.
12030 (grub_script_lexer_init): Refactored.
12031 * grub-core/script/yylex.l (yywrap): New function.
12032 (grub_lexer_resplit): New function.
12033 (grub_lexer_unput): New function.
12034 * include/grub/script_sh.h (grub_lexer_param): New members, unput
12035 and resplit.
12036 * tests/grub_script_echo1.in: Added few more testcases.
12037
dda060dd
VS
120382010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * grub-core/kern/misc.c: Don't add abort alias in utils.
12041 Reported by: echoline.
12042
6556eba9
BC
120432010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
12044
12045 Add missing files into "make dist" tarball for other platforms.
12046
12047 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
12048 * conf/Makefile.common (dist_noinst_DATA): New variable.
12049 * conf/Makefile.extra-dist: Added missing make dist files.
12050 * grub-core/Makefile.core.def: Likewise.
12051
c8e7bf5f
VS
120522010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 Compress grub_prefix.
12055
12056 * grub-core/boot/i386/pc/lnxboot.S: Use
12057 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
12058 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
12059 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
12060 GRUB_MACHINE_PREFIX_END. All users updated.
12061 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
12062 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
12063 + 0x40.
12064 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12065 * util/grub-mkimage.c (image_target_desc): Change data_end to
12066 prefix_end. All users updated.
12067
a7c00cdb
VS
120682010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
12071 value.
12072 (grub_openbsd_boot): Likewise.
12073 (grub_netbsd_boot): Likewise.
12074 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
12075 (grub_xnu_boot): Likewise.
12076
9f915872
VS
120772010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * configure.ac: Clean LIBS variable after tests.
12080
efa1bee7
CW
120812010-09-02 Colin Watson <cjwatson@ubuntu.com>
12082
12083 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
12084
61d720e5
VS
120852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
12088 echo if libdevmapper will be used.
12089
ef8e0ec8
IT
120902010-09-02 Ian Turner <Ian.Turner@deshaw.com>
12091
12092 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
12093 constant for the same file.
12094
03e261d8
VS
120952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
12098
c2a4eba6
CW
120992010-09-02 Colin Watson <cjwatson@ubuntu.com>
12100
12101 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
12102 grub-core/*.pp.
12103
9056cbf3
CW
121042010-09-02 Colin Watson <cjwatson@ubuntu.com>
12105
12106 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
12107 required by the boot protocol.
12108
12109 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
12110 ebp and edi members.
12111 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
12112 state.ebp and state.edi.
12113 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
12114 %ebp and %edi according to grub_relocator32_ebp and
12115 grub_relocator32_edi respectively.
12116 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
12117 and state.edi.
12118
529cc99a
VS
121192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 Add i386-pc-pxe image target.
12122
12123 * util/grub-mkimage.c (image_target_desc): New enum value
12124 IMAGE_I386_PC_PXE.
12125 (image_targets): New target i386-pc-pxe.
12126 (generate_image): Handle i386-pc-pxe image.
12127
9a093920
VS
121282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 Fix grub_pxe_scan.
12131
12132 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12133 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12134 All users updated.
12135 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12136 (grub_pxe_pxenv): Correct type.
12137
f9cefc4e
CW
121382010-09-01 Colin Watson <cjwatson@ubuntu.com>
12139
12140 * NEWS: Document most of the important changes since 1.98.
12141
4066f57f
CW
121422010-09-01 Colin Watson <cjwatson@ubuntu.com>
12143
12144 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12145 generated manual page) a little.
12146
da2891f9
CW
121472010-09-01 Colin Watson <cjwatson@ubuntu.com>
12148
12149 * docs/grub.texi: Add myself as an author.
12150
ad717fae
VS
121512010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * Makefile.util.def (libgrub.a): Add missing sunpc.
12154 Reported by: Seth Goldberg.
12155
eefe8abd
VS
121562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 Interrupt wrapping and code simplifications.
12159
9494ef9a
VS
12160 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12161 x86_noieee1275 which are functionaly equivalent in this case.
12162 (grub-install): Make source on each platform explicit. Enable on
12163 all noemu.
12164 * gentpl.py (x86_efi_pc): Removed group.
12165 (x86_noefi): Likewise.
12166 (i386_noefi): Likewise.
12167 (x86_noieee1275): Likewise.
12168 (i386_noieee1275): Likewise.
12169 (i386_noefi_noieee1275): Likewise.
12170 (i386_pc_qemu_coreboot): Likewise.
12171 (i386_coreboot_multiboot): Likewise.
12172 (i386_pc_coreboot_multiboot_qemu): Likewise.
12173 (x86_noefi_mips): Likewise.
12174 (noieee1275): Likewise.
12175 (ieee1275_mips): Likewise.
12176 (noemu_noieee1275): Likewise.
12177 (cmos): New group.
12178 (usb): Likewise.
12179 (videoinkernel): Likewise.
12180 (videomodules): Likewise.
eefe8abd 12181 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
12182 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12183 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12184 include/grub/loader.h, include/grub/msdos_partition.h,
12185 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12186 include/grub/machine/console.h, include/grub/machine/vga.h,
12187 include/grub/machine/vbe.h, include/grub/machine/init.h,
12188 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12189 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 12190 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
12191 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12192 * grub-core/Makefile.core.def (kernel): Explicit the source for
12193 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12194 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12195 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12196 Use videoinkernel tag.
12197 (usb): Enable on all usb.
12198 (usbserial_common): Likewise.
12199 (usbserial_pl2303): Likewise.
12200 (usbserial_ftdi): Likewise.
12201 (uhci): Enable on all x86.
12202 (ohci): Enable on all pci.
12203 (cmostest): Enable on all CMOS.
12204 (acpi): Include commands/acpi.c on all platforms.
12205 (halt): Add relevant lib/*/halt.c.
12206 (hdparm): Enable on all pci.
12207 (lspci): Likewise.
12208 (usbtest): Enable on all usb.
12209 (ata): Enable on all pci.
12210 (ata_pthru): Likewise.
12211 (usbms): Enable on all usb.
12212 (usb_keyboard): Likewise.
12213 (font): Use tag videomodules.
12214 (bufio): Likewise.
12215 (datetime): Use tag cmos. Enable on all noemu.
12216 (mmap): Use tags common and x86.
12217 (gfxterm): Use tag videomodules.
12218 (bitmap): Likewise.
12219 (bitmap_scale): Likewise.
12220 (video_fb): Likewise.
12221 (video): Likewise.
12222 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12223 adjust padding accordingly. All users updated.
12224 (grub_ohci_transaction): Fix bad format specification.
12225 (GRUB_MOD_INIT): Add asserts for struct size.
12226 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12227 (grub_alloc_td): Likewise.
12228 (grub_free_queue): Likewise.
12229 (grub_uhci_transfer): Likewise.
12230 (grub_uhci_transaction): Fix bad format specification.
12231 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12232 (grub_usb_bulk_readwrite): Likewise.
12233 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12234 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12235 Made static.
12236 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12237 Made static.
12238 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12239 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12240 Transformed into C.
12241 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12242 Moved from here ...
12243 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12244 ... here. Transformed into C. Made static.
12245 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12246 Moved from here ...
12247 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12248 ... here. Transformed into C. Made static.
12249 * grub-core/kern/i386/pc/startup.S
12250 (grub_biosdisk_check_int13_extensions): Moved from here ...
12251 * grub-core/disk/i386/pc/biosdisk.c
12252 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12253 Made static.
12254 * grub-core/kern/i386/pc/startup.S
12255 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12256 * grub-core/disk/i386/pc/biosdisk.c
12257 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12258 Transformed into C. Made static.
12259 * grub-core/kern/i386/pc/startup.S
12260 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12261 * grub-core/disk/i386/pc/biosdisk.c
12262 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12263 Transformed into C. Made static.
12264 * grub-core/kern/i386/pc/startup.S
12265 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12266 * grub-core/disk/i386/pc/biosdisk.c
12267 (grub_biosdisk_get_diskinfo_standard): ... here.
12268 Transformed into C. Made static.
12269 * grub-core/kern/i386/pc/startup.S
12270 (grub_biosdisk_get_num_floppies): Moved from here ...
12271 * grub-core/disk/i386/pc/biosdisk.c
12272 (grub_biosdisk_get_num_floppies): ... here.
12273 Transformed into C. Made static.
12274 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12275 New function.
12276 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12277 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12278 Transformed into C. Made static.
12279 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12280 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12281 Transformed into C. Made static.
12282 * grub-core/kern/i386/ieee1275/init.c: Removed.
12283 * grub-core/kern/i386/misc.S: Likewise.
12284 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12285 Splitted from here ...
12286 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12287 Transformed into C. Made static. All users updated.
12288 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12289 Transformed into C. Made static. All users updated.
12290 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12291 Moved from here...
12292 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12293 Transformed into C. Made static. All users updated.
12294 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12295 Moved from here...
12296 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12297 Transformed into C. Made static. All users updated.
12298 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12299 Removed (replaced by C version).
12300 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12301 Moved from here...
12302 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12303 Transformed into C. Made static.
12304 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12305 Moved from here...
12306 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12307 ... here. Transformed into C.
12308 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12309 Moved from here...
12310 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12311 ... here. Transformed into C.
12312 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12313 Moved from here...
12314 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12315 ... here. Transformed into C. Made static.
12316 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12317 Moved from here...
12318 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12319 ... here. Transformed into C.
21ed554b
VS
12320 * grub-core/kern/i386/pc/startup.S
12321 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12322 * grub-core/video/i386/pc/vbe.c
12323 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
12324 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12325 Moved from here...
12326 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12327 ... here. Transformed into C.
12328 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12329 Moved from here...
12330 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12331 ... here. Transformed into C.
12332 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12333 Moved from here...
12334 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12335 ... here. Transformed into C.
12336 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12337 Moved from here...
12338 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12339 ... here. Transformed into C.
12340 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12341 Moved from here...
12342 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12343 ... here. Transformed into C. Made static.
12344 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12345 Moved from here...
12346 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12347 ... here. Transformed into C. Made static.
12348 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12349 Moved from here...
12350 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12351 ... here. Transformed into C. Made static.
12352 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12353 pxe_rm_entry as third argument.
12354 (grub_bios_interrupt): New function.
12355 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12356 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12357 of calling grub_stop.
12358 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12359 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12360 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12361 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12362 * grub-core/lib/i386/halt.c: Moved from here ...
12363 * grub-core/lib/i386/halt.c: ... here.
12364 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12365 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12366 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12367 grub_stop_floppy.
12368 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12369 * include/grub/i386/coreboot/init.h: Removed.
12370 * include/grub/i386/multiboot/init.h: Likewise.
12371 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12372 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12373 * include/grub/i386/pc/int.h: New file.
12374 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12375 (grub_pxe_scan): Removed.
12376 (grub_pxe_call): Update prototype.
12377 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12378 prototypes.
12379 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12380 * include/grub/i386/qemu/init.h: Removed.
12381 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12382 noreturn.
12383 (grub_halt): Likewise.
12384 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12385 (grub_reboot): Likewise.
12386 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12387 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
12388 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12389
215dd471
RM
123902010-08-30 Robert Millan <rmh@gnu.org>
12391
12392 * NEWS: Document addition of ZFS support in `grub-install' and
12393 `grub-mkconfig'.
12394
ebd65b82
BC
123952010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12396
12397 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12398 dprintf output.
12399
11721d19
VS
124002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 Remove leftover embedding of font objects.
12403
12404 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12405 * util/grub-install.in (font): Removed.
12406 * util/grub-mkimage.c (generate_image): Remove font support. All users
12407 updated.
12408
37837d4e
VS
124092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 Remove leftover embedding of font objects.
12412
12413 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12414 * util/grub-install.in (font): Removed.
12415 * util/grub-mkimage.c (generate_image): Remove font support. All users
12416 updated.
12417
b4c1aae0
VS
124182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 12421 Reported by: Ian Turner
b4c1aae0 12422
8920a08d
VS
124232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12426 timeout to avoid indefinite boot stalling.
12427
f21db033
VS
124282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12431 (grub_env_write_color_highlight): Likewise.
12432
9a9de209
VS
124332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * grub-core/normal/term.c (print_more): Return to normal and not
12436 to standard state after printing "---MORE---".
12437
3dca01d7
VS
124382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12441 Mask out the bit 0x80 since it has other meaning that specifiing color.
12442
0b986c40
VS
124432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 New relocator. Allows for more kernel support and more straightforward
12446 loader writing.
12447
12448 * Makefile.am (BOOTTARGET): New variable.
12449 (QEMU32): Likewise.
12450 (linux.init.x86_64): New target.
12451 (linux.init.i386): Likewise.
12452 (multiboot.elf): Likewise.
12453 (kfreebsd.elf): Likewise.
12454 (kfreebsd.aout): Likewise.
12455 (pc-chainloader.elf): Likewise.
12456 (pc-chainloader.bin): Likewise.
12457 (ntldr.elf): Likewise.
12458 (ntldr.bin): Likewise.
12459 (multiboot2.elf): Likewise.
12460 (kfreebsd.init.x86_64): Likewise.
12461 (kfreebsd.init.i386): Likewise.
12462 (knetbsd.init.i386): Likewise.
12463 (kopenbsd.init.i386): Likewise.
12464 (knetbsd.init.x86_64): Likewise.
12465 (kopenbsd.init.x86_64): Likewise.
12466 (linux-initramfs.i386): Likewise.
12467 (linux-initramfs.x86_64): Likewise.
12468 (kfreebsd-mfsroot.i386.img): Likewise.
12469 (knetbsd.image.i386): Likewise.
12470 (kopenbsd.image.i386): Likewise.
12471 (kopenbsd.image.x86_64): Likewise.
12472 (knetbsd.miniroot-image.i386.img): Likewise.
12473 (kfreebsd-mfsroot.x86_64.img): Likewise.
12474 (knetbsd.image.x86_64): Likewise.
12475 (knetbsd.miniroot-image.x86_64.img): Likewise.
12476 (kfreebsd-mfsroot.i386.gz): Likewise.
12477 (bootcheck-kfreebsd-i386): Likewise.
12478 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12479 (bootcheck-kfreebsd-x86_64): Likewise.
12480 (knetbsd.miniroot-image.i386.gz): Likewise.
12481 (bootcheck-knetbsd-i386): Likewise.
12482 (bootcheck-kopenbsd-i386): Likewise.
12483 (bootcheck-kopenbsd-x86_64): Likewise.
12484 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12485 (bootcheck-knetbsd-x86_64): Likewise.
12486 (bootcheck-linux-i386): Likewise.
12487 (bootcheck-linux-x86_64): Likewise.
12488 (bootcheck-linux16-i386): Likewise.
12489 (bootcheck-linux16-x86_64): Likewise.
12490 (bootcheck-multiboot): Likewise.
12491 (bootcheck-multiboot2): Likewise.
12492 (bootcheck-kfreebsd-aout): Likewise.
12493 (bootcheck-pc-chainloader): Likewise.
12494 (bootcheck-ntldr): Likewise.
12495 (CLEANFILES): Add new targets.
12496 (BOOTCHECKS): New variable.
12497 (.PHONY): Add bootchecks.
12498 (SUCCESSFUL_BOOT_STRING): New variable.
12499 (BOOTCHECK_TIMEOUT): Likewise.
12500 (bootcheck): New target
12501 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12502 * configure.ac: Correct efiemu excuse.
12503 * docs/grub.texi (Supported kernels): New chapter.
12504 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12505 include/grub/mm_private.h. Simplify inclusion of
12506 include/grub/boot.h, include/grub/loader.h
12507 and include/grub/msdos_partition.h
12508 (KERNEL_HEADER_FILES) [i386_coreboot]:
12509 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12510 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12511 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12512 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12513 include/grub/machine/loader.h.
12514 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12515 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12516 extra_dist.
12517 (pci.mod): Enable on i386-multiboot.
12518 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12519 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12520 i386-qemu.
12521 (relocator.mod): Rewritten.
12522 (aout.mod): Enable on all x86.
12523 (bsd.mod): Likewise.
12524 (ntldr.mod): New module.
12525 (linux.mod): Use loader/i386/linux.c on all x86.
12526 (xnu.mod): Enable on all x86.
12527 (vga_text.mod): disable on EFI and QEMU.
12528 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12529 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12530 * grub-core/efiemu/loadcore.c: Likewise.
12531 * grub-core/efiemu/main.c: Likewise.
12532 (grub_efiemu_exit_boot_services): Removed.
12533 (grub_efiemu_finish_boot_services): Likewise.
12534 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12535 function.
12536 * grub-core/efiemu/i386/nocfgtables.c: New file.
12537 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12538 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12539 (grub_efi_finish_boot_services): Moved from here ...
12540 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12541 Fille finish memory map and related data.
12542 (finish_mmap_buf): New variable.
12543 (grub_efi_uintn_t finish_mmap_size): Likewise.
12544 (grub_efi_uintn_t finish_key): Likewise.
12545 (grub_efi_uintn_t finish_desc_size): Likewise.
12546 (grub_efi_uint32_t finish_desc_version): Likewise.
12547 (grub_efi_is_finished): Likewise.
12548 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12549 finished.
12550 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12551 (grub_elf64_phdr_iterate): Likewise.
12552 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12553 (grub_os_area_size): Likewise.
12554 (grub_machine_init): Don't reserve os area.
12555 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12556 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12557 * grub-core/kern/i386/loader.S: Removed.
12558 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12559 (grub_os_area_size): Likewise.
12560 (grub_machine_init): Don't reserve os area.
12561 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12562 Don't call grub_dl_unload_all.
12563 Don't include loader.S.
12564 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12565 Declare the memory after _end as available.
12566 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 12567 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 12568 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
12569 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12570 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12571 * include/grub/mm_private.h (grub_mm_header): ... here.
12572 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12573 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
12574 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12575 (grub_mm_region): ..here. Removed addr. Added pre_size.
12576 All users updated.
12577 * grub-core/kern/mm.c (base): Renamed to ...
12578 (grub_mm_base): ... this. Made global.
12579 (grub_real_malloc): Alloc from end of region.
12580 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12581 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12582 * grub-core/kern/powerpc/cache_flush.S: ... here.
12583 * grub-core/lib/efi/relocator.c: New file.
12584 * grub-core/lib/i386/relocator.c: Rewritten.
12585 * grub-core/lib/i386/relocator16.S: New file.
12586 * grub-core/lib/i386/relocator32.S: Likewise.
12587 * grub-core/lib/i386/relocator64.S: Likewise.
12588 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12589 * grub-core/lib/i386/relocator_common.S: New file.
12590 * grub-core/lib/ieee1275/relocator.c: Likewise.
12591 * grub-core/lib/mips/relocator.c: Rewritten.
12592 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12593 stylistic adjustments.
12594 * grub-core/lib/powerpc/relocator.c: New file.
12595 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12596 * grub-core/lib/relocator.c: Rewritten.
12597 * grub-core/lib/x86_64/relocator_asm.S: New file.
12598 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12599 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12600 (bsd_tag): New struct.
12601 (tags): New variable.
12602 (tags_last): Likewise.
12603 (netbsd_module): New struct.
12604 (netbsd_mods): New variable.
12605 (netbsd_mods_last): Likewise.
12606 (openbsd_opts): New parameter "serial".
12607 (OPENBSD_SERIAL_ARG): New definition.
12608 (netbsd_opts): New parameter "serial".
12609 (NETBSD_SERIAL_ARG): New definition.
12610 (grub_freebsd_add_meta): Reorganised into ...
12611 (grub_bsd_add_meta): ...this. All users updated.
12612 (grub_freebsd_add_mmap): Reorganised into ...
12613 (generate_e820_mmap): ...this...
12614 (grub_bsd_add_mmap): ...and this. All users updated.
12615 (grub_freebsd_list_modules): Use tags.
12616 (grub_netbsd_add_meta_module): New function.
12617 (grub_netbsd_list_modules): Likewise.
12618 (grub_freebsd_boot): Use relocator and finish EFI.
12619 (grub_openbsd_boot): Likewise.
12620 (grub_netbsd_setup_video): New function.
12621 (grub_netbsd_add_modules): Likewise.
12622 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12623 and finish EFI.
12624 (grub_bsd_unload): Unload tags.
12625 (grub_bsd_load_aout): Use relocator.
12626 (grub_bsd_elf32_size_hook): New function.
12627 (grub_bsd_elf32_hook): Use relocator.
12628 (grub_bsd_elf64_size_hook): New function.
12629 (grub_bsd_elf64_hook): Use relocator.
12630 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12631 (grub_bsd_load): Zero-out openbsd_ramdisk.
12632 (grub_bsd_load): Use relocator.
12633 (grub_cmd_openbsd): Support serial.
12634 (grub_cmd_netbsd): Support modules.
12635 (grub_cmd_freebsd_module): Use relocator.
12636 (grub_netbsd_module_load): New function.
12637 (grub_cmd_netbsd_module): Likewise.
12638 (grub_cmd_openbsd_ramdisk): Likewise.
12639 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12640 kopenbsd_ramdisk.
12641 (GRUB_MOD_FINI): Unregister new commands.
12642 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12643 (grub_freebsd_load_elfmodule_obj): Use relocator.
12644 (grub_freebsd_load_elfmodule): Likewise.
12645 (grub_freebsd_load_elf_meta): Likewise.
12646 (grub_netbsd_load_elf_meta): New function.
12647 (grub_openbsd_find_ramdisk): Likewise.
12648 * grub-core/loader/i386/bsd_helper.S: Removed.
12649 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12650 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12651 * grub-core/loader/i386/efi/linux.c: Likewise.
12652 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12653 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12654 (DEFAULT_VIDEO_MODE): Likewise.
12655 (real_mode_target): New variable.
12656 (prot_mode_target): Likewise.
12657 (initrd_mem_target): Likewise.
12658 (relocator): Likewise.
12659 (efi_mmap_buf): Likewise.
12660 (efi_mmap_size): Likewise.
12661 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12662 (free_pages): Use relocator.
12663 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12664 (grub_linux_setup_video): Return error.
12665 (grub_linux_trampoline_start): Removed.
12666 (grub_linux_trampoline_end): Likewise.
12667 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12668 andd video parameters depending on firmware.
12669 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12670 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12671 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12672 (grub_cmd_initrd): Use relocator.
12673 * grub-core/loader/i386/linux_trampoline.S: Removed.
12674 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12675 (elf_sec_entsize): Likewise.
12676 (elf_sec_shstrndx): Likewise.
12677 (elf_sections): Likewise.
12678 (grub_multiboot_load): Use relocator.
12679 (grub_multiboot_get_mbi_size): Account for sections.
12680 (grub_multiboot_make_mbi): Use relocator and support sections.
12681 (grub_multiboot_add_elfsyms): New function.
12682 (grub_multiboot_free_mbi): Free sections.
12683 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12684 (grub_linux_real_target): Likewise.
12685 (grub_linux_real_chunk): Likewise.
12686 (grub_linux16_prot_size): Likewise.
12687 (grub_linux16_boot): Use relocator.
12688 (grub_linux_unload): Unload relocator.
12689 (grub_cmd_linux): Use relocator.
12690 (grub_cmd_initrd): Likewise.
12691 * grub-core/loader/i386/pc/ntldr.c: New file.
12692 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12693 Don't try to guess CPU frequency.
12694 (grub_xnu_set_video): Stretch bitmap.
12695 (grub_xnu_boot): Use relocator.
12696 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12697 (grub_linux_unload): Free relocator.
12698 (grub_linux_load32): Use relocator.
12699 (grub_linux_load64): Likewise.
12700 (grub_cmd_initrd): Likewise.
12701 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12702 (grub_multiboot_unload): Unload relocator.
12703 (grub_cmd_multiboot): Use relocator.
12704 (grub_cmd_module): Likewise.
12705 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12706 Use relocator and support sections.
12707 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12708 (elf_sec_entsize): Likewise.
12709 (elf_sec_shstrndx): Likewise.
12710 (elf_sections): Likewise.
12711 (grub_multiboot_load): Use relocator.
12712 (grub_multiboot_get_mbi_size): Account for sections.
12713 (grub_multiboot_make_mbi): Use relocator and support sections.
12714 (grub_multiboot_add_elfsyms): New function.
12715 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12716 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12717 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12718 Prototype changed. All users updated.
12719 (grub_xnu_align_heap): Simplified.
12720 (grub_xnu_writetree_toheap): Likewise.
12721 (grub_xnu_unload): Unload relocator.
12722 (grub_cmd_xnu_kernel): Use relocator.
12723 (grub_cmd_xnu_kernel64): Likewise.
12724 (grub_xnu_register_memory): Simplified.
12725 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
12726 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12727 EFI is finished.
12728 (grub_console_checkkey): Likewise.
12729 (grub_console_getkey): Likewise.
12730 (grub_console_getwh): Likewise.
12731 (grub_console_getxy): Likewise.
12732 (grub_console_gotoxy): Likewise.
12733 (grub_console_cls): Likewise.
12734 (grub_console_setcolorstate): Likewise.
12735 (grub_console_setcursor): Likewise.
12736 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12737 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12738 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12739 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12740 * grub-core/tests/boot/kernel-8086.S: Likewise.
12741 * grub-core/tests/boot/kernel-i386.S: Likewise.
12742 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12743 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12744 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12745 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12746 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12747 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12748 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12749 * grub-core/tests/boot/linux.cfg: Likewise.
12750 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12751 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12752 * grub-core/tests/boot/linux16.cfg: Likewise.
12753 * grub-core/tests/boot/multiboot.cfg: Likewise.
12754 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12755 * grub-core/tests/boot/ntldr.cfg: Likewise.
12756 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12757 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12758 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12759 New definition.
12760 * include/grub/dl.h (grub_dl_unload_all): Removed.
12761 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12762 (grub_efi_finish_boot_services): Change prototype.
12763 (grub_efi_is_finished): New variable.
12764 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12765 Changed prototype.
12766 (grub_efiemu_finish_boot_services): Removed.
12767 (grub_machine_efiemu_init_tables): New prototype.
12768 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12769 (grub_elf64_phdr_iterate): Likewise.
12770 * include/grub/i386/bsd.h: Include relocator.h.
12771 (freebsd_tag_header): New struct.
12772 (grub_openbsd_bios_mmap): Removed.
12773 (grub_unix_real_boot): Removed.
12774 (grub_freebsd_load_elfmodule32): Changed prototype.
12775 (grub_freebsd_load_elfmodule_obj64): Likewise.
12776 (grub_freebsd_load_elf_meta32): Likewise.
12777 (grub_freebsd_load_elf_meta64): Likewise.
12778 (grub_freebsd_add_meta): Removed.
12779 (grub_netbsd_load_elf_meta32): New prototype.
12780 (grub_netbsd_load_elf_meta64): Likewise.
12781 (grub_bsd_add_meta): Likewise.
12782 (grub_openbsd_ramdisk_descriptor): New struct.
12783 (grub_openbsd_find_ramdisk32): New prototype.
12784 (grub_openbsd_find_ramdisk64): Likewise.
12785 * include/grub/i386/coreboot/loader.h: Removed.
12786 * include/grub/i386/efi/loader.h: Likewise.
12787 * include/grub/i386/ieee1275/loader.h: Likewise.
12788 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12789 to grub_uint32_t.
12790 * include/grub/i386/loader.h: Removed.
12791 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12792 value.
12793 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12794 (grub_phys_addr_t): New type.
12795 (grub_vtop): New inline function.
12796 (grub_map_memory): Likewise.
12797 (grub_unmap_memory): Likewise.
12798 * include/grub/i386/multiboot/loader.h: Removed.
12799 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12800 (NETBSD_BTINFO_CONSOLE): New definition.
12801 (NETBSD_BTINFO_SYMTAB): Likewise.
12802 (NETBSD_BTINFO_MODULES): Likewise.
12803 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12804 (grub_netbsd_bootinfo): New struct.
12805 (grub_netbsd_btinfo_common): Use explicit bitsize.
12806 (grub_netbsd_btinfo_mmap_entry): Removed.
12807 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12808 (grub_netbsd_btinfo_bootdisk): New struct.
12809 (grub_netbsd_btinfo_symtab): Likewise.
12810 (grub_netbsd_btinfo_serial): Likewise.
12811 (grub_netbsd_btinfo_modules): Likewise.
12812 (grub_netbsd_btinfo_framebuf): Likewise.
12813 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12814 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12815 Likewise.
12816 (grub_openbsd_bootargs): Use explicit bitsize.
12817 (grub_openbsd_bootarg_console): New struct.
12818 (GRUB_OPENBSD_COM_MAJOR): New definition.
12819 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12820 * include/grub/i386/pc/efiemu.h: Removed.
12821 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12822 * include/grub/i386/qemu/loader.h: Removed.
12823 * include/grub/i386/relocator.h: Rewritten.
12824 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12825 * include/grub/mips/memory.h: New file.
12826 * include/grub/mips/multiboot.h: Rewritten.
12827 * include/grub/mips/relocator.h: Rewritten.
12828 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12829 (grub_vtop): New function.
12830 (grub_map_memory): Likewise.
12831 (grub_unmap_memory): Likewise.
12832 * include/grub/misc.h (ALIGN_DOWN): New definition.
12833 * include/grub/mm.h (grub_mm_check_real): New proto.
12834 (GRUB_MM_CHECK): New definition.
12835 * include/grub/mm_private.h: New file.
12836 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12837 (grub_multiboot_get_mbi_size): Removed.
12838 (grub_multiboot_make_mbi): Change prottype.
12839 (grub_multiboot_set_accepts_video): New proto.
12840 (grub_multiboot_add_elfsyms): Likewise.
12841 (grub_multiboot_payload_eip): New variable.
12842 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12843 New prototype.
12844 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12845 New definition.
12846 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12847 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12848 * include/grub/powerpc/ieee1275/loader.h: Removed.
12849 * include/grub/powerpc/memory.h: New file.
12850 * include/grub/powerpc/relocator.h: Likewise.
12851 * include/grub/relocator.h: Likewise.
12852 * include/grub/relocator_private.h: Likewise.
12853 * include/grub/sparc64/ieee1275/loader.h: Removed.
12854 * include/grub/x86_64/memory.h: New file.
12855 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12856 (grub_xnu_heap_malloc): Likewise.
12857 (grub_xnu_heap_real_start): Removed.
12858 (grub_xnu_heap_start): Likewise.
12859 (grub_xnu_relocator): New variable.
12860 (grub_xnu_heap_target_start): Likewise.
12861 * tests/util/grub-shell.in: Support non-pc.
12862 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 12863
5303b85d
VS
128642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12867 on malloc error.
12868 (grub_bidi_logical_to_visual): Check that malloc succeded.
12869 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12870 puts.
12871 (grub_xputs_normal): Likewise.
12872
d768d159
VS
128732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12876 extra_dist.
12877
128782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12881
5bf84df4
VS
128822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12885
3626810e
VS
128862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12889 dprintf.
12890
a7363f53
BC
128912010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12892
12893 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12894
902f75f6
VS
128952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 * grub-core/normal/term.c (print_more): Fix a memory leak.
12898 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12899 (grub_xputs_normal): Likewise.
12900
3c707967
VS
129012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12904 the begining of the string
12905
2053cc07
VS
129062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * grub-core/script/script.c (grub_script_parse): Free parsed on
12909 failure.
12910
46422ebf
VS
129112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12914 on failure.
12915
9e0fa3f6
VS
129162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12919 return.
12920
3393cf16
VS
129212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12924 (scroll_up): Fix a memory leak.
12925
b17540cb
VS
129262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12929 errors.
12930
67140446
VS
129312010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 Handle USB pendrives exposed as floppies.
12934
12935 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12936 floppy.
12937 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12938 Check for partitions on all devices.
12939
e35e46fc
VS
129402010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12943 (readkey): Likewise.
12944
d24c6190
BC
129452010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12946
12947 Multiple variable names support to "export" command.
12948
12949 * normal/context.c (grub_cmd_export): "export" command supports
12950 multiple variable names.
12951
04ddcc6a
ST
129522010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12953
12954 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12955 --target=drive output to Mach device name.
12956
0c8b61d8
BC
129572010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12958
12959 New Automake based build system for GRUB.
12960
12961 * ABOUT-NLS: New file.
12962 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12963 in Makefile.util.def file.
12964 * Makefile.util.def: New file. Autogen build definitions file for
12965 GRUB host utils.
12966 * conf/Makefile.common: New file. Common variables for GRUB host
12967 utils and target modules.
12968 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12969 * docs/Makefile.am: New file. Automake file for docs.
12970 * gentpl.py: New file. Python script to generate Autogen
12971 template.
12972 * grub-core/Makefile.am: New file. GRUB target modules' rules
12973 that doesn't fit in Makefile.core.def file.
12974 * grub-core/Makefile.core.def: New file. Autogen build
12975 definitions file for GRUB target modules.
12976 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12977 specific setjmp.S file.
12978 * po/Makefile.am: New file.
12979
12980 * .bzrignore: New ignores.
12981 * INSTALL: New requirements, without Ruby.
12982 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12983 * autogen.sh: Updated to invoke autogen as necessary.
12984 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12985 and defines for Automake conditionals.
12986 * geninit.sh: Refactoring.
12987
12988 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12989 necessary.
12990 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12991 New prototype.
12992
12993 * include/grub/test.h: Fix functional test modules' naming.
12994 * grub-core/tests/example_functional_test.c: Fix test module name.
12995
12996 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12997 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12998 * util/grub-editenv.c: Likewise.
12999 * util/grub-fstest.c: Likewise.
13000 * util/grub-mkdevicemap.c: Likewise.
13001 * util/grub-mkfont.c: Likewise.
13002 * util/grub-mkimage.c: Likewise.
13003 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13004 * util/grub-probe.c: Likewise.
13005 * util/grub-script-check.c: Likewise.
13006 * util/i386/pc/grub-setup.c: Likewise.
13007 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13008
13009 * tests/util/grub-shell.in: Fix override directory path.
13010 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
13011 * util/import_gcry.py: Create Makefile.gcry.def file instead.
13012
13013 * util/lvm.c: Update #includes.
13014 * util/raid.c: Likewise.
13015 * util/resolve.c: Likewise.
13016 * grub-core/bus/emu/pci.c: Likewise.
13017 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
13018 * grub-core/lib/posix_wrap/string.h: Likewise.
13019 * grub-core/kern/emu/main.c: Likewise.
13020
13021 * grub-core/gensymlist.sh: New file. Script for generating kernel
13022 symbols file.
13023 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
13024
13025 * grub-core/gentrigtables.c: Fix unused variable warnings.
13026
13027 * Makefile.in: Removed.
13028 * conf/any-emu.rmk: Removed.
13029 * conf/common.rmk: Removed.
13030 * conf/i386-coreboot.rmk: Removed.
13031 * conf/i386-efi.rmk: Removed.
13032 * conf/i386-ieee1275.rmk: Removed.
13033 * conf/i386-multiboot.rmk: Removed.
13034 * conf/i386-pc.rmk: Removed.
13035 * conf/i386-qemu.rmk: Removed.
13036 * conf/i386.rmk: Removed.
13037 * conf/mips-yeeloong.rmk: Removed.
13038 * conf/mips.rmk: Removed.
13039 * conf/powerpc-ieee1275.rmk: Removed.
13040 * conf/sparc64-ieee1275.rmk: Removed.
13041 * conf/tests.rmk: Removed.
13042 * conf/x86-efi.rmk: Removed.
13043 * conf/x86_64-efi.rmk: Removed.
13044 * gendistlist.sh: Removed.
13045 * geninitheader.sh: Removed.
13046 * genkernsyms.sh.in: Removed.
13047 * genmk.rb: Removed.
13048 * gensymlist.sh.in: Removed.
13049 * mkinstalldirs: Removed.
13050 * boot: Moved ...
13051 * grub-core/boot: ... to here.
13052 * bus: Moved ...
13053 * grub-core/bus: ... to here.
13054 * commands: Moved ...
13055 * grub-core/commands: ... to here.
13056 * disk: Moved ...
13057 * grub-core/disk: ... to here.
13058 * efiemu: Moved ...
13059 * grub-core/efiemu: ... to here.
13060 * font: Moved ...
13061 * grub-core/font: ... to here.
13062 * fs: Moved ...
13063 * grub-core/fs: ... to here.
13064 * gencmdlist.sh: Moved ...
13065 * grub-core/gencmdlist.sh: ... to here.
13066 * genemuinit.sh: Moved ...
13067 * grub-core/genemuinit.sh: ... to here.
13068 * genemuinitheader.sh: Moved ...
13069 * grub-core/genemuinitheader.sh: ... to here.
13070 * genfslist.sh: Moved ...
13071 * grub-core/genfslist.sh: ... to here.
13072 * genhandlerlist.sh: Moved ...
13073 * grub-core/genhandlerlist.sh: ... to here.
13074 * genmoddep.awk: Moved ...
13075 * grub-core/genmoddep.awk: ... to here.
13076 * genmodsrc.sh: Moved ...
13077 * grub-core/genmodsrc.sh: ... to here.
13078 * genpartmaplist.sh: Moved ...
13079 * grub-core/genpartmaplist.sh: ... to here.
13080 * genparttoollist.sh: Moved ...
13081 * grub-core/genparttoollist.sh: ... to here.
13082 * genterminallist.sh: Moved ...
13083 * grub-core/genterminallist.sh: ... to here.
13084 * gentrigtables.c: Moved ...
13085 * grub-core/gentrigtables.c: ... to here.
13086 * genvideolist.sh: Moved ...
13087 * grub-core/genvideolist.sh: ... to here.
13088 * gettext: Moved ...
13089 * grub-core/gettext: ... to here.
13090 * gfxmenu: Moved ...
13091 * grub-core/gfxmenu: ... to here.
13092 * gnulib: Moved ...
13093 * grub-core/gnulib: ... to here.
13094 * hello: Moved ...
13095 * grub-core/hello: ... to here.
13096 * hook: Moved ...
13097 * grub-core/hook: ... to here.
13098 * io: Moved ...
13099 * grub-core/io: ... to here.
13100 * kern: Moved ...
13101 * grub-core/kern: ... to here.
13102 * lib: Moved ...
13103 * grub-core/lib: ... to here.
13104 * loader: Moved ...
13105 * grub-core/loader: ... to here.
13106 * mmap: Moved ...
13107 * grub-core/mmap: ... to here.
13108 * normal: Moved ...
13109 * grub-core/normal: ... to here.
13110 * partmap: Moved ...
13111 * grub-core/partmap: ... to here.
13112 * parttool: Moved ...
13113 * grub-core/parttool: ... to here.
13114 * script: Moved ...
13115 * grub-core/script: ... to here.
13116 * term: Moved ...
13117 * grub-core/term: ... to here
13118 * tests/example_functional_test.c: Moved ...
13119 * grub-core/tests/example_functional_test.c: ... to here.
13120 * tests/lib/functional_test.c: Moved ...
13121 * grub-core/tests/lib/functional_test.c: ... to here.
13122 * tests/lib/test.c: Moved ...
13123 * grub-core/tests/lib/test.c: ... to here.
13124 * video: Moved ...
13125 * grub-core/video: ... to here.
13126
645586e6
BC
131272010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13128
13129 Replace --enable-grub-emu-modules with grub-emu-lite.
13130
13131 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13132 cache.S.
13133
13134 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13135 * kern/emu/full.c: New file. For grub-emu specific initialization.
13136 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13137 * kern/emu/main.c: Call initialization function grub_emu_init.
13138
13139 * Makefile.in: Include grub-emu-lite in install.
13140 * commands/parttool.c: Use grub_no_autoload to differentiate
13141 between grub-emu and grub-emu-lite.
13142 * include/grub/misc.h: New variable grub_no_autoload.
13143
13144 * conf/any-emu.rmk: New rules for grub-emu-lite.
13145 * configure.ac: Remove --enable-grub-emu-modules.
13146 * genmk.rb: Cleanup unnecessary rules.
13147 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13148
13149 * normal/main.c: Don't load list files on grub-emu-lite.
13150 * util/misc.c (grub_arch_sync_caches): Removed.
13151
f86a4030
CW
131522010-08-23 Colin Watson <cjwatson@ubuntu.com>
13153
13154 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13155 grub-mkimage rather than grub-mkelfimage.
13156 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13157
06776944
VS
131582010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13161 a key after CapsLock or NumLock. It's just a qemu bug.
13162
df262419
VS
131632010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13166 needed by libusb wrapper.
13167
b40ea81b
ST
131682010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13169
13170 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13171
dee50575
VS
131722010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13175 --nounzip is passed.
13176
fb1d7b79
VS
131772010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 USB hotunplugging and USB serial support.
13180
13181 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13182 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13183 (grub_uhci_transfer): Respect timeout and set *actual.
13184 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13185 non-standard length.
13186 (grub_usb_device_attach): Autoload modules.
13187 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13188 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13189 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13190 users updated.
13191 (grub_usb_add_hub): Fill nports and children.
13192 (attach_root_port): Receive hub instead of controller.
13193 All users updated. Fill hub->devices.
13194 (grub_usb_root_hub): Allocate hub->devices.
13195 (detach_device): New function.
13196 (poll_nonroot_hub): Fill children and detach devices.
13197 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13198 actual arguments. All users updated.
13199 (grub_usb_bulk_read_extended): New function.
13200 * bus/usb/serial/common.c: New file.
13201 * bus/usb/serial/ftdi.c: Likewise.
13202 * bus/usb/serial/pl2303.c: Likewise.
13203 * commands/terminal.c (handle_command): Support wildcard.
13204 * commands/usbtest.c: Output "Unknown" instead of empty string.
13205 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13206 (usbserial_common_mod_SOURCES): New variable.
13207 (usbserial_common_mod_CFLAGS): Likewise.
13208 (usbserial_common_mod_LDFLAGS): Likewise.
13209 (pkglib_MODULES): Add usbserial_pl2303.mod.
13210 (usbserial_pl2303_mod_SOURCES): New variable.
13211 (usbserial_pl2303_mod_CFLAGS): Likewise.
13212 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13213 (pkglib_MODULES): Add usbserial_ftdi.mod.
13214 (usbserial_ftdi_mod_SOURCES): New variable.
13215 (usbserial_ftdi_mod_CFLAGS): Likewise.
13216 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13217 (pkglib_MODULES): Add serial.mod.
13218 (serial_mod_SOURCES): New variable.
13219 (serial_mod_CFLAGS): Likewise.
13220 (serial_mod_LDFLAGS): Likewise.
13221 * conf/i386-pc.rmk: Likewise.
13222 * conf/mips-yeeloong.rmk: Likewise.
13223 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13224 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13225 * disk/usbms.c (first_available_slot): New variable.
13226 (grub_usbms_attach): Don't reuse free slots due to potential cache
13227 problems.
13228 * include/grub/serial.h: Moved to ..
13229 * include/grub/ns8250.h: ...this.
13230 * include/grub/serial.h: New file.
13231 * include/grub/term.h (grub_term_poll_usb): New variable.
13232 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13233 readkey. All users updated.
13234 (grub_terminfo_output_state): Pass term to put.
13235 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13236 (grub_usb_controller_dev): Add timeout and actual arguments to
13237 transfer. All users updated.
13238 (grub_usb_interface): New field detach_data.
13239 (grub_usb_device): New fields children and nports.
13240 (grub_usb_ep_type_t): New type.
13241 (grub_usb_get_ep_type): New function.
13242 (grub_usb_bulk_read_extended): Likewise.
13243 * include/grub/usbdesc.h (grub_usb_desc): New type.
13244 * include/grub/usbserial.h: New file.
13245 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13246 * kern/term.c (grub_term_poll_usb): New variable.
13247 (grub_getkey): Call grub_term_poll_usb if set.
13248 (grub_checkkey): Likewise.
13249 (grub_getkeystatus): Likewise.
13250 * term/serial.c: Moved controller-specific parts to ...
13251 * term/ns8250.c: ... here.
13252 * term/serial.c: Mostly rewritten.
13253 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13254 according to spec.
13255
21a313de
RM
132562010-08-20 Robert Millan <rmh@gnu.org>
13257
13258 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13259 a separate module and maybe other interesting combinations.
13260
13261 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13262 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13263 (kfreebsd_entry): Add generic filesystem module load routine.
13264 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13265
63c734a6
CW
132662010-08-20 Colin Watson <cjwatson@ubuntu.com>
13267
13268 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13269 "numcenter" (I misunderstood the purpose of this entry).
13270 * docs/grub.texi (sendkey): Likewise.
13271
c4d16542
CW
132722010-08-20 Colin Watson <cjwatson@ubuntu.com>
13273
13274 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13275 status flag options; simply omitting the option is equivalent and
13276 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13277 (keysym_table): Rename "num5numlock" to "numlock".
13278 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13279 can uniformly say that only the last of multiple `sendkey'
13280 invocations has any effect.
13281 * docs/grub.texi (sendkey): New section.
13282
93541d66
CW
132832010-08-19 Colin Watson <cjwatson@ubuntu.com>
13284
13285 * commands/i386/pc/sendkey.c (options): Fix three typos.
13286
b4ece5e1
VS
132872010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 Implement sendkey support.
13290
13291 * commands/i386/pc/sendkey.c: New file.
13292 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13293 (sendkey_mod_SOURCES): New variable.
13294 (sendkey_mod_CFLAGS): Likewise.
13295 (sendkey_mod_LDFLAGS): Likewise.
13296
51f1f5af
CW
132972010-08-18 Colin Watson <cjwatson@ubuntu.com>
13298
13299 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13300 fix warnings from Autoconf.
13301
9da94e05
CW
133022010-08-18 Colin Watson <cjwatson@ubuntu.com>
13303
13304 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13305 to avoid false positives with some assemblers that output things
13306 like "someprefix_func" as part of their output.
13307
729a0f2e
RM
133082010-08-15 Robert Millan <rmh@gnu.org>
13309
13310 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13311 errors.
13312 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13313 grub_get_libzfs_handle() errors.
13314
f3710e08
RM
133152010-08-14 Robert Millan <rmh@gnu.org>
13316
13317 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13318 filesystem is not ZFS.
13319
7a3c13de
BC
133202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13321
13322 Fix for misspelled color names defaulting to black/black (bug
13323 reported by Doug Nazar)
13324
13325 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13326 status to prototype.
13327 * normal/color.c (grub_parse_color_name_pair): Return failure
13328 status.
13329 (grub_env_write_color_normal): Ignore bad color names.
13330 (grub_env_write_color_highlight): Likewise.
13331 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13332
ab8ba50d
BC
133332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13334
13335 "shift" command support to GRUB script.
13336
13337 * include/grub/script_sh.h (grub_script_shift): New prototype.
13338 * script/execute.c (grub_script_shift): New function.
13339 * script/main.c (grub_script_init): Register shift command.
13340 (grub_script_fini): Unregister shift command.
13341 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13342
13343 * tests/grub_script_shift.in: New testcase.
13344 * conf/tests.rmk: Rules for new testcase.
13345
4d61999e
BC
133462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13347
13348 "continue" command support to GRUB script.
13349
13350 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13351 (grub_script_break): Continue support.
13352 * script/main.c (grub_script_init): Register continue command.
13353 (grub_script_fini): Unregister continue command.
13354
13355 * tests/grub_script_continue.in: New testcase.
13356 * conf/tests.rmk: Rules for new testcase.
13357
4df51e00
BC
133582010-08-12 BVK Chaitanya <bvk@dbook>
13359
13360 "break" command support to GRUB script.
13361
13362 * conf/common.rmk: Rule updates to grub-script-check.
13363 * include/grub/misc.h (grub_min): New function.
13364 * include/grub/script_sh.h (grub_script_init): New prototype.
13365 (grub_script_fini): New prototype.
13366 (grub_script_break): New prototype.
13367 * script/main.c (grub_script_init): New function.
13368 (grub_script_fini): New function.
13369 * script/execute.c (grub_script_break): New function.
13370 * normal/main.c: Calls to grub_script_{init,fini}.
13371 * util/grub-script-check.c (grub_script_break): New function.
13372
13373 * tests/grub_script_break.in: New testcase.
13374 * conf/tests.rmk: Rules for new test case.
13375
f12c8420
BC
133762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13377
13378 Function parameters support to GRUB script.
13379
13380 * script/yylex.l (VARIABLE): Regular expression update.
13381 * script/function.c (grub_script_function_call): Moved ...
13382 * script/execute.c (grub_script_function_call): ... to here.
13383 (grub_script_execute_arglist_to_argv): Removed.
13384 (grub_script_arglist_to_argv): New function.
13385 * script/argv.c: New file.
13386 (grub_script_argv_free): New function.
13387 (grub_script_argv_next): Likewise.
13388 (grub_script_argv_append): Likewise.
13389 (grub_script_argv_split_append): Likewise.
13390 * include/grub/script_sh.h (grub_script_argv): New struct.
13391 (grub_script_argv_free): New function.
13392 (grub_script_argv_next): Likewise.
13393 (grub_script_argv_append): Likewise.
13394 (grub_script_argv_split_append): Likewise.
13395
13396 * conf/common.rmk (normal.mod): New source script/argv.c.
13397
13398 * tests/grub_script_echo1.in: More tests.
13399 * tests/grub_script_vars1.in: Likewise.
13400 * tests/grub_script_functions.in: New test case.
13401 * conf/tests.rmk: Rules for new testcase.
13402
8022b748
BC
134032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13404
13405 Remove grub_script_cmdblock struct.
13406
13407 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13408 * script/parser.y: Likewise.
13409 * script/execute.c: Rename cmdblock suffix to cmdlist.
13410 * script/script.c: Likewise.
13411 * util/grub-script-check.c: Likewise.
13412
79a6ba61
YB
134132010-08-11 Yves Blusseau <blusseau@zetam.org>
13414
13415 * .bzrignore: add grub-macho2img
13416
d04b9414
VS
134172010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13420
f947ab49
VS
134212010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13422
13423 Remove the dump of sm712 initialisation sequence.
13424
13425 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13426 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13427 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13428 (GRUB_VGA_CR_*): Added many registers.
13429 (GRUB_VGA_SR_*): Likewise.
13430 (GRUB_VGA_GR_*): Likewise.
13431 (grub_vga_write_arx): New function.
13432 (grub_video_hw_config): New struct.
13433 (grub_vga_set_geometry): New function.
13434 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13435 GRUB_PCI_CLASS_SUBCLASS_VGA.
13436 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13437 * video/sm712.c (grub_sm712_write_reg): New function
13438 (grub_sm712_read_reg): Likewise.
13439 (grub_sm712_sr_write): Likewise.
13440 (grub_sm712_gr_write): Likewise.
13441 (grub_sm712_cr_write): Likewise.
13442 (grub_sm712_write_arx): Likewise.
13443 (grub_sm712_cr_shadow_write): Likewise.
13444 (grub_sm712_write_dda_lookup): Likewise.
13445 (grub_video_sm712_setup): Initialise the video rather then
13446 blindly replay the dump.
13447 (main) [TEST]: Add a routine to be able to compile as standalone for
13448 tests.
13449 * video/sm712_init.c (sm712_init): Removed.
13450 (sm712_sr_seq1): New array.
13451 (sm712_sr_seq2): Likewise.
13452
f0206638
VS
134532010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * include/grub/vga.h: Add missing grub/pci.h include.
13456
2764da3b
YB
134572010-08-10 Yves Blusseau <blusseau@zetam.org>
13458
13459 * util/grub-macho2img.c (main): fix typo
13460
cf0c775e
VS
134612010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13464 (grub_vga_gr_read): Likewise.
13465 (grub_vga_cr_write): Likewise.
13466 (grub_vga_cr_read): Likewise.
13467 (grub_vga_sr_write): Likewise.
13468 (grub_vga_sr_read): Likewise.
13469 (grub_vga_palette_read): Likewise.
13470 (grub_vga_palette_write): Likewise.
13471 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13472 (grub_sm712_sr_read): New function.
13473 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13474 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13475
07f360e9
RM
134762010-08-09 Robert Millan <rmh@gnu.org>
13477
13478 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13479 out unused variables on non-ZFS build.
13480
346c2072
RM
134812010-08-08 Robert Millan <rmh@gnu.org>
13482
13483 Fix path generation for sub-filesystems in ZFS.
13484
13485 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13486 missing slash.
13487
71175420
RM
134882010-08-08 Robert Millan <rmh@gnu.org>
13489
13490 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13491
0d8286f3
RM
134922010-08-08 Robert Millan <rmh@gnu.org>
13493
13494 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13495 exist, issue a proper error message (rely on `ls' for translated
13496 strings).
13497
55dd2924
RM
134982010-08-08 Robert Millan <rmh@gnu.org>
13499
13500 Fix grub-probe invocation.
13501
13502 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13503
d3dd9e80
RM
135042010-08-04 Robert Millan <rmh@gnu.org>
13505
13506 * configure.ac: Remove checks for getfsstat() and getmntany().
13507 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13508 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13509 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13510 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13511 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13512 function.
13513 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13514 via find_mount_point_from_dir() and getfsstat() / getmntany().
13515
0de22aa9
RM
135162010-08-04 Robert Millan <rmh@gnu.org>
13517
13518 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13519 (grub_find_zpool_from_mount_point): Merge into ...
13520 (grub_find_zpool_from_dir): ... this.
13521 * kern/emu/misc.c: Likewise.
13522
13523 * kern/emu/misc.c
13524 (grub_make_system_path_relative_to_its_root): Replace
13525 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13526 with grub_find_zpool_from_dir().
13527 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13528
62858144
RM
135292010-08-04 Robert Millan <rmh@gnu.org>
13530
13531 Support OpenSolaris in ZFS device resolution.
13532
13533 * configure.ac: Check for getmntany().
13534 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13535 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13536 support.
13537
9dd6fd50
RM
135382010-08-03 Robert Millan <rmh@gnu.org>
13539
13540 Fix grub-emu build.
13541
13542 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13543 * include/grub/emu/misc.h: ... here.
13544
13545 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13546 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13547
13548 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13549 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13550 (grub_get_libzfs_handle): Move to ...
13551 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13552 (grub_get_libzfs_handle): ... here.
13553
c9f7ff97
BC
135542010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13555
13556 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13557 as command name case.
13558
a870a783
CW
135592010-08-02 Colin Watson <cjwatson@ubuntu.com>
13560
13561 * disk/raid.c (insert_array): Select unique numbers for named arrays
13562 as well, for use as keys in the disk cache.
13563
c7db243b
RM
135642010-08-01 Robert Millan <rmh@gnu.org>
13565
13566 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13567 kFreeBSD device name, except on ZFS where the filesystem label is
13568 used.
13569 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13570 `/boot/zfs/zpool.cache'.
13571 Set mountfrom kernel variable using ${kfreebsd_device}.
13572
f7abdefb
RM
135732010-08-01 Robert Millan <rmh@gnu.org>
13574
13575 Make it even harder to use uninitialized `libzfs_handle' (and
13576 make the interface a bit simpler).
13577
13578 * include/grub/util/misc.h (grub_util_init_libzfs)
13579 (libzfs_handle): Remove.
13580 (grub_get_libzfs_handle): New prototype.
13581
13582 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13583 attribute.
13584 (grub_util_init_libzfs): Remove.
13585 (grub_get_libzfs_handle): New function.
13586
13587 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13588 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13589 accessing `libzfs_handle' directly.
13590
c882acc0
RM
135912010-08-01 Robert Millan <rmh@gnu.org>
13592
13593 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13594 (grub_find_zpool_from_mount_point): New function prototypes.
13595
13596 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13597 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13598
13599 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13600 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13601 `static' attribute.
13602
13603 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13604 finding zpool from mount point into ...
13605 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13606
13607 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13608 requested path is part of a ZFS pool, use
13609 grub_find_zpool_from_mount_point() to detect its filesystem name,
13610 and generate a path with `/fsname@path' syntax.
13611
8bfe31d8
CW
136122010-08-01 Colin Watson <cjwatson@ubuntu.com>
13613
13614 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13615 (void) rather than () so that this is a proper prototype.
13616
553df63d
VS
136172010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13620
8687cf07
VS
136212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13624 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13625
ea9be8ea
CW
136262010-08-01 Colin Watson <cjwatson@ubuntu.com>
13627
13628 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13629
6eea041a
CW
136302010-08-01 Colin Watson <cjwatson@ubuntu.com>
13631
13632 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13633
2cfb45df
CW
136342010-08-01 Colin Watson <cjwatson@ubuntu.com>
13635
13636 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13637 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13638 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13639 disable gfxpayload.
13640 (Shell-like scripting): Add real content.
13641 (Serial terminal): Suggest `terminal_input serial; terminal_output
13642 serial' rather than putting the two commands on separate lines,
13643 since console input will be inoperative after the first command.
13644 (menuentry): Document --class, --users, and --hotkey options.
13645 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13646 Vladimir Serbinenko).
13647
7decd202
VS
136482010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
136492010-08-01 Colin Watson <cjwatson@ubuntu.com>
13650
13651 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13652
c882acc0
RM
136532010-08-01 Robert Millan <rmh@gnu.org>
13654
13655 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13656 (grub_find_zpool_from_mount_point): New function prototypes.
13657
13658 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13659 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13660
13661 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13662 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13663 `static' attribute.
13664
13665 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13666 finding zpool from mount point into ...
13667 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13668
13669 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13670 requested path is part of a ZFS pool, use
13671 grub_find_zpool_from_mount_point() to detect its filesystem name,
13672 and generate a path with `/fsname@path' syntax.
13673
deb0caa3
RM
136742010-08-01 Robert Millan <rmh@gnu.org>
13675
13676 Prevent accidental use of uninitialized libzfs_handle.
13677
13678 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13679 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13680 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13681
ce04ef47
CW
136822010-08-01 Colin Watson <cjwatson@ubuntu.com>
13683
13684 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13685 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13686
ebf53056
RM
136872010-08-01 Robert Millan <rmh@gnu.org>
13688
13689 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 13690
3710bb6b
RM
136912010-07-31 Robert Millan <rmh@gnu.org>
13692
13693 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13694
8072efeb
RM
136952010-07-31 Robert Millan <rmh@gnu.org>
13696
13697 * kern/emu/misc.c: Add missing license header.
13698
3169f4c7
RM
136992010-07-31 Robert Millan <rmh@gnu.org>
13700
13701 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13702
13703 * include/grub/util/libnvpair.h: Include `<config.h>'.
13704 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13705 declaring libnvpair prototypes ourselves.
13706 * include/grub/util/libzfs.h: Include `<config.h>'.
13707 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13708 declaring libzfs prototypes ourselves.
13709
13710 (libzfs_handle): Moved to ...
13711 * include/grub/util/misc.h (libzfs_handle): ... here.
13712 Include `<grub/util/libzfs.h>'.
13713
c9a00aee
RM
137142010-07-30 Robert Millan <rmh@gnu.org>
13715
13716 * include/grub/emu/misc.h: Add missing license header.
13717
a184f9c8
RM
137182010-07-30 Robert Millan <rmh@gnu.org>
13719
13720 Enable `grub-probe -t device' resolution on ZFS.
13721
13722 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13723 * include/grub/util/libnvpair.h: New file.
13724 * include/grub/util/libzfs.h: New file.
13725
13726 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13727 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13728 `<grub/util/libnvpair.h>'.
13729 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13730
13731 (find_mount_point_from_dir): New static function.
13732 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13733 function.
13734 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13735 find_root_device_from_libzfs() before ressorting to find_root_device().
13736
13737 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13738 prototype.
13739 * util/misc.c: Include `<grub/util/libzfs.h>'.
13740 (grub_util_init_libzfs): New function.
13741 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13742 [HAVE_LIBZFS] (fini_libzfs): New static function.
13743 (grub_util_init_libzfs): New function.
13744 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13745
f7790cdd
RM
137462010-07-30 Robert Millan <rmh@gnu.org>
13747
13748 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13749 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13750 `warn_unused_result' attribute.
13751 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13752 (grub_xasprintf, grub_xvasprintf): Likewise.
13753 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13754
0806b63c
RM
137552010-07-29 Robert Millan <rmh@gnu.org>
13756
13757 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13758 (probe): Handle `PRINT_FS_LABEL'.
13759 (main): Handle `-t fs_label'.
13760
9f841f5c
RM
137612010-07-29 Robert Millan <rmh@gnu.org>
13762
13763 * configure.ac: Remove grub-mkisofs checks.
13764
46371121
VS
137652010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13768 Reported by: Lennart Sorensen.
13769
137702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13771
13772 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13773 prior to terminal_input/terminal_output separation. It's been over 1.5
13774 years and those versions weren't widely deployed.
13775
a9600892
CW
137762010-07-22 Colin Watson <cjwatson@ubuntu.com>
13777
13778 * disk/raid.c (insert_array): Don't count named arrays when looking
13779 for unused array numbers.
697e053c 13780 Reported and tested by: Michael Guntsche.
a9600892 13781
c03507df
CW
137822010-07-20 Colin Watson <cjwatson@ubuntu.com>
13783
13784 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13785 implementation of this so that grub-emu links again, with a note
13786 that this should support hotplugging in the future.
13787
b26f1c11
CW
137882010-07-20 Colin Watson <cjwatson@ubuntu.com>
13789
13790 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13791
efc9d7f1
CW
137922010-07-20 Colin Watson <cjwatson@ubuntu.com>
13793
13794 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13795 handle on failure.
13796 (grub_loopback_close): Remove empty function.
13797 (grub_loopback_dev): Remove close method.
13798
dd8ff5c9
CW
137992010-07-20 Colin Watson <cjwatson@ubuntu.com>
13800
13801 Disable EFI cursor when the EFI console becomes inactive.
13802
13803 * term/efi/console.c (grub_efi_console_init): New function.
13804 (grub_efi_console_fini): New function.
13805 (grub_console_term_output): Register init and fini methods.
13806
5e3bec67
VS
138072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13810 sh script.
13811
afaec079
VS
138122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * disk/loopback.c (grub_loopback): Replace filename with file.
13815 (delete_loopback): Handle new semantics.
13816 (grub_cmd_loopback): Likewise.
13817 (grub_loopback_iterate): Likewise.
13818 (grub_loopback_close): Likewise.
13819
a6a11f3c
VS
138202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13823 with -p "".
13824 Reported by: Tito Keitel.
13825
64a638b0
VS
138262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * docs/grub.texi (Naming convention): Document new naming convention.
13829
ab8ba957
VS
138302010-07-20 Vadim Solomin <vadic052@gmail.com>
138312010-07-20 Colin Watson <cjwatson@ubuntu.com>
13832
13833 Generate device.map in something closer to the old ordering.
13834
13835 * util/deviceiter.c (struct device): New declaration.
13836 (compare_file_names): Rename to ...
13837 (compare_devices): ... this. Sort by kernel name in preference to
13838 the stable by-id name, but keep the latter as a fallback comparison.
13839 Update header comment.
13840 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13841 of `struct device' rather than of plain file names.
13842
a29d6a4b
TF
138432010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13844
13845 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13846 on i386.
13847
39d824e8
VS
138482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13849
13850 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13851 hardcoding size.
13852 (setv1table): Likewise.
13853
f058276b
FZ
138542010-07-20 Colin Watson <cjwatson@ubuntu.com>
13855
13856 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13857 removing the homehost if present.
13858 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13859 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13860 removing the homehost if present.
13861 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13862 if possible.
13863 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13864
13865 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13866 parameter. Set its pointer target to 0.
13867 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13868 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13869 `data_offset' value from the superblock for 1.x metadata.
13870 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13871 data on the device.
13872 (insert_array): Record the start sector of data on the device.
13873 (grub_raid_register): Pass start_sector parameters to
13874 grub_raid_list->detect and insert_array.
13875 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13876 member.
13877 (struct grub_raid): Add start_sector parameter to `detect'.
13878
13879 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13880 __attribute__ ((packed)), leaving a comment.
13881 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13882 (grub_mdraid_detect_09): ... here and ...
13883 (grub_mdraid_detect_1x): ... here.
13884
138852010-07-20 Peter Henn <peter.henn@web.de>
13886
13887 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13888 chunk size and disk size, which are already given as sector counts
13889 as distinct from the 0.90 units. Fetch the correct device number
13890 from the role table instead of using the table index.
13891
138922010-07-20 Felix Zielcke <fzielcke@z-51.de>
13893
13894 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13895 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13896 (WriteMostly1): New macro.
13897 Set array->name to NULL for metadata format 0.90. Add support for
13898 metadata 1.x. Fix some comments.
13899 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13900 few comments.
13901 * util/getroot.c (grub_util_get_grub_dev): Add support for
13902 /dev/md/name style devices.
13903
4b761da9
CW
139042010-07-20 Colin Watson <cjwatson@ubuntu.com>
13905
13906 * .bzrignore: Ignore 20_linux_xen.
13907
5771289a
CW
139082010-07-17 Colin Watson <cjwatson@ubuntu.com>
13909
13910 * util/import_unicode.py: Remove unnecessary imports.
13911
5dab68df
AN
139122010-07-17 Aleš Nesrsta <starous@volny.cz>
13913
13914 Hotplugging and USB hub support.
13915
13916 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13917 (grub_ohci): Likewise.
13918 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13919 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13920 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13921 (GRUB_OHCI_CTRL_EDS): Likewise.
13922 (GRUB_OHCI_BULK_EDS): Likewise.
13923 (GRUB_OHCI_TDS): Likewise.
13924 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13925 (grub_ohci_ed_phys2virt): New function.
13926 (grub_ohci_virt_to_phys): Likewise.
13927 (grub_ohci_td_phys2virt): Likewise.
13928 (grub_ohci_td_virt2phys): Likewise.
13929 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13930 attachment.
13931 (grub_ohci_find_ed): New function.
13932 (grub_ohci_alloc_td): Likewise.
13933 (grub_ohci_free_td): Likewise.
13934 (grub_ohci_free_tds): Likewise.
13935 (grub_ohci_transfer): Use previously allocated memory.
13936 (grub_ohci_portstatus): Reset status changed bit.
13937 (grub_ohci_detect_dev): Supply status changed.
13938 (grub_ohci_fini_hw): Free memory.
13939 (grub_ohci_restore_hw): Reallocate memory.
13940 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13941 Reset status change.
13942 (grub_uhci_detect_dev): Supply status_change.
13943 * bus/usb/usb.c (attach_hooks): New var.
13944 (grub_usb_device_attach): New function.
13945 (grub_usb_register_attach_hook_class): Likewise.
13946 (grub_usb_unregister_attach_hook_class): Likewise.
13947 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13948 (grub_usb_add_hub): Reset connection changed bit.
13949 (attach_root_port): New function.
13950 (grub_usb_root_hub): Likewise.
13951 (poll_nonroot_hub): Likewise.
13952 (grub_usb_poll_devices): Likewise.
13953 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13954 * disk/usbms.c (grub_usbms_open): Use device hooks.
13955 (grub_usbms_iterate) :Poll devices.
13956 (grub_usbms_finddevs): Split into ...
13957 (grub_usbms_attach): ... this ...
13958 (grub_usbms_attach): ... and this.
13959 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13960 in detect_dev.
13961 (grub_usb_interface): New fields attached and detach_hook.
13962 (grub_usb_attach_hook_class): New type.
13963 (grub_usb_attach_desc): New struct.
13964 (grub_usb_register_attach_hook_class): New function.
13965 (grub_usb_unregister_attach_hook_class): Likewise.
13966 (grub_usb_poll_devices): Likewise.
13967 (grub_usb_device_attach): Likewise.
13968 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13969 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13970
3222efaf
VS
139712010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13974 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13975 delta determination style. Works with most NetBSD partitions too.
13976
139b714a
VS
139772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13980 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13981
986aad56
VS
139822010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13985
99be513c
AB
139862010-07-14 Anton Blanchard <anton@samba.org>
13987
13988 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13989 ET_DYN files.
13990
18075f62
GS
139912010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13992
13993 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13994
8d9a5b15
GS
139952010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13996
13997 * kern/partition.c (grub_partition_check_containment): New function to
13998 check that a partition is physically contained in a parent. Since
13999 offsets are relative (and non-negative), this reduces to checking that
14000 the partition ends before its parent.
14001 (grub_partition_map_probe): Discard out-of-range sub-partitions.
14002 (grub_partition_iterate): Likewise.
14003 * include/grub/partition.h (grub_partition_map): Slightly more detailed
14004 comments.
14005 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
14006 partitions that start before their parent, and add debug printfs.
14007
19563c25
CW
140082010-07-13 Colin Watson <cjwatson@ubuntu.com>
14009
14010 * Makefile.in (.SUFFIX): Spell correctly, as ...
14011 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
14012 bare module name without `.mod', e.g. `test') tried to invoke a
14013 Modula-2 compiler.
14014
1a1f1e67
CW
140152010-07-13 Colin Watson <cjwatson@ubuntu.com>
14016
14017 * README: Point to the Info manual.
14018
811b0dca
JS
140192010-07-13 Jiro SEKIBA <jir@unicus.jp>
14020
14021 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
14022 2nd superblock position from partition size.
14023
e4f4eafc
CW
140242010-07-10 Colin Watson <cjwatson@ubuntu.com>
14025
14026 * Makefile.in (MAINTAINER_CLEANFILES): Remove
14027 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
14028 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
14029 outputs.
14030
4274c30f
VS
140312010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 Restructure SCSI .id handling.
14034 Reported and tested by: Aleš Nesrsta.
14035
14036 * disk/ata.c (grub_atapi_close): Removed. All users updated.
14037 (grub_atapi_dev): Changed .name to "ata". New field .id.
14038 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
14039 (grub_usbms_dev): New field .id.
14040 * disk/scsi.c (grub_scsi_iterate): Generate name.
14041 (grub_scsi_open): Parse name.
14042 * include/grub/scsi.h (grub_make_scsi_id): New function.
14043 (grub_scsi_dev): Change iterate and open to number instead of naming
14044 busses. All users updated.
14045 (grub_scsi): Remove name. Add .bus.
14046
5bc24388
VS
140472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 * commands/help.c (grub_cmd_help): Fix a typo.
14050
249975ba
VS
140512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14052
14053 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
14054 Reported and tested by: Colin Watson.
14055
3eaac1a1
VS
140562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
14059 in this context.
14060
becce1b1
VS
140612010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
14064
f7bf0918
CW
140652010-07-07 Colin Watson <cjwatson@ubuntu.com>
14066
14067 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
14068 indentation.
14069
0b0f9620
CW
140702010-07-06 Colin Watson <cjwatson@ubuntu.com>
14071
14072 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
14073 and disk/raid6_recover.c.
14074 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14075 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14076
1e545469
CW
140772010-07-06 Colin Watson <cjwatson@ubuntu.com>
14078
14079 * term/gfxterm.c (repaint_schedulded): Rename to ...
14080 (repaint_scheduled): ... this. Update all callers.
14081 (repaint_was_schedulded): Rename to ...
14082 (repaint_was_scheduled): ... this. Update all callers.
14083
5357687a
CW
140842010-07-06 Colin Watson <cjwatson@ubuntu.com>
14085
14086 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
14087 which we expect to be handled by upper layers.
14088
29d7e783
BC
140892010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
14090
14091 * bus/usb/usbhub.c: #include time.h header.
14092
37582066
CW
140932010-07-06 Colin Watson <cjwatson@ubuntu.com>
14094
14095 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
14096 entry_name also for entries without stat blocks (e.g. ".."); fixes
14097 corruption of the first entry in a directory.
14098
c8c06953
CW
140992010-07-06 Colin Watson <cjwatson@ubuntu.com>
14100
14101 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
14102 after setting gfxterm as the active terminal. GRUB_BACKGROUND
14103 doesn't work otherwise.
14104
e75056f1
CW
141052010-07-05 Colin Watson <cjwatson@ubuntu.com>
14106
14107 * docs/grub.texi (Features): Update list of supported file systems.
14108 (GNU/Linux): Update for GRUB 2.
14109 (Serial terminal): Remove mention of --disable-serial, which was a
14110 GRUB Legacy configure option. Update instructions to use
14111 `terminal_input' and `terminal_output' rather than `terminal'.
14112 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
14113 configuration' and `Installing GRUB using grub-install'.
14114 (Menu entry editor): Update for GRUB 2.
14115 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
14116 Document new -a, -u, and -v options.
14117 (initrd): New section.
14118 (initrd16): New section.
14119 (linux): New section.
14120 (linux16): New section.
14121 (search): The `var' argument to `--set' is optional.
14122 (GRUB only offers a rescue shell): Go into a little more detail on
14123 drive ordering.
14124
5cf69151
CW
141252010-07-05 Colin Watson <cjwatson@ubuntu.com>
14126
14127 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14128
e3f90044
CW
141292010-07-05 Colin Watson <cjwatson@ubuntu.com>
14130
14131 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14132 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14133
38d8f4f3
CW
141342010-07-05 Colin Watson <cjwatson@ubuntu.com>
14135
14136 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14137 install_prefix, in line with install_dos_part and install_bsd_part.
14138 Add new prefix variable, which is copied to install_prefix after
14139 comparing core.img in memory with the one read from disk in the
14140 no-embedding case, and use that rather than overwriting
14141 install_prefix immediately when installing to a partition.
14142 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14143 Bicakci.
14144
57ebd41e
GS
141452010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14146
14147 * configure.ac: Avoid == in test command, it's not portable.
14148 * util/grub.d/30_os-prober.in: Likewise.
14149
cb7f64b2
CW
141502010-07-04 Colin Watson <cjwatson@ubuntu.com>
14151
14152 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14153
6b654bb0
GS
141542010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14155
14156 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14157 multiple (top-level) partmaps.
14158
72a2026d
VS
141592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 14162 Reported by: Tino Keitel.
72a2026d 14163
df3eb88f
VS
141642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 Bidi and diacritics support.
14167
14168 * Makefile.in (widthspec.bin): New target.
14169 (widthspec.h): Likewise.
14170 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14171 * autogen.sh: Generate unidata.c.
14172 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14173 * commands/ls.c (grub_ls_list_devices): Likewise.
14174 (grub_ls_list_files): Likewise.
14175 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14176 (grub_mini_cmd_lsmod): Likewise.
14177 * commands/read.c: Likewise.
14178 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14179 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14180 * lib/arg.c (grub_arg_show_help): Likewise.
14181 * lib/crypto.c (grub_password_get): Likewise.
14182 * normal/auth.c (grub_username_get): Likewise.
14183 * normal/misc.c (grub_normal_print_device_info): Likewise.
14184 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14185 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14186 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14187 (normal/charset.c_DEPENDENCIES): New variable.
14188 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14189 (pkglib_MODULES): Remove charset.mod.
14190 (charset_mod_SOURCES): Removed.
14191 (charset_mod_CFLAGS): Likewise.
14192 (charset_mod_LDFLAGS): Likewise.
14193 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14194 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14195 and term/tparm.c.
14196 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14197 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14198 (kernel_img_HEADERS): Add terminfo.h.
14199 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14200 Fill ->font. Reverse ascii bitmaps.
14201 (grub_font_get_xheight): New function.
14202 * font/font.c (grub_font_get_string_width): Moved from here ...
14203 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14204 * font/font.c (grub_font_draw_string): Moved from here ...
14205 * gfxmenu/font.c (grub_font_draw_string): ... here.
14206 * font/font.c (grub_font_dup_glyph): New function.
14207 (grub_font_blit_glyph): Likewise.
14208 (grub_font_blit_glyph_mirror): Likewise.
14209 (blit_comb): Likewise.
14210 (grub_font_construct_dry_run): Likewise.
14211 (grub_font_get_constructed_device_width): Likewise.
14212 (grub_font_construct_glyph): Likewise.
14213 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14214 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14215 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14216 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14217 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14218 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14219 (grub_font_get_xheight): New proto.
14220 (grub_font_get_constructed_device_width): Likewise.
14221 (grub_font_construct_glyph): Likewise.
14222 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14223 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14224 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14225 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14226 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14227 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14228 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14229 (grub_console_getcharwidth): Likewise.
14230 * include/grub/misc.h (grub_xputs): New proto.
14231 (grub_puts): Inlined.
14232 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14233 (grub_normal_get_line_counter): Removed.
14234 (grub_install_newline_hook): Likewise.
14235 (grub_normal_get_char_counter): New proto.
14236 (grub_normal_reset_more): Likewise.
14237 (grub_xputs_normal): Likewise.
14238 * include/grub/powerpc/ieee1275/console.h: Removed.
14239 * include/grub/sparc64/ieee1275/console.h: Likewise.
14240 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14241 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14242 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14243 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14244 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14245 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14246 (grub_term_input): Pass reference to self. All users updated.
14247 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14248 Pass reference to self. New fields normal_color, highlight_color and
14249 data. All users updated.
14250 (grub_putchar): Removed.
14251 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14252 (grub_unicode_estimate_width): New function.
14253 (grub_term_getcharwidth): Add defaults.
14254 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14255 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14256 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14257 (grub_cls): Remove EXPORT_FUNC.
14258 (grub_setcolorstate): Inline.
14259 (grub_newline_hook): Removed.
14260 * include/grub/terminfo.h: Rewritten. All users updated.
14261 * include/grub/unicode.h: New file.
14262 * include/grub/video.h (grub_video_signed_rect): New type.
14263 * kern/emu/console.c (grub_console_highlight_color): Removed.
14264 (grub_console_normal_color): Likewise.
14265 (grub_console_standard_color): Made static.
14266 (grub_ncurses_putchar): Remove mapping.
14267 (grub_ncurses_getcharwidth): Removed.
14268 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14269 (grub_ncurses_setcolor): Removed.
14270 (grub_ncurses_getcolor): Likewise.
14271 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14272 (grub_console_putchar): ... this.
14273 (grub_console_putchar): Handle argument difference.
14274 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14275 console_init_early and console_init_lately.
14276 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14277 * kern/misc.c (grub_puts): Removed.
14278 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14279 (grub_vsnprintf_real): Remove str = NULL support.
14280 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14281 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14282 * kern/term.c (grub_putcode): Renamed to ...
14283 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14284 (grub_putchar): Removed.
14285 (grub_xputs_dumb): New function.
14286 (grub_xputs): New variable.
14287 * lib/charset.c: Move from here ...
14288 * normal/charset.c: ... to here.
14289 (grub_ucs4_to_utf8): New function.
14290 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14291 (join_types): New variable.
14292 (unpack_join): New function.
14293 (bidi_types): New variable.
14294 (unpack_bidi): New function.
14295 (get_bidi_type): Likewise.
14296 (get_join_type): Likewise.
14297 (is_mirrored): Likewise.
14298 (grub_unicode_get_comb_type): Likewise.
14299 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14300 (is_type_after): Likewise.
14301 (grub_unicode_aglomerate_comb): Likewise.
14302 (bidi_line_wrap): Likewise.
14303 (grub_bidi_line_logical_to_visual): Likewise.
14304 (grub_bidi_logical_to_visual): Likewise.
14305 (grub_unicode_mirror_code): Likewise.
14306 (grub_unicode_shape_code): Likewise.
14307 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14308 Don't use grub_putchar.
14309 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14310 (grub_normal_reader_init): Likewise.
14311 (grub_xputs_saved): New variable.
14312 (GRUB_MOD_INIT): Set grub_xputs.
14313 (GRUB_MOD_FINI): Restore grub_xputs.
14314 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14315 (menu_init): Avoid printing gfxmenu error.
14316 (show_menu): Use grub_normal_get_char_counter.
14317 * normal/menu_entry.c (update_screen): Fix out-of-array.
14318 (complete): Avoid NULL dereferencing.
14319 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14320 * normal/menu_text.c (print_spaces): Removed.
14321 (grub_print_ucs4): Likewise.
14322 (grub_print_message_indented): Use grub_print_ucs4.
14323 (print_message): Use grub_putcode.
14324 (print_entry): Hanlde diacritics.
14325 * normal/term.c (term_state): New type.
14326 (grub_more_lines): Removed.
14327 (term_states): New variable.
14328 (grub_normal_line_counter): Renamed to ..
14329 (grub_normal_char_counter): ...this. All users updated.
14330 (grub_normal_get_line_counter): Renamed to ...
14331 (grub_normal_get_char_counter): ... this.
14332 (grub_normal_reset_more): New function.
14333 (process_newline): Removed.
14334 (print_more): New function.
14335 (grub_install_newline_hook): Removed.
14336 (map_code): New function.
14337 (grub_puts_terminal): Use grub_print_ucs4.
14338 (putglyph): New function.
14339 (putcode_real): Likewise.
14340 (grub_putcode): Use putcode_real.
14341 (get_maxwidth): New function.
14342 (get_startwidth): Likewise.
14343 (print_ucs4_terminal): Likewise.
14344 (find_term_state): Likewise.
14345 (put_glyphs_terminal): Likewise.
14346 (print_backlog): Likewise.
14347 (print_ucs4_real): Likewise.
14348 (grub_print_ucs4): Likewise.
14349 (grub_xputs_normal): Likewise.
14350 * term/efi/console.c (grub_console_putchar): Output diacritics.
14351 (grub_console_getcharwidth): Removed.
14352 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14353 * term/gfxterm.c (clear_char): Free chars.
14354 (scroll_up): Avoid leaking memory.
14355 (grub_gfxterm_putchar): Support diacritics.
14356 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14357 * term/i386/pc/console.c (grub_console_term_output): Declare as
14358 GRUB_TERM_CODE_TYPE_VGA.
14359 * term/i386/pc/vga.c (grub_vga_term): Declare as
14360 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14361 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14362 GRUB_TERM_CODE_TYPE_VGA.
14363 * term/i386/vga_common.c (map_char): Removed.
14364 (grub_console_putchar): Likewise.
14365 (grub_console_getcharwidth): Likewise.
14366 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14367 (colors): Reordered to match terminfo.
14368 (grub_ofconsole_normal_color): Removed.
14369 (grub_ofconsole_writeesc): Likewise.
14370 (grub_ofconsole_highlight_color): Likewise.
14371 (grub_ofconsole_getcharwidth): Likewise.
14372 (grub_ofconsole_setcolorstate): Likewise.
14373 (grub_ofconsole_setcolor): Likewise.
14374 (grub_ofconsole_getcolor): Likewise.
14375 (grub_ofconsole_readkey): Renamed to ...
14376 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14377 key.
14378 (grub_ofconsole_checkkey): Removed.
14379 (grub_ofconsole_getkey): Likewise.
14380 (grub_ofconsole_getxy): Likewise.
14381 (grub_ofconsole_gotoxy): Likewise.
14382 (grub_ofconsole_cls): Likewise.
14383 (grub_ofconsole_refresh): Likewise.
14384 (grub_ofconsole_terminfo_input): New struct.
14385 (grub_ofconsole_terminfo_output): Likewise.
14386 (grub_ofconsole_term_input): Use terminfo.
14387 (grub_ofconsole_term_output): Likewise.
14388 (grub_console_init): Split into ...
14389 (grub_console_init_early): ...this and ...
14390 (grub_console_init_lately): ...this. Use terminfo.
14391 (grub_ofconsole_putchar): Renamed to ...
14392 (put): ... this. Remove mapping.
14393 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14394 * term/serial.c: Simplify using terminfo.
14395 (xpos): Removed.
14396 (ypos): Likewise.
14397 (keep_track): Likewise.
14398 (registered): Likewise.
14399 (input_buf): Likewise.
14400 (npending): Likewise.
14401 (serial_translate_key_sequence): Likewise.
14402 (fill_input_buf): Likewise.
14403 (grub_serial_checkkey): Likewise.
14404 (grub_serial_getkey): Likewise.
14405 (grub_serial_getxy): Likewise.
14406 (grub_serial_gotoxy): Likewise.
14407 (grub_serial_putchar): Likewise.
14408 (grub_serial_cls): Likewise.
14409 (grub_serial_setcolorstate): Likewise.
14410 (grub_serial_setcursor): Likewise.
14411 (serial_hw_init): Use serial_hw_fetch.
14412 (grub_serial_terminfo_input): New variable.
14413 (grub_serial_terminfo_output): Likewise.
14414 (grub_serial_term_input): Use terminfo.
14415 (grub_serial_term_output): Likewise.
14416 * term/terminfo.c (putstr): Use put.
14417 (grub_terminfo_all_free): New function
14418 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14419 (grub_terminfo_output_register): New function.
14420 (grub_terminfo_output_unregister): Likewise.
14421 (grub_terminfo_getxy): Likewise.
14422 (grub_terminfo_readkey): Likewise.
14423 (grub_terminfo_checkkey): Likewise.
14424 (grub_terminfo_getkey): Likewise.
14425 (grub_terminfo_input_init): Likewise.
14426 (print_terminfo): Likewise.
14427 (grub_cmd_terminfo): Handle encoding.
14428 (grub_terminfo_gotoxy): Track position.
14429 (grub_terminfo_cls): Likewise.
14430 (grub_terminfo_putchar): Likewise.
14431 (grub_terminfo_setcolorstate): Handle colors
14432 (grub_terminfo_cursor_on): This ...
14433 (grub_terminfo_cursor_off): ... and this merged into ...
14434 (grub_terminfo_setcursor): ... this.
14435 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14436 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14437 * unicode/BidiMirroring.txt: Likewise.
14438 * unicode/UnicodeData.txt: Likewise.
14439 * unicode/COPYING: Likewise.
14440 * util/grub-editenv.c (grub_putchar): Removed.
14441 (grub_xputs_real): New function.
14442 (grub_xputs): New variable.
14443 * util/grub-fstest.c (grub_putchar): Removed.
14444 (grub_xputs_real): New function.
14445 (grub_xputs): New variable.
14446 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14447 (grub_xputs_real): New function.
14448 (grub_xputs): New variable.
14449 * util/grub-probe.c (grub_putchar): Removed.
14450 (grub_xputs_real): New function.
14451 (grub_xputs): New variable.
14452 * util/grub-script-check.c (grub_putchar): Removed.
14453 (grub_xputs_real): New function.
14454 (grub_xputs): New variable.
14455 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14456 (grub_xputs_real): New function.
14457 (grub_xputs): New variable.
14458 * util/import_unicode.py: New file.
14459 * util/grub-mkfont.c (ft_errmsgs): New array.
14460 (grub_glyph_info): Make bitmap a pointer.
14461 (file_formats): New type WIDTH_SPEC.
14462 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14463 (options): Add width-spec.
14464 (help): Likewise.
14465 (add_char): Renamed to ...
14466 (add_glyph): ... this.
14467 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14468 (glyph_replace): New type.
14469 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14470 (add_char): New function.
14471 (add_subst): Likewise.
14472 (process_cursive): Likewise.
14473 (add_font): Handle GSUB.
14474 (write_font_width_spec): New function.
14475 (main): Sort glyphs.
14476 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14477 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14478 * kern/term.c (grub_cls): Moved from here...
14479 * normal/term.c (grub_cls): ... here.
14480
50f0bcda
CW
144812010-07-02 Colin Watson <cjwatson@ubuntu.com>
14482
14483 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14484 suitable for using within the format argument of printf when
14485 converting grub_size_t.
14486 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14487 "x" to convert grub_size_t arguments.
14488
40372103
VS
144892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14492 too long captions.
14493 (list_get_minimal_size): Take selection box into account.
14494
942a10c7
VS
144952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14498 NULL font.
14499
2bdb2892
CW
145002010-07-02 Colin Watson <cjwatson@ubuntu.com>
14501
14502 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14503 devices when iterating over /dev/disk/by-id; they will be handled
14504 later if appropriate, which they aren't always (e.g. LVM).
14505
e03ed6c1
CW
145062010-07-02 Colin Watson <cjwatson@ubuntu.com>
14507
14508 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14509 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14510 fails.
14511 (grub_halt): Likewise.
14512 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14513 reset-all fails.
14514 (grub_halt): Don't return, even if all of shut-down, power-off, and
14515 poweroff fail.
14516
47695765
CW
145172010-07-02 Colin Watson <cjwatson@ubuntu.com>
14518
14519 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14520 arguments, not three.
14521
507736c8
CW
145222010-07-02 Colin Watson <cjwatson@ubuntu.com>
14523
14524 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14525 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14526 LVM-on-RAID is handled correctly.
14527
e3c8cd37
CW
145282010-07-02 Colin Watson <cjwatson@ubuntu.com>
14529
14530 * docs/grub.texi (Changes from GRUB Legacy): New section.
14531 (Future): Fix typo.
14532
8d4a2fec
CW
145332010-07-02 Colin Watson <cjwatson@ubuntu.com>
14534
14535 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14536 grub.d/README accidentally ends up executable for one reason or
14537 another. Ignore it.
14538
1c4827be
VS
145392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14542 (gpt_partition_map_iterate): Support non-512B sectors.
14543
d9a0c941
VS
145442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14547 Tested by: Seth Goldberg.
14548
48f27e87
VS
145492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14552 Properly align mbi.
14553 Reported by: Seth Goldberg.
14554
b0c4f956
VS
145552010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * util/grub-mkrescue.in: Avoid module duplication.
14558
105a2e8c
SF
145592010-07-01 Sean Finney <seanius@seanius.net>
14560
14561 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14562
5944958c
SF
145632010-07-01 Sean Finney <seanius@seanius.net>
14564
14565 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14566
145672010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 * disk/lvm.c (grub_lvm_checkvalue): New function.
14570 (grub_lvm_check_flag): Likewise.
14571
b79889ba
RM
145722010-07-01 Robert Millan <rmh@gnu.org>
14573
14574 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14575 Support 'p' as partition separator on kernel of FreeBSD (used
14576 with GPT labels).
14577 (grub_util_biosdisk_get_grub_dev): Likewise.
14578
ec1d04f1
VS
145792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 Yeeloong firmware port.
14582
14583 * boot/mips/yeeloong/fwstart.S: New file.
14584 * bus/cs5536.c (gpiodump): New const.
14585 (set_io_space): New function.
14586 (set_iod): Likewise.
14587 (set_p2d): Likewise.
14588 (grub_cs5536_init_geode): Likewise.
14589 * commands/mips/yeeloong/lsspd.c: New file.
14590 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14591 (serial_mod_SOURCES): New variable.
14592 (serial_mod_CFLAGS): Likewise.
14593 (serial_mod_LDFLAGS): Likewise.
14594 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14595 term/terminfo.c and term/tparm.c.
14596 (pkglib_IMAGES): Add fwstart.img.
14597 (fwstart_img_SOURCES): New variable.
14598 (fwstart_img_CFLAGS): Likewise.
14599 (fwstart_img_ASFLAGS): Likewise.
14600 (fwstart_img_LDFLAGS): Likewise.
14601 (fwstart_img_FORMAT): Likewise.
14602 (pkglib_MODULES): Add lsspd.mod.
14603 (lsspd_mod_SOURCES): New variable.
14604 (lsspd_mod_CFLAGS): Likewise.
14605 (lsspd_mod_LDFLAGS): Likewise.
14606 (pkglib_MODULES): Add halt.mod.
14607 (halt_mod_SOURCES): New variable.
14608 (halt_mod_CFLAGS): Likewise.
14609 (halt_mod_LDFLAGS): Likewise.
14610 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14611 (serial_mod_SOURCES): Removed.
14612 (serial_mod_CFLAGS): Likewise.
14613 (serial_mod_LDFLAGS): Likewise.
14614 * disk/ata.c (check_device): New function.
14615 (grub_ata_device_initialize): Use check_device.
14616 (grub_ata_iterate): Recheck devices.
14617 (grub_ata_open): Likewise.
14618 (grub_atapi_iterate): Likewise.
14619 (grub_atapi_open): Likewise.
14620 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14621 (GRUB_ATA_CH1_PORT1): Likewise.
14622 (GRUB_ATA_CH0_PORT2): Likewise.
14623 (GRUB_ATA_CH1_PORT2): Likewise.
14624 * include/grub/mips/loongson.h: New file.
14625 * include/grub/mips/yeeloong/ec.h: Likewise.
14626 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14627 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14628 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14629 * include/grub/misc.h (grub_halt): Declare as noreturn.
14630 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14631 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14632 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14633 (UART_ENABLE_DTRRTS): Likewise.
14634 (UART_ENABLE_MODEM): Removed.
14635 (UART_ENABLE_OUT2): New const.
14636 * include/grub/term.h (grub_term_register_input_active): New function.
14637 (grub_term_register_output_active): Likewise.
14638 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14639 argument.
14640 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14641 (init_pci): New function.
14642 (grub_machine_init): Execute platform init when firmware. Init serial.
14643 (grub_halt): Implement.
14644 (grub_exit): Likewise.
14645 (grub_reboot): Likewise.
14646 * term/serial.c (serial_hw_init): Update macros.
14647 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14648 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14649 (image_targets): New target mipsel-yeeloong-flash.
14650 (generate_image): Support IMAGE_YEELOONG_FLASH.
14651 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14652 (grub_video_sm712_setup): Init card.
14653 (grub_video_sm712_set_palette): Removed.
14654 * video/sm712_init.c: New file.
14655
ff4a70d2
CW
146562010-06-30 Colin Watson <cjwatson@ubuntu.com>
14657
14658 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14659 PATH when running help2man and then run it on the unadorned
14660 executable names, rather than passing $(builddir)/* paths to
14661 help2man. This avoids the build directory ending up in generated
14662 manual pages.
14663
1246efeb
CW
146642010-06-29 Colin Watson <cjwatson@ubuntu.com>
14665
14666 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14667 to avoid accidents when debugging with 'sh -x'.
14668 * util/grub-mkrescue.in: Likewise.
14669 * util/grub.d/00_header.in: Likewise.
14670 * util/grub.d/10_hurd.in: Likewise.
14671 * util/grub.d/10_kfreebsd.in: Likewise.
14672 * util/grub.d/10_linux.in: Likewise.
14673 * util/grub.d/10_netbsd.in: Likewise.
14674 * util/grub.d/10_windows.in: Likewise.
14675 * util/grub.d/20_linux_xen.in: Likewise.
14676 * util/grub.d/30_os-prober.in: Likewise.
14677 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14678
1ba9b889
CW
146792010-06-29 Colin Watson <cjwatson@ubuntu.com>
14680
14681 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14682 last character in the buffer.
14683 Reported by: Vladimir Serbinenko.
14684
dccaf99d
RM
146852010-06-29 Robert Millan <rmh@gnu.org>
14686
14687 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14688 (Command-line and menu entry commands): Document `badram' command.
14689
d500ed12
RM
146902010-06-28 Robert Millan <rmh@gnu.org>
14691
14692 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14693 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14694 command using ${GRUB_BADRAM} as parameter.
14695
20bc84a6
CW
146962010-06-28 Colin Watson <cjwatson@ubuntu.com>
14697
14698 * docs/grub.texi (Device map): New section.
14699 (Themes): New section (stub).
14700 * Makefile.in (docs/grub.info): The info documentation now builds
14701 without errors. Make sure it stays that way.
14702
4045dee1
VS
147032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14704
14705 Use normal parser for menu entries.
14706 Reported by: Thomas Frauendorfer
14707
14708 * include/grub/parser.h (grub_parser_execute): Don't export.
14709 * normal/menu.c (grub_menu_execute_entry_real): New function.
14710 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14711
bca58c7b
CW
147122010-06-28 Colin Watson <cjwatson@ubuntu.com>
14713
14714 * docs/grub.texi (Embedded configuration): New section (replacing
14715 old "Preset Menu" stub).
14716 (Images): New section.
14717 (configfile): Note that any menu entries defined in `file' are shown
14718 immediately.
14719
dec53e63
JT
147202010-06-28 Josh Triplett <josh@joshtriplett.org>
14721
14722 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14723
c06e40f7
CW
147242010-06-28 Colin Watson <cjwatson@ubuntu.com>
14725
14726 * util/grub-install.in: Add --debug-image= option.
14727
cb88052b
CW
147282010-06-28 Colin Watson <cjwatson@ubuntu.com>
14729
14730 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14731 possible on Linux.
14732
14733 * util/deviceiter.c (check_device): Rename to ...
14734 (check_device_readable_unique): ... this. Update all callers.
14735 Maintain and check a list of which devices (by canonicalized name)
14736 have already been seen.
14737 (clear_seen_devices): New function.
14738 (compare_file_names) [__linux__]: New function.
14739 (grub_util_iterate_devices): Clear the list of seen devices on exit
14740 and (just in case) on entry.
14741 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14742 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14743 seen-devices list, superseded by general code in check_device.
14744
bbe34652
CW
147452010-06-28 Colin Watson <cjwatson@ubuntu.com>
14746
14747 * commands/cat.c (options): New variable.
14748 (grub_cmd_cat): Parse options. If the --dos option is given, print
14749 DOS-style "\r\n" line endings as simple newlines (Debian bug
14750 #586358).
14751 (GRUB_MOD_INIT): Use extcmd.
14752 (GRUB_MOD_FINI): Likewise.
14753 * docs/grub.texi (cat): Document --dos.
14754
412e09f3
VS
147552010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 XEN with Linux grub-mkconfig support.
14758
14759 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14760 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14761 GRUB_CMDLINE_XEN_DEFAULT.
14762 * util/grub.d/20_linux_xen.in: New file.
14763
53f3ef38 147642010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
14765
14766 Initialise VGA video on qemu ourselves.
14767
14768 * boot/i386/qemu/boot.S: Don't call 0xc000.
14769 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14770 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14771 (kernel_img_HEADERS): Add pci.h.
14772 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14773 * configure.ac: Force unifont on qemu and yeeloong.
14774 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14775 (grub_vga_palette_write): Use correct register.
14776 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14777 Call grub_qemu_init_cirrus.
14778 * kern/i386/qemu/init.c: New file.
14779 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14780
14781 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14782
c75be4fb
PR
147832010-06-26 Pavel Roskin <proski@gnu.org>
14784
14785 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14786 13.
14787
d8034603
CW
147882010-06-26 Colin Watson <cjwatson@ubuntu.com>
14789
14790 * docs/grub.texi (Simple configuration): Explain that
14791 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14792 set to `true' to disable their respective recovery entries, not
14793 merely set.
14794
3fa06487
CW
147952010-06-26 Colin Watson <cjwatson@ubuntu.com>
14796
14797 Make the `source' command slightly faster.
14798
14799 * normal/main.c (grub_normal_execute): Don't re-read list files when
14800 nested.
14801
e9b29642
CW
148022010-06-23 Colin Watson <cjwatson@ubuntu.com>
14803
14804 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14805 field position and mask size to red fields from mode_info, not
14806 green.
14807 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14808 Remove redundant tag->common.framebuffer_type assignment.
14809 Reported by: Seth Goldberg.
14810
e726542f
CW
148112010-06-23 Colin Watson <cjwatson@ubuntu.com>
14812
14813 Sync up other versions of the Linux loader with Robert Millan's
14814 change of 2010-01-09, "Make loader output a bit more user-friendly".
14815
14816 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14817 grub_dprintf().
14818 (grub_cmd_linux): Likewise.
14819 (grub_cmd_initrd): Likewise.
14820 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14821 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14822
d6e98a17
CW
148232010-06-21 Colin Watson <cjwatson@ubuntu.com>
14824
14825 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14826 larger than MEMORY_MAP_SIZE.
14827
14d3f08e
BC
148282010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14829
14830 Fix parallel build.
14831
14832 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14833 dependency.
14834 * script/parser.y: #include grub_script.tab.h header.
14835
4f9613a3
VS
148362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 Support >3GiB and <16MiB RAM in i386-qemu.
14839
14840 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14841 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14842 (grub_lower_mem): Removed.
14843 (grub_upper_mem): Likewise.
14844 (mem_size): Made static.
14845 (above_4g): New variable.
14846 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14847 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14848 support.
14849
05e51879
VS
148502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 Cirrus 5446 and Bochs video cards support.
14853
14854 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14855 video_bochs.mod
14856 (video_cirrus_mod_SOURCES): New variable.
14857 (video_cirrus_mod_CFLAGS): Likewise.
14858 (video_cirrus_mod_LDFLAGS): Likewise.
14859 (video_bochs_mod_SOURCES): Likewise.
14860 (video_bochs_mod_CFLAGS): Likewise.
14861 (video_bochs_mod_LDFLAGS): Likewise.
14862 * include/grub/vga.h: New file.
14863 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14864 (grub_video_fb_set_page_t): New type.
14865 (grub_video_fb_setup): New prototype.
14866 (grub_video_fb_swap_buffers): Likewise.
14867 (grub_video_fb_get_info_and_fini): Likewise.
14868 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14869 (CRTC_DATA_PORT): Likewise.
14870 (CRTC_CURSOR): Likewise.
14871 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14872 (CRTC_CURSOR_ADDR_LOW): Likewise.
14873 (CRTC_CURSOR_DISABLE): Likewise.
14874 (update_cursor): Use grub_vga_cr_write.
14875 (grub_vga_text_setcursor): Likewise.
14876 * video/bochs.c: New file.
14877 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14878 (palette): Likewise.
14879 (palette_size): Likewise.
14880 (framebuffer): New variable.
14881 (grub_video_fb_init): Use 'framebuffer'.
14882 (grub_video_fb_fini): Likewise.
14883 (grub_video_fb_get_info): Likewise.
14884 (grub_video_fb_get_palette): Likewise.
14885 (grub_video_fb_set_palette): Likewise.
14886 (grub_video_fb_set_viewport): Likewise.
14887 (grub_video_fb_get_viewport): Likewise.
14888 (grub_video_fb_map_color): Likewise.
14889 (grub_video_fb_map_rgb): Likewise.
14890 (grub_video_fb_map_rgba): Likewise.
14891 (grub_video_fb_unmap_color): Likewise.
14892 (grub_video_fb_unmap_color_int): Likewise.
14893 (grub_video_fb_fill_rect): Likewise.
14894 (grub_video_fb_blit_bitmap): Likewise.
14895 (grub_video_fb_blit_render_target): Likewise.
14896 (grub_video_fb_scroll): Likewise.
14897 (grub_video_fb_create_render_target): Likewise.
14898 (grub_video_fb_doublebuf_blit_init): Likewise.
14899 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14900 (doublebuf_pageflipping_update_screen): New function.
14901 (doublebuf_pageflipping_init): Likewise.
14902 (grub_video_fb_setup): Likewise.
14903 (grub_video_fb_swap_buffers): Likewise.
14904 (grub_video_fb_get_info_and_fini): Likewise.
14905 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14906 All users updated.
14907 (doublebuf_pageflipping_commit): Restructured into ...
14908 (doublebuf_pageflipping_set_page): ... this.
14909 (doublebuf_pageflipping_update_screen): Removed.
14910 (doublebuf_pageflipping_init): Likewise.
14911 (double_buffering_init): Likewise.
14912 (grub_video_vbe_setup): Use grub_video_fb_setup.
14913 (grub_video_vbe_swap_buffers): Removed.
14914 (grub_video_vbe_set_active_render_target): Likewise.
14915 (grub_video_vbe_get_active_render_target): Likewise.
14916 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14917 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14918 grub_video_fb_set_active_render_target and
14919 grub_video_fb_get_active_render_target.
14920 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14921 (SEQUENCER_DATA_PORT): Likewise.
14922 (MAP_MASK_REGISTER): Likewise.
14923 (CRTC_ADDR_PORT): Likewise.
14924 (CRTC_DATA_PORT): Likewise.
14925 (START_ADDR_HIGH_REGISTER): Likewise.
14926 (START_ADDR_LOW_REGISTER): Likewise.
14927 (GRAPHICS_ADDR_PORT): Likewise.
14928 (GRAPHICS_DATA_PORT): Likewise.
14929 (READ_MAP_REGISTER): Likewise.
14930 (INPUT_STATUS1_REGISTER): Likewise.
14931 (INPUT_STATUS1_VERTR_BIT): Likewise.
14932 (get_map_mask): Use grub_vga_sr_read.
14933 (set_map_mask): Use grub_vga_sr_write.
14934 (set_read_map): Use grub_vga_gr_write.
14935 (set_start_address): Use grub_vga_cr_write.
14936 * video/sm712.c (framebuffer): Remove leftover fields.
14937
4321c64a
CW
149382010-06-20 Colin Watson <cjwatson@ubuntu.com>
14939
14940 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14941 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14942 instead. Replace the gfxterm backend check with a check that
14943 ${GRUB_PREFIX}/video.lst is non-empty.
14944 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14945 again.
14946 (load_video): New generated function. Call it before loading
14947 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14948 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14949 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14950 * docs/grub.texi (Simple configuration): Document
14951 GRUB_VIDEO_BACKEND.
14952
149532010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 Use video functions in linux and xnu loaders.
14956
14957 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14958 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14959 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14960 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14961 loader/i386/pc/linux.c.
14962 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14963 (find_line_len): Removed.
14964 (find_framebuf): Likewise.
14965 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14966 * loader/i386/efi/xnu.c: Removed.
14967 * loader/i386/pc/xnu.c: Moved from here...
14968 * loader/i386/xnu.c: ...here.
14969
14970 Enable priorities in video drivers.
14971
14972 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14973 (grub_video_adapter): New field prio.
14974 (grub_video_register): Respect prio when inserting.
14975 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14976 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14977 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14978 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14979 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14980 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14981 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14982
14983 Fix SDL driver ID.
14984
14985 * include/grub/video.h (grub_video_driver_id_t): New value
14986 GRUB_VIDEO_DRIVER_SDL.
14987 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14988
7d24e434
CW
149892010-06-17 Colin Watson <cjwatson@ubuntu.com>
14990
14991 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14992 argument to printf.
14993 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14994
c88a83f6
CW
149952010-06-17 Colin Watson <cjwatson@ubuntu.com>
14996
14997 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14998 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14999
094dfb69
CW
150002010-06-17 Colin Watson <cjwatson@ubuntu.com>
15001
15002 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
15003 directly, and recommend grub-install instead.
15004 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15005
2164da6b
CW
150062010-06-17 Colin Watson <cjwatson@ubuntu.com>
15007
15008 Fix i386-pc prefix handling with nested partitions (Debian bug
15009 #585068). Note that the case where the core image is booted using
15010 multiboot and relocated from its original location still requires
15011 more work.
15012
15013 * kern/i386/pc/init.c (make_install_device): If the prefix starts
15014 with "(,", fill the boot drive in between those two characters, but
15015 expect that a full partition specification including partition map
15016 names will follow.
15017 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
15018 specified, write a prefix without the drive name but including a
15019 full partition specification.
15020
044e2e60
CW
150212010-06-16 Colin Watson <cjwatson@ubuntu.com>
15022
15023 * util/grub-mkconfig.in: Ignore non-option arguments, for
15024 compatibility with older versions (before 2010-06-12) which did the
15025 same. In particular, this makes it easier to ship an update-grub
15026 wrapper which is compatible with that used with GRUB Legacy (Debian
15027 bug #586056).
15028
5591324f
GS
150292010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15030
15031 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
15032 for manual page generation.
15033
662e24d5
GS
150342010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15035
15036 * po/POTFILES: Remove leftover commands/handler.c.
15037
8d70754e
CW
150382010-06-14 Colin Watson <cjwatson@ubuntu.com>
15039
15040 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
15041 left this script non-functional.
15042
41160e2e
CW
150432010-06-14 Colin Watson <cjwatson@ubuntu.com>
15044
15045 * docs/man/grub-emu.h2m: New file.
15046
b5309cc1
CW
150472010-06-13 Colin Watson <cjwatson@ubuntu.com>
15048
15049 * docs/grub.texi (Commands): Document reduced command set in rescue
15050 mode.
15051 (cpuid): New section.
15052
fcb2d090
GS
150532010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
15054
15055 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
15056 new partition naming style.
15057 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
15058
96e5c556
BC
150592010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
15060
15061 Add "-o grub.iso" like cmdline options support.
15062
15063 * util/grub-install.in: Improve cmdline option parsing.
15064 * util/grub-mkconfig.in: Likewise.
15065 * util/grub-mkrescue.in: Likewise.
15066 * util/grub-reboot.in: Likewise.
15067 * util/grub-set-default.in: Likewise.
15068 * util/i386/efi/grub-install.in: Likewise.
15069 * util/ieee1275/grub-install.in: Likewise.
15070 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15071
c16be99b
CW
150722010-06-12 Colin Watson <cjwatson@ubuntu.com>
15073
15074 * .bzrignore: Ignore 41_custom.
15075
ce08a9fb
TS
150762010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15077
15078 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
15079
7beac90c
CW
150802010-06-12 Colin Watson <cjwatson@ubuntu.com>
15081
15082 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
15083 prototype declarations.
15084
15085 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
15086 generating fs, partmap, and video lists.
15087 * include/grub/fs.h (grub_fs_register): Omit prototype if
15088 GRUB_LST_GENERATOR is defined.
15089 * include/grub/partition.h (grub_partition_map_register): Likewise.
15090 * include/grub/video.h (grub_video_register): Likewise.
15091
1c8f0f8d
JM
150922010-06-12 Javier Martín <lordhabbit@gmail.com>
15093
15094 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
15095
a6085973
TS
150962010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15097
15098 * util/grub-mkrescue.in: Support --xorriso argument.
15099
25c56d29
VS
151002010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
15103 Suggested by: Thomas Schmitt.
15104
e03e4b24
VS
151052010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
15108 Suggested by: Thomas Schmitt.
15109
57711df6
VS
151102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 custom.cfg support.
15113
15114 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
15115 * util/grub.d/41_custom.in: New file.
15116
ee62c427
CW
151172010-06-12 Colin Watson <cjwatson@ubuntu.com>
15118
15119 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15120 been merged back into normal.
15121
283af07a
CW
151222010-06-11 Colin Watson <cjwatson@ubuntu.com>
15123
15124 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15125 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15126
56a0d956
CW
151272010-06-11 Colin Watson <cjwatson@ubuntu.com>
15128
15129 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15130 when generating manual pages.
15131 * docs/man/grub-bin2h.h2m: New file.
15132 * docs/man/grub-editenv.h2m: New file.
15133 * docs/man/grub-fstest.h2m: New file.
15134 * docs/man/grub-install.h2m: New file.
15135 * docs/man/grub-macho2img.h2m: New file.
15136 * docs/man/grub-mkconfig.h2m: New file.
15137 * docs/man/grub-mkdevicemap.h2m: New file.
15138 * docs/man/grub-mkfont.h2m: New file.
15139 * docs/man/grub-mkimage.h2m: New file.
15140 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15141 * docs/man/grub-mkrelpath.h2m: New file.
15142 * docs/man/grub-mkrescue.h2m: New file.
15143 * docs/man/grub-ofpathname.h2m: New file.
15144 * docs/man/grub-pe2elf.h2m: New file.
15145 * docs/man/grub-probe.h2m: New file.
15146 * docs/man/grub-reboot.h2m: New file.
15147 * docs/man/grub-script-check.h2m: New file.
15148 * docs/man/grub-set-default.h2m: New file.
15149 * docs/man/grub-setup.h2m: New file.
15150
3a37e322
VS
151512010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15152
15153 Use FOR_* macros instead of *_iterate whenever possible.
15154
15155 * commands/handler.c: Removed.
15156 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15157 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15158 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15159 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15160 (grub_probe_SOURCES): Remove kern/parser.c.
15161 (util/grub-script-check.c_DEPENDENCIES): Removed.
15162 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15163 and grub_script_check_init.c.
15164 (grub_script_check_init.lst): Removed.
15165 (grub_script_check_init.h): Likewise.
15166 (grub_script_check_init.c): Likewise.
15167 (pkglib_MODULES): Remove handler.mod and sh.mod.
15168 (handler_mod_SOURCES): Removed.
15169 (handler_mod_CFLAGS): Likewise.
15170 (handler_mod_LDFLAGS): Likewise.
15171 (normal_mod_SOURCES): Remove normal/handler.c.
15172 Add script/main.c, script/script.c, script/execute.c,
15173 script/function.c, script/lexer.c, grub_script.tab.c
15174 and grub_script.yy.c.
15175 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15176 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15177 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15178 (grub_setup_SOURCES): Remove kern/parser.c.
15179 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15180 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15181 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15182 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15183 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15184 (grub_setup_SOURCES): Remove kern/parser.c.
15185 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15186 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15187 * include/grub/command.h (grub_command_iterate): Removed.
15188 (FOR_COMMANDS): New macro.
15189 * include/grub/dl.h (grub_dl): New member next.
15190 (grub_dl_iterate): Removed.
15191 (grub_dl_head): New variable declaration.
15192 (FOR_DL_MODULES): New macro.
15193 * include/grub/fs.h: Include list.h.
15194 (grub_fs): Make next first element.
15195 (grub_fs_list): New variable declaration.
15196 (grub_fs_register): Make inline.
15197 (grub_fs_unregister): Likewise.
15198 (grub_fs_iterate): Removed.
15199 (FOR_FILESYSTEMS): New macro.
15200 * include/grub/handler.h: Removed.
15201 * include/grub/list.h (grub_list_hook_t): Removed.
15202 (grub_list_test_t): Likewise.
15203 (grub_list_pop): Likewise.
15204 (grub_list_iterate): Likewise.
15205 (grub_list_insert): Likewise.
15206 (FOR_LIST_ELEMENTS): New macro.
15207 * include/grub/parser.h (grub_parser_class): Removed.
15208 (grub_parser_register): Likewise.
15209 (grub_parser_unregister): Likewise.
15210 (grub_parser_get_current): Likewise.
15211 (grub_parser_set_current): Likewise.
15212 (grub_register_rescue_parser): Likewise.
15213 (grub_rescue_parse_line): New function.
15214 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15215 * include/grub/script_sh.h (grub_script_function_list): New variable
15216 declaration.
15217 (FOR_SCRIPT_FUNCTIONS): New macro.
15218 (grub_script_function_iterate): Removed.
15219 (grub_normal_parse_line): New prototype.
15220 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15221 (FOR_DISABLED_TERM_INPUTS): Likewise.
15222 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15223 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15224 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15225 element.
15226 (grub_video_register): Inline.
15227 (grub_video_unregister): Likewise.
15228 (grub_video_adapter_list): New variable declaration.
15229 (grub_video_iterate): Removed.
15230 (FOR_VIDEO_ADAPTERS): New macro.
15231 * kern/dl.c (grub_dl_list): Removed. All users updated.
15232 (grub_dl_iterate): Removed.
15233 * kern/fs.c (grub_fs_list): Make global.
15234 (grub_fs_register): Removed.
15235 (grub_fs_unregister): Likewise.
15236 (grub_fs_iterate): Likewise.
15237 * kern/handler.c: Removed.
15238 * kern/list.c (grub_list_pop): Removed.
15239 (grub_list_iterate): Likewise.
15240 (grub_list_insert): Likewise.
15241 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15242 (grub_prio_list_insert): Don't use grub_list_insert.
15243 * kern/main.c (grub_register_rescue_parser): Don't call
15244 grub_register_rescue_parser.
15245 * kern/parser.c (grub_parser_class): Removed.
15246 (grub_parser_execute): Use grub_rescue_parse_line.
15247 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15248 (grub_rescue_parser): Removed.
15249 (grub_register_rescue_parser): Likewise.
15250 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15251 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15252 (grub_auth_check_authentication): Likewise.
15253 * normal/completion.c (iterate_command): Removed.
15254 (grub_normal_do_completion): Use FOR_COMMANDS.
15255 * normal/handler.c: Removed.
15256 * normal/main.c (read_config_file): Remove parser changing.
15257 (grub_normal_execute): Don't call read_handler_list.
15258 (grub_normal_read_line_real): Statically allocate prompt.
15259 (grub_cmdline_run): Use grub_normal_parse_line.
15260 (GRUB_MOD_FINI): Don't call free_handler_list.
15261 * normal/menu_entry.c (run): Likewise.
15262 * script/function.c (grub_script_function_list): Make global.
15263 (grub_script_function_iterate): Removed.
15264 * script/main.c (grub_normal_parse_line): Make global.
15265 (grub_sh_parser): Removed.
15266 (GRUB_MOD_INIT): Likewise.
15267 (GRUB_MOD_FINI): Likewise.
15268 * tests/lib/functional_test.c (grub_functional_test): Use
15269 FOR_LIST_ELEMENTS.
15270 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15271 (grub_test_run): Use FOR_LIST_ELEMENTS.
15272 * tests/lib/unit_test.c (main): Likewise.
15273 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15274 grub_list_pop.
15275 * util/grub-fstest.c (grub_term_input_class): Removed.
15276 (grub_term_output_class): Likewise.
15277 * util/grub-probe.c: Likewise.
15278 * util/i386/pc/grub-setup.c: Likewise.
15279 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15280 * util/grub-script-check.c (main): Don't call grub_init_all and
15281 grub_fini_all.
15282 * video/video.c (grub_video_adapter_list): Make global.
15283 (grub_video_register): Removed.
15284 (grub_video_unregister): Likewise.
15285 (grub_video_iterate): Likewise.
15286
6289c3a7
VS
152872010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15290 reported by Henrique Ferreiro.
15291
91460247
RM
152922010-06-09 Robert Millan <rmh@gnu.org>
15293
15294 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15295 ones, when both are available.
15296
0ea7c4f9
GS
152972010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15298
15299 Make --version uniform and avoid hard-coded program name.
15300
15301 * util/grub-mkimage.c (main): Use `program_name' instead of
15302 hard-coded string.
15303 * util/i386/pc/grub-setup.c (main): Likewise.
15304 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15305 * util/grub-install.in: Save the basename of $0 in $self, and use the
15306 latter in informational messages. Use the same format for --version
15307 as the binary programs.
15308 * util/grub-mkconfig.in: Likewise.
15309 * util/grub-mkrescue.in: Likewise.
15310 * util/grub-reboot.in: Likewise.
15311 * util/grub-set-default.in: Likewise.
15312 * util/i386/efi/grub-install.in: Likewise.
15313 * util/ieee1275/grub-install.in: Likewise.
15314 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15315
e8a6f3b6
GS
153162010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15317
15318 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15319 embedding area. Use <= instead of == when checking for non-emptiness.
15320
f4d095d7
GS
153212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15322
15323 * configure.ac: Add `.' to the directories searched for unifont.
15324
50e532ca
CW
153252010-06-08 Colin Watson <cjwatson@ubuntu.com>
15326
15327 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15328 grub_script.yy.h.
15329
d39f3dec
CW
153302010-06-08 Colin Watson <cjwatson@ubuntu.com>
15331
15332 * docs/grub.texi (History): Expand to cover GRUB 2.
15333 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15334 commands, not `terminal'.
15335 (serial): Likewise.
15336 (terminal_input): New section.
15337 (terminal_output): New section.
15338 (uppermem): New section (stub).
15339 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15340
6ef0ddb4
CW
153412010-06-08 Colin Watson <cjwatson@ubuntu.com>
15342
15343 * docs/grub.texi (Security): Menu entries are unrestricted by
15344 default, not restricted to superusers as I had previously thought.
15345 Reword to account for this.
15346
e0f4c438
CW
153472010-06-07 Colin Watson <cjwatson@ubuntu.com>
15348
15349 * kern/emu/misc.c (device_mapper_null_log): New function.
15350 (grub_device_mapper_supported): New function.
15351 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15352 prototype.
15353 * kern/emu/hostdisk.c (find_partition_start): Check whether
15354 device-mapper is supported before trying to use it.
15355 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15356
da908200
CW
153572010-06-07 Colin Watson <cjwatson@ubuntu.com>
15358
15359 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15360 (File name syntax): Likewise.
15361 (help): --all is no longer supported in GRUB 2. Be more precise
15362 about pattern matching.
15363
fb55c3ac
CW
153642010-06-07 Colin Watson <cjwatson@ubuntu.com>
15365
15366 * normal/completion.c (grub_normal_do_completion): When completing
15367 arguments to "set" and the current word contains an equals sign,
15368 skip to after the equals sign before starting completion.
15369
258c2573
CW
153702010-06-07 Colin Watson <cjwatson@ubuntu.com>
15371
15372 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15373
ee75515e
CW
153742010-06-07 Colin Watson <cjwatson@ubuntu.com>
15375
15376 * docs/grub.texi (Network): New section.
15377 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15378 `(nd)' as in GRUB Legacy.
15379 (pxe_unload): New section.
15380
a6a700aa
CW
153812010-06-07 Colin Watson <cjwatson@ubuntu.com>
15382
15383 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15384 in the rescue shell, so recommend using `set' instead. Thanks,
15385 Jordan Uggla.
15386
4003dd38
CW
153872010-06-07 Colin Watson <cjwatson@ubuntu.com>
15388
15389 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15390 (password): New section.
15391 (password_pbkdf2): New section.
15392 (search): New section.
15393 (Security): New section.
15394 (Troubleshooting): New section, currently very incomplete.
15395 (Invoking grub-mkpasswd-pbkdf2): New section.
15396 (Internals): New section, currently very incomplete.
15397
e1cbcc40
CW
153982010-06-07 Colin Watson <cjwatson@ubuntu.com>
15399
15400 * util/grub.d/00_header.in: Add some more quoting (of
15401 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15402 work again.
15403 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15404
db8fa1ad
CW
154052010-06-07 Colin Watson <cjwatson@ubuntu.com>
15406
15407 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15408 to `count', fixing variable shadowing that broke the -c option.
15409
154102010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
15411
15412 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15413 in case they contain spaces.
15414
f28a9212
CW
154152010-06-04 Colin Watson <cjwatson@ubuntu.com>
15416
15417 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15418 "part_" to partmap module names, in line with grub-install.
15419 Reported by: Jindřich Makovička (Debian bug #584426).
15420
9cdfe32f
CW
154212010-06-04 Colin Watson <cjwatson@ubuntu.com>
15422
15423 * util/grub-mkimage.c: Make target-related error messages slightly
15424 more helpful; -O talks about "format". Explicitly point to the use
15425 of -O if no target is specified.
15426 Reported by: Didier Raboud (Debian bug #584415).
15427
795b593a
CW
154282010-06-03 Colin Watson <cjwatson@ubuntu.com>
15429
15430 * INSTALL: Document several build requirements for optional features
15431 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15432
9d9b5833
GS
154332010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15434
15435 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15436 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15437 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15438
0819fec8
CW
154392010-06-02 Colin Watson <cjwatson@ubuntu.com>
15440
15441 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15442 Thanks to Jordan Uggla for spotting this.
15443
49396b4f
VS
154442010-06-02 Aleš Nesrsta <starous@volny.cz>
15445
15446 Finally make USB usable.
15447
15448 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15449 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15450 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15451 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15452 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15453 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15454 (GRUB_OHCI_FSMPS): Likewise.
15455 (GRUB_OHCI_PERIODIC_START): Likewise.
15456 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15457 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15458 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15459 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15460 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15461 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15462 (grub_ohci_transaction): Likewise.
15463 (grub_ohci_transfer): Improve condition detection algorithms.
15464 Handle toggle property. Program the transactions correctly.
15465 Improve error handling. Various important fixups.
15466 (grub_ohci_portstatus): Put register writes in right order.
15467 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15468 (grub_uhci_transfer): Don't show "failed" message on success.
15469 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15470 array.
15471 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15472 determine its size.
15473 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15474 before initialization is completed. Use IN direction for empty
15475 transfers. Use last_trans and compute toggle.
15476 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15477 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15478 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15479 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15480 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15481 (grub_usb_device): Increase toggle to 256.
15482 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15483 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15484 GRUB_USBMS_SUBCLASS_SFF8070.
15485 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15486 (grub_scsi_inquiry): New member page and alloc_length.
15487 (grub_scsi_request_sense): New structure.
15488 (grub_scsi_request_sense_data): Likewise.
15489 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15490 control.
15491 * disk/scsi.c (grub_scsi_request_sense): New function.
15492 (grub_scsi_test_unit_ready): Likewise.
15493 (grub_scsi_inquiry): Fill new fields.
15494 (grub_scsi_read_capacity): Likewise.
15495 (grub_scsi_read10): Add request sense at the end.
15496 (grub_scsi_read12): Likewise.
15497 (grub_scsi_write10): Likewise.
15498 (grub_scsi_write12): Likewise.
15499 (grub_scsi_open): Add Test Unit Ready.
15500 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15501 Support additional subclasses. Con't clear halt yet. Activate the
15502 proper config. Calculate LUNs correctly.
15503 (grub_usbms_transfer): Various important fixups.
15504
155052010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15508 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15509 (grub_ohci_fini_hw): New function.
15510 (grub_ohci_restore_hw): Likewise.
15511 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15512 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15513 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15514
155152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15516
15517 Dedicated DMA allocations.
15518
15519 * bus/pci.c (grub_memalign_dma32): New function
15520 (grub_dma_free): Likewise.
15521 (grub_dma_get_virt): Likewise.
15522 (grub_dma_get_phys): Likewise.
15523 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15524 (grub_ohci_pci_iter): Use dma32_alloc.
15525 (grub_ohci_transfer): Likewise.
15526 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15527 (grub_usb_bulk_readwrite): Likewise.
15528 * include/grub/pci.h: Add declarations.
15529
155302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 CS5536 support.
15533
15534 * bus/cs5536.c: New file.
15535 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15536 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15537 (cs5536_mod_SOURCES): New variable.
15538 (cs5536_mod_CFLAGS): Likewise.
15539 (cs5536_mod_LDFLAGS): Likewise.
15540 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15541 machine/pci.h.
15542 (kernel_img_SOURCES): Add bus/cs5536.c.
15543 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15544 usb_keyboard.mod.
15545 (usb_mod_SOURCES): New variable.
15546 (usb_mod_CFLAGS): New variable.
15547 (usb_mod_LDFLAGS): New variable.
15548 (usbtest_mod_SOURCES): New variable.
15549 (usbtest_mod_CFLAGS): New variable.
15550 (usbtest_mod_LDFLAGS): New variable.
15551 (ohci_mod_SOURCES): New variable.
15552 (ohci_mod_CFLAGS): New variable.
15553 (ohci_mod_LDFLAGS): New variable.
15554 (usbms_mod_SOURCES): New variable.
15555 (usbms_mod_CFLAGS): New variable.
15556 (usbms_mod_LDFLAGS): New variable.
15557 (usb_keyboard_mod_SOURCES): New variable.
15558 (usb_keyboard_mod_CFLAGS): New variable.
15559 (usb_keyboard_mod_LDFLAGS): New variable.
15560 * include/grub/smbus.h: New file.
15561 * include/grub/cs5536.h: New file.
15562
0b35b2a9
CW
155632010-06-02 Colin Watson <cjwatson@ubuntu.com>
15564
15565 * util/grub.d/00_header.in: Add safety check to make sure that
15566 ${locale_dir} exists before trying to probe it.
15567
ca0afd5b
CW
155682010-06-02 Colin Watson <cjwatson@ubuntu.com>
15569
15570 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15571 per the GNU Coding Standards; this is now too obscure to be worth
15572 documenting.
15573 (QNX): Likewise.
15574 (chainloader): Remove cross-reference to `SCO UnixWare'.
15575
1c41aa78
CW
155762010-06-02 Colin Watson <cjwatson@ubuntu.com>
15577
15578 * docs/grub.texi (Chain-loading): New section.
15579 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15580 adjusted for GRUB 2.
15581 (SCO UnixWare): Likewise.
15582 (QNX): Likewise.
15583 (chainloader): Add reference to `Block list syntax'.
15584 (drivemap): New section.
15585 (parttool): New section.
15586
bb8ea0f5
CW
155872010-06-02 Colin Watson <cjwatson@ubuntu.com>
15588
15589 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15590 the grub shell'.
15591 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15592 (Installing GRUB using grub-install): Remove reference to the grub
15593 shell; mention `grub-mkimage' and `grub-setup' instead.
15594 (Invoking grub-install): Likewise.
15595 (Interface): Add reference to `Menu entry editor'.
15596 (serial): Remove `--device' option.
15597
288dd6ed
CW
155982010-06-02 Colin Watson <cjwatson@ubuntu.com>
15599
15600 * docs/grub.texi (Configuration): New section, documenting
15601 configuration file generation using grub-mkconfig. I've left a slot
15602 for documenting the full shell scripting format but have not yet
15603 started on writing that up.
15604 (Invoking grub-mkconfig): New section.
15605
34c9f0e9
CW
156062010-06-02 Colin Watson <cjwatson@ubuntu.com>
15607
15608 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15609 (GNU GRUB manual): Likewise.
15610 (General commands): Update description of `terminfo' for GRUB 2.
15611
9121567e
CW
156122010-06-02 Colin Watson <cjwatson@ubuntu.com>
15613
15614 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15615 (GRUB_MOD_INIT): Fix capitalisation.
15616 * docs/grub.texi (Command-line and menu entry commands): Document
15617 gettext and gptsync commands.
15618
ab631611
CW
156192010-06-02 Colin Watson <cjwatson@ubuntu.com>
15620
15621 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15622 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15623
bde4a9ac
CW
156242010-06-01 Colin Watson <cjwatson@ubuntu.com>
15625
15626 Add btrfs probing support, currently only in the single-device case.
15627
15628 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15629 function.
15630 (grub_guess_root_device): Call find_root_device_from_mountinfo
15631 before looking in /dev.
15632
b1d17e10
VS
156332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15636 GRUB_DISK_SIZE_UNKNOWN.
15637 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15638
dfbfe004
JS
156392010-05-31 Jiro SEKIBA <jir@unicus.jp>
15640
15641 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15642 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15643 corrupted or not synced properly.
15644
c2ffc8e9
VS
156452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15648 Reported by: Seth Goldberg.
15649
56293166
VS
156502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15653 addition of dest.
15654 Reported by: Seth Goldberg.
15655
7620e7de
VS
156562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15659 Reported by: Seth Goldberg.
15660
c837af3f
VS
156612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15664 64-bit address as signed on MIPS.
15665
c7c75cf4
CW
156662010-05-28 Colin Watson <cjwatson@ubuntu.com>
15667
15668 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15669 to the empty string.
15670
fa4b8490
BC
156712010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15672
15673 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15674
15675 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15676 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15677 * kern/misc.c (__enable_execute_stack): Disable on
15678 GRUB_MACHINE_EMU.
15679
a33075b9
CW
156802010-05-28 Colin Watson <cjwatson@ubuntu.com>
15681
15682 Make grub-probe work with symbolic links under /dev/mapper as well
15683 as with real block devices. The Linux world seems to be (at best)
15684 in transition here, and GRUB shouldn't get caught in the middle.
15685
15686 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15687 /dev/mapper.
15688
d8708134
CW
156892010-05-27 Colin Watson <cjwatson@ubuntu.com>
15690
15691 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15692 input files (in which case exit zero).
15693
db2102a0
CW
156942010-05-27 Colin Watson <cjwatson@ubuntu.com>
15695
15696 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15697 return NULL for various reasons even if it has a maximum-length
15698 buffer: for example, there might be a symlink loop, or the path
15699 might exceed PATH_MAX. If this happens, return NULL.
15700
5fdba519
RM
157012010-05-27 Robert Millan <rmh@gnu.org>
15702
15703 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15704 partmap module to handle cross-partmap setups.
15705 Reported by Orestes Mas. Gràcies!
15706
d1d368e4
CW
157072010-05-27 Colin Watson <cjwatson@ubuntu.com>
15708
15709 * util/grub-mkrescue.in: Initialise override_dir rather than
15710 assuming that it's unset or empty in the environment.
15711
95ac3c73
GS
157122010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15713
15714 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15715 variable index into p_index to suppress a warning with -Wshadow.
15716
7d8c0213
BC
157172010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15718
15719 * INSTALL: Added flex >= 2.5.35 requirement.
15720
db4d5813
VS
157212010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15724
f24f4300
VS
157252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 cmostest support.
15728
15729 * commands/i386/cmostest.c: New file.
15730 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15731 (cmostest_mod_SOURCES): New variable.
15732 (cmostest_mod_CFLAGS): Likewise.
15733 (cmostest_mod_LDFLAGS): Likewise.
15734 * conf/i386-pc.rmk: Likewise.
15735 * docs/grub.texi (Vendor power-on keys): New section.
15736 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15737 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15738 and GRUB_BUTTON_CMOS_ADDRESS.
15739 * util/grub.d/00_header.in: Handle powering-on by separate button.
15740
ad603f61
VS
157412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15744 Removed drawing_scrollbar argument. All users updated
15745 Fixes #29792.
15746 Reported by Jo Shields
15747
3ecb080a
VS
157482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15751 buffer since gfxterm handles double repaint.
15752
5f2316c1
VS
157532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15756 * term/gfxterm.c (real_scroll): Likewise.
15757
9a25f885
VS
157582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15761 before calling BIOS.
15762
39fbb79a
VS
157632010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * include/grub/i18n.h: Always enable grub_gettext.
15766
228cfa97
VS
157672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15770 partition naming style.
15771
21717c8f
CW
157722010-05-21 Colin Watson <cjwatson@ubuntu.com>
15773
15774 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15775 not the first option.
15776
c0f48e65
CW
157772010-05-20 Colin Watson <cjwatson@ubuntu.com>
15778
15779 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15780
96779aec
CW
157812010-05-20 Colin Watson <cjwatson@ubuntu.com>
15782
15783 * util/misc.c: Move inclusion of <limits.h> to ...
15784 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15785
fa9d256e
GS
157862010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15787
15788 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15789 Fix merge error in NetBSD code.
15790 (find_partition_start) [__NetBSD__]: Likewise.
15791
123b7a85
BC
157922010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15793
15794 Fix grub-mkrescue usage unit testing.
15795
15796 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15797
74276c0d
CF
157982010-05-18 Christian Franke <franke@computer.org>
15799
15800 * util/grub.d/10_windows.in: Use path names instead of
15801 drive letters to prevent warning from Cygwin 1.7.
15802 Add drivemap command to menuentry if needed.
15803
c4f7b523
ST
158042010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15805
15806 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15807 gnumach and gnumach.gz.
15808
95b97950
VS
158092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * include/grub/i18n.h (gettext): Inline instead of using #define.
15812 (grub_gettext): Likewise.
15813 (_): Likewise.
15814
01b8d2d7
VS
158152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15818 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15819 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15820 (main): Add a slash after pkglibdirroot.
15821
654e1d1e
VS
158222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * util/grub-install.in: Add missing "in" keyword.
15825
26966aeb
VS
158262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15829 Reported by: Seth Goldberg.
15830
75006747
VS
158312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15834
74cbf5bd
CW
158352010-05-18 Colin Watson <cjwatson@ubuntu.com>
15836
15837 * configure.ac: Check for Linux device-mapper support.
15838
15839 * util/hostdisk.c (device_is_mapped): New function.
15840 (find_partition_start): New function, partly broken out from
15841 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15842 device-mapper support added.
15843 (linux_find_partition): Use find_partition_start.
15844 (convert_system_partition_to_system_disk): Add `st' argument.
15845 Support Linux /dev/mapper/* devices if device-mapper support is
15846 available; only DM-RAID devices are understood at present.
15847 (find_system_device): Add `st' argument. Pass it to
15848 convert_system_partition_to_system_disk.
15849 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15850 find_system_device and convert_system_partition_to_system_disk. Use
15851 find_partition_start.
15852
15853 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15854 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15855 * util/deviceiter.c [__linux__]: Define MINOR.
15856 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15857 * util/mkdevicemap.c (grub_putchar): New function.
15858 (grub_getkey): New function.
15859 (grub_refresh): New function.
15860 (main): Set debug=all if -v -v is used.
15861
355b51e9
CW
158622010-05-18 Colin Watson <cjwatson@ubuntu.com>
15863
15864 Fix build with non-GNU libcs.
15865
15866 * util/misc.c (canonicalize_file_name): Move to ...
15867 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15868 grub_make_system_path_relative_to_its_root.
15869
7fb5c25f
CW
158702010-05-18 Colin Watson <cjwatson@ubuntu.com>
15871
15872 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15873 we handle finding grub-mkimage. Default to finding grub-mkimage in
15874 ${bindir} with program_transform_name applied, and provide a
15875 --grub-mkimage option to override this.
15876
1d3293d6
VS
158772010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 Remove grub-mkisofs.
15880
15881 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15882 (grub_mkisofs_SOURCES): Removed.
15883 (grub_mkisofs_CFLAGS): Removed.
15884 * util/mkisofs/defaults.h: Removed.
15885 * util/mkisofs/eltorito.c: Likewise.
15886 * util/mkisofs/exclude.h: Likewise.
15887 * util/mkisofs/hash.c: Likewise.
15888 * util/mkisofs/include/: Likewise.
15889 * util/mkisofs/include/fctldefs.h: Likewise.
15890 * util/mkisofs/include/mconfig.h: Likewise.
15891 * util/mkisofs/include/prototyp.h: Likewise.
15892 * util/mkisofs/include/statdefs.h: Likewise.
15893 * util/mkisofs/iso9660.h: Likewise.
15894 * util/mkisofs/joliet.c: Likewise.
15895 * util/mkisofs/match.c: Likewise.
15896 * util/mkisofs/match.h: Likewise.
15897 * util/mkisofs/mkisofs.c: Likewise.
15898 * util/mkisofs/mkisofs.h: Likewise.
15899 * util/mkisofs/msdos_partition.h: Likewise.
15900 * util/mkisofs/multi.c: Likewise.
15901 * util/mkisofs/name.c: Likewise.
15902 * util/mkisofs/rock.c: Likewise.
15903 * util/mkisofs/tree.c: Likewise.
15904 * util/mkisofs/write.c: Likewise.
15905
5dde9afe
VS
159062010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 Unify grub-mkimage accross platforms.
15909
15910 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15911 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15912 (grub_mkelfimage_SOURCES): Removed.
15913 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15914 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15915 (bin_UTILITIES): Add grub-mkimage.
15916 (grub_mkimage_SOURCES): New variable.
15917 (kernel_img_HEADERS): Remove machine/kernel.h.
15918 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15919 (pkglib_PROGRAMS): Add kernel.img.
15920 (kernel_img_HEADERS): Add machine/kernel.h.
15921 (kernel_img_FORMAT): Removed.
15922 (bin_UTILITIES): Remove grub-mkimage.
15923 (grub_mkimage_SOURCES): Removed.
15924 (grub_mkimage_CFLAGS): Likewise.
15925 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15926 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15927 (pkglib_PROGRAMS): Add kernel.img.
15928 (bin_UTILITIES): Remove grub-mkimage.
15929 (grub_mkimage_SOURCES): Removed.
15930 (grub_mkimage_CFLAGS): Likewise.
15931 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15932 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15933 (pkglib_PROGRAMS): Add kernel.img.
15934 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15935 (pkglib_PROGRAMS): Add kernel.img.
15936 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15937 (grub_mkimage_SOURCES): Removed.
15938 (grub_mkimage_CFLAGS): Likewise.
15939 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15940 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15941 (pkglib_PROGRAMS): Add kernel.img.
15942 (bin_UTILITIES): Remove grub-mkimage.
15943 (grub_mkimage_SOURCES): Removed.
15944 (grub_mkimage_CFLAGS): Likewise.
15945 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15946 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15947 (grub_mkimage_SOURCES): Removed.
15948 (grub_mkimage_CFLAGS): Likewise.
15949 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15950 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15951 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15952 (grub_pe32_optional_header): ... this.
15953 (grub_pe64_optional_header): ... and this. All users updated.
15954 (GRUB_PE32_PE32_MAGIC): Split into ..
15955 (GRUB_PE32_PE32_MAGIC): .. this.
15956 (GRUB_PE32_PE64_MAGIC): .. and this.
15957 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15958 * include/grub/elf.h (PT_GNU_STACK): New definition.
15959 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15960 * include/grub/i386/efi/kernel.h: Likewise.
15961 * include/grub/i386/kernel.h: Likewise.
15962 * include/grub/i386/pc/kernel.h: Likewise.
15963 * include/grub/i386/qemu/boot.h: Likewise.
15964 * include/grub/mips/kernel.h: Likewise.
15965 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15966 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15967 * include/grub/powerpc/kernel.h: Likewise.
15968 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15969 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15970 * include/grub/sparc64/kernel.h: Likewise.
15971 * include/grub/x86_64/efi/kernel.h: Likewise.
15972 * include/grub/x86_64/kernel.h: Likewise.
15973 * include/grub/offsets.h: New file.
15974 * include/grub/kernel.h (grub_module_info): Split into ...
15975 (grub_module_info32): ... this.
15976 (grub_module_info64): ... and this.
15977 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15978 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15979 (grub_boot_blocklist): Moved from here ...
15980 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15981 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15982 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15983 * include/grub/types.h (grub_target_to_host16): Removed.
15984 (grub_target_to_host32): Likewise.
15985 (grub_target_to_host64): Likewise.
15986 (grub_host_to_target16): Likewise.
15987 (grub_host_to_target32): Likewise.
15988 (grub_host_to_target64): Likewise.
15989 (grub_host_to_target_addr): Likewise.
15990
15991 Support grub-mkrescue for efi, coreboot and qemu.
15992
15993 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15994 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15995 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15996 * util/grub-mkrawimage.c: Moved from here ...
15997 * util/grub-mkimage.c: ... here. All users updated.
15998 (ALIGN_ADDR): Use image_target.
15999 (TARGET_NO_FIELD): New const.
16000 (image_target_desc): New type.
16001 (image_targets): New array.
16002 (grub_target_to_host64): Use image_target.
16003 (grub_target_to_host32): Likewise.
16004 (grub_target_to_host16): Likewise.
16005 (grub_host_to_target64): Likewise.
16006 (grub_host_to_target32): Likewise.
16007 (grub_host_to_target16): Likewise.
16008 (grub_host_to_target_addr): Likewise.
16009 (generate_image): Handle multiimage.
16010 (main): Require -O parameter. All users updated.
16011 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
16012 util/efi/grub-mkimage.c
16013 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
16014 New option --rom-directory.
16015 Use xorriso.
16016 * util/i386/efi/grub-mkimage.c: Removed.
16017 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
16018 (grub_target_to_host32): Likewise.
16019 (grub_target_to_host64): Likewise.
16020 (grub_host_to_target16): Likewise.
16021 (grub_host_to_target32): Likewise.
16022 (grub_host_to_target64): Likewise.
16023 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
16024 (grub_target_to_host32): Likewise.
16025 (grub_target_to_host64): Likewise.
16026 (grub_host_to_target16): Likewise.
16027 (grub_host_to_target32): Likewise.
16028 (grub_host_to_target64): Likewise.
16029
f4fc97d0
BC
160302010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
16031
16032 Source tree is reorganized for emu build.
16033
16034 * include/grub/util/console.h: Move from here...
16035 * include/grub/emu/console.h: ...to here.
16036 * include/grub/util/getroot.h: Move from here...
16037 * include/grub/emu/getroot.h: ...to here.
16038 * include/grub/util/hostdisk.h: Move from here...
16039 * include/grub/emu/hostdisk.h: ...to here.
16040 * util/console.c: Move from here...
16041 * kern/emu/console.c: ...to here.
16042 * util/getroot.c: Move from here...
16043 * kern/emu/getroot.c: ...to here.
16044 * util/grub-emu.c: Move from here...
16045 * kern/emu/main.c: ...to here.
16046 * util/hostdisk.c: Move from here...
16047 * kern/emu/hostdisk.c: ...to here.
16048 * util/hostfs.c: Move from here...
16049 * kern/emu/hostfs.c: ...to here.
16050 * util/mm.c: Move from here...
16051 * kern/emu/mm.c: ...to here.
16052 * util/pci.c: Move from here...
16053 * bus/emu/pci.c: ...to here.
16054 * util/sdl.c: Move from here...
16055 * video/emu/sdl.c: ...to here.
16056 * util/time.c: Move from here...
16057 * kern/emu/time.c: ...to here.
16058 * util/usb.c: Move from here...
16059 * bus/usb/emu/usb.c: ...to here.
16060
16061 * include/grub/emu/misc.h: New header for grub-emu functions.
16062 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
16063
16064 * conf/any-emu.rmk: Rule updates for above renames.
16065 * conf/common.rmk: Likewise.
16066 * conf/i386-pc.rmk: Likewise.
16067 * conf/i386-qemu.rmk: Likewise.
16068 * conf/mips.rmk: Likewise.
16069 * conf/sparc64-ieee1275.rmk: Likewise.
16070 * conf/x86-efi.rmk: Likewise.
16071
16072 * disk/lvm.h: #include updates for above renames.
16073 * util/grub-mkrelpath.c: Likewise.
16074 * util/grub-probe.c: Likewise.
16075 * util/i386/pc/grub-setup.c: Likewise.
16076 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16077 * kern/emu/console.c: Likewise.
16078 * kern/emu/getroot.c: Likewise.
16079 * kern/emu/hostdisk.c: Likewise.
16080 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
16081
16082 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
16083 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
16084 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
16085 * util/misc.c: Remove grub-emu functions.
16086
cced9145
VS
160872010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16088
16089 Fix gfxmenu crash.
16090 Reported by: Thorsten Grützmacher.
16091
16092 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
16093 timeout hook.
16094 (circprog_set_property): Register and unregister timeout hook.
16095 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
16096 (label_destroy): Free template. and unregister hook.
16097 (label_set_state): New function.
16098 (label_set_property): Handle templates and hooks.
16099 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
16100 timeout hook.
16101 (progress_bar_set_property): Register and unregister timeout hook.
16102 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
16103 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
16104 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
16105 (update_timeout_visit): Removed.
16106 (update_timeouts): New function.
16107 (redraw_timeouts): Likewise.
16108 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
16109 (grub_gfxmenu_clear_timeout): Likewise.
16110 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
16111 (grub_gfxmenu_timeout_notify): Likewise.
16112 (grub_gfxmenu_timeout_notifications): New external variable.
16113 (grub_gfxmenu_timeout_register): New function.
16114 (grub_gfxmenu_timeout_unregister): Likewise.
16115
c6e5caab
VS
161162010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 Transform (broken) vga terminal into (working) vga video driver.
16119
16120 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16121 video/i386/pc/vga.c.
16122 * include/grub/video.h (grub_video_driver_id):
16123 Add GRUB_VIDEO_DRIVER_VGA.
16124 * term/i386/pc/vga.c: Renamed to ...
16125 * video/i386/pc/vga.c: ...this
16126 (DEBUG_VGA): Removed.
16127 (CHAR_WIDTH): Likewise.
16128 (CHAR_HEIGHT): Likewise.
16129 (TEXT_WIDTH): Likewise.
16130 (TEXT_HEIGHT): Likewise.
16131 (DEFAULT_FG_COLOR): Likewise.
16132 (DEFAULT_BG_COLOR): Likewise.
16133 (colored_char): Likewise.
16134 (xpos): Likewise.
16135 (ypos): Likewise.
16136 (cursor_state): Likewise.
16137 (fg_color): Likewise.
16138 (bg_color): Likewise.
16139 (text_buf): Likewise.
16140 (page): Likewise.
16141 (font): Likewise.
16142 (framebuffer): New variable.
16143 (set_read_map): Disabled.
16144 (setup): New variable.
16145 (is_target): Likewise.
16146 (grub_vga_mod_init): Likewise.
16147 (grub_vga_mod_fini): Likewise.
16148 (check_vga_mem): Likewise.
16149 (write_char): Likewise.
16150 (write_cursor): Likewise.
16151 (scroll_up): Likewise.
16152 (grub_vga_putchar): Likewise.
16153 (grub_vga_getcharwidth): Likewise.
16154 (grub_vga_getwh): Likewise.
16155 (grub_vga_getxy): Likewise.
16156 (grub_vga_gotoxy): Likewise.
16157 (grub_vga_cls): Likewise.
16158 (grub_vga_setcolorstate): Likewise.
16159 (grub_vga_setcursor): Likewise.
16160 (grub_video_vga_init): New function.
16161 (grub_video_vga_setup): Likewise.
16162 (grub_video_vga_fini): Likewise.
16163 (update_target): Likewise.
16164 (grub_video_vga_blit_bitmap): Likewise.
16165 (grub_video_vga_blit_render_target): Likewise.
16166 (grub_video_vga_set_active_render_target): Likewise.
16167 (grub_video_vga_get_active_render_target): Likewise.
16168 (grub_video_vga_swap_buffers): Likewise.
16169 (grub_video_vga_set_palette): Likewise.
16170 (grub_video_vga_get_info_and_fini): Likewise.
16171 (grub_vga_term): Removed.
16172 (grub_video_vga_adapter): New variable.
16173 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16174 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16175
2bf61a98
VS
161762010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16177
16178 * video/readers/jpeg.c: Indented.
16179
09ddcd11
VS
161802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 Various jpeg cleanups.
16183
16184 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16185 (grub_jpeg_decode_quan_table): Use sizeof.
16186 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16187
e5507505
PH
161882010-05-05 Peter Hurley <No e-mail available> (tiny change)
16189
16190 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16191 tables. Ignore non-last ac bit.
16192 (grub_jpeg_decode_quan_table): Likewise.
16193
7e720a9b
VS
161942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16197 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16198 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16199 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16200 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16201 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16202
a7fc080b
VS
162032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16206 error.
16207
2bf6012d
VS
162082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16211
265d68cd
VS
162122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16215 condition.
16216
162172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
16218
16219 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16220 part.
16221
265d68cd 162222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
16223
16224 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16225 pointers.
16226
265d68cd 162272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
16228
16229 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16230
d1b61374
CF
162312010-05-01 Christian Franke <franke@computer.org>
16232
16233 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16234 Remove broken Cygwin path conversion.
16235 * util/misc.c: [__CYGWIN__] Add include and define.
16236 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16237 for Cygwin 1.7.
16238 (make_system_path_relative_to_its_root): Simplify loop, replace early
16239 return by break.
16240 [__CYGWIN__] Add conversion to win32 path.
16241 Include "/" case in trailing slash removal.
16242
3558c6e9
VS
162432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16246 Reported by: Seth Goldberg
16247
f5f3ff93
VS
162482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 * commands/help.c (grub_cmd_help): Fix a typo.
16251 Reported by: Seth Goldberg
16252
d8b5cd40
VS
162532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16256 name and add N_.
16257 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16258 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16259 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16260 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16261 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16262 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16263 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16264 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16265 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16266 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16267 * normal/context.c (GRUB_MOD_INIT): Likewise.
16268 * normal/main.c (GRUB_MOD_INIT): Likewise.
16269 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16270 * term/serial.c (GRUB_MOD_INIT): Likewise.
16271 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16272
88c14915
VS
162732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16274
16275 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16276 extra == 0.
16277
165134bc
VS
162782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * commands/iorw.c: New file.
16281 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16282 (iorw_mod_SOURCES): New variable.
16283 (iorw_mod_CFLAGS): Likewise.
16284 (iorw_mod_LDFLAGS): Likewise.
16285
c5ac9b32
VS
162862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 Hotkey support
16289
16290 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16291 * normal/main.c (hotkey_aliases): New variable.
16292 (grub_normal_add_menu_entry): Parse "--hotkey".
16293 * normal/menu_text.c (run_menu): Handle hotkeys.
16294
ce60689c
VS
162952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * kern/i386/coreboot/init.c (grub_machine_init): Call
16298 grub_machine_mmap_init on qemu.
16299
0359d006
VS
163002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * boot/i386/qemu/boot.S: Add a missing .code16.
16303
7819a456
VS
163042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 Use LBIO on coreboot.
16307
16308 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16309 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16310 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16311 New declaration.
16312 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16313 grub_machine_mmap_init on coreboot.
16314 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16315 GRUB_LINUXBIOS_MEMBER_LINK.
16316 (grub_machine_mmap_iterate): Fix declaration.
16317 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16318
7210dca9
VS
163192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 Split coreboot and multiboot ports.
16322
16323 * conf/i386-multiboot.rmk: New file.
16324 * configure.ac: Add multiboot port.
16325 * include/grub/i386/multiboot/boot.h: New file.
16326 * include/grub/i386/multiboot/console.h: Likewise.
16327 * include/grub/i386/multiboot/init.h: Likewise.
16328 * include/grub/i386/multiboot/kernel.h: Likewise.
16329 * include/grub/i386/multiboot/loader.h: Likewise.
16330 * include/grub/i386/multiboot/memory.h: Likewise.
16331 * include/grub/i386/multiboot/serial.h: Likewise.
16332 * include/grub/i386/multiboot/time.h: Likewise.
16333 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16334 * loader/multiboot.c: Likewise.
16335 * loader/multiboot_mbi2.c: Likewise.
16336 * util/grub-mkrescue.in: Generate multiboot rescue.
16337
6f8aaf68
VS
163382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16339
3080f7a7
VS
16340 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16341
163422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
16345
16346 * commands/terminal.c (abstract_terminal): New struct.
16347 (handle_command): New function. Based on grub_cmd_terminal_input.
16348 (grub_cmd_terminal_input): Use handle_command.
16349 (grub_cmd_terminal_output): Use handle_command.
16350
a8ebb841
BC
163512010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16352
16353 Fix comment handling.
16354
16355 * tests/grub_script_comments.in: New testcase.
16356 * conf/tests.rmk: Rules for new testcase.
16357 * script/yylex.l: Updated flex rules.
16358
bb06ba08
ST
163592010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16360
16361 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
16362 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16363 if argc is 1.
bb06ba08 16364
cc9d2425
VS
163652010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16368 autogen issues.
16369
460d8402
CF
163702010-04-26 Christian Franke <franke@computer.org>
16371
16372 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16373 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16374 (grub_get_prefix): Remove function.
16375 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16376 make_system_path_relative_to_its_root ().
16377 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16378
553c01f9
CF
163792010-04-24 Christian Franke <franke@computer.org>
16380
16381 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16382 (kernel_img_LDFLAGS): Remove -static-libgcc.
16383
2aec1692
CF
163842010-04-24 Christian Franke <franke@computer.org>
16385
16386 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16387 and CHECK_END_SYMBOL if grub-emu is built.
16388 Unset TARGET_OBJ2ELF if grub-emu is built
16389 without module support.
16390
f67dc308
JS
163912010-04-24 Jiro SEKIBA <jir@unicus.jp>
16392
16393 Nilfs2 support.
16394
16395 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16396 (grub_fstest_SOURCES): Likewise.
16397 (pkglib_MODULES): Add nilfs2.mod.
16398 (nilfs2_mod_SOURCES): New variable.
16399 (nilfs2_mod_CFLAGS): Likewise.
16400 (nilfs2_mod_LDFLAGS): Likewise.
16401 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16402 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16403 * fs/nilfs2.c: New file.
16404
4ba8d354
VS
164052010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16406
16407 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16408 is not supported.
16409
0d2c20c6
GS
164102010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16411
16412 Add grub-mkconfig support for NetBSD.
16413
16414 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16415 * util/grub-mkconfig.in: export new NetBSD specific variables.
16416 * po/POTFILES-shell: added 10_netbsd.in.
16417 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16418
bc4a2d83
BC
164192010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16420
16421 Fix emu build with grub-emu-pci and grub-emu-modules.
16422
16423 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16424 functions.
16425 * include/grub/libpciaccess.h: New file.
16426 * conf/any-emu.rmk: Update kernel headers for emu build.
16427
f48c87aa
VS
164282010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16431
18959385
VS
164322010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16435
0037de3f
VS
164362010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16439 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16440 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16441 util/ieee1275/ofpath.c.
16442 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16443 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16444 * include/grub/sparc64/ieee1275/boot.h
16445 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16446 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16447 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16448 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16449 const char *.
16450 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16451 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16452 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16453 install.
16454
38e55e90
GS
164552010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16456
16457 * util/grub-mkconfig.in: Corrected two == equality tests.
16458 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16459 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16460 expect a number appended to it.
16461 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16462 expects a number appended to it.
16463
a9e6ff28
VS
164642010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16467
0b830b8f
VS
164682010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16469
16470 * util/hostdisk.c (make_device_name): Change to new partition naming.
16471
0973daeb
VS
164722010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16475
460d8402 164762010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
16477
16478 * Makefile.in: Add missing localedir setting.
16479
0b456309
CW
164802010-04-14 Colin Watson <cjwatson@ubuntu.com>
16481
16482 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16483 mistake in r2156. Noticed by Anthony Fok.
16484
16485 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16486 @localedir@.
16487 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16488
08f46d62
BC
164892010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16490
16491 Fix a spurious, uninitialized variable warning.
16492
16493 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16494 Initialize variable, shdr.
16495 (grub_freebsd_load_elfmodule): Likewise.
16496 (grub_freebsd_load_elf_meta): Likewise.
16497
8c4a72d4
BC
164982010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16499
16500 Fix for escaped dollar in double quoted strings.
16501
16502 * script/yylex.l: Updated flex rules.
16503 * conf/tests.rmk: Rule for new testcase.
16504 * tests/grub_script_dollar.in: New testcase.
16505
ce44826e
CPE
165062010-04-13 Carles Pina i Estany <carles@pina.cat>
165072010-04-13 Colin Watson <cjwatson@ubuntu.com>
16508
16509 Enclose all translated strings in grub.cfg in single quotes, and
16510 escape them appropriately (Ubuntu bug #552921).
16511
16512 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16513 * util/grub.d/10_hurd.in: Use it.
16514 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16515 * util/grub.d/10_linux.in (linux_entry): Likewise.
16516
4b0cd8f8
VS
165172010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 Fix cygwin compilation.
16520
16521 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16522 * include/grub/misc.h (__register_frame_info)
16523 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16524 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16525 * kern/misc.c (__register_frame_info)
16526 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16527 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16528
01fcf061
VS
165292010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16532
5d04b11e
VS
165332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 Unify libgcc processing.
16536
16537 * Makefile.in (kernel_img_LDFLAGS): New variable.
16538 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16539 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16540 overwriting.
16541 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16542 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16543 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16544 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16545 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16546 overwriting. Remove -lgcc and -static-libgcc
16547 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16548 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16549 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16550 (kernel_img_LDFLAGS): Append instead of overwriting.
16551 Remove -lgcc and -static-libgcc
16552 * conf/sparc64-ieee1275.rmk: Likewise.
16553 * include/grub/powerpc/libgcc.h: Move to ...
16554 * include/grub/libgcc.h: .. this.
16555 * include/grub/libgcc.h: Don't export most of the function on x86.
16556 (__bswapsi2): New export.
16557 (__bswapdi2): Likewise.
16558 * include/grub/mips/libgcc.h: Removed.
16559 * include/grub/sparc64/libgcc.h: Likewise.
16560
b7f3ac29
VS
165612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16564 disk_info_msg (conflicts with gettexting into languages with cases).
16565
2c7031b1
GS
165662010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16567
16568 Add grub-probe support for NetBSD.
16569
16570 * util/getroot.c (find_root_device): Convert block device to
16571 character device on NetBSD.
16572 * util/probe.c (probe): Require character device on NetBSD.
16573 * util/hostdisk.c: NetBSD specific headers.
16574 (configure_device_driver): new function to tune device driver
16575 parameters (currently only for NetBSD floppy driver).
16576 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16577 via disklabel ioctl).
16578 (open_device): call configure_device_driver on NetBSD.
16579 (convert_system_partition_to_system_disk): NetBSD specific code.
16580 (device_is_wholedisk): Likewise.
16581 (grub_util_biosdisk_get_grub_dev): Likewise.
16582 (make_device_name): Fixed a typo in bsd_part_str.
16583 * configure.ac: check for opendisk() and getrawpartition() on
16584 NetBSD and set LIBUTIL.
16585 * Makefile.in: add LIBUTIL to LIBS.
16586
f516290c
BC
165872010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16588
16589 Documentation fix.
16590
16591 * util/grub-script-check.c: Better help message.
16592
d8dcc0df
BC
165932010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16594
16595 Fix FreeBSD build.
16596
16597 * configure.ac: Flex version check.
16598 * conf/common.rmk: Add -Wno-error to sh.mod.
16599 * script/yylex.l: Remove all #pragma.
16600
6734334a
VS
166012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16604 prototype.
16605 Reported by: Seth Goldberg.
16606
daea6abd
VS
166072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16610 Rename "module" to "module2".
16611 Reported by: Seth Goldberg.
16612
f2fd9d2b
VS
166132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16616 EXPORT_FUNC.
16617 Reported by: Seth Goldberg.
16618
be124579
VS
166192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 * lib/posix_wrap/locale.h: Add missing file.
16622 Reported by: Seth Goldberg.
16623
ef5da797
VS
166242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 grub-emu module load support.
16627
16628 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16629 NO_DYNAMIC_MODULES switched to this.
16630 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16631 (CFLAGS): Likewise.
16632 * conf/any-emu.rmk: Generate symlist.
16633 (kernel_img_HEADERS): Add util/datetime.h.
16634 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16635 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16636 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16637 kern/$(target_cpu)/cache.S.
16638 * configure.ac (grub-emu-modules): New option.
16639 * genmk.rb: Handle multiple source lists.
16640 * include/grub/sdl.h: New file.
16641 * include/grub/libusb.h: Likewise.
16642 * util/grub-emu.c (main): Hanle (host) root.
16643 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16644 GRUB_ERR_UNKNOWN_DEVICE.
16645 * util/misc.c: Move mm functions to ...
16646 * util/mm.c: ... here. All users updated.
16647
47822096
VS
166482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16649
16650 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16651 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16652 missing files.
16653 (maintainer-clean): Remove libgcrypt-grub.
16654
5d7e7445
VS
166552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16658
25f4e252
EC
166592010-04-09 EFI Coder <eficoder@hotmail.com>
16660
16661 * normal/menu_text.c (print_message): Clean up the message and show
16662 the Fn information when on EFI
16663 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16664
027de555
VS
166652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16666
16667 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16668 All users updated.
16669 * normal/crypto.c (read_crypto_list): Likewise.
16670 * normal/dyncmd.c (read_command_list): Likewise.
16671 * normal/term.c (read_terminal_list): Likewise.
16672 * normal/main.c (read_lists): Use explicit prefix.
16673 (read_lists_hook): Use read_lists.
16674 (grub_normal_execute): Likewise.
16675
47779711
VS
166762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16679 Reported by: Thomas Schmitt.
16680 Add -no-emul-boot to grub-mkisofs parameters.
16681
1118c32e
VS
166822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 * font/font.c: Indented.
16685
7d652447
BC
166862010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16687
16688 Elif support to GRUB script (by Deepak Vankadaru).
16689
16690 * tests/grub_script_if.in: New testcase.
16691 * conf/tests.rmk: Rule for new testcase.
16692 * script/parser.y: Grammar rules for elif.
16693
34bb22df
BC
166942010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16695
16696 While and until loops support to GRUB script.
16697
16698 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16699 (grub_script_create_cmdwhile): New function prototype.
16700 (grub_script_execute_cmdwhile): New function prototype.
16701 * script/execute.c (grub_script_execute_cmdwhile): New function.
16702 * script/parser.y (command): New commands.
16703 (whilecmd): New grammar rule.
16704 (untilcmd): New grammar rule.
16705 * script/script.c (grub_script_create_cmdwhile): New function.
16706 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16707 function.
16708
16709 * tests/grub_script_while1.in: New testcase.
16710 * conf/tests.rmk: Rule for new testcase.
16711
e215d8e0
VS
167122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16713
16714 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16715 as *.jpg.
16716
d7c43ba1
MV
167172010-04-09 Mario Vazquez <mariovazq@gmail.com>
16718
16719 GRUB_BACKGROUND support.
16720
16721 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16722 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16723
d64795c0
VS
167242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 16727 Idea by: Mario Vazquez
d64795c0
VS
16728
16729 * util/grub.d/00_header.in: Load pf2 and image modules.
16730
f267f83a
VS
167312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 grub-mkconfig multiple terminal support.
16734
16735 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16736 * util/grub.d/00_header.in: Likewise.
16737
b7841ceb
VS
167382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16741 we use cd $(srcdir).
16742
df60998c
CW
167432010-04-08 Colin Watson <cjwatson@ubuntu.com>
16744
16745 * util/grub.d/10_linux.in: Only use the first word of
16746 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16747 spaces in GRUB_DISTRIBUTOR.
16748 * util/grub.d/10_kfreebsd.in: Likewise.
16749 * util/grub.d/10_hurd.in: Likewise.
16750
fa09c82e
BC
167512010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16752
14e18ae3 16753 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
16754
16755 * tests/util/grub-shell.in: Remove -serial stdio option.
16756
daf892b3
BC
167572010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 POSIX header file wrappers.
16760
16761 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16762 equivalents.
16763 * lib/posix_wrap/ctype.h: Likewise.
16764 * lib/posix_wrap/errno.h: Likewise.
16765 * lib/posix_wrap/langinfo.h: Likewise.
16766 * lib/posix_wrap/limits.h: Likewise.
16767 * lib/posix_wrap/localcharset.h: Likewise.
16768 * lib/posix_wrap/stdint.h: Likewise.
16769 * lib/posix_wrap/stdio.h: Likewise.
16770 * lib/posix_wrap/stdlib.h: Likewise.
16771 * lib/posix_wrap/string.h: Likewise.
16772 * lib/posix_wrap/sys/types.h: Likewise.
16773 * lib/posix_wrap/unistd.h: Likewise.
16774 * lib/posix_wrap/wchar.h: Likewise.
16775 * lib/posix_wrap/wctype.h: Likewise.
16776 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16777 (grub_script.yy.h): Likewise.
16778 * script/yylex.l: Remove POSIX emulation #defines.
16779 * Makefile.in (POSIX_CFLAGS): New variable.
16780 (GNULIB_UTIL_CFLAGS): Likewise.
16781
16782 Regexp support.
16783
16784 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16785 (regexp_mod_SOURCES): New variable.
16786 (regexp_mod_CFLAGS): Likewise.
16787 (regexp_mod_LDFLAGS): Likewise.
16788 * commands/regexp.c: New file.
16789 * gnulib/regcomp.c: New file. Imported from gnulib.
16790 * gnulib/regex.c: Likewise.
16791 * gnulib/regex_internal.c: Likewise.
16792 * gnulib/regex_internal.h: Likewise.
16793 * gnulib/regexec.c: Likewise.
16794 * gnulib/regex.h: Likewise.
16795
974ac4f7
VS
167962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16799 unsupported video mode types.
16800
2622c3ff
VS
168012010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16804
064cb524
VS
168052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16806
16807 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16808 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16809
a8c3b552
VS
168102010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16811
16812 Remove unused grub_vga_get_font.
16813
16814 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16815 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16816
187bbe3d
GS
168172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16818
16819 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16820 * include/grub/misc.h: Likewise.
16821
b9396631
GS
168222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16823
16824 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16825 for which failure is fatal.
16826
50479feb
GS
168272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16828
16829 * util/grub-install.in: Use mkdir -p to create grub directory.
16830 * util/i386/efi/grub-install.in: Likewise.
16831 * util/ieee1275/grub-install.in: Likewise.
16832
b1654fdf
GS
168332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16834
16835 * Makefile.in (LEX): new variable.
16836
bd5a6415
GS
168372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16838
16839 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16840 `=' and added double quotes on operands of this equality test.
16841
3db3a82b
VS
168422010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16843
16844 * Makefile.in (uninstall): Remove a leftover debug echo.
16845 Reported by: Grégoire Sutre
16846
38023412
VS
168472010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 MIPS multiboot2 support.
16850
16851 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16852 (multiboot2_mod_SOURCES): New variable.
16853 (multiboot2_mod_CFLAGS): Likewise.
16854 (multiboot2_mod_LDFLAGS): Likewise.
16855 (multiboot2_mod_ASFLAGS): Likewise.
16856 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16857 definition.
16858 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16859 (MULTIBOOT_MBI_REGISTER): Likewise.
16860 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16861 (MULTIBOOT_ELF32_MACHINE): Likewise.
16862 (MULTIBOOT_ELF64_MACHINE): Likewise.
16863 * include/grub/mips/multiboot.h: New file.
16864 * include/grub/video.h (grub_video_driver_id): New type
16865 GRUB_VIDEO_DRIVER_SM712.
16866 (grub_video_get_info_and_fini): Export.
16867 (grub_video_get_palette): Likewise.
16868 (grub_video_get_driver_id): Likewise.
16869 * include/multiboot2.h: Resynced with spec.
16870 * loader/i386/multiboot.c: Moved from here ...
16871 * loader/multiboot.c: ... here. All users updated.
16872 (grub_multiboot_boot): Use platform-specific macros.
16873 * loader/i386/multiboot_elfxx.c: Moved from here ...
16874 * loader/multiboot_elfxx.c: ... here. All users updated.
16875 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16876 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16877 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16878
47674667
VS
168792010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 Import gnulib argp module.
16882
16883 * gnulib/argp-ba.c: New file.
16884 * gnulib/argp-eexst.c: Likewise.
16885 * gnulib/argp-fmtstream.c: Likewise.
16886 * gnulib/argp-fmtstream.h: Likewise.
16887 * gnulib/argp-fs-xinl.c: Likewise.
16888 * gnulib/argp-help.c: Likewise.
16889 * gnulib/argp-namefrob.h: Likewise.
16890 * gnulib/argp-parse.c: Likewise.
16891 * gnulib/argp-pin.c: Likewise.
16892 * gnulib/argp-pv.c: Likewise.
16893 * gnulib/argp-pvh.c: Likewise.
16894 * gnulib/argp-version-etc.c: Likewise.
16895 * gnulib/argp-version-etc.h: Likewise.
16896 * gnulib/argp-xinl.c: Likewise.
16897 * gnulib/argp.h: Likewise.
16898
495442ed
VS
168992010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 * kern/device.c (grub_device_iterate): Clear errors after failed
16902 opening device.
16903
f9fd65df
VS
169042010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16907 returned by firmware.
16908
af09641e
VS
169092010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16912 compilation on coreboot and qemu
16913
016883a5
VS
169142010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * include/multiboot2.h: Resync with spec.
16917
f97e1f7d
VS
169182010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 Multiboot2 tag support
16921
16922 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16923 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16924 Remove loader/multiboot_loader.c.
16925 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16926 (grub_multiboot2_real_boot): Likewise.
16927 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16928 (grub_get_multiboot_mmap_count): New proto.
16929 (grub_fill_multiboot_mmap): Likewise.
16930 (grub_multiboot_set_video_mode): Likewise.
16931 (grub_multiboot_set_console): Likewise.
16932 (grub_multiboot_load): Likewise.
16933 (grub_multiboot_load_elf): Likewise.
16934 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16935 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16936 * include/multiboot.h: Resynced with specification.
16937 * include/multiboot2.h: Resynced with specification.
16938 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16939 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16940 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16941 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16942 users updated.
16943 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16944 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16945 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16946 Removed.
16947 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16948 Moved from here...
16949 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16950 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16951 Moved from here...
16952 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16953 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16954 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16955 All users updated.
16956 * loader/i386/multiboot_mbi2.c: New file.
16957
3506b90b
VS
169582010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 Resync with gnulib.
16961
16962 * Makefile.in (GNULIB_CFLAGS): New variable.
16963 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16964 (grub_script_check_CFLAGS): New variable.
16965 * gnulib/alloca.h: Resync with gnulib.
16966 * gnulib/error.c: Likewise.
16967 * gnulib/error.h: Likewise.
16968 * gnulib/fnmatch.c: Likewise.
16969 * gnulib/fnmatch_loop.c: Likewise.
16970 * gnulib/getdelim.c: Likewise.
16971 * gnulib/getline.c: Likewise.
16972 * gnulib/getopt.c: Likewise.
16973 * gnulib/getopt1.c: Likewise.
16974 * gnulib/getopt_int.h: Likewise.
16975 * gnulib/gettext.h: Likewise.
16976 * gnulib/progname.c: Likewise.
16977 * gnulib/progname.h: Likewise.
16978
394a3120
GS
169792010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16980
16981 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16982 which is the case with --disabled-nls.
16983
16984 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16985 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16986 * util/misc.c: Likewise.
16987 * util/mkisofs/mkisofs.c: Likewise.
16988 * util/mkisofs/mkisofs.h: Likewise.
16989
969d1c78
VS
169902010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16991
16992 Simplify Apple CC support.
16993
16994 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16995 Add 0 byte at the end not to have a symbol with empty target.
16996 * mmap/i386/pc/mmap_helper.S: Likewise.
16997 * genmk.rb: Ignore errors 2030 and 2050.
16998 * kern/i386/pc/startup.S: Use LOCAL when possible.
16999
8d2977bb
BC
170002010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
17001
17002 Testcase and the fix for final semicolon on cmdline.
17003
17004 * tests/grub_script_final_semicolon.in: New testcase.
17005 * conf/tests.rmk: Rules for the new testcase.
17006 * script/parser.y: Grammar fix.
17007
a7bd6915
BC
170082010-03-26 BVK Chaitanya <bvk@localhost>
17009
17010 Blank lines testcase for GRUB script.
17011
17012 * tests/grub_script_blanklines.in: New testcase.
17013 * conf/tests.rmk: Rules for the new testcase.
17014
e4ff6628
VS
170152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 Don't use __FILE__.
17018
17019 * genmk.rb: Add -DGRUB_FILE to all C targets.
17020 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
17021 * include/grub/list.h: Likewise.
17022 * include/grub/misc.h: Likewise.
17023 * include/grub/mm.h: Likewise.
17024 * include/grub/test.h: Likewise.
17025 * kern/mm.c: Likewise.
17026 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17027
6a5cf6b6
VS
170282010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 Sunpc partitions support.
17031
17032 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
17033 (grub_fstest_SOURCES): Likewise.
17034 (pkglib_MODULES): Add part_sunpc.mod.
17035 (part_sunpc_mod_SOURCES): New variable.
17036 (part_sunpc_mod_CFLAGS): Likewise.
17037 (part_sunpc_mod_LDFLAGS): Likewise.
17038 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
17039 * partmap/sunpc.c: New file.
17040
746d9045
BC
170412010-03-26 BVK Chaitanya <bvk@localhost>
17042
17043 For loop support to GRUB script.
17044
17045 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
17046 (grub_script_create_cmdfor): New function prototype.
17047 (grub_script_execute_cmdfor): New function prototype.
17048 * script/execute.c (grub_script_execute_cmdfor): New function.
17049 * script/parser.y (command): New for command.
17050 (forcmd): New grammar rule.
17051 * script/script.c (grub_script_create_cmdfor): New function.
17052 * util/grub-script-check.c (grub_script_execute_cmdfor): New
17053 function.
17054 * tests/grub_script_for1.in: New testcase.
17055 * conf/tests.rmk: Rules for new testcase.
17056
18486b18
VS
170572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 Nested partitions
17060
17061 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
17062 'partition' is NULL, grub_partition_get_start already does that.
17063 * commands/loadenv.c (check_blocklists): Likewise.
17064 (write_blocklists): Likewise.
17065 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
17066 (grub_fstest_SOURCES): Likewise.
17067 (pkglib_MODULES): Add part_bsd.mod.
17068 (part_bsd_mod_SOURCES): New variable.
17069 (part_bsd_mod_CFLAGS): Likewise.
17070 (part_bsd_mod_LDFLAGS): Likewise.
17071 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
17072 (grub_emu_SOURCES): Likewise.
17073 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17074 * include/grub/bsdlabel.h: New file.
17075 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
17076 'get_name'.
17077 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
17078 (grub_partition_map_list): New variable.
17079 (grub_partition_map_register): Inline.
17080 (grub_partition_map_unregister): Likewise.
17081 (FOR_PARTITION_MAPS): New macro.
17082 (grub_partition_map_iterate): Removed.
17083 (grub_partition_get_start): Handle nested partitions.
17084 * include/grub/msdos_partition.h: Remove bsd-related entries.
17085 (grub_pc_partition): Remove.
17086 * kern/disk.c (grub_disk_close): Free partition data.
17087 (grub_disk_adjust_range): Handle nested partitions.
17088 * kern/partition.c (grub_partition_map_probe): New function.
17089 (grub_partition_probe): Parse name to number, handle subpartitions.
17090 (get_partmap): New function.
17091 (grub_partition_iterate): Handle subpartitions.
17092 (grub_partition_get_name): Likewise.
17093 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
17094 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
17095 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
17096 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
17097 Set 'number'.
17098 (acorn_partition_map_probe): Remove.
17099 (acorn_partition_map_get_name): Likewise.
17100 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
17101 Set 'number'.
17102 Set 'index' to 0 since there can be only one partition entry per sector.
17103 (amiga_partition_map_probe): Remove.
17104 (amiga_partition_map_get_name): Likewise.
17105 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
17106 Set 'number'.
17107 Set 'offset' and 'index' to real positions of partitions.
17108 (apple_partition_map_probe): Remove.
17109 (apple_partition_map_get_name): Likewise.
17110 * partmap/bsdlabel.c: New file.
17111 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
17112 Set 'number'.
17113 Allocate 'data' so it can be correctly freed.
17114 Set 'index' to offset inside sector.
17115 (gpt_partition_map_probe): Remove.
17116 (gpt_partition_map_get_name): Likewise.
17117 * partmap/msdos.c (grub_partition_parse): Remove.
17118 (pc_partition_map_iterate): Don't force raw access.
17119 Set 'number'.
17120 Make 'ext_offset' a local variable.
17121 (pc_partition_map_probe): Remove.
17122 (pc_partition_map_get_name): Remove.
17123 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17124 Set 'number'.
17125 (sun_partition_map_probe): Remove.
17126 (sun_partition_map_get_name): Likewise.
17127 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17128 (grub_pcpart_type): Likewise.
17129 * util/hostdisk.c (open_device): Handle new numbering scheme.
17130 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17131 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17132 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17133 * util/grub-install.in: Insert all subpartition modules.
17134 * util/ieee1275/grub-install.in: Likewise.
17135
a3940f88
AG
171362010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17137
17138 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17139 grammar.
17140
21b99926 171412010-03-24 Colin Watson <cjwatson@ubuntu.com>
17142
17143 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17144
bed1d352
CW
171452010-03-21 Colin Watson <cjwatson@ubuntu.com>
17146
17147 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17148 match where 'make install' puts them.
17149 * util/i386/efi/grub-install.in: Likewise.
17150
c9f58427
CW
171512010-03-19 Colin Watson <cjwatson@ubuntu.com>
17152
17153 * .bzrignore: Add gentrigtables, grub-script-check,
17154 grub_script_check_init.c, grub_script_check_init.h, and
17155 trigtables.c.
17156
f84afb27
VS
171572010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 * kern/parser.c: Indented.
17160
ed0e3d30
VS
171612010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17164
0ea81d98
VS
171652010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17168 alpha_mask_size == 0 case.
17169
0cdc2a09
BC
171702010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17171
17172 GRUB shell lexer and parser improvements.
17173
17174 * conf/any-emu.rmk: Build rule updates.
17175 * conf/common.rmk: Likewise.
17176 * conf/i386-coreboot.rmk: Likewise.
17177 * conf/i386-efi.rmk: Likewise.
17178 * conf/i386-ieee1275.rmk: Likewise.
17179 * conf/i386-pc.rmk: Likewise.
17180 * conf/powerpc-ieee1275.rmk: Likewise.
17181 * conf/x86_64-efi.rmk: Likewise.
17182
17183 * configure.ac: Configure check for flex.
17184
17185 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17186 types.
17187 (grub_lexer_param): Struct member updates.
17188 (grub_parser_param): Likewise.
17189 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17190 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17191 (grub_script_lexer_init): Prototype update.
17192 (grub_script_lexer_record_start): Likewise.
17193 (grub_script_lexer_record_stop): Likewise.
17194 (grub_script_lexer_yywrap): New function prototype.
17195 (grub_script_lexer_fini): Likewise.
17196 (grub_script_execute_argument_to_string): Removed by...
17197 (grub_script_execute_argument_to_argv): ...better version.
17198
17199 * script/execute.c (ROUND_UPTO): New macro.
17200 (grub_script_execute_cmdline): Out of memory fixes.
17201 (grub_script_execute_menuentry): Likewise.
17202 (grub_script_execute_argument_to_string): Removed. Update all
17203 users by...
17204 (grub_script_execute_argument_to_argv): ...better version.
17205 * script/function.c (grub_script_function_create): Use
17206 grub_script_execute_argument_to_argv instead of
17207 grub_script_execute_argument_to_string.
17208
17209 * script/lexer.c (check_varstate): Removed.
17210 (check_textstate): Removed.
17211 (grub_script_lexer_record_start): Likewise.
17212 (grub_script_lexer_record_stop): Likewise.
17213 (recordchar): Replaced with...
17214 (grub_script_lexer_record): ...new function.
17215 (nextchar): Removed.
17216 (grub_script_lexer_init): Rewritten.
17217 (grub_script_yylex): Rewritten.
17218 (append_newline): New function.
17219 (grub_script_lexer_yywrap): New function.
17220 (grub_script_lexer_fini): New function.
17221 (grub_script_yyerror): Sets error flag.
17222
17223 * script/yylex.l: New file.
17224 (grub_lexer_yyfree): Wrapper for flex yyffre.
17225 (grub_lexer_yyalloc): Likewise.
17226 (grub_lexer_yyrealloc): Likewise.
17227 * script/parser.y: Refactored.
17228
17229 * script/script.c (grub_script_arg_add): Out of memory fixes.
17230 (grub_script_add_arglist): Likewise.
17231 (grub_script_create_cmdline): Likewise.
17232 (grub_script_create_cmdmenu): Likewise.
17233 (grub_script_add_cmd): Likewise.
17234 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17235 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17236 unnecessary code.
17237
17238 * tests/grub_script_echo1.in: New testcase.
17239 * tests/grub_script_vars1.in: New testcase.
17240 * tests/grub_script_echo_keywords.in: New testcase.
17241
1d63a066
VS
172422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 Remove some redundancy in build system.
17245
17246 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17247 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17248 (TARGET_LDFLAGS): Add -nostdlib.
17249 (TARGET_IMG_LDFLAGS): Likewise.
17250 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17251 anything since mmap isn't available.
17252 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17253 Add util/time.c.
17254 (pkglib_MODULES): Remove reboot.mod.
17255 (reboot_mod_SOURCES): Removed.
17256 (reboot_mod_CFLAGS): Likewise.
17257 (reboot_mod_LDFLAGS): Likewise.
17258 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17259 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17260 (DEFSYMFILES): Add kernel_syms.lst.
17261 (kernel_img_HEADERS): Add common headers.
17262 (symlist.c): New target.
17263 (kernel_syms.lst): Likewise.
17264 (pkglib_MODULES): Add memdisk.mod.
17265 (memdisk_mod_SOURCES): New variable.
17266 (memdisk_mod_CFLAGS): Likewise.
17267 (memdisk_mod_LDFLAGS): Likewise.
17268 (pkglib_MODULES): Add reboot.mod.
17269 (reboot_mod_SOURCES): New variable.
17270 (reboot_mod_CFLAGS): Likewise.
17271 (reboot_mod_LDFLAGS): Likewise.
17272 (pkglib_MODULES): Add date.mod.
17273 (date_mod_SOURCES): New variable.
17274 (date_mod_CFLAGS): Likewise.
17275 (date_mod_LDFLAGS): Likewise.
17276 (pkglib_MODULES): Add datehook.mod.
17277 (datehook_mod_SOURCES): New variable.
17278 (datehook_mod_CFLAGS): Likewise.
17279 (datehook_mod_LDFLAGS): Likewise.
17280 (pkglib_MODULES): Add lsmmap.mod.
17281 (lsmmap_mod_SOURCES): New variable.
17282 (lsmmap_mod_CFLAGS): Likewise.
17283 (lsmmap_mod_LDFLAGS): Likewise.
17284 (pkglib_MODULES): Add boot.mod.
17285 (boot_mod_SOURCES): New variable.
17286 (boot_mod_CFLAGS): Likewise.
17287 (boot_mod_LDFLAGS): Likewise.
17288 * conf/i386-coreboot.rmk: Removed redundant parts.
17289 * conf/i386-ieee1275.rmk: Likewise.
17290 * conf/i386-pc.rmk: Likewise.
17291 * conf/mips-yeeloong.rmk: Likewise.
17292 * conf/mips.rmk: Likewise.
17293 * conf/powerpc-ieee1275.rmk: Likewise.
17294 * conf/sparc64-ieee1275.rmk: Likewise.
17295 * conf/x86_64-efi.rmk: Likewise.
17296 * conf/i386-coreboot.rmk: Moved qemu parts ..
17297 * conf/i386-qemu.rmk: ... here
17298 * conf/i386-efi.rmk: Moved common parts to...
17299 * conf/x86-efi.rmk: ... here.
17300 * conf/i386.rmk: Added modules common to all x86 variants.
17301 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17302 * disk/memdisk.c: Remove grub/machine/kernel.h.
17303 * gensymlist.sh.in: Include symbol.h.
17304 * hook/datehook.c: Correct module name.
17305 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17306 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17307 * include/grub/i386/efi/serial.h: New file.
17308 * include/grub/x86_64/efi/serial.h: Likewise.
17309 * util/time.c: Likewise.
17310 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17311
463ac55f
CK
173122010-03-14 Colin King <colin.king@ubuntu.com>
173132010-03-14 Colin Watson <cjwatson@ubuntu.com>
17314
17315 Shrink the pre-partition-table part of boot.img by eight bytes.
17316
17317 * boot/i386/pc/boot.S (ERR): New macro.
17318 (chs_mode): Use ERR.
17319 (geometry_error): Likewise.
17320 (hd_probe_error): Remove. This is only used once, so we wrwite
17321 it inline instead.
17322 (read_error): Instead of printing read_error_string, just set up
17323 %si and fall through to ...
17324 (error_message): ... this new function, also used by ERR.
17325
08e46ede
CW
173262010-03-14 Colin Watson <cjwatson@ubuntu.com>
17327
17328 Speed up consecutive hostdisk operations on the same device.
17329
17330 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17331 (grub_util_biosdisk_open): Initialise disk->data.
17332 (struct linux_partition_cache): New structure.
17333 (linux_find_partition): Cache partition start positions; these are
17334 expensive to compute on every read and write.
17335 (open_device): Cache open file descriptor in disk->data, so that we
17336 don't have to reopen it and flush the buffer cache for consecutive
17337 operations on the same device.
17338 (grub_util_biosdisk_close): New function.
17339 (grub_util_biosdisk_dev): Set `close' member.
17340
17341 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17342 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17343 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17344 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17345 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17346
4a6d2d06
VS
173472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 Compile parts of grub-emu as modules.
17350
17351 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17352 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17353 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17354 (all-local): Add $(GRUB_EMU).
17355 (install-local): Install $(GRUB_EMU).
17356 (uninstall): Uninstall $(GRUB_EMU).
17357 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17358 * kern/dl.c: Likewise.
17359 * commands/sleep.c: Not include machine/time.h.
17360 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17361 (COMMON_CFLAGS): Likewise.
17362 (sbin_UTILITIES): Remove grub-emu.
17363 (grub_emu_SOURCES): Removed.
17364 (kernel_img_RELOCATABLE): New variable.
17365 (pkglib_PROGRAMS): Add kernel.img.
17366 (kernel_img_SOURCES): New variable
17367 (kernel_img_CFLAGS): Likewise.
17368 (kernel_img_LDFLAGS): Likewise.
17369 (TARGET_NO_STRIP): Likewise.
17370 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17371 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17372 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17373 (grub-emu): New target.
17374 (GRUB_EMU): New variable.
17375 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17376 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17377 * loader/xnu.c: Likewise.
17378 * include/grub/pci.h: Likewise.
17379 * genemuinit.sh: New file.
17380 * genemuinitheader.sh: Likewise.
17381 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17382 Support TARGET_NO_DYNAMIC_MODULES.
17383 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17384 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17385 * disk/loopback.c: Likewise.
17386 * font/font_cmd.c: Likewise.
17387 * partmap/acorn.c: Likewise.
17388 * partmap/amiga.c: Likewise.
17389 * partmap/apple.c: Likewise.
17390 * partmap/gpt.c: Likewise.
17391 * partmap/msdos.c: Likewise.
17392 * partmap/sun.c: Likewise.
17393 * parttool/msdospart.c: Likewise.
17394 * term/gfxterm.c: Likewise.
17395 * video/bitmap.c: Likewise.
17396 * video/readers/jpeg.c: Likewise.
17397 * video/readers/png.c: Likewise.
17398 * video/readers/tga.c: Likewise.
17399 * video/video.c: Likewise.
17400 * util/grub-emu.c (read_command_list): Removed.
17401 (main): Don't call util_init_nls.
17402 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17403 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17404
91fdd2ed
VS
174052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17408 date.mod, datehook.mod.
17409 (datetime_mod_SOURCES): New variable.
17410 (datetime_mod_CFLAGS): Likewise.
17411 (datetime_mod_LDFLAGS): Likewise.
17412 (date_mod_SOURCES): Likewise.
17413 (date_mod_CFLAGS): Likewise.
17414 (date_mod_LDFLAGS): Likewise.
17415 (datehook_mod_SOURCES): Likewise.
17416 (datehook_mod_CFLAGS): Likewise.
17417 (datehook_mod_LDFLAGS): Likewise.
17418 * conf/sparc64-ieee1275.rmk: Likewise.
17419 * lib/ieee1275/datetime.c: New file.
17420
873ccae6
VS
174212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17422
17423 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17424 (ieee1275_fb_mod_SOURCES): New variable.
17425 (ieee1275_fb_mod_CFLAGS): Likewise.
17426 (ieee1275_fb_mod_LDFLAGS): Likewise.
17427 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17428 New proto.
17429 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17430 (HEAP_MAX_ADDR): Likewise.
17431 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17432 type.
17433 Correct stop condition.
17434 (grub_ieee1275_devices_iterate): New function.
17435 * video/ieee1275.c: New file.
17436
601c97c0
VS
174372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17438
17439 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17440
17441 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17442 as scratch.
17443 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17444 SCRATCH_PAD_DISKBOOT as scratch.
17445 (bootit): Pass Openfirmware pointer in %o4.
17446 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17447 of 0x200000.
17448 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17449 with util/grub-mkrawimage.c.
17450 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17451 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17452 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17453 (grub_aout_load) [GRUB_UTIL]: Likewise.
17454 * include/grub/kernel.h (grub_modules_get_end): New proto.
17455 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17456 (SCRATCH_PAD_BOOT): New definition.
17457 (SCRATCH_PAD_DISKBOOT): Likewise.
17458 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17459 * include/grub/sparc64/ieee1275/ieee1275.h
17460 (grub_ieee1275_original_stack): New variable
17461 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17462 New definition
17463 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17464 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17465 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17466 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17467 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17468 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17469 (grub_platform_image_format_t): New type.
17470 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17471 * kern/main.c (grub_modules_get_end)
17472 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17473 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17474 (codestart): Switch stacks.
17475 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17476 variable.
17477 (grub_heap_init): Use grub_modules_get_end.
17478 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17479 stack.
17480 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17481 (main): Likewise.
17482 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17483
d68b491e
TG
174842010-03-14 Thorsten Glaser <tg@mirbsd.org>
17485
17486 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17487
4e02ed50
MK
174882010-03-08 Matt Kraai <kraai@ftbfs.org>
17489
17490 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17491 bug #559005).
17492
1f15fc1e
VS
174932010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * genmoddep.awk: Output all missing symbols and not only first.
17496
fce5d8ff
VS
174972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17498
17499 * NEWS: Put the date of 1.98 release.
17500
d1e8a02f
VS
175012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17504 ft2build.h.
17505
696fd607
VS
175062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17507
17508 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17509 completition in the middle of string.
17510
33e2e6f3
VS
175112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 * util/grub-mkrescue.in: Use mktemp with explicit template.
17514
b1f6d291
VS
175152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17516
17517 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17518
2ac227c7
VS
175192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17522 right pointer.
17523
8f9a632b
VS
175242010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 Fix FreeBSD compilation.
17527
17528 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17529 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17530
60b03859
VS
175312010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17532
17533 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17534
48a5a769
VS
175352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17536
17537 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17538
3ab4bd77
VS
175392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17542
d116e0d8
RM
175432010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17544
17545 Support relative image path in theme file.
17546
17547 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17548 (image_set_property): Handle theme_dir and relative path.
17549
c7ef54aa
VS
175502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17551
17552 * configure.ac: Alias amd64 to x86_64.
17553
fcee14ed
VS
175542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17555
17556 * NEWS: mention multiboot on EFI.
17557
d0780363
VS
175582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 * kern/main.c (grub_load_modules): Handle errors from init functions of
17561 embeded modules.
17562
41168ea4
VS
175632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * normal/autofs.c (autoload_fs_module): Handle errors.
17566
b54d93ac
VS
175672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 Disable linux.mod on qemu-mips since it's not functional and leads
17570 to compilation failure.
17571
17572 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17573 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17574 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17575 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17576 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17577 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17578 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17579 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17580 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17581 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17582 Reported by: BVK Chaitanya
17583
fc8345da
JU
175842010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17585
17586 * INSTALL: Add gettext as a dependency and add qemu to a new section
17587 "Prerequisites for make-check".
17588
4760f979
CF
175892010-03-04 Christian Franke <franke@computer.org>
17590
17591 * util/grub-pe2elf.c: Add missing include "progname.h".
17592
f209b5b2
VS
175932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 * normal/crypto.c (read_crypto_list): Fix a typo.
17596 Reported by: Seth Goldberg.
17597
b4b7be98
VS
175982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17599
17600 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 17601 Reported by: Seth Goldberg.
b4b7be98 17602
c0ee0385
VS
176032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17606 ascii.bitmaps.
17607
a8efbf64
VS
176082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 17611 Reported by: Seth Goldberg.
a8efbf64 17612
08dcd913
VS
176132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17614
17615 * util/i386/efi/grub-install.in: Copy gettext files.
17616
c4d0b332
VS
176172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17620
c6f2fe52
VS
176212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 Wait for user entry basing on presence of output rather than on errors.
17624
17625 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17626 (grub_install_newline_hook): Likewise.
17627 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17628 * normal/menu.c (show_menu): Check line_counter to determine presence
17629 of output.
17630 * normal/term.c (grub_normal_line_counter): New variable.
17631 (grub_normal_get_line_counter): New function.
17632 (grub_install_newline_hook): Likewise.
17633
5382b1e4
VS
176342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17637
5519963b
VS
176382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17639
17640 * configure.ac: Update version to 1.98.
17641
72b28631
VS
176422010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * util/grub.d/10_linux.in (linux_entry): Don't default to
17645 gfxpayload=keep if Linux doesn't support video handover.
17646
c140a180
VS
176472010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 Don't compile video modules on yeeloong since video subsystem is part
17650 of kernel.
17651
17652 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17653 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17654 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17655 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17656 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17657 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17658 * include/grub/bitmap_scale.h: Likewise.
17659 * include/grub/bufio.h: Likewise.
17660 * include/grub/font.h: Likewise.
17661 * include/grub/gfxterm.h: Likewise.
17662 * include/grub/video.h: Likewise.
17663 * include/grub/vbe.h: Don't include video_fb.h.
17664 * video/i386/pc/vbe.c: Include video_fb.h.
17665 * commands/i386/pc/vbetest.c: Include video.h.
17666
a0ca21c2
CW
176672010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17668
17669 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17670 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17671 default entry if GRUB_SAVEDEFAULT=true. This allows using
17672 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17673 saving a new default on every boot.
17674
4a8a763c
VS
176752010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17678 * normal/term.c (read_terminal_list): Likewise.
17679 * normal/main.c (grub_normal_init_page): Likewise.
17680 (grub_normal_read_line_real): Likewise.
17681
607ffde2
VS
176822010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17685 memory leak.
17686 Reported by: Seth Goldberg.
17687
2b8fa975
CW
176882010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17689
17690 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17691 duplicate declaration of `start'.
17692
618307dd
VS
176932010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17696 filename.
17697 Reported by: Georgy Buranov
17698
7dd05b96 176992010-02-20 Carles Pina i Estany <carles@pina.cat>
17700
17701 * util/grub-mkrawimage.c (usage): Change string formatting to
17702 improve gettext.
17703
d1484a42
MRA
177042010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17705
17706 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17707 backspace keys.
17708
42b1d186
VS
177092010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17712 Reported by: Michael Suchanek.
17713
177142010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
17715
17716 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17717 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17718
d9f31a41
VS
177192010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17720
17721 Remove any reference to non-free fonts.
17722
17723 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17724 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17725 uses non-free components.
17726 * font/font.c (grub_font_get_name): Remove example name.
17727 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17728 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17729 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17730 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17731
2793c71e
GB
177322010-02-16 Georgy Buranov <gburanov@gmail.com>
17733
17734 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17735
402e3779
VS
177362010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17739 Double divisor.
17740 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17741 features.
17742 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17743
0dd1e0dd
VS
177442010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17747
6fa7cfce
ST
177482010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17749
17750 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17751 * docs/grub.texi (Command-line and menu entry commands): Document play
17752 command.
17753
37c8483b
ST
177542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17755
17756 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17757 parse arguments as inline tempo and notes. Move code for playing notes
17758 to...
17759 (play): ... new function.
17760
14da0fb7
ST
177612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17762
17763 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17764 grub_uint16_t instead of short.
17765 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17766 disk from little endian to cpu endianness.
17767
04459e70
ST
177682010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17769
17770 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17771 GRUB_TICKS_PER_SECOND instead of 120.
17772
a0876943
VS
177732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17776 escape sequence after \e.
17777
e29f95dc
VS
177782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17781 non-ASCII characters.
17782
d27859b2
VS
177832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17786 set root in single quotes to prevent \, from being unescaped.
17787
bc028f2f
VS
177882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17789
17790 Prevent unknown commands from stopping menuentry execution.
17791
17792 * script/execute.c (grub_script_execute_cmdline): Print error after
17793 unknown command.
17794
095f5f82
VS
177952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17798 Reported by: Pavel Pisa.
17799
8c717950
VS
178002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17803
904935c3
VS
178042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 Merge grub_ieee1275_map_physical into grub_map and rename to
17807 grub_ieee1275_map
17808
17809 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17810 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17811 Remove.
17812 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17813 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17814 necessary.
17815 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17816
5b59a4e3
VS
178172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17818
17819 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17820 opening and not after.
17821
69e137e8
VS
178222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17825 constants.
17826
2c0fcc36
VS
178272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17830 (alloc_phys): Use ALIGN_UP instead of align_addr.
17831
8c6052ce
VS
178322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17835
17cec782
VS
178362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17839
e0128bbd
VS
178402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17843 verbose dprintf.
17844
ca62070b
VS
178452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 Fix over-4GiB seek on sparc64.
17848
17849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17850 Replace pos_i and pos_lo with pos. All users updated.
17851 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17852 New constant.
17853 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17854 Likewise.
17855 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17856 and pos_lo.
17857
bdca2607
VS
178582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 * util/grub-mkrawimage.c (main): Call set_program_name.
17861
da278c4d
VS
178622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17863
17864 Properly align 64-bit targets.
17865
17866 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17867 (generate_image): Use ALIGN_ADDR.
17868
b274d734
VS
178692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17870
17871 Properly create cross-endian images.
17872
17873 * include/grub/types.h (grub_host_to_target_addr): New macro
17874 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17875
82da2062
VS
178762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17879
7cae4377
VS
178802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17883
17884 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17885 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17886 (grub_linux_boot): Divide by 64K when on VESA.
17887
65a533e7
VS
178882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17889
17890 Support GRUB_GFXPAYLOAD_LINUX.
17891
17892 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17893 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17894
dd01d397
VS
178952010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17898 to show messages instead of discarding them.
17899 Process errors after executing command and not before. Keep old method
17900 too as precaution.
17901
660960d6
VS
179022010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17903
17904 * configure.ac: Check for ft2build.h.
17905
62509f04
VS
179062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17909
473df63d
VS
179102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * genkernsyms.sh.in: Use TARGET_CC.
17913
c98d2a13
CW
179142010-02-07 Colin Watson <cjwatson@ubuntu.com>
17915
17916 * NEWS: Update.
17917
6e14234c
VS
179182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17919
17920 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
17921 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17922 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 17923
b255e9cf
YB
179242010-02-07 Yves Blusseau <blusseau@zetam.org>
17925
6e14234c 17926 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 17927
98e6959d
VS
179282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17929
17930 Fix warnings in grub-emu when compiling with maximum warning options.
17931
17932 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17933 (grub_arch_modules_addr): Return 0 and not NULL.
17934 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 17935 (xstrdup): Use newstr instead of dup.
f88d801b
VS
17936 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17937 of disk to dsk to avoid shadowing.
74e4934e
VS
17938 (find_free_slot): Fix prototype.
17939 * util/getroot.c (grub_util_is_dmraid): Make static.
17940 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17941 Add missing prototype.
17942 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 17943
74e31b5c
VS
179442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17947 appropriately.
17948
6b2ad14b
VS
179492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17950
17951 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17952 code out.
17953
8f891adc
VS
179542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17957 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17958 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17959 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17960 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17961 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17962
74b45184
VS
179632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 * include/grub/err.h (grub_err_printf): Don't export.
17966
a4bced77
VS
179672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17970
007d0695
VS
179712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17972
17973 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17974 * kern/misc.c (grub_gettext_dummy): Make static.
17975
b6c0d9c2
VS
179762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17979 by non-valid ones.
17980 * kern/term.c (grub_putchar): Likewise.
17981
f51a90d0
VS
179822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17985 buggy hook call and memory leak.
17986
6846cec5
VS
179872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17988
17989 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17990
468d69fe
VS
179912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17994
51906b8c
VS
179952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17998 modevar.
17999 Return grub_errno on allocation error.
18000
09706ce5
VS
180012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
18004
911df80c
YB
180052010-02-06 Yves Blusseau <blusseau@zetam.org>
18006
18007 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
18008 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
18009
3746a6bc
VS
180102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
18013 non-pxe disk.
18014 (grub_pxefs_open): Likewise.
18015
09706ce5
VS
180162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18017
18018 * util/grub.d/10_hurd.in: Add --class information to menuentries.
18019 * util/grub.d/10_kfreebsd.in: Likewise.
18020 * util/grub.d/10_linux.in: Likewise.
18021
7cc192d9
VS
180222010-02-06 Colin D Bennett <colin@gibibit.com>
18023
18024 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
18025 (gfxmenu_mod_SOURCES): New variable.
18026 (gfxmenu_mod_CFLAGS): Likewise.
18027 (gfxmenu_mod_LDFLAGS): Likewise.
18028 * include/grub/term.h (grub_term_set_current_output): Declare
18029 argument as const.
18030 * docs/gfxmenu-theme-example.txt: New file.
18031 * gfxmenu/gfxmenu.c: Likewise.
18032 * gfxmenu/gui_box.c: Likewise.
18033 * gfxmenu/gui_canvas.c: Likewise.
18034 * gfxmenu/gui_circular_progress.c: Likewise.
18035 * gfxmenu/gui_image.c: Likewise.
18036 * gfxmenu/gui_label.c: Likewise.
18037 * gfxmenu/gui_list.c: Likewise.
18038 * gfxmenu/gui_progress_bar.c: Likewise.
18039 * gfxmenu/gui_string_util.c: Likewise.
18040 * gfxmenu/gui_util.c: Likewise.
18041 * gfxmenu/icon_manager.c: Likewise.
18042 * gfxmenu/model.c: Likewise.
18043 * gfxmenu/named_colors.c: Likewise.
18044 * gfxmenu/theme_loader.c: Likewise.
18045 * gfxmenu/view.c: Likewise.
18046 * gfxmenu/widget-box.c: Likewise.
18047 * include/grub/gfxmenu_model.h: Likewise.
18048 * include/grub/gfxmenu_view.h: Likewise.
18049 * include/grub/gfxwidgets.h: Likewise.
18050 * include/grub/gui.h: Likewise.
18051 * include/grub/gui_string_util.h: Likewise.
18052 * include/grub/icon_manager.h: Likewise.
18053
180542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18055
18056 Agglomerate scrolling in gfxterm.
18057
18058 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
18059 (grub_virtual_screen_setup): Initialise 'total_screen'.
18060 (write_char): Split to ...
18061 (paint_char): ... this ...
18062 (write_char): ... and this.
18063 (paint_char): Handle delayed scrolling.
18064 (draw_cursor): Likewise.
18065 (scroll_up): Split to ...
18066 (real_scroll): ... this ...
18067 (scroll_up): ... and this.
18068 (real_scroll): Handle multi-line scroll and draw below-the-bottom
18069 characters.
18070 (grub_gfxterm_refresh): Call real_scroll.
18071
180722010-02-06 Colin D Bennett <colin@gibibit.com>
18073
18074 * include/grub/misc.h (grub_iscntrl): New inline function.
18075 (grub_isalnum): Likewise.
18076 (grub_strtol): Likewise.
18077
180782010-02-06 Colin D Bennett <colin@gibibit.com>
18079
18080 * normal/menu_text.c (get_entry_number): Move from here ...
18081 * normal/menu.c (get_entry_number): ... moved here.
18082 * include/grub/menu.h (grub_menu_get_default_entry_index):
18083 New prototype.
18084 * normal/menu.c (grub_menu_get_default_entry_index): New function.
18085 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
18086 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
18087 (grub_menu_viewer_should_return): Likewise.
18088 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
18089 * normal/menu_text.c (run_menu): Enable menu switching.
18090 * normal/menu_viewer.c (should_return): New variable.
18091 (menu_viewer_changed): Likewise.
18092 (grub_menu_viewer_show_menu): Handle menu viewer changes.
18093 (grub_menu_viewer_should_return): New function.
18094 (menuviewer_write_hook): Likewise.
18095 (grub_menu_viewer_init): Likewise.
18096
180972010-02-06 Colin D Bennet <colin@gibibit.com>
180982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 Support for gfxterm in a window.
18101
18102 * include/grub/gfxterm.h: New file.
18103 * include/grub/video.h (struct grub_video_rect): New declaration.
18104 (grub_video_rect_t): Likewise.
18105 * term/gfxterm.c (struct grub_gfxterm_window): New type.
18106 (refcount): New variable.
18107 (render_target): Likewise.
18108 (window): Likewise.
18109 (repaint_callback): Likewise.
18110 (grub_virtual_screen_setup): Use 'render_target'.
18111 (init_window): New function.
18112 (grub_gfxterm_init_window): Likewise.
18113 (grub_gfxterm_init): Check reference counter.
18114 Use init_window.
18115 (destroy_window): New function.
18116 (grub_gfxterm_destroy_window): Likewise.
18117 (grub_gfxterm_fini): Check reference counter.
18118 Use destroy_window.
18119 (redraw_screen_rect): Restore viewport.
18120 Use 'render_target' and 'window'.
18121 Call 'repaint_callback'.
18122 (write_char): Use 'render_target'.
18123 (draw_cursor): Likewise.
18124 (scroll_up): Restore viewport.
18125 Use 'render_target' and 'window'.
18126 Call 'repaint_callback'.
18127 (grub_gfxterm_cls): Likewise.
18128 (grub_gfxterm_refresh): Use 'window'.
18129 (grub_gfxterm_set_repaint_callback): New function.
18130 (grub_gfxterm_background_image_cmd): Use 'window'.
18131 (grub_gfxterm_get_term): New function.
18132 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18133
181342010-02-06 Colin D Bennett <colin@gibibit.com>
18135
18136 Bitmap scaling support.
18137
18138 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18139 (bitmap_scale_mod_SOURCES): New variable.
18140 (bitmap_scale_mod_CFLAGS): Likewise.
18141 (bitmap_scale_mod_LDFLAGS): Likewise.
18142 * include/grub/bitmap_scale.h: New file.
18143 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18144 (background_image_cmd_options): New variable.
18145 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18146 (cmd): Rename and change type to ...
18147 (background_image_cmd_handle): ... this. All users updated.
18148 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18149 * video/bitmap_scale.c: New file.
18150
181512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 SDL support.
18154
18155 * Makefile.in (LIBSDL): New variable.
18156 (enable_grub_emu_sdl): Likewise.
18157 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18158 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18159 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18160 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18161 * util/sdl.c: New file.
18162
181632010-02-06 Colin D Bennett <colin@gibibit.com>
181642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 Double buffering support.
18167
18168 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18169 * include/grub/video.h: Update comment.
18170 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18171 New type.
18172 (grub_video_fb_doublebuf_blit_init): New prototype.
18173 * term/gfxterm.c (scroll_up): Support double buffering.
18174 (grub_gfxterm_refresh): Likewise.
18175 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18176 (grub_video_fb_doublebuf_blit_init): Likewise.
18177 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18178 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18179 'displayed_page', 'render_page' and 'update_screen'.
18180 (grub_video_vbe_fini): Free offscreen buffer.
18181 (doublebuf_pageflipping_commit): New function.
18182 (doublebuf_pageflipping_update_screen): Likewise.
18183 (doublebuf_pageflipping_init): Likewise.
18184 (double_buffering_init): Likewise.
18185 (grub_video_vbe_setup): Enable doublebuffering.
18186 (grub_video_vbe_swap_buffers): Implement.
18187 (grub_video_vbe_set_active_render_target): Handle double buffering.
18188 (grub_video_vbe_get_active_render_target): Likewise.
18189 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18190 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18191 (grub_video_vbe_enable_double_buffering): Likewise.
18192 (grub_video_vbe_swap_buffers): Use update_screen.
18193 (grub_video_set_mode): Use double buffering.
18194
181952010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18196
18197 * maintainance/gentrigtables.py: Remove.
18198 * lib/trig.c: Likewise.
18199
18200 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18201
18202 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18203 `trigtables.c'.
18204 (trigtables.c): New rule.
18205 (gentrigtables): Likewise.
18206 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18207
182082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18209
18210 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18211 integer constants.
18212
182132010-02-06 Colin D Bennet <colin@gibibit.com>
18214
18215 Trigonometry support.
18216
18217 * include/grub/trig.h: New file.
18218 * lib/trig.c: Likewise.
18219 * maintainance/gentrigtables.py: Likewise.
18220 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18221 (trig_mod_SOURCES): New variable.
18222 (trig_mod_CFLAGS): Likewise.
18223 (trig_mod_LDFLAGS): Likewise.
18224
5562834e
VS
182252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18228 disk devices.
18229
4f8528fc
VS
182302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18233 error.
18234
2b4068e9
VS
182352010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18236
18237 * util/hostdisk.c (open_device): Don't use partition device when reading
18238 before the partition.
18239 (grub_util_biosdisk_read): Don't read from partition and before the
18240 partition in single operation.
18241 (grub_util_biosdisk_write): Don't write to partition and before the
18242 partition in single operation.
18243
399f6e4d
TL
182442010-02-03 Torsten Landschoff <torsten@debian.org>
18245
18246 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18247 last sectors.
18248
996649b0
VS
182492010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18252 CDROM reads.
18253 (grub_biosdisk_write): Refuse to write to CDROM.
18254
3b205d4d
VS
182552010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18258
61e89d9d
VS
182592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18260
18261 * font/font.c (find_glyph): Check that bmp_idx is available before
18262 using it.
18263 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18264 with (font == NULL).
18265
bf7fcba2
CS
182662010-01-28 Christian Schmitt <chris@ilovelinux.de>
18267
18268 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18269
f45d2663
BC
182702010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18271
18272 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18273 * util/grub-script-check.c (getline): Fix empty lines case.
18274
ec1444e6
RM
182752010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18276
18277 * Makefile.in (check): Exit with fail status when one of the tests
18278 fails.
18279 * tests/example_functional_test.c (example_test): Fix reversed assert.
18280 * tests/example_unit_test.c (example_test): Likewise.
18281
2e1cb9bb
CW
182822010-01-28 Colin Watson <cjwatson@ubuntu.com>
18283
18284 * util/grub.d/10_linux.in: This script does not use any of the
18285 contents of gettext.sh, only the external command `gettext', so stop
18286 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18287 the same prefix as GRUB.)
18288 * util/grub.d/10_kfreebsd.in: Likewise.
18289
63533ab0
VS
182902010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18293 of the line.
18294
989e1f93
VS
182952010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18298 last sectors.
18299
e709ebe2
VS
183002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18303 having a 4KiB and not 32KiB buffer size.
18304
27dea7ed
RM
183052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18306
18307 * util/hostfs.c: Include `<errno.h>'.
18308 (grub_hostfs_read): Handle errors from fseeko() and fread().
18309
67667b9c
RM
183102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18311
18312 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18313 loop when using read hooks on files whose size isn't sector-aligned.
18314
c294d9d8
RM
183152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18316
18317 Remove unused parameter.
18318
18319 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18320 (grub_iso9660_open): Remove initialization of `data->length'.
18321
af75a9f1
RM
183222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18323
18324 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18325 memleak conditions.
18326
254e2ce5 183272010-01-27 Carles Pina i Estany <carles@pina.cat>
18328
18329 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18330 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18331
b510928c 183322010-01-26 Carles Pina i Estany <carles@pina.cat>
18333
18334 * util/bin2h.c (usage): Fix warning (space after backslash).
18335
aa2f9dd2 183362010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 18337
18338 * font/font.c: Include `grub/fontformat.h.
18339 Remove font file format constants.
18340 (grub_font_load): Use the new macros.
18341 * include/grub/fontformat.h: New file.
18342 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18343 (write_font_pf2): Use the new macros.
18344
94e7e712
RM
183452010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18346
18347 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18348 does.
18349
3973a59a
RM
183502010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18351
18352 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18353
18354 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18355 (_start): Macroify `0x7F'.
18356
18357 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18358 (make_install_device): Use "(pxe)" as fallback prefix when booting
18359 via PXE.
18360
42e0cba3
GS
183612010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18362
18363 * configure.ac: Reset LIBS after check for libgcc symbols.
18364
847effd8
CW
183652010-01-25 Colin Watson <cjwatson@ubuntu.com>
18366
18367 * util/hostdisk.c (open_device): Add trailing newline to debug
18368 message.
18369
ea4a7e35
GS
183702010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18371
18372 * configure.ac: Check for `limits.h'.
18373 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18374
67951a53
RM
183752010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18376
18377 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18378 capitalize error strings.
18379
c273d4ce
ST
183802010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18381
18382 * util/grub.d/10_hurd.in: Add a recovery mode.
18383
69be5b74
VS
183842010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 * configure.ac: Check for libgcc symbols with -nostdlib.
18387
fc9e5810
BC
183882010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18389
18390 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18391
4b358c0a
VS
183922010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18395 stack since heap may be unavailable at that point.
18396 (grub_ofconsole_gotoxy): Likewise.
18397
454fcd1c
VS
183982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18399
18400 * configure.ac: Check for _restgpr_14_x.
18401 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18402 and _savegpr_* prototypes.
18403
566863ca
RM
184042010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18405
18406 Use generic grub_reboot() for i386-efi.
18407
18408 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18409 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18410 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18411
bf86e59a
VS
184122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18415 presence of "prefix" variable as it breaks when normal.mod is
18416 embedded.
18417
d645e0f8
VS
184182010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18419
18420 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18421 stack since heap is unavailable at that point.
18422
f9ab2e25
VS
184232010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18426 (grub_freebsd_bootinfo): Rewritten.
18427 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18428
01fc7054
VS
184292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18432
caab4fd6
RM
184332010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18434
18435 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18436 domain now.
18437
67eb1427
FZ
184382010-01-20 Felix Zielcke <fzielcke@z-51.de>
18439
18440 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18441 around for handling "/" to the correct fix. Fix a memory leak. Use
18442 xstrdup instead of strdup.
18443
a9ed4ff3
VS
184442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18445
18446 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18447
184482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
18449
18450 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18451
18452 * font/font.c (struct grub_font): New member 'bmp_idx'.
18453 (font_init): Initialise 'bmp_idx'.
18454 (load_font_index): Fill 'bmp_idx'.
18455 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18456
48209f4f
VS
184572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18460 unnecessary calls.
18461
9f0a4bb7
VS
184622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18463
18464 Move context handling out of the kernel.
18465
18466 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18467 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18468 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18469 * conf/i386-efi.rmk: Likewise.
18470 * conf/i386-ieee1275.rmk: Likewise.
18471 * conf/i386-pc.rmk: Likewise.
18472 * conf/powerpc-ieee1275.rmk: Likewise.
18473 * conf/sparc64-ieee1275.rmk: Likewise.
18474 * conf/x86_64-efi.rmk: Likewise.
18475 * include/grub/env.h: Include grub/menu.h.
18476 (grub_env_var_type): Removed.
18477 (grub_env_var): Replaced field 'type' with 'global'.
18478 (grub_env_find): New prototype.
18479 (grub_env_context_open): Remove EXPORT_FUNC.
18480 (grub_env_context_close): Likewise.
18481 (grub_env_export): Likewise.
18482 (grub_env_set_data_slot): Removed.
18483 (grub_env_get_data_slot): Likewise.
18484 (grub_env_unset_data_slot): Likewise.
18485 (grub_env_unset_menu): New prototype.
18486 (grub_env_set_menu): Likewise.
18487 (grub_env_get_menu): Likewise.
18488 * include/grub/env_private.h: New file.
18489 * include/grub/normal.h (grub_context_init): New prototype.
18490 (grub_context_fini): Likewise.
18491 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18492 * normal/context.c (grub_cmd_export): ... to here.
18493 * kern/env.c: Include env_private.h.
18494 (HASHSZ): Moved to include/grub/env_private.h.
18495 (grub_env_context): Likewise.
18496 (grub_env_sorted_var): Likewise.
18497 (current_context): Renamed from this ...
18498 (grub_current_context): ...to this. 'static' removed. All users updated.
18499 (grub_env_find): Removed 'static'.
18500 (grub_env_context_open): Moved to normal/context.c.
18501 (grub_env_context_close): Likewise.
18502 (grub_env_export): Likewise.
18503 (mangle_data_slot_name): Removed.
18504 (grub_env_set_data_slot): Likewise.
18505 (grub_env_get_data_slot): Likewise.
18506 (grub_env_unset_data_slot): Likewise.
18507 * kern/main.c (grub_set_root_dev): Don't export root.
18508 It will be done later.
18509 (grub_main): Don't export prefix.
18510 It will be done later.
18511 * normal/context.c: New file.
18512 * normal/main.c (free_menu): Use grub_env_unset_menu.
18513 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18514 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18515 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18516 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18517
8dd35b8c
VS
185182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 setpci support.
18521
18522 * commands/setpci.c: New file.
18523 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18524 (setpci_mod_SOURCES): New variable.
18525 (setpci_mod_CFLAGS): Likewise.
18526 (setpci_mod_LDFLAGS): Likewise.
18527
449193d5
VS
185282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18529
18530 Byte-addressable PCI configuration space.
18531
18532 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18533 dword address.
18534 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18535 GRUB_PCI_REG_CACHELINE.
18536 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18537 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18538 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18539 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18540 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18541 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18542 grub_pci_make_address.
18543 (lock_rom_area): Likewise.
18544 * commands/lspci.c (grub_lspci_iter): Use macroses
18545 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18546 of grub_pci_make_address.
18547 * disk/ata.c (grub_ata_pciinit): Likewise.
18548 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18549 (GRUB_PCI_REG_VENDOR): Likewise.
18550 (GRUB_PCI_REG_DEVICE): Likewise.
18551 (GRUB_PCI_REG_COMMAND): Likewise.
18552 (GRUB_PCI_REG_STATUS): Likewise.
18553 (GRUB_PCI_REG_REVISION): Likewise.
18554 (GRUB_PCI_REG_CLASS): Likewise.
18555 (GRUB_PCI_REG_CACHELINE): Likewise.
18556 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18557 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18558 (GRUB_PCI_REG_BIST): Likewise.
18559 (GRUB_PCI_REG_ADDRESSES): Likewise.
18560 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18561 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18562 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18563 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18564 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18565 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18566 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18567 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18568 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18569 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18570 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18571 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18572 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18573 (GRUB_PCI_REG_MIN_GNT): Likewise.
18574 (GRUB_PCI_REG_MAX_LAT): Likewise.
18575 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18576 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18577 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 18578 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
18579 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18580 space.
18581
96d73208
RM
185822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18583
18584 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18585 can be reliably determined to be supported.
18586
d4484482
RM
185872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18588
18589 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18590 that VESA is supported.
18591 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18592 supported.
18593
00308ecf
VS
185942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18595
18596 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18597
f66924a4
RM
185982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18599
18600 * util/misc.c (make_system_path_relative_to_its_root): Work around
18601 special-casing of "/", as previous incarnation of this routine did.
18602
cbca0ada
VS
186032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18604
18605 Fix any-emu compilation.
18606
18607 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18608 * grub_bin2h_SOURCES: New variable.
18609
34a66d99
RM
186102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18611
18612 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18613
94fabf58
RM
186142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18615
18616 * util/grub.d/00_header.in: Fix handling of locale_dir.
18617
02cf98ca
VS
186182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18621 as possible unifont location (Gentoo).
18622 Reported by: Alexander Brüning
18623
327dbcd7
VS
186242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18625
18626 Don't try to generate lists for kernel.img.
18627
18628 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18629 (pkglib_MODULES): Remove kernel.img.
18630 (kernel_img_EXPORTS): Removed.
18631 (kernel_img_RELOCATABLE): New variable.
18632 * conf/x86_64-efi.rmk: Likewise.
18633 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18634
ca467290
VS
186352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18636
18637 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18638 grub_xasprintf or grub_snprintf.
18639 (grub_vsprintf): Likewise.
18640 (grub_snprintf): New proto.
18641 (grub_vsnprintf): Likewise.
18642 (grub_xasprintf): Likewise.
18643 (grub_xvasprintf): Likewise.
18644 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18645 (grub_sprintf): Removed.
18646 (grub_vsnprintf): New function.
18647 (grub_snprintf): Likewise.
18648 (grub_xvasprintf): Likewise.
18649 (grub_xasprintf): Likewise.
18650 (grub_vsprintf): Renamed to ...
18651 (grub_vsnprintf_real): ...this. New argument max_len.
18652
aca655fd
BC
186532010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18654
18655 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18656 fix grub-script-check warning.
18657
7ee92c32
VS
186582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * include/grub/font.h (grub_font_load): Fix prototype.
18661
f80927ca
VS
186622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18663
18664 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18665
119c50ea
VS
186662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18667
18668 * include/grub/x86_64/at_keyboard.h: New file.
18669
47d5f3c1
VS
186702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 * loader/mips/linux.c: Include missing grub/i18n.h.
18673
55ff5266
RM
186742009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18675
18676 * normal/menu.c (notify_execution_failure): Clarify error message.
18677
c893cc87
RM
186782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18679
18680 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18681 return value (and revert all return statements). Update users.
18682
917dd370
CW
186832010-01-20 Dan Merillat <debian@dan.merillat.org>
18684
18685 * kern/device.c (grub_device_iterate): Allocate new part_ent
18686 structure based on sizeof (*p) rather than sizeof (p->next), to
18687 account for structure padding.
18688
18689 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18690 disk is NULL, which might happen for LVM physical volumes with no
18691 LVM signature.
18692
d4a4ee57
RM
186932009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18694
18695 * loader/mips/linux.c (grub_cmd_initrd)
18696 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18697
186982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18699
18700 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18701 (grub_video_video_init, grub_video_bitmap_init)
18702 (grub_font_manager_init, grub_term_gfxterm_init)
18703 (grub_at_keyboard_init): New extern declarations.
18704 (grub_machine_init): Initialize gfxterm and at_keyboard.
18705
18706 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18707
18708 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18709 `gfxterm.mod' into core image.
18710
18711 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18712 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18713 (kernel_img_FORMAT): Copy to ...
18714
18715 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18716 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18717 (kernel_img_FORMAT): ... here, and ...
18718
18719 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18720 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18721 (kernel_img_FORMAT): ... here.
18722
18723 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18724 and input (at_keyboard) terminals in kernel.
18725 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18726
18727 (pkglib_MODULES): Remove `pci.mod'.
18728 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18729 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18730 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18731 (at_keyboard_mod_LDFLAGS): Remove variables.
18732
187332010-01-11 Felix Zielcke <fzielcke@z-51.de>
18734
18735 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18736
187372009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18738
18739 * include/grub/mips/libgcc.h: Only export symbols for functions
18740 that libgcc provides.
18741
187422009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 MIPS support.
18745
18746 * bus/bonito.c: New file.
18747 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18748 GRUB_PCI_NUM_DEVICES.
18749 * term/i386/pc/serial.c: Move to ...
18750 * term/serial.c: ... here. All users updated.
18751 * util/i386/pc/grub-mkimage.c: Move to ...
18752 * util/grub-mkrawimage.c: ... here. All users updated.
18753 * term/i386/pc/at_keyboard.c: Move to ...
18754 * term/at_keyboard.c: ... here. All users updated.
18755 * conf/mips-qemu-mips.rmk: New file.
18756 * conf/mips-yeeloong.rmk: Likewise.
18757 * conf/mips.rmk: Likewise.
18758 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18759 mipsel-qemu-mips.
18760 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18761 to port addresses.
18762 (grub_ata_pciinit): Support CS5536.
18763 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18764 * font/font_cmd.c (loadfont_command): Open file before passing it to
18765 grub_font_load.
18766 (pseudo_file_read): New function.
18767 (pseudo_file_close): Likewise.
18768 (pseudo_fs): New structure.
18769 (load_font_module): New function.
18770 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18771 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18772 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18773 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18774 * include/grub/i386/at_keyboard.h: Split into ...
18775 * include/grub/at_keyboard.h: ... this ...
18776 * include/grub/i386/at_keyboard.h: ... and this.
18777 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18778 New prototype.
18779 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18780 updated.
18781 (grub_elf64_size): Likewise.
18782 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18783 filename.
18784 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18785 * include/grub/i386/coreboot/serial.h: Rewritten.
18786 * include/grub/i386/ieee1275/serial.h: Include
18787 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18788 * include/grub/i386/pc/serial.h: Moved from here ...
18789 * include/grub/serial.h: ... to here. All users updated.
18790 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18791 (GRUB_PCI_NUM_BUS): Likewise.
18792 (GRUB_PCI_NUM_DEVICES): Likewise.
18793 (grub_pci_device_map_range): Add missing volatile keyword.
18794 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18795 * include/grub/mips/at_keyboard.h: New file.
18796 * include/grub/mips/cache.h: Likewise.
18797 * include/grub/mips/io.h: Likewise.
18798 * include/grub/mips/kernel.h: Likewise.
18799 * include/grub/mips/libgcc.h: Likewise.
18800 * include/grub/mips/pci.h: Likewise.
18801 * include/grub/mips/qemu-mips/boot.h: Likewise.
18802 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18803 * include/grub/mips/qemu-mips/loader.h: Likewise.
18804 * include/grub/mips/qemu-mips/memory.h: Likewise.
18805 * include/grub/mips/qemu-mips/serial.h: Likewise.
18806 * include/grub/mips/qemu-mips/time.h: Likewise.
18807 * include/grub/mips/relocator.h: Likewise.
18808 * include/grub/mips/time.h: Likewise.
18809 * include/grub/mips/types.h: Likewise.
18810 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18811 * include/grub/mips/yeeloong/boot.h: Likewise.
18812 * include/grub/mips/yeeloong/kernel.h: Likewise.
18813 * include/grub/mips/yeeloong/loader.h: Likewise.
18814 * include/grub/mips/yeeloong/memory.h: Likewise.
18815 * include/grub/mips/yeeloong/pci.h: Likewise.
18816 * include/grub/mips/yeeloong/serial.h: Likewise.
18817 * include/grub/mips/yeeloong/time.h: Likewise.
18818 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18819 * kern/elf.c (grub_elf32_size): New parameter. All users
18820 updated.
18821 (grub_elf64_size): Likewise.
18822 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18823 Load modules before saying "Welcome to GRUB!".
18824 Call grub_refresh after saying "Welcome to GRUB!".
18825 * kern/mips/cache.S: New file.
18826 * kern/mips/cache_flush.S: Likewise.
18827 * kern/mips/dl.c: Likewise.
18828 * kern/mips/init.c: Likewise.
18829 * kern/mips/qemu-mips/init.c: Likewise.
18830 * kern/mips/startup.S: Likewise.
18831 * kern/mips/yeeloong/init.c: Likewise.
18832 * kern/term.c (grub_putcode): Handle NULL terminal.
18833 (grub_getcharwidth): Likewise.
18834 (grub_getkey): Likewise.
18835 (grub_checkkey): Likewise.
18836 (grub_getkeystatus): Likewise.
18837 (grub_getxy): Likewise.
18838 (grub_getwh): Likewise.
18839 (grub_gotoxy): Likewise.
18840 (grub_cls): Likewise.
18841 (grub_setcolorstate): Likewise.
18842 (grub_setcolor): Likewise.
18843 (grub_getcolor): Likewise.
18844 (grub_refresh): Likewise.
18845 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18846 (write_jump): Add hatch nop.
18847 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18848 * lib/mips/setjmp.S: New file.
18849 * loader/mips/linux.c: Likewise.
18850 * term/i386/pc/at_keyboard.c: Move from here ...
18851 * term/at_keyboard.c: ... to here.
18852 * term/i386/pc/serial.c: Moved from here ...
18853 * term/serial.c: ... to here. All users updated.
18854 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18855 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18856 (serial_translate_key_sequence): Avoid deadlock.
18857 (grub_serial_getkey): Handle backspace.
18858 (grub_serial_putchar): Fix newline handling.
18859 * util/i386/pc/grub-mkimage.c: Move from here ...
18860 * util/grub-mkrawimage.c: ... to here. All users updated.
18861 (generate_image): New parameters 'font_path' and 'format'.
18862 Support embedding font.
18863 Use grub_host_to_target* instead of grub_cpu_to_le*.
18864 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18865 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18866 (options): New option "--font".
18867 (usage): Likewise.
18868 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18869 (main): Handle "--font".
18870 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18871 (grub_virtual_screen_setup): Set bg_color_display.
18872 (redraw_screen_rect): Use bg_color_display instead of incorrect
18873 bg_color.
18874 (grub_gfxterm_cls): Likewise.
18875 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18876 Support embedding config file.
18877 (add_segments): Likewise.
18878 (options): New option "--config".
18879 (main): Handle "--config".
18880 * video/sm712.c: New file.
18881
25c2b5b3
RM
188822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18883
18884 Fix parallel builds.
18885
18886 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18887 font.c depend on ascii.h).
18888
188892010-01-12 Carles Pina i Estany <carles@pina.cat>
18890
18891 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18892
188932010-01-11 Carles Pina i Estany <carles@pina.cat>
18894
18895 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18896 By default: disabled.
18897 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18898 parameter.
18899
189002010-01-10 Carles Pina i Estany <carles@pina.cat>
18901
18902 * font/font.c: Update copyright years.
18903 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18904
189052010-01-10 Carles Pina i Estany <carles@pina.cat>
18906
18907 * font/font.c: Include `ascii.h'.
18908 (ASCII_BITMAP_SIZE): New macro.
18909 (ascii_font_glyph): Define.
18910 (ascii_glyph_lookup): New function.
18911 (grub_font_get_string_width): Change comment. If glyph not found, use
18912 ascii_glyph_lookup.
18913 (grub_font_get_glyph_with_fallback): If glyph not available returns
18914 ascii_glyph_lookup.
18915 * util/grub-mkfont.c (file_formats): New enum.
18916 (options): Add `ascii-bitmaps' new option.
18917 (usage): Add `asii-bitmaps' new option.
18918 (write_font_ascii_bitmap): New function.
18919 (write_font): Rename to ...
18920 (write_font_p2): ... this. Remove print_glyphs call.
18921 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18922 used. Call print_glyphs.
18923 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18924
189252010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18926
18927 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18928 (grub_bin2h_SOURCES): New variable.
18929 * util/bin2h.c: New file.
18930
915fc1b8
VS
189312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * include/multiboot.h: Resynced with spec.
18934 * include/multiboot2.h: Likewise.
18935 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18936 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18937
9444b678
RM
189382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18939
18940 * include/grub/term.h (grub_term_register_input,
18941 grub_term_register_output): Check return of terminal init()
18942 routines, and abort if errors are raised.
18943
18944 * commands/terminal.c: Update copyright year.
18945
cba98e8d
RM
189462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18947
18948 * commands/terminal.c (grub_cmd_terminal_input)
18949 (grub_cmd_terminal_output): Check return of terminal init()
18950 routines, and abort if errors are raised.
18951
6f7db5d6
VS
189522010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18953
18954 * include/grub/i386/bsd.h: Fix include pathes.
18955
262bff8d
VS
189562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 Add missing *BSD copyright headers.
18959
18960 * include/grub/aout.h: Add BSD licence.
18961 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18962 * include/grub/i386/freebsd_linker.h: ... here,
18963 * include/grub/i386/freebsd_reboot.h: ... here,
18964 * include/grub/i386/netbsd_bootinfo.h: ... here,
18965 * include/grub/i386/netbsd_reboot.h: ... here,
18966 * include/grub/i386/openbsd_bootarg.h: ... here,
18967 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18968 licence to each file.
18969
b2cab848
RM
189702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18971
18972 * acinclude.m4: Remove `nop' assembly instruction; it's not
18973 implemented by all architectures.
18974
2cb6be4b
RM
189752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18976
18977 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18978 ELILO. This is no longer necessary.
18979
a2eaee15
BC
189802010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18981
18982 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18983
18984 * util/grub-script-check.c: grub-script-check tool.
18985 * conf/common.rmk: Make rules for grub-script-check.
18986
88d17012
RM
189872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18988
18989 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18990 spotting it back in 2008. Shame on me for forgetting he did.
18991
18992 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18993
8040619d
RM
189942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18995
18996 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18997 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18998 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18999 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
19000 (GRUB_VIDEO_TYPE_EFI): Rename to ...
19001 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
19002
a0c2a0f6
RM
190032010-01-17 Robert Millan <rmh.grub@aybabtu.com>
19004
19005 * include/grub/test.h: Add license header.
19006 * tests/example_functional_test.c: Likewise.
19007 * tests/example_unit_test.c: Likewise.
19008 * tests/lib/functional_test.c: Likewise.
19009 * tests/lib/test.c: Likewise.
19010 * tests/lib/unit_test.c: Likewise.
19011
b0b13907
VS
190122010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
19013
19014 Use flag-based instead of hook-based video mode selection and "auto"
19015 keyword.
19016
19017 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
19018 (grub_video_set_mode): Changed prototype. All users updated.
19019 (grub_video_check_mode_flag): New inline function.
19020 * video/video.c (parse_modespec): New function.
19021 (grub_video_set_mode): Parse flags and keywords.
19022
ea379330 190232010-01-17 Carles Pina i Estany <carles@pina.cat>
19024
19025 * util/misc.c (grub_util_info): Fix the order of the parameters in a
19026 fprintf call.
19027
e15c215e
FZ
190282010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
19029
19030 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
19031
409ae1c9 190322010-01-16 Carles Pina i Estany <carles@pina.cat>
19033
19034 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
19035 string.
19036 * util/grub-emu.c (usage): Likewise.
19037 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
19038 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19039 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19040 * util/i386/pc/grub-setup.c (usage): Likewise.
19041
70a14d3d 190422010-01-16 Carles Pina i Estany <carles@pina.cat>
19043
19044 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
19045 the message.
19046 (grub_util_info): Likewise.
19047 (grub_util_error): Likewise.
19048 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
19049 and/or new lines in `grub_util_warna', `grub_util_info',
19050 `grub_util_error' calls.
19051 * util/getroot.c: Likewise.
19052 * util/grub-editenv.c: Likewise.
19053 * util/grub-emu.c: Likewise.
19054 * util/grub-fstest.c: Likewise.
19055 * util/grub-mkdevicemap.c: Likewise.
19056 * util/grub-mkfont.c: Likewise.
19057 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19058 * util/grub-mkrelpath.c: Likewise.
19059 * util/grub-pe2elf.c: Likewise.
19060 * util/grub-probe.c: Likewise.
19061 * util/hostdisk.c: Likewise.
19062 * util/i386/efi/grub-mkimage.c: Likewise.
19063 * util/i386/pc/grub-mkimage.c: Likewise.
19064 * util/i386/pc/grub-setup.c: Likewise.
19065 * util/ieee1275/ofpath.c: Likewise.
19066 * util/mkisofs/eltorito.c: Likewise.
19067 * util/mkisofs/rock.c: Likewise.
19068 * util/mkisofs/write.c: Likewise.
19069 * util/raid.c: Likewise.
19070 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19071 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19072
a0b766fc
VS
190732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19074
19075 Enable multiboot on non-pc.
19076
19077 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
19078 multiboot.mod and multiboot2.mod to ...
19079 * conf/i386.rmk (pkglib_MODULES): ... here.
19080 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
19081 Moved to ...
19082 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
19083 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
19084 Moved to ...
19085 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
19086 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
19087 Moved to ...
19088 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
19089 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
19090 Moved to ...
19091 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
19092 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
19093 relocator.mod.
19094 (ata_mod_SOURCES): Removed.
19095 (ata_mod_CFLAGS): Likewise.
19096 (ata_mod_LDFLAGS): Likewise.
19097 (relocator_mod_SOURCES): Removed.
19098 (relocator_mod_CFLAGS): Likewise.
19099 (relocator_mod_ASFLAGS): Likewise.
19100 (relocator_mod_LDFLAGS): Likewise.
19101 Include i386.mk.
19102 * include/grub/x86_64/multiboot.h: New file.
19103 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
19104 Terminate EFI.
19105
884ade56
VS
191062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 Video multiboot support.
19109
19110 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
19111 New prototype.
19112 * include/multiboot.h: Resynced with multiboot specification.
19113 * include/multiboot2.h: Likewise.
19114 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
19115 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
19116 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
19117 (HAS_VGA_TEXT): Likewise.
19118 (accepts_video): New variable.
19119 (grub_multiboot_set_accepts_video): New function.
19120 (grub_multiboot_get_mbi_size): Account for video structures.
19121 (set_video_mode): New function.
19122 (retrieve_video_parameters): Likewise.
19123 (grub_multiboot_make_mbi): Fill video fields.
19124
0d90e8a6
VS
191252010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 Video driver ids.
19128
19129 * include/grub/video.h (grub_video_driver_id): New type.
19130 (grub_video_adapter): New member 'id'. All users updated.
19131 (grub_video_get_driver_id): New proto.
19132 * video/video.c (grub_video_get_driver_id): New function.
19133
5c71db1b 191342010-01-14 Carles Pina i Estany <carles@pina.cat>
19135
19136 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19137 `var=val'.
19138
cca15b52 191392010-01-14 Carles Pina i Estany <carles@pina.cat>
19140
19141 * normal/cmdline.c (print_completion): Gettextizze.
19142
c586fbb2 191432001-01-14 Carles Pina i Estany <carles@pina.cat>
19144
19145 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19146
ba2f6848 191472010-01-14 Carles Pina i Estany <carles@pina.cat>
19148
19149 * gettext/gettext.c (grub_gettext_translate): Push and pop
19150 grub_errno.
19151 (grub_gettext_delete_list): Change comment style.
19152 * kern/err.c (grub_error): Gettextizze.
19153 (grub_fatal): Gettextizze.
19154
0a46429a
RM
191552010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19156
19157 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19158 (grub_linux16_real_boot): ... this.
19159 * kern/i386/loader.S: Likewise.
19160 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19161 (grub_linux16_boot): New function. Switches to text mode and calls
19162 grub_linux16_real_boot().
19163
19164 * loader/i386/bsd.c: Include `<grub/video.h>'.
19165 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19166 text mode before calling grub_unix_real_boot().
19167
19168 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19169 (grub_multiboot_boot): Switch to text mode before calling
19170 grub_relocator32_boot().
19171
19172 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19173 (grub_chainloader_boot): Switch to text mode before calling
19174 grub_chainloader_real_boot().
19175
d6f93a66
RM
191762010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
191772010-01-05 Colin Watson <cjwatson@ubuntu.com>
19178
19179 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19180 non-empty value.
19181
191822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
191832010-01-05 Colin Watson <cjwatson@ubuntu.com>
19184
19185 * util/grub.d/00_header.in: Define a "savedefault" function for use
19186 in menu entries.
19187 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19188
191892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
191902010-01-05 Colin Watson <cjwatson@ubuntu.com>
19191
19192 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19193 saved_entry if boot_once is unset.
19194 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19195 previous saved entry (i.e. grub-reboot).
19196
191972009-12-08 Colin Watson <cjwatson@ubuntu.com>
19198
19199 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19200
192012009-12-08 Colin Watson <cjwatson@ubuntu.com>
19202
19203 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19204 `var=val'.
19205 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19206
192072009-12-08 Colin Watson <cjwatson@ubuntu.com>
19208
19209 * util/grub-reboot.in: Fix --version output.
19210 * util/grub-set-default.in: Likewise.
19211
192122009-12-08 Colin Watson <cjwatson@ubuntu.com>
19213
19214 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19215 blocks.
19216
192172009-12-08 Colin Watson <cjwatson@ubuntu.com>
19218
19219 * util/grub.d/00_header.in: Quote the value assigned to `default',
19220 in case it contains spaces.
19221
192222009-12-08 Colin Watson <cjwatson@ubuntu.com>
19223
19224 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19225 `save_default_entry' call from the macosx case to the linux case.
19226
192272009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
192282009-10-25 Colin Watson <cjwatson@ubuntu.com>
19229
19230 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19231 in `chosen' environment variable.
19232 * normal/menu_text.c (get_entry_number): Check if the variable
19233 matches the title of a menu entry.
19234 (run_menu): Pass menu to get_entry_number.
19235
19236 * util/grub-reboot.in: New file.
19237 * util/grub-set-default.in: New file.
19238 * conf/common.rmk (grub-reboot): New utility.
19239 (grub-set-default): New utility.
19240
19241 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19242 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19243 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19244 move it to `saved_entry' for the next boot. Load environment on
19245 initialisation.
19246 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19247 * util/grub.d/10_hurd.in: Likewise.
19248 * util/grub.d/10_linux.in (linux_entry): Likewise.
19249 * util/grub.d/10_windows.in: Likewise.
19250 * util/grub.d/30_os-prober.in: Likewise.
19251
19252 * util/grub-install.in: Create environment block.
19253 * util/i386/efi/grub-install.in: Likewise.
19254 * util/ieee1275/grub-install.in: Likewise.
19255 * util/sparc64/ieee1275/grub-install.in: Likewise.
19256
0934d184
BC
192572010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19258
19259 Unit testing framework for GRUB.
19260
19261 * Makefile.in: Test framework build rules for 'make check'.
19262 * conf/tests.rmk: Build rules for individual tests and framework.
19263
19264 * include/grub/test.h: Header file for whitebox tests.
19265 * tests/lib/functional_test.c: Framework support for whitebox
19266 functional tests.
19267 * tests/lib/test.c: Common whitebox testing code for unit and
19268 functional tests.
19269 * tests/lib/unit_test.c: Framework support for whitebox unit
19270 tests.
19271
19272 * tests/util/grub-shell-tester.in: Support utility for grub-script
19273 tests.
19274 * tests/util/grub-shell.in: Utility to execute grub-script
19275 commands in a Qemu instance.
19276
19277 * tests/example_functional_test.c: Example whitebox functional
19278 test.
19279 * tests/example_grub_script_test.in: Example grub-script test.
19280 * tests/example_scripted_test.in: Example scripted test.
19281 * tests/example_unit_test.c: Example whitebox unit test.
19282
9c4ffeeb
VS
192832010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19286 Add loader/i386/multiboot_mbi.c.
19287 (multiboot2_mod_SOURCES): Likewise.
19288 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19289 (multiboot2_mod_SOURCES): Likewise.
19290 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19291 (grub_multiboot_make_mbi): Likewise.
19292 (grub_multiboot_free_mbi): Likewise.
19293 (grub_multiboot_init_mbi): Likewise.
19294 (grub_multiboot_add_module): Likewise.
19295 (grub_multiboot_set_bootdev): Likewise.
19296 * loader/i386/multiboot.c (mbi): Removed.
19297 (mbi_dest): Likewise.
19298 (alloc_mbi): New variable.
19299 (grub_multiboot_payload_size): Removed. All users updated.
19300 (grub_multiboot_pure_size): New variable.
19301 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19302 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19303 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19304 (grub_fill_multiboot_mmap): Likewise.
19305 (grub_multiboot_get_bootdev): Likewise.
19306 (grub_multiboot): Use multiboot_mbi functions.
19307 * loader/i386/multiboot_mbi.c: New file.
19308
17383dfe
VS
193092010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19310
19311 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19312 it would result in module crash.
19313
c1f28820
VS
193142010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19317 (grub_ofconsole_getwh): Split to ...
19318 (grub_ofconsole_getwh): ... this.
19319 (grub_ofconsole_dimensions): ...and this.
19320 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19321
58655a16
RM
193222010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19323
19324 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19325
10891398
VS
193262010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * loader/i386/pc/multiboot2.c: Removed stalled file.
19329
0b8a223c
VS
193302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19331
19332 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19333 Reported by: Grégoire Sutre
19334
92ab12b0
RM
193352010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19336
19337 * util/misc.c (canonicalize_file_name): New function.
19338 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19339 instead of realpath().
19340
a788afb6
CW
193412010-01-11 Colin Watson <cjwatson@ubuntu.com>
19342
19343 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19344 and make it clearer that it's optional. Based on confusion
19345 witnessed on IRC.
19346
ffa8e3d2
VS
193472010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19350 in premature implicit newline.
19351
e9060a9d
VS
193522010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19355 which resulted in garbled command line at the end of screen.
19356
f0d0c0b7
RM
193572010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19358
19359 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19360 initialization with similar approach as with other Linux loaders.
19361
0e60bae7
RM
193622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19363
19364 Fix i386-ieee1275 build.
19365
19366 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19367 and grub_term_height() for video_{width,height} initialization.
19368
193692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
19370
19371 Fix grub-emu build.
19372
19373 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19374
cdb3f378
RM
193752010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
193762010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19377
19378 Support for multiple terminals.
19379
19380 * Makefile.in (pkglib_DATA): terminal.lst.
19381 (terminal.lst): New target.
19382 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19383 (GRUB_MOD_INIT(handler)): Likewise.
19384 (GRUB_MOD_FINI(handler)): Likewise.
19385 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19386 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19387 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19388 (grub_cmd_sleep): Use grub_term_save_pos.
19389 * commands/terminal.c: New file.
19390 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19391 commands/terminal.c and lib/charset.c.
19392 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19393 (pkglib_MODULES): Add terminal.mod.
19394 (terminal_mod_SOURCES): New variable.
19395 (terminal_mod_CFLAGS): Likewise.
19396 (terminal_mod_LDFLAGS): Likewise.
19397 * genhandlerlist.sh: Don't handle terminals.
19398 * genmk.rb: Generate terminal-*.lst.
19399 * genterminallist.sh: New file.
19400 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19401 (grub_is_valid_utf8): Likewise.
19402 (grub_utf8_to_ucs4_alloc): Likewise.
19403 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19404 (grub_menu_register_viewer): Changed argument.
19405 (grub_menu_try_text): New proto.
19406 (grub_gfxmenu_try_hook): New declaration.
19407 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19408 (grub_menu_init_page): Additional argument term.
19409 (grub_normal_init_page): Likewise.
19410 (grub_cmdline_get): Arguments simplified.
19411 (grub_utf8_to_ucs4_alloc): Removed.
19412 (grub_print_ucs4): Additional argument term.
19413 (grub_getstringwidth): Likewise.
19414 (grub_print_message_indented): Likewise.
19415 (grub_menu_text_register_instances): New proto.
19416 (grub_show_menu): Likewise.
19417 (read_terminal_list): Likewise.
19418 (grub_set_more): Likewise.
19419 * include/grub/parser.h: Include handler.h.
19420 * include/grub/reader.h: Rewritten.
19421 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19422 (GRUB_TERM_WIDTH): Changed to function.
19423 (GRUB_TERM_HEIGHT): Likewise.
19424 (GRUB_TERM_BORDER_WIDTH): Likewise.
19425 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19426 (GRUB_TERM_NUM_ENTRIES): Likewise.
19427 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19428 (GRUB_TERM_CURSOR_X): Likewise.
19429 (grub_term_input_class): Likewise.
19430 (grub_term_output_class): Likewise.
19431 (grub_term_outputs_disabled): New declaration.
19432 (grub_term_inputs_disabled): Likewise.
19433 (grub_term_outputs): Likewise.
19434 (grub_term_inputs): Likewise.
19435 (grub_term_register_input): Rewritten.
19436 (grub_term_register_output): Likewise.
19437 (grub_term_unregister_input): Likewise.
19438 (grub_term_unregister_output): Likewise.
19439 (FOR_ACTIVE_TERM_INPUTS): New macro.
19440 (FOR_DISABLED_TERM_INPUTS): Likewise.
19441 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19442 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19443 * include/grub/terminfo.h: Add oterm argument to all protypes.
19444 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19445 Use grub_rescue_run.
19446 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19447 All users updated.
19448 * kern/reader.c: Removed. All users updated.
19449 * kern/rescue_reader.c (grub_rescue_init): Removed.
19450 (grub_rescue_reader): Likewise.
19451 (grub_register_rescue_reader): Likewise.
19452 (grub_rescue_run): New function based on kern/reader.c.
19453 * kern/term.c: Adapted for multiterm.
19454 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19455 (grub_is_valid_utf8): Likewise.
19456 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19457 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19458 right terminal.
19459 * loader/i386/linux.c (grub_linux_boot): Likewise.
19460 * normal/auth.c (grub_username_get): New function.
19461 (grub_auth_check_authentication): Use grub_username_get.
19462 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19463 * normal/color.c: Adapt for multiterm.
19464 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19465 (grub_normal_init_page): Additional argument term.
19466 (read_lists): Call read_terminal_lists.
19467 (grub_enter_normal_mode): Call grub_cmdline_run.
19468 Handle grub_normal_exit_level.
19469 (grub_cmd_normal): Make reentrant.
19470 (grub_cmd_normal_exit): New function.
19471 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19472 * normal/menu.c: Adapt for multiterm.
19473 * normal/menu_entry.c: Likewise.
19474 * normal/menu_text.c: Likewise.
19475 * normal/menu_viewer.c: Removed. All users updated.
19476 * normal/term.c: New file.
19477 * util/console.c: Change order of includes to workaround a bug in
19478 ncurses headers.
19479 * term/terminfo.c: New argument oterm on all exported functions.
19480 All users updated.
19481 * util/grub-editenv.c (grub_term_input_class): Removed.
19482 (grub_term_output_class): Likewise.
19483
1a064917
RM
194842010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19485
19486 Make loader output a bit more user-friendly.
19487
19488 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19489 is being loaded. Likewise for the Hurd.
19490
19491 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19492 that kernel of FreeBSD ${version} is being loaded.
19493
19494 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19495 grub_dprintf().
19496 (grub_cmd_initrd): Likewise.
19497 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19498 that Linux ${version} is being loaded. Likewise for initrd.
19499
5ce0a83a 195002010-01-09 Carles Pina i Estany <carles@pina.cat>
19501
19502 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19503
809bbfeb 195042010-01-08 Carles Pina i Estany <carles@pina.cat>
19505
19506 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19507 (GRUB_MOD_INIT): Gettextizze.
19508 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19509 (GRUB_MOD_INIT): Gettextizze.
19510 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19511 (grub_cmd_linux): Capitalise Linux.
19512 (GRUB_MOD_INIT): Gettextizze.
19513 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19514 (grub_cmd_linux): Capitalise Linux.
19515 (GRUB_MOD_INIT): Gettextizze.
19516 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19517 (grub_cmd_linux): Capitalise Linux.
19518 (GRUB_MOD_INIT): Gettextizze.
19519 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19520 (GRUB_MOD_INIT): Gettextizze.
19521 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19522 (grub_cmd_linux): Capitalise Linux.
19523 (GRUB_MOD_INIT): Gettextizze.
19524 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19525 (grub_cpu_xnu_init): Gettextizze.
19526 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19527 (GRUB_MOD_INIT): Gettextizze.
19528 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19529 (GRUB_MOD_INIT): Gettextizze.
19530 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19531 (grub_linux_load64): Capitalise Linux.
19532 (GRUB_MOD_INIT): Gettextizze.
19533 * loader/xnu.c: Include `<grub/i18n.h>'.
19534 (GRUB_MOD_INIT): Gettextizze.
19535 * po/POTFILES: Add `loader/efi/appleloader.c',
19536 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19537 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19538 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19539 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19540 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19541 and `loader/xnu.c'.
19542
b394b2ca
RM
195432010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19544
19545 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19546
195472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
19548
19549 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19550 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19551 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19552
bc8b32b3
RM
195532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19554
19555 Reset Multiboot 2 support. New loader implements the draft in
19556 /branches/multiboot2 and shares as much code as possible with the
19557 production Multiboot 1 implementation.
19558
19559 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19560 * loader/multiboot2.c: Likewise.
19561 * loader/i386/multiboot_helper.S: Likewise.
19562 * include/multiboot2.h: Replace with latest version from the draft
19563 in /branches/multiboot2.
19564
19565 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19566 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19567 and `loader/multiboot2.c'.
19568 (pkglib_MODULES): Add `multiboot2.mod'.
19569 (multiboot2_mod_SOURCES): New variable.
19570 (multiboot2_mod_LDFLAGS): Likewise.
19571 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19572
19573 * conf/i386-pc.rmk: Likewise.
19574
19575 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19576 (multiboot_mod_SOURCES): Remove variable.
19577 (multiboot_mod_LDFLAGS): Likewise.
19578 (multiboot_mod_CFLAGS): Likewise.
19579
19580 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19581 `<multiboot2.h>' instead of `<multiboot.h>'.
19582 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19583 (MULTIBOOT_HEADER_MAGIC): New macros.
19584
19585 * loader/multiboot_loader.c (module_version_status): Remove variable.
19586 (find_multi_boot2_header): Remove function.
19587 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19588 logic. Always check for the Multiboot version we're compiling for.
19589 (grub_cmd_module_loader): Likewise.
19590 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19591 command instead of `multiboot'.
19592
5d2c52b8
RM
195932010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19594
19595 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19596 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19597 all users.
19598
53108d92
RM
195992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
196002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 Fix breakage introduced with previous commit.
19603
19604 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19605 commands.
19606 * normal/handler.c (read_handler_list): Revert part of previous commit
19607 affecting this file.
19608 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19609 (grub_normal_execute): ... here.
19610
e2e936b2
RM
196112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19612
19613 Merge prefix-redefinition-fix branch.
19614
19615 * normal/autofs.c (read_fs_list): Make function capable of being
19616 run multiple times, gracefuly replacing the previous data
19617 structures.
19618 * normal/dyncmd.c (read_command_list): Likewise.
19619 * normal/handler.c (read_handler_list): Likewise.
19620 * normal/main.c (read_lists): New function. Calls all the
19621 list reading functions.
19622 (grub_normal_execute): Use read_lists() instead of calling all
19623 list reading functions explicitly. Register read_lists() as a
19624 variable hook attached to ${prefix}.
19625
607a3701
VS
196262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 Merge crypto branch.
19629
19630 * Makefile.in (pkglib_DATA): Add crypto.lst.
19631 (crypto.lst): New target.
19632 * commands/hashsum.c: New file.
19633 * commands/password.c (check_password): Use grub_crypto_memcmp.
19634 * commands/password_pbkdf2.c: New file.
19635 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19636 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19637 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19638 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19639 -I$(srcdir)/lib/libgcrypt_wrap.
19640 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19641 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19642 password_pbkdf2.mod.
19643 (crypto_mod_SOURCES): New variable.
19644 (crypto_mod_CFLAGS): Likewise.
19645 (crypto_mod_LDFLAGS): Likewise.
19646 (hashsum_mod_SOURCES): New variable.
19647 (hashsum_mod_CFLAGS): Likewise.
19648 (hashsum_mod_LDFLAGS): Likewise.
19649 (pbkdf2_mod_SOURCES): New variable.
19650 (pbkdf2_mod_CFLAGS): Likewise.
19651 (pbkdf2_mod_LDFLAGS): Likewise.
19652 (password_pbkdf2_mod_SOURCES): New variable.
19653 (password_pbkdf2_mod_CFLAGS): Likewise.
19654 (password_pbkdf2_mod_LDFLAGS): Likewise.
19655 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19656 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19657 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19658 Include conf/gcry.rmk.
19659 * include/grub/auth.h: Rewritten.
19660 * include/grub/crypto.h: New file.
19661 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19662 * include/grub/normal.h (read_crypto_list): New prototype.
19663 * lib/crypto.c: New file.
19664 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19665 * lib/pbkdf2.c: Likewise.
19666 * normal/auth.c (grub_auth_strcmp): Removed.
19667 (grub_iswordseparator): Likewise.
19668 (grub_auth_strword): Likewise.
19669 (is_authenticated): Use grub_strword.
19670 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19671 and grub_strword. Pass entered password to authentication callback.
19672 * normal/crypto.c: New file.
19673 * normal/main.c: Call read_crypto_list.
19674 * util/grub-mkpasswd-pbkdf2.c: New file.
19675 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19676
42841caa
VS
196772010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 Fix descent and ascent calculation.
19680
19681 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19682 (options): New option "asce".
19683 (usage): Likewise.
19684 (add_char): Ignore invalid glyphs for descent calculation.
19685 Calculate ascent from actual content.
19686 (print_glyphs): Use 'asce'.
19687 (write_font): Likewise. Allow ascent override.
19688 (main): Handle "asce" option.
19689
e7730de7 196902010-01-06 Carles Pina i Estany <carles@pina.cat>
19691
19692 * kern/err.c: Include `<grub/i18n.h>'.
19693 (grub_print_error): Add full stop. Gettextizze.
19694 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19695 (grub_bsd_load_elf): Capitalise ELF.
19696 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19697 (grub_cmd_freebsd_module): Likewise.
19698 (grub_cmd_freebsd_module_elf): Likewise.
19699 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19700
40e3a41f 197012010-01-06 Carles Pina i Estany <carles@pina.cat>
19702
19703 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19704 * commands/search_file.c (HELP_MESSAGE): New macro.
19705 * commands/search_label.c (HELP_MESSAGE): Likewise.
19706 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19707 * po/POTFILES: Add `commands/search_file.c',
19708 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19709 `commands/search.c'.
19710
83507e68
RM
197112010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19712
19713 * config.rpath: Update from Gnulib.
19714
465c787b
YB
197152010-01-05 Yves Blusseau <blusseau@zetam.org>
19716
19717 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19718
6581dd3a
YB
197192010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19720
19721 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19722
3bff18c5
CW
197232010-01-05 Colin Watson <cjwatson@ubuntu.com>
19724
19725 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19726 arguments to fread so that we get a return value in bytes, rather
19727 than something that will normally be rounded down to 0.
19728 Adjust error handling to avoid producing garbage when size_t is not
19729 the same size as long long.
19730
a1368118
CW
197312010-01-05 Colin Watson <cjwatson@ubuntu.com>
19732
19733 * util/mkisofs/write.c (padblock_write): Check return value of
19734 fread.
19735
7c302978
RM
197362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19737
19738 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19739 floppy images now.
19740
19741 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19742
e33ace06
RM
197432010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19744
19745 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19746 instead of manual alignment.
19747 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19748 verbose). Avoid attempts to read past end of the device
19749 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19750 but GRUB_DISK_CACHE_SIZE may exceed that).
19751
4b856776
RM
197522010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19753
19754 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19755 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19756 it to upper layer.
19757
52c2d97f
VS
197582010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19761 New constant.
19762 (grub_efi_piwg_device_path): New structure
19763 (grub_efi_piwg_device_path_t): New type.
19764 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19765 (devpath_1): Transform to a structure. All users updated.
19766 (devpath_2): Likewise.
19767 (devpath_3): Likewise.
19768 (devpath_4): Likewise.
19769 (devpath_5): Likewise.
19770
98ff6a54
VS
197712010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * loader/efi/appleloader.c: Restored. Update all users.
19774
3a73dcb6
RM
197752010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19776
19777 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19778
19779 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19780 (struct boot_blocklist): Move from here ...
19781 * include/grub/i386/pc/boot.h [ASM_FILE]
19782 (struct grub_boot_blocklist): ... to here. Update all users.
19783 (setup): Only initialize `start' member of `first_block'
19784 structure. Add assert() calls to verify the other members.
19785
19786 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19787 (generate_image): Fix broken blocklist length initialization.
19788 Add assert() call to verify blocklist `segment' field.
19789
ab0eeb0c
RM
197902010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19791
19792 * loader/efi/appleloader.c: Remove. Update all users.
19793
58bc8bd5
RM
197942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19795
19796 * boot/i386/pc/boot.S: Update copyright year.
19797 * boot/i386/pc/cdboot.S: Likewise.
19798 * boot/i386/pc/diskboot.S: Likewise.
19799 * boot/i386/pc/lnxboot.S: Likewise.
19800 * boot/i386/pc/pxeboot.S: Likewise.
19801 * bus/pci.c: Likewise.
19802 * commands/cmp.c: Likewise.
19803 * commands/help.c: Likewise.
19804 * commands/hexdump.c: Likewise.
19805 * commands/i386/pc/halt.c: Likewise.
19806 * commands/i386/pc/play.c: Likewise.
19807 * commands/i386/pc/vbeinfo.c: Likewise.
19808 * commands/ls.c: Likewise.
19809 * commands/test.c: Likewise.
19810 * disk/dmraid_nvidia.c: Likewise.
19811 * disk/i386/pc/biosdisk.c: Likewise.
19812 * disk/ieee1275/nand.c: Likewise.
19813 * disk/ieee1275/ofdisk.c: Likewise.
19814 * disk/lvm.c: Likewise.
19815 * disk/raid.c: Likewise.
19816 * disk/raid6_recover.c: Likewise.
19817 * disk/scsi.c: Likewise.
19818 * fs/affs.c: Likewise.
19819 * fs/cpio.c: Likewise.
19820 * fs/ext2.c: Likewise.
19821 * fs/hfs.c: Likewise.
19822 * fs/iso9660.c: Likewise.
19823 * fs/ntfs.c: Likewise.
19824 * fs/sfs.c: Likewise.
19825 * fs/udf.c: Likewise.
19826 * fs/ufs.c: Likewise.
19827 * fs/xfs.c: Likewise.
19828 * gencmdlist.sh: Likewise.
19829 * genmk.rb: Likewise.
19830 * include/grub/disk.h: Likewise.
19831 * include/grub/efi/api.h: Likewise.
19832 * include/grub/efi/efi.h: Likewise.
19833 * include/grub/efi/pe32.h: Likewise.
19834 * include/grub/elf.h: Likewise.
19835 * include/grub/fs.h: Likewise.
19836 * include/grub/i386/at_keyboard.h: Likewise.
19837 * include/grub/i386/pc/memory.h: Likewise.
19838 * include/grub/i386/pc/vbe.h: Likewise.
19839 * include/grub/i386/pci.h: Likewise.
19840 * include/grub/i386/tsc.h: Likewise.
19841 * include/grub/ieee1275/ieee1275.h: Likewise.
19842 * include/grub/ntfs.h: Likewise.
19843 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19844 * include/grub/sparc64/libgcc.h: Likewise.
19845 * include/grub/symbol.h: Likewise.
19846 * include/grub/types.h: Likewise.
19847 * include/multiboot2.h: Likewise.
19848 * io/gzio.c: Likewise.
19849 * kern/device.c: Likewise.
19850 * kern/disk.c: Likewise.
19851 * kern/efi/efi.c: Likewise.
19852 * kern/efi/mm.c: Likewise.
19853 * kern/elf.c: Likewise.
19854 * kern/file.c: Likewise.
19855 * kern/i386/dl.c: Likewise.
19856 * kern/i386/pc/init.c: Likewise.
19857 * kern/i386/pc/startup.S: Likewise.
19858 * kern/ieee1275/ieee1275.c: Likewise.
19859 * kern/ieee1275/init.c: Likewise.
19860 * kern/main.c: Likewise.
19861 * kern/mm.c: Likewise.
19862 * kern/powerpc/dl.c: Likewise.
19863 * kern/sparc64/dl.c: Likewise.
19864 * kern/x86_64/dl.c: Likewise.
19865 * lib/hexdump.c: Likewise.
19866 * loader/efi/appleloader.c: Likewise.
19867 * loader/i386/ieee1275/linux.c: Likewise.
19868 * loader/i386/pc/chainloader.c: Likewise.
19869 * loader/i386/pc/linux.c: Likewise.
19870 * loader/i386/pc/multiboot2.c: Likewise.
19871 * loader/ieee1275/multiboot2.c: Likewise.
19872 * loader/multiboot2.c: Likewise.
19873 * loader/multiboot_loader.c: Likewise.
19874 * loader/powerpc/ieee1275/linux.c: Likewise.
19875 * normal/completion.c: Likewise.
19876 * normal/menu_entry.c: Likewise.
19877 * partmap/apple.c: Likewise.
19878 * util/grub.d/10_hurd.in: Likewise.
19879 * util/hostfs.c: Likewise.
19880 * video/readers/png.c: Likewise.
19881
e2d70b5c
CW
198822010-01-03 Colin Watson <cjwatson@ubuntu.com>
19883
19884 * include/grub/misc.h (GNUC_PREREQ): New macro.
19885 (ATTRIBUTE_ERROR): New macro.
19886 * include/grub/list.h (grub_bad_type_cast_real): Use
19887 ATTRIBUTE_ERROR.
19888
a173283f 198892010-01-03 Carles Pina i Estany <carles@pina.cat>
19890
19891 * normal/menu_text.c (print_message): Change messages.
19892
7fa7ff74 198932010-01-03 Carles Pina i Estany <carles@pina.cat>
19894
19895 * normal/menu_entry.c (store_completion): Gettextizze.
19896
136d24f6 198972010-01-03 Carles Pina i Estany <carles@pina.cat>
19898
19899 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19900
f936862e 199012010-01-03 Carles Pina i Estany <carles@pina.cat>
19902
19903 * po/POTFILES: Sort correctly.
19904
29c44ad1 199052010-01-03 Carles Pina i Estany <carles@pina.cat>
19906
19907 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19908 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19909 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19910 full stop.
19911 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19912 summary. Gettextizze the strings.
19913 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19914 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19915 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19916 full stop.
19917 (GRUB_MOD_INIT): Remove command name from summary.
19918 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19919 summary.
19920 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19921 * term/i386/pc/serial.c (options): Add full stops.
19922 (GRUB_MOD_INIT): Remove command name from the summary.
19923
77a79592 199242010-01-03 Carles Pina i Estany <carles@pina.cat>
19925
19926 * commands/acpi.c: Gettextizze help strings and/or options. Include
19927 `grub/i18n.h' if needed.
19928 * commands/blocklist.c: Likewise.
19929 * commands/boot.c: Likewise.
19930 * commands/cat.c: Likewise.
19931 * commands/cmp.c: Likewise.
19932 * commands/configfile.c: Likewise.
19933 * commands/crc.c: Likewise.
19934 * commands/date.c: Likewise.
19935 * commands/echo.c: Likewise.
19936 * commands/efi/fixvideo.c: Likewise.
19937 * commands/efi/loadbios.c: Likewise.
19938 * commands/gptsync.c: Likewise.
19939 * commands/halt.c: Likewise.
19940 * commands/handler.c: Likewise.
19941 * commands/hdparm.c: Likewise.
19942 * commands/hexdump.c: Likewise.
19943 * commands/i386/cpuid.c: Likewise.
19944 * commands/i386/pc/drivemap.c: Likewise.
19945 * commands/i386/pc/halt.c: Likewise.
19946 * commands/i386/pc/pxecmd.c: Likewise.
19947 * commands/i386/pc/vbeinfo.c: Likewise.
19948 * commands/i386/pc/vbetest.c: Likewise.
19949 * commands/ieee1275/suspend.c: Likewise.
19950 * commands/keystatus.c: Likewise.
19951 * commands/loadenv.c: Likewise.
19952 * commands/ls.c: Likewise.
19953 * commands/lsmmap.c: Likewise.
19954 * commands/lspci.c: Likewise.
19955 * commands/memrw.c: Likewise.
19956 * commands/minicmd.c: Likewise.
19957 * commands/parttool.c: Likewise.
19958 * commands/password.c: Likewise.
19959 * commands/probe.c: Likewise.
19960 * commands/read.c: Likewise.
19961 * commands/reboot.c: Likewise.
19962 * commands/search.c: Likewise.
19963 * commands/sleep.c: Likewise.
19964 * commands/test.c: Likewise.
19965 * commands/true.c: Likewise.
19966 * commands/usbtest.c: Likewise.
19967 * commands/videotest.c: Likewise.
19968 * commands/xnu_uuid.c: Likewise.
19969 * disk/loopback.c: Likewise.
19970 * hello/hello.c: Likewise.
19971 * loader/i386/bsd.c: Likewise.
19972 * term/i386/pc/serial.c: Likewise.
19973 * po/POTFILES: Add new files.
19974
da8d5c53
CW
199752010-01-02 Colin Watson <cjwatson@ubuntu.com>
19976
19977 * term/i386/pc/at_keyboard.c
19978 (keyboard_controller_wait_untill_ready): Rename to ...
19979 (keyboard_controller_wait_until_ready): ... this. Update all users.
19980
33937904 199812010-01-01 Carles Pina i Estany <carles@pina.cat>
19982
19983 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19984 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19985 string using string width.
19986 * normal/menu_text.c (grub_print_message_indented): Use
19987 grub_print_spaces and not print_spaces.
19988 (print_timeout): Likewise.
19989 (print_spaces): Move to...
19990 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19991
3fd3b8d8
RM
199922010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19993
19994 Import from Gnulib.
19995
19996 * gnulib/getdelim.c: New file.
19997 * gnulib/getline.c: Likewise.
19998
33433555
VS
199992009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
20000
20001 * include/grub/list.h (grub_assert_fail): Removed.
20002 (grub_bad_type_cast_real): New function.
20003 (grub_bad_type_cast): New macro.
20004 (GRUB_AS_LIST): Use grub_bad_type_cast.
20005 (GRUB_AS_LIST_P): Likewise.
e44721e8 20006 (GRUB_AS_NAMED_LIST): Likewise.
33433555 20007 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 20008 (GRUB_AS_PRIO_LIST): Likewise.
33433555 20009 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 20010 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 20011
f5a51306
VS
200122009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
20013
20014 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
20015 Fix syntax error.
20016
90d1e879
RM
200172009-12-29 Robert Millan <rmh.grub@aybabtu.com>
20018
20019 * configure.ac: Check for TARGET_CFLAGS initialization before we
20020 initialize it ourselves (sigh).
20021 Move a few modifications to TARGET_CFLAGS to be unconditional
20022 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
20023 eh_frame)
20024
20025 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
20026 * term/i386/pc/at_keyboard.c
20027 (keyboard_controller_wait_untill_ready): Likewise.
20028 (keyboard_controller_led): Rename `led_status' paramter to avoid
20029 name conflict.
20030
465b5a81 200312009-12-28 Carles Pina i Estany <carles@pina.cat>
20032
20033 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
20034 quotes.
20035
c181849b
VS
200362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
20039
9c8739a4
VS
200402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20041
20042 * normal/menu_text.c (grub_print_message_indented): Prevent
20043 past-the-end-of-array dereference.
20044
3e74249c
VS
200452009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20046
20047 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
20048 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
20049
64fd18ed 200502009-12-27 Carles Pina i Estany <carles@pina.cat>
20051
20052 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
20053 * normal/main.c (grub_normal_read_line): Remove a space from the
20054 default prompt.
20055
714af9b9 200562009-12-27 Carles Pina i Estany <carles@pina.cat>
20057
20058 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
20059 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20060 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20061 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20062 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20063 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20064 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20065
82f3e412 200662009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 20067
20068 * video/readers/jpeg.c (cmd): Declare.
20069 (grub_cmd_jpegtest): Use `grub_command_t' type.
20070 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20071 Assign to `cmd'.
20072 (GRUB_MOD_FINI): Use `cmd' to unregister.
20073 * video/readers/png.c (cmd): Declare.
20074 (grub_cmd_pngtest): Use `grub_command_t' type.
20075 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20076 Assign to `cmd'.
20077 (GRUB_MOD_FINI): Use `cmd' to unregister.
20078 * video/readers/tga.c (cmd): Declare.
20079 (grub_cmd_tgatest): Use `grub_command_t' type.
20080 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20081 Assign to `cmd'.
20082 (GRUB_MOD_FINI): Use `cmd' to unregister.
20083
82f3e412 200842009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 20085
20086 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
20087 stops.
20088 * kern/corecmd.c (grub_register_core_commands): Likewise.
20089 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
20090 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20091 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
20092 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20093 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20094 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
20095 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20096 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
20097 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20098 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20099 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20100 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20101 * normal/handler.c (insert_handler): Likewise.
20102 * normal/main.c (GRUB_MOD_INIT): Likewise.
20103 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20104
fdcdbb66 201052009-12-26 Carles Pina i Estany <carles@pina.cat>
20106
20107 * commands/help.c (grub_cmd_help): Print the command name before the
20108 summary.
20109 (GRUB_MOD_INIT): Remove command name from the summary.
20110 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 20111 string as summary.
fdcdbb66 20112 * lib/arg.c (find_long): Print the command name before the summary.
20113 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
20114 summary.
20115 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
20116 * commands/cat.c (GRUB_MOD_INIT): Likewise.
20117 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
20118 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20119 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20120 * commands/date.c (GRUB_MOD_INIT): Likewise.
20121 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20122 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20123 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20124 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20125 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20126 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20127 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20128 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20129 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20130 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20131 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20132 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20133 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20134 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20135 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20136 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20137 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20138 * commands/password.c (GRUB_MOD_INIT): Likewise.
20139 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20140 * commands/read.c (GRUB_MOD_INIT): Likewise.
20141 * commands/search.c (GRUB_MOD_INIT): Likewise.
20142 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20143 * commands/test.c (GRUB_MOD_INIT): Likewise.
20144 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20145 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20146 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20147 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20148 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20149 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20150 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20151 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20152 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20153 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20154 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20155 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20156 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20157 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20158
9c288be2
VS
201592009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20160
20161 Use search command for preliminar UUID search.
20162
20163 * commands/search.c: Split into ...
20164 * commands/search_wrap.c: ...this
20165 * commands/search.c: ...and this.
20166 * commands/search_file.c: New file.
20167 * commands/search_label.c: New file.
20168 * commands/search_uuid.c: New file.
20169 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20170 Add commands/search_wrap.c, commands/search_file.c,
20171 commands/search_label.c and commands/search_uuid.c.
20172 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20173 (search_mod_SOURCES): Set to commands/search_wrap.c.
20174 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20175 search_label.mod.
20176 (search_fs_file_mod_SOURCES): New variable.
20177 (search_fs_file_mod_CFLAGS): Likewise.
20178 (search_fs_file_mod_LDFLAGS): Likewise.
20179 (search_label_mod_SOURCES): Likewise.
20180 (search_label_mod_CFLAGS): Likewise.
20181 (search_label_mod_LDFLAGS): Likewise.
20182 (search_fs_uuid_mod_SOURCES): New variable.
20183 (search_fs_uuid_mod_CFLAGS): Likewise.
20184 (search_fs_uuid_mod_LDFLAGS): Likewise.
20185 (fs_file_mod_SOURCES): Removed.
20186 (fs_file_mod_CFLAGS): Likewise.
20187 (fs_file_mod_LDFLAGS): Likewise.
20188 (fs_uuid_mod_SOURCES): Removed.
20189 (fs_uuid_mod_CFLAGS): Likewise.
20190 (fs_uuid_mod_LDFLAGS): Likewise.
20191 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20192 Set to util/grub-install.in.
20193 * disk/fs_file.c: Removed.
20194 * disk/fs_uuid.c: Likewise.
20195 * include/grub/search.h: New file.
20196 * util/grub-install.in: Handle sparc64.
20197 Create and use load.cfg.
20198 * util/sparc64/ieee1275/grub-install.in: Removed.
20199
db943399
VS
202002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20203 Ignore return status if CF is cleared.
20204 (grub_biosdisk_get_diskinfo_standard): Likewise.
20205
3fdae612
RM
202062009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20207
20208 * term/i386/pc/at_keyboard.c
20209 (keyboard_controller_wait_untill_ready): New function.
20210 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20211 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20212 for keyboard polling, rather than duplicate the same loop. This
20213 saves a few bytes in code size.
20214
7ebaa2b4
VS
202152009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20216
20217 Support for (pxe[:server[:gateway]]) syntax and
20218 use environment variable for PXE.
20219
20220 * commands/i386/pc/pxecmd.c (options): Removed.
20221 (print_ip): Removed.
20222 (grub_cmd_pxe): Removed
20223 (grub_cmd_pxe_unload): New function.
20224 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20225 (grub_pxe_your_ip): Made static.
20226 (grub_pxe_default_server_ip): Likewise.
20227 (grub_pxe_default_gateway_ip): Likewise.
20228 (grub_pxe_blksize): Likewise.
20229 (parse_ip): New function.
20230 (grub_pxe_open): Support server and gateway specification.
20231 (grub_pxe_close): Free disk->data.
20232 (grub_pxefs_open): Use disk->data.
20233 (grub_pxefs_read): Likewise.
20234 (grub_env_write_readonly): New function.
20235 (set_mac_env): Likewise.
20236 (set_env_limn_ro): Likewise.
20237 (parse_dhcp_vendor): Likewise.
20238 (grub_pxe_detect): Set the environment variables.
20239 (set_ip_env): New function.
20240 (write_ip_env): Likewise.
20241 (grub_env_write_pxe_default_server): Likewise.
20242 (grub_env_write_pxe_default_gateway): Likewise.
20243 (grub_env_write_pxe_blocksize): Likewise.
20244 (GRUB_MOD_INIT(pxe)): Set environment variables.
20245 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20246 (grub_pxe_mac_addr_t): ... this. All users updated.
20247 (grub_pxe_your_ip): Removed.
20248 (grub_pxe_server_ip): Likewise.
20249 (grub_pxe_gateway_ip): Likewise.
20250 (grub_pxe_blksize): Likewise.
20251
ec5f98ab 202522009-12-25 Carles Pina i Estany <carles@pina.cat>
20253
20254 * commands/help.c: Include `<grub/i18n.h>'.
20255 (grub_cmd_help): Gettextizze.
20256 (GRUB_MOD_INIT): Likewise.
20257 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20258 (GRUB_MOD_INIT): Gettextizze.
20259 * commands/search.c: Include `<grub/i18n.h>'.
20260 (options): Gettextizze.
20261 (GRUB_MOD_INIT): Gettextizze.
20262 * lib/arg.c: Include `<grub/i18n.h>'.
20263 (help_options): Gettextizze.
20264 (find_long): Likewise.
20265 (grub_arg_show_help): Likewise.
20266 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20267 (read_command_list): Gettextizze.
20268 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 20269 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 20270
22815526
RM
202712009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20272
20273 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20274 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20275 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20276 (led_status): New variable.
20277 (keyboard_controller_led): New function.
20278 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20279 update led status for caps lock, num lock and scroll lock.
20280
0ad46fd7
FZ
202812009-12-25 Felix Zielcke <fzielcke@z-51.de>
20282
20283 * util/hostdisk.c (open_device): Fix a comment.
20284
d0e158c2
RM
202852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20286
20287 * util/grub-install.in (host_os): New variable.
20288 * util/i386/efi/grub-install.in (host_os): Likewise.
20289
401c0ad6
RM
202902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20291
20292 * util/mkisofs/write.c (padblock_write): Abort when given an
20293 excedingly large embed image, instead of silently truncating it.
20294
d14d3370
RM
202952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20296
20297 * include/multiboot.h: Indentation fixes.
20298
eeed10b4
RM
202992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20300
20301 * include/multiboot.h (struct multiboot_aout_symbol_table)
20302 (struct multiboot_elf_section_header_table): New structure
20303 declarations (stolen from GRUB Legacy).
20304 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20305 table information.
20306
20307 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20308 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20309 type aliases.
20310
681c70ab
RM
203112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20312
20313 * include/multiboot.h: Make comments src2texi-friendly.
20314
e4d47d8d
RM
203152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20316
20317 For consistency with [multiboot]/docs/boot.S.
20318
20319 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20320 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20321 (MULTIBOOT_MAGIC2): Rename from this ...
20322 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20323
a0b70bda
RM
203242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20325
20326 * include/multiboot.h: Remove `<grub/types.h>'.
20327 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20328 types. Update all users.
20329
61ba42be 203302009-12-25 Carles Pina i Estany <carles@pina.cat>
20331
20332 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20333 `couldn't' and `can not' by `cannot'.
20334 * commands/i386/pc/drivemap.c: Likewise.
20335 * disk/ata.c: Likewise.
20336 * disk/ieee1275/nand.c: Likewise.
20337 * fs/affs.c: Likewise.
20338 * fs/fat.c: Likewise.
20339 * fs/hfs.c: Likewise.
20340 * fs/hfsplus.c: Likewise.
20341 * fs/iso9660.c: Likewise.
20342 * fs/jfs.c: Likewise.
20343 * fs/minix.c: Likewise.
20344 * fs/reiserfs.c: Likewise.
20345 * fs/sfs.c: Likewise.
20346 * fs/udf.c: Likewise.
20347 * fs/ufs.c: Likewise.
20348 * fs/xfs.c: Likewise.
20349 * loader/powerpc/ieee1275/linux.c: Likewise.
20350 * loader/sparc64/ieee1275/linux.c: Likewise.
20351 * util/grub-probe.c: Likewise.
20352 * util/misc.c: Likewise.
20353
7fd0baee 203542009-12-24 Carles Pina i Estany <carles@pina.cat>
20355
20356 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20357 grub_errno calls.
20358 * commands/acpi.c: Likewise.
20359 * commands/blocklist.c: Likewise.
20360 * commands/efi/loadbios.c: Likewise.
20361 * commands/i386/pc/drivemap.c: Likewise.
20362 * commands/loadenv.c: Likewise.
20363 * commands/memrw.c: Likewise.
20364 * commands/password.c: Likewise.
20365 * commands/videotest.c: Likewise.
20366 * disk/ata.c: Likewise.
20367 * disk/ata_pthru.c: Likewise.
20368 * disk/dmraid_nvidia.c: Likewise.
20369 * disk/ieee1275/nand.c: Likewise.
20370 * disk/ieee1275/ofdisk.c: Likewise.
20371 * disk/loopback.c: Likewise.
20372 * disk/lvm.c: Likewise.
20373 * disk/mdraid_linux.c: Likewise.
20374 * disk/raid.c: Likewise.
20375 * disk/raid6_recover.c: Likewise.
20376 * disk/scsi.c: Likewise.
20377 * efiemu/main.c: Likewise.
20378 * efiemu/mm.c: Likewise.
20379 * efiemu/pnvram.c: Likewise.
20380 * efiemu/symbols.c: Likewise.
20381 * font/font.c: Likewise.
20382 * fs/cpio.c: Likewise.
20383 * fs/hfsplus.c: Likewise.
20384 * fs/iso9660.c: Likewise.
20385 * fs/jfs.c: Likewise.
20386 * fs/minix.c: Likewise.
20387 * fs/ntfs.c: Likewise.
20388 * fs/ntfscomp.c: Likewise.
20389 * fs/reiserfs.c: Likewise.
20390 * fs/ufs.c: Likewise.
20391 * fs/xfs.c: Likewise.
20392 * gettext/gettext.c: Likewise.
20393 * include/grub/auth.h: Likewise.
20394 * kern/elf.c: Likewise.
20395 * kern/file.c: Likewise.
20396 * kern/ieee1275/init.c: Likewise.
20397 * kern/ieee1275/mmap.c: Likewise.
20398 * kern/ieee1275/openfw.c: Likewise.
20399 * kern/powerpc/dl.c: Likewise.
20400 * kern/sparc64/dl.c: Likewise.
20401 * lib/arg.c: Likewise.
20402 * loader/i386/bsd.c: Likewise.
20403 * loader/i386/bsdXX.c: Likewise.
20404 * loader/i386/efi/linux.c: Likewise.
20405 * loader/i386/efi/xnu.c: Likewise.
20406 * loader/i386/ieee1275/linux.c: Likewise.
20407 * loader/i386/linux.c: Likewise.
20408 * loader/i386/multiboot.c: Likewise.
20409 * loader/i386/pc/linux.c: Likewise.
20410 * loader/i386/pc/multiboot2.c: Likewise.
20411 * loader/i386/xnu.c: Likewise.
20412 * loader/ieee1275/multiboot2.c: Likewise.
20413 * loader/macho.c: Likewise.
20414 * loader/machoXX.c: Likewise.
20415 * loader/multiboot2.c: Likewise.
20416 * loader/multiboot_loader.c: Likewise.
20417 * loader/powerpc/ieee1275/linux.c: Likewise.
20418 * loader/sparc64/ieee1275/linux.c: Likewise.
20419 * loader/xnu.c: Likewise.
20420 * loader/xnu_resume.c: Likewise.
20421 * mmap/i386/pc/mmap.c: Likewise.
20422 * normal/menu_viewer.c: Likewise.
20423 * partmap/acorn.c: Likewise.
20424 * partmap/amiga.c: Likewise.
20425 * partmap/apple.c: Likewise.
20426 * script/lexer.c: Likewise.
20427 * term/gfxterm.c: Likewise.
20428 * term/i386/pc/serial.c: Likewise.
20429 * term/i386/pc/vga.c: Likewise.
20430 * term/ieee1275/ofconsole.c: Likewise.
20431 * term/terminfo.c: Likewise.
20432 * video/bitmap.c: Likewise.
20433 * video/efi_gop.c: Likewise.
20434 * video/efi_uga.c: Likewise.
20435 * video/fb/video_fb.c: Likewise.
20436 * video/i386/pc/vbe.c: Likewise.
20437 * video/readers/tga.c: Likewise.
20438 * video/video.c: Likewise.
20439
0ad46fd7 204402009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
20441
20442 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20443 * commands/lspci.c: Likewise.
20444 * commands/probe.c: Likewise.
20445 * commands/xnu_uuid.c: Likewise.
20446 * conf/i386-coreboot.rmk: Likewise.
20447 * conf/i386-efi.rmk: Likewise.
20448 * conf/i386-ieee1275.rmk: Likewise.
20449 * conf/i386-pc.rmk: Likewise.
20450 * conf/powerpc-ieee1275.rmk: Likewise.
20451 * conf/sparc64-ieee1275.rmk: Likewise.
20452 * conf/x86_64-efi.rmk: Likewise.
20453 * fs/i386/pc/pxe.c: Likewise.
20454 * gettext/gettext.c: Likewise.
20455 * include/grub/efi/graphics_output.h: Likewise.
20456 * include/grub/i386/pc/memory.h: Likewise.
20457 * kern/env.c: Likewise.
20458 * kern/i386/qemu/startup.S: Likewise.
20459 * lib/i386/pc/biosnum.c: Likewise.
20460 * lib/i386/relocator.c: Likewise.
20461 * lib/i386/relocator_asm.S: Likewise.
20462 * lib/relocator.c: Likewise.
20463 * loader/i386/bsd.c: Likewise.
20464 * loader/i386/multiboot.c: Likewise.
20465 * loader/i386/pc/chainloader.c: Likewise.
20466 * loader/i386/xnu.c: Likewise.
20467 * loader/xnu.c: Likewise.
20468 * normal/main.c: Likewise.
20469 * normal/menu_text.c: Likewise.
20470 * util/getroot.c: Likewise.
20471 * util/grub-mkconfig_lib.in: Likewise.
20472 * util/grub.d/00_header.in: Likewise.
20473 * util/i386/pc/grub-mkimage.c: Likewise.
20474 * util/mkisofs/eltorito.c: Likewise.
20475 * util/mkisofs/exclude.h: Likewise.
20476 * util/mkisofs/hash.c: Likewise.
20477 * util/mkisofs/iso9660.h: Likewise.
20478 * util/mkisofs/joliet.c: Likewise.
20479 * util/mkisofs/mkisofs.c: Likewise.
20480 * util/mkisofs/mkisofs.h: Likewise.
20481 * util/mkisofs/multi.c: Likewise.
20482 * util/mkisofs/name.c: Likewise.
20483 * util/mkisofs/rock.c: Likewise.
20484 * util/mkisofs/tree.c: Likewise.
20485 * util/mkisofs/write.c: Likewise.
20486 * video/efi_gop.c: Likewise.
20487
009ec743
VS
204882009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20491 size counting.
20492
0ad46fd7 204932009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
20494
20495 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20496 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20497
d3d30ea0
VS
204982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20501 (GRUB_MOD_INIT(memrw)): Update help line.
20502
a34f5c70
VS
205032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20506 Use grub_extcmd_t. All users updated.
20507 (options): New variable.
20508 (grub_cmd_read): Restructure for readability. Support "-v" option.
20509 (grub_cmd_write): Restructure for readability.
20510
0ad46fd7 205112009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
20512
20513 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20514
0ad46fd7 205152009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
20516
20517 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20518 with the actual contents of the correspondending make variable.
20519 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20520 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20521 specifying `*.lst' and `efiemu??.o'
20522
0ad46fd7 205232009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
20524
20525 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20526 after function name.
20527 Noticed by Rene Engelhard <rene@debian.org>.
20528
dc77a799
VS
205292009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20530
20531 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20532 (options): New variable.
20533 (iospace): Likewise.
20534 (grub_lspci_iter): List IO spaces if "-i" was given.
20535 (grub_cmd_lspci): Parse options.
20536 (GRUB_MOD_INIT(lspci)): Use extcmd.
20537 (GRUB_MOD_FINI(lspci)): Likewise.
20538
0ad46fd7 205392009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
20540
20541 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20542 `function' keyword.
20543 Patch by Tony Mancill <tmancill@debian.org>.
20544
b5d5993b
VS
205452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20548 (grub_uhci_portstatus): Likewise.
20549 (grub_uhci_portstatus): Add necessary delay.
11d18281 20550 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 20551
941903f2 205522009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 20553
941903f2 20554 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20555 (GRUB_MOD_INIT): Likewise.
20556 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 20557 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20558 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 20559 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20560 (enable_rom_area): Likewise.
20561 (GRUB_MOD_INIT): Likewise.
20562 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20563 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20564 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20565 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20566 * commands/hexdump.c (options): Likewise.
20567 * commands/i386/cpuid.c (options): Likewise.
20568 (GRUB_MOD_INIT): Likewise.
20569 * commands/i386/pc/drivemap.c (options): Likewise.
20570 (GRUB_MOD_INIT): Likewise.
20571 * commands/i386/pc/halt (options): Likewise.
20572 (GRUB_MOD_INIT): Likewise.
20573 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20574 * commands/i386/pc/pxecmd.c (options): Likewise.
20575 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20576 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20577 * commands/keystatus.c (options): Likewise.
20578 (GRUB_MOD_INIT): Likewise.
20579 * commands/loadenv.c (options): Likewise.
20580 * commands/ls.c (options): Likewise.
20581 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20582 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20583 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20584 * commands/parttool.c (helpmsg): Likewise.
20585 * commands/probe.c (options): Likewise.
20586 * commands/read.c (GRUB_MOD_INIT): Likewise.
20587 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20588 * commands/search.c (options): Likewise.
20589 * commands/sleep.c (options): Likewise.
20590 * commands/test.c (GRUB_MOD_INIT): Likewise.
20591 * commands/true.c (GRUB_MOD_INIT): Likewise.
20592 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20593 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20594 * lib/arg.c (help_options): Likewise.
e9bbb4e7 20595 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20596 `$(XGETTEXT)'.
98a50553 20597 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 20598
0ad46fd7 205992009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 20600
ef3c2c3a 20601 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
20602 instead of specifying them explicit.
20603
7922f68b
RM
206042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20605
20606 * NEWS: Add grub-probe support for GNU/Hurd.
20607
537ce47f
RM
206082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20609
20610 * NEWS: gettext was added after 1.97.
20611
9b214e3a
RM
206122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20613
20614 * util/mkisofs/msdos_partition.h: New file (based on
20615 include/grub/msdos_partition.h).
20616 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20617 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20618 (ld_options, main): Recognize --protective-msdos-label.
20619 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20620 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20621 (padblock_write): If `use_protective_msdos_label' is set, patch a
20622 protective DOS-style label in the output image.
20623
20624 * util/grub-mkrescue.in: Use --protective-msdos-label.
20625
e9309813
RM
206262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20627
20628 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20629 boot.
20630
0ae56929
RM
206312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20632
20633 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20634 variables.
20635 (ld_options, main): Recognize `--embedded-boot'.
20636 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20637 declarations.
20638 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20639 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20640 (padblock_write): Likewise. Rewrite to support embedded boot image.
20641
20642 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20643 for BIOS-based disk boot instead of only ElTorito.
20644
b15937b1
RM
206452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20646
20647 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20648 build (not needed for bootstrap).
20649
52cc3ce0
RM
206502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20651
20652 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20653 from i386-pc build (not needed for bootstrap).
20654 Rewrite a pair of strings.
20655
36f5ff04
RM
206562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20657
20658 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20659
973c6c85 206602009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
20661
20662 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20663
05d21547
AB
206642009-12-21 Andreas Born <futur.andy@googlemail.com>
20665
20666 * kern/env.c (grub_env_context_open): Mark exported variable for
20667 reexport.
20668
0175d51f
AB
206692009-12-21 Andreas Born <futur.andy@googlemail.com>
20670
20671 * kern/env.c (grub_env_export): Create nonexistent variables before
20672 exporting.
20673
7f39d92f 206742009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 20675
7f39d92f 20676 * include/grub/auth.h: Include `<grub/i18n.h>'.
20677 (GRUB_GET_PASSWORD): Gettextizze string.
20678 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20679 menu_text.c.
20680 (grub_utf8_to_ucs4_alloc): Fix indentation.
20681 (grub_print_ucs4): Likewise.
20682 (grub_getstringwidth): Likewise.
20683 (print_message_indented): New declaration.
20684 * normal/auth.c: Include `<grub/i18n.h>'.
20685 (grub_auth_check_authentication): Gettexttize string.
20686 * normal/cmdline.c: Include `<grub/i18n.h>'.
20687 (grub_cmdline_get): Gettextizze.
20688 * normal/color.c: Include `<grub/i18n.h>'.
20689 (grub_parse_color_name_pair): Gettexttize strings.
20690 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20691 string (use `print_message_indented').
20692 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20693 `include/grub/normal.h'.
20694 (print_message_indented): Renamed to ...
20695 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20696 used in normal/main.c).
20697 (print_message): Use `grub_print_message_indented' instead of
20698 `print_message_indented'.
20699 (print_timeout): Likewise.
20700 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20701 (grub_normal_print_device_info): Gettexttize strings.
20702 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20703
3041d898
VS
207042009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20705
20706 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20707 of arguments. Return number of tokens and not arguments. All users
20708 updated.
20709
de15bf8e
VS
207102009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20713 non-MSDOS paritions.
20714
e0a6ca52
VS
207152009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20716
20717 * include/grub/types.h (UNUSED): Removed since it conflicts with
20718 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20719 Reported by Grégoire Sutre.
20720
b99518d1 207212009-12-19 Carles Pina i Estany <carles@pina.cat>
20722
20723 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20724 (grub_print_ucs4_alloc): Likewise.
20725 (grub_getstringwidth): Likewise.
20726 * normal/main.c (grub_normal_init_page): Gettextize version string.
20727 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20728 (getstringwidth): Renamed to ...
20729 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20730 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20731 (grub_print_ucs4): Remove `static' qualifer (now used in
20732 normal/main.c).
20733 * po/POTFILES: Add normal/main.c.
20734
bfd5e52b 207352009-12-19 Carles Pina i Estany <carles@pina.cat>
20736
20737 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20738 (print_message_indented): Add `margin_left' and `margin_right'
20739 parameters.
20740 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20741 strings.
20742 (print_timeout): Use `print_message_indented' to print the message.
20743 Deletes `second_stage' parameter.
20744 (run_menu): Update `print_timeout' calls.
20745
5a1ad2b9
VS
207462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 Fix console palette on OpenFirmware.
20749
20750 * term/ieee1275/ofconsole.c (MAX): Removed.
20751 (colors): Redone based on VGA palette.
20752 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20753 colors are supported.
20754 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20755
b045f00a
VS
207562009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 Fix potential EfiEmu double prepare.
20759
20760 * efiemu/main.c (prepared): New variable
20761 (grub_efiemu_unload): Set prepare to '0'.
20762 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20763
20764 set_virtual_address_map support.
20765
20766 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20767 prototype.
20768 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20769 prototype.
20770 (grub_efiemu_crc32): Likewise.
20771 (grub_efiemu_crc64): Likewise.
20772 (grub_efiemu_set_virtual_address_map): Likewise.
20773 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20774 New definition.
20775 (grub_autoefi_set_virtual_address_map): Likewise.
20776 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20777 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20778 Restructure flow to accomodate it.
20779 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20780 (grub_efiemu_crc): Recompute CRC32.
20781 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20782 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20783 * efiemu/symbols.c (relocated_handle): New variable.
20784 (grub_efiemu_free_syms): Free relocated_handle.
20785 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20786 (grub_efiemu_write_sym_markers): New function.
20787 (grub_efiemu_set_virtual_address_map): Likewise.
20788
20789 Newer XNU parameters.
20790
20791 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20792 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20793 (grub_xnu_fill_devicetree): New prototype.
20794 (grub_xnu_heap_real_start): New variable.
20795 * loader/xnu.c (get_name_ptr): New function.
20796 (grub_xnu_load_driver): Fill namelen and name.
20797
20798 64-bit xnu support.
20799
20800 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20801 and 'loader/macho64.c'.
20802 * conf/i386-pc.rmk: Likewise.
20803 * conf/x86_64-efi.rmk: Likewise.
20804 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20805 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20806 * include/grub/macho.h (grub_macho_segment64): New structure.
20807 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20808 (grub_macho_size32): ... to this.
20809 (grub_macho32_get_entry_point): Renamed from ...
20810 (grub_macho_get_entry_point32): ... to this.
20811 (grub_macho_contains_macho64): New prototype.
20812 (grub_macho_size64): Likewise.
20813 (grub_macho_get_entry_point64): Likewise.
20814 (grub_macho32_load): Renamed from ...
20815 (grub_macho_load32): ... to this.
20816 (grub_macho32_filesize): Renamed from ...
20817 (grub_macho_filesize32): ... to this.
20818 (grub_macho32_readfile): Renamed from ...
20819 (grub_macho_readfile32): ... to this.
20820 (grub_macho_filesize64): New prototype.
20821 (grub_macho_readfile64): Likewise.
20822 (grub_macho_parse32): Likewise.
20823 (grub_macho_parse64): Likewise.
20824 * loader/macho.c: Split into ...
20825 * loader/machoXX.c: ... and this. Replace 32 with XX.
20826 * loader/macho32.c: New file.
20827 * loader/macho64.c: Likewise.
20828 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20829 (grub_cmd_xnu_kernel): Make 32-bit only.
20830 (grub_cmd_xnu_kernel64): New function.
20831 (grub_xnu_load_driver): Support Mach-O 64.
20832 (grub_cmd_xnu_mkext): Likewise.
20833 * util/grub.d/30_os-prober.in (osx_entry): New function.
20834 Generate entries for 64-bit boot too.
20835
20836 Eliminate ad-hoc tree format in XNU and EfiEmu.
20837
20838 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20839 * efiemu/pnvram.c: Rewritten to use environment variables.
20840 All users updated.
20841
20842 Inline utf16_to_utf8.
20843
20844 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20845 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20846 All users updated.
20847 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20848
20849 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20850 * commands/usbtest.c (grub_usb_get_string): ... move here.
20851 (usb_print_str): Fix error handling.
20852 * include/grub/usb.h (grub_usb_get_string): Remove.
20853
20854 UTF-8 to UTF-16 transformation.
20855
20856 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20857 (charset_mod_SOURCES): New variable.
20858 (charset_mod_CFLAGS): Likewise.
20859 (charset_mod_LDFLAGS): Likewise.
20860 * include/grub/utf.h: New file.
20861 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20862
20863 Support for device properties.
20864
20865 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20866 (grub_xnu_devprop_device_header): Likewise.
20867 (grub_xnu_devprop_device_descriptor): Likewise.
20868 (grub_xnu_devprop_add_device): New prototype.
20869 (grub_xnu_devprop_remove_device): Likewise.
20870 (grub_xnu_devprop_remove_property): Likewise.
20871 (grub_xnu_devprop_add_property_utf8): Likewise.
20872 (grub_xnu_devprop_add_property_utf16): Likewise.
20873 (grub_cpu_xnu_init): Likewise.
20874 (grub_cpu_xnu_fini): Likewise.
20875 (grub_cpu_xnu_unload): Likewise.
20876 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20877 (property_descriptor): Likewise.
20878 (devices): New variable.
20879 (grub_xnu_devprop_remove_property): New function.
20880 (grub_xnu_devprop_add_device): Likewise.
20881 (grub_xnu_devprop_remove_device): Likewise.
20882 (grub_xnu_devprop_add_property): Likewise.
20883 (grub_xnu_devprop_add_property_utf8): Likewise.
20884 (grub_xnu_devprop_add_property_utf16): Likewise.
20885 (hextoval): Likewise.
20886 (grub_cpu_xnu_fill_devprop): Likewise.
20887 (grub_cmd_devprop_load): Likewise.
20888 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20889 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20890 (cmd_devprop_load): New variable.
20891 (grub_cpu_xnu_init): New function.
20892 (grub_cpu_xnu_fini): Likewise.
20893 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20894 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20895 (grub_cmd_xnu_devtree): Likewise.
20896 (hextoval): New function.
20897 (unescape): Likewise.
20898 (grub_xnu_fill_devicetree): Likewise.
20899
20900 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20901 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20902
0945f181
VS
209032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20904
20905 Workaround for broken ATI VBE.
20906
20907 * video/i386/pc/vbe.c (last_set_mode): New variable.
20908 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20909 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20910 (grub_video_vbe_setup): Don't check for reserved flag.
20911
0ad46fd7 209122009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
20913
20914 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20915 the `find' command.
20916
c179ebe4
VS
209172009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 UUID support for HFS.
20920
20921 * fs/hfs.c (grub_hfs_uuid): New function.
20922 (grub_hfs_fs): New value .uuid.
20923 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20924
0ad46fd7 209252009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
20926
20927 Fix a segfault with parsing unknown long options.
20928
20929 * util/grub-mkrelpath.c (options): Zero terminate it.
20930
c4a3e41a
CPE
209312009-12-13 Carles Pina i Estany <carles@pina.cat>
20932
20933 * include/grub/misc.h (grub_puts): New declaration.
20934 (grub_puts_): Likewise.
a22008a6 20935 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
20936 (grub_puts_): Likewise.
20937
2e8a7602
RM
209382009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20939
20940 * util/grub-probe.c (probe): Improve error message.
20941
b50b77b9
RM
209422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20943
20944 * loader/i386/multiboot_elfxx.c
20945 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20946 initialization.
20947
209482009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20949
20950 Relocator framework
20951
20952 * loader/i386/xnu_helper.S: Removed. All users updated.
20953 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20954 (relocator_mod_SOURCES): New variable.
20955 (relocator_mod_CFLAGS): Likewise.
20956 (relocator_mod_LDFLAGS): Likewise.
20957 (relocator_mod_ASFLAGS): Likewise.
20958 * conf/x86_64.rmk: Likewise.
20959 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20960 (grub_multiboot_payload_entry_offset): Likewise.
20961 (grub_multiboot_forward_relocator): Likewise.
20962 (grub_multiboot_forward_relocator_end): Likewise.
20963 (grub_multiboot_backward_relocator): Likewise.
20964 (grub_multiboot_backward_relocator_end): Likewise.
20965 (grub_multiboot_payload_eip): New variable.
20966 (grub_multiboot_payload_orig): Likewise.
20967 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20968 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20969 * include/grub/i386/memory.h
20970 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20971 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20972 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20973 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20974 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20975 * include/grub/i386/relocator.h: New file.
20976 * include/grub/x86_64/relocator.h: Likewise.
20977 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20978 (XNU_RELOCATOR): New macro.
20979 (grub_xnu_launcher_start): Remove.
20980 (grub_xnu_launcher_end): Likewise.
20981 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20982 (grub_xnu_heap_real_start): Remove.
20983 (grub_xnu_heap_start): Change to void *. All users updated.
20984 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20985 * lib/i386/relocator.c: New file.
20986 * lib/i386/relocator_asm.S: Likewise.
20987 * lib/i386/relocator_backward.S: Likewise.
20988 * lib/mips/relocator.c: Likewise.
20989 * lib/mips/relocator_asm.S: Likewise.
20990 * lib/relocator.c: Likewise.
20991 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20992 (entry): Removed.
20993 (playground): Likewise.
20994 (grub_multiboot_payload_orig): New variable.
20995 (grub_multiboot_payload_dest): Likewise.
20996 (grub_multiboot_payload_size): Likewise.
20997 (grub_multiboot_payload_eip): Likewise.
20998 (grub_multiboot_payload_esp): Likewise.
20999 (grub_multiboot_boot): Use grub_relocator32_boot.
21000 (grub_multiboot_unload): Free relocators.
21001 (grub_multiboot): Setup stack. Use relocators.
21002 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
21003 (grub_multiboot_load_elfXX): Use relocators.
21004 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
21005 (grub_multiboot_payload_size): Likewise.
21006 (grub_multiboot_payload_dest): Likewise.
21007 (grub_multiboot_payload_entry_offset): Likewise.
21008 (grub_multiboot_forward_relocator): Likewise.
21009 (grub_multiboot_backward_relocator): Likewise.
21010 (grub_multiboot_real_boot): Likewise.
21011 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
21012 (grub_xnu_entry_point): Likewise.
21013 (grub_xnu_arg1): Likewise.
21014 (grub_xnu_stack): Likewise.
21015 (grub_xnu_launch): Removed.
21016 (grub_xnu_boot_resume): New function.
21017 (grub_xnu_boot): Use relocators.
21018 * loader/i386/xnu_helper.S: Removed.
21019 * loader/xnu.c (grub_xnu_heap_start): New variable.
21020 (grub_xnu_heap_size): Likewise.
21021 (grub_xnu_heap_malloc): Use relocators.
21022 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
21023
29eb90c6
VS
210242009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21025
21026 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
21027 anything.
21028
31027430
CPE
210292009-12-13 Carles Pina i Estany <carles@pina.cat>
21030
21031 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
21032 GRUB_ERR_NONE before calling grub_env_set.
21033
dc0c71d9
RM
210342009-12-12 Robert Millan <rmh@aybabtu.com>
21035
21036 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
21037 * genmk.rb (video): New variable.
21038 (CLEANFILES, VIDEOFILES): Add #{video}.
21039 (#{video}): New target rule.
21040 * genvideolist.sh: New file.
21041 * Makefile.in (pkglib_DATA): Add video.lst.
21042 (video.lst): New target rule.
21043 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
21044 `video.lst'.
21045 * util/grub.d/30_os-prober.in: Replace `vbe' with
21046 ${GRUB_VIDEO_BACKEND}.
21047
2a4bfcf0
RM
210482009-12-11 Robert Millan <rmh.grub@aybabtu.com>
21049
21050 * THANKS: Add David Miller.
21051
2a3aa4d5
RM
210522009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
21053
21054 libpciaccess support.
21055
21056 * Makefile.in (LIBPCIACCESS): New variable.
21057 (enable_grub_emu_pci): Likewise.
21058 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
21059 util/pci.c and commands/lspci.c.
21060 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
21061 * configure.ac (grub-emu-pci): New option.
21062 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
21063 (grub_pci_device_unmap_range): Likewise.
21064 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
21065 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
21066 (grub_pci_address_t) [!GRUB_UTIL]: New type.
21067 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
21068 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
21069 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
21070 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
21071 * include/grub/pciutils.h: New file.
21072 * util/pci.c: Likewise.
21073
0ad46fd7 210742009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
21075
21076 * util/misc.c: Don't include <errno.h> twice.
21077
0ad46fd7 210782009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
21079
21080 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
21081 name in an error message.
21082 (grub_biosdisk_rw): Likewise.
21083
2e59983c
VS
210842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21085
21086 Eliminate NTFS 4Gib barrier.
21087
21088 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
21089 (read_run_data): Likewise.
21090 (grub_ntfs_read_run_list): Likewise.
21091 (grub_ntfs_read_block): Likewise.
21092 (grub_ntfs_iterate_dir): Likewise.
21093 (read_mft): Likewise.
21094 (read_data): Likewise.
21095 Use COM_LOG_LEN.
21096 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
21097 to avoid 64-bit division
21098 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
21099 (grub_ntfs_rlst): Use grub_disk_addr_t.
21100
71ee178a
VS
211012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21102
21103 Eliminate grub-fstest 4Gib barrier.
21104
21105 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
21106 (read_file): Fix error reporting.
21107
2520d4b8
VS
211082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 Eliminate hexdump 4Gib barrier.
21111
21112 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
21113 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
21114
e1f27065
VS
211152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21116
21117 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
21118 Fixes amarsh bug.
21119
1a0f7f45
RM
211202009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21121
21122 Remove miscellaneous files in distclean target.
21123
21124 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21125
c631d9fb
CW
211262009-12-09 Colin Watson <cjwatson@ubuntu.com>
21127
21128 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21129 if they're already set. This resolves the conflict between my
21130 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21131 fixing the --grub-probe option again.
21132 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21133 change on 2009-10-06, so that we now once again source
21134 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21135
7c7b6106
RM
211362009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21137
21138 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21139 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21140 `util/devicemap.c'.
21141
e3069ec1
CPE
211422009-12-08 Carles Pina i Estany <carles@pina.cat>
21143
21144 * include/grub/misc.h (grub_printf_): New declaration.
21145 * kern/misc.c (grub_printf_): New definition.
21146 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21147 instead of `grub_printf' and `_'.
21148 * normal/menu_entry.c (store_completion): Likewise.
21149 (run): Likewise.
21150 (grub_menu_entry_run): Likewise.
21151 * normal/menu_text.c (grub_wait_after_message): Likewise.
21152 (notify_booting): Likewise.
21153 (notify_fallback): Likewise.
21154 (notify_execution_failure): Likewise.
21155
d6ceebf1
CW
211562009-12-07 Colin Watson <cjwatson@ubuntu.com>
21157
21158 * configure.ac: Check for vasprintf.
21159 * util/misc.c (asprintf): Move allocation from here ...
21160 (vasprintf): ... to here. New function.
21161 (xasprintf): New function.
21162 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21163 prototypes.
21164 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21165 * util/grub-mkfont.c (write_font): Likewise.
21166 * util/grub-probe.c (probe): Likewise.
21167 * util/hostdisk.c (make_device_name): Likewise.
21168
de6daa8b
DM
211692009-12-06 David S. Miller <davem@sunset.davemloft.net>
21170
21171 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21172 anything even prefixed with 'cdrom' as a cdrom.
21173
0ad46fd7 211742009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
21175
21176 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21177 mount points.
21178
98d3dc02
CPE
211792009-12-05 Carles Pina i Estany <carles@pina.cat>
21180
21181 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21182 grub_gettext_msg_list.
21183 (grub_gettext_gettranslation_from_position): Return const char *
21184 and not char *.
a2c1332b 21185 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
21186 returns from the list if existing there.
21187 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21188 (grub_gettext_delete_list): Delete the list.
21189 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21190 lang environment variable is changed.
21191 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21192
b283f108
VS
211932009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21194
21195 Rename kernel.mod to kernel.img.
21196
21197 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21198 (kernel_mod_EXPORTS): Rename to ...
21199 (kernel_img_EXPORTS): ... this.
21200 (kernel_mod_SOURCES): Rename to ...
21201 (kernel_img_SOURCES): ... this.
21202 (kernel_mod_HEADERS): Rename to ...
21203 (kernel_img_HEADERS): ... this. All users updated.
21204 (kernel_mod_CFLAGS): Rename to ...
21205 (kernel_img_CFLAGS): ... this.
21206 (kernel_mod_ASFLAGS): Rename to ...
21207 (kernel_img_ASFLAGS): ... this.
21208 (kernel_mod_LDFLAGS): Rename to ...
21209 (kernel_img_LDFLAGS): ... this.
21210 * conf/x86_64-efi.rmk: Likewise.
21211 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21212 (read_kernel_image): ... this. All users updated.
21213 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21214
69055f8a
CPE
212152009-12-05 Carles Pina i Estany <carles@pina.cat>
21216
21217 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21218 (print_spaces): New function.
21219 (grub_print_ucs4): New function.
21220 (getstringwidth): New function.
21221 (print_message_indented): New function.
21222 (print_message): Gettexttize strings using print_message_indented.
21223 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21224 width.
21225 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 21226 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
21227 Gettextize.
21228 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21229 string.
21230 (run): Likewise.
21231 (grub_menu_entry_run): Likewise.
21232 * PO/POTFILES: Add normal/menu_entry.c.
21233
f616f51c
VS
212342009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21237
57bbe3be
CPE
212382009-12-05 Carles Pina i Estany <carles@pina.cat>
21239
21240 * util/grub-install.in: Install gettext .mo files.
21241 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21242
013d67a1
CPE
212432009-12-05 Carles Pina i Estany <carles@pina.cat>
21244
21245 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21246 grub_dprintf.
21247
fb954db0
RM
212482009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21249
21250 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21251 non-firmware-dependant one in realmode.S takes precedence.
21252
6b8474f8
RM
212532009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21254
21255 * commands/halt.c: Replace misc arch-specific headers with
21256 `<grub/misc.h>'.
21257 * commands/reboot.c: Likewise.
21258 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21259 `<grub/misc.h>'.
21260 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21261 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21262 (kernel_img_SOURCES): ... to here.
21263
21264 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21265 * include/grub/i386/pc/init.h: Likewise.
21266 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21267 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21268
21269 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21270
21271 * include/grub/i386/halt.h: Remove.
21272 * include/grub/i386/reboot.h: Likewise.
21273
21274 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21275
4b2e6ca2
DM
212762009-12-03 David S. Miller <davem@sunset.davemloft.net>
21277
21278 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21279 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21280 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21281 "progname.h"
21282 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21283 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21284 (usage): Add missing comma in printf.
21285
5239348f
RM
212862009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21287
21288 Use the same reboot approach on i386 coreboot and qemu as we do on
21289 BIOS.
21290
21291 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21292 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21293 * kern/i386/reboot.c: Remove.
21294 * include/grub/i386/reboot.h (grub_reboot): Export function.
21295 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21296 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21297 0xf000:0xfff0 instead of 0xffff:0x0000.
21298 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21299 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21300
ef34cbd4
RM
213012009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21302
21303 Fix $srcdir != $objdir build.
21304
21305 * Makefile.in (po/%.po): Rewrite as ...
21306 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21307
dc9837ea
ST
213082009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21309
21310 Fix GNU/Hurd grub-install crash.
21311 * util/grub-probe.c (probe): Try to access `path' only when it is not
21312 NULL.
21313
2f857f98
VS
213142009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 Correct module naming.
21317
21318 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21319 (GRUB_MOD_INIT(efi_uga)): ... to this
21320 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21321 (GRUB_MOD_FINI(efi_uga)): ... to this
21322 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21323 (GRUB_MOD_INIT(efi_gop)): ... to this
21324 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21325 (GRUB_MOD_FINI(efi_gop)): ... to this
21326
c5448046
RM
213272009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21328
21329 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21330 translatable.
21331 (usage): Translate `arg' strings using gettext().
21332 Thanks to Jordi Mallach for the suggestion.
21333
c85184ad
VS
213342009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21335
21336 GOP support. Based on patch from Bean
21337 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21338
21339 * video/efi_gop.c: New file.
21340 * include/grub/efi/graphics_output.h: Likewise.
21341 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21342 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21343 variables.
21344 * conf/x86_64-efi.rmk: Likewise.
21345
8a4c48d8
VS
213462009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21347
21348 Rename efi_fb to efi_uga.
21349
21350 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21351 'efi_uga.mod'.
21352 (efi_fb_mod_SOURCES): Rename this ...
21353 (efi_uga_mod_SOURCES): ... to this.
21354 (efi_fb_mod_CFLAGS): Rename this ...
21355 (efi_uga_mod_CFLAGS): ... to this.
21356 (efi_fb_mod_LDFLAGS): Rename this ...
21357 (efi_uga_mod_LDFLAGS): ... to this.
21358 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21359 'efi_uga.mod'.
21360 (efi_fb_mod_SOURCES): Rename this ...
21361 (efi_uga_mod_SOURCES): ... to this.
21362 (efi_fb_mod_CFLAGS): Rename this ...
21363 (efi_uga_mod_CFLAGS): ... to this.
21364 (efi_fb_mod_LDFLAGS): Rename this ...
21365 (efi_uga_mod_LDFLAGS): ... to this.
21366 * video/efi_fb.c: Move this ...
21367 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21368
fb6c1a7b
RM
213692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21370
21371 * po/README: New file. Explain our PO file workflow.
21372
3bc7896c
RM
213732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21374
21375 * po/ChangeLog: Remove. Move relevant entries back to ...
21376 * ChangeLog: ... here.
21377 * po/ca.po: Remove (now handled by TLP).
21378 * po/id.po: Likewise.
21379 * po/zh_CN.po: Likewise.
21380 * Makefile.in (LINGUAS): Initialize in a way that supports
21381 empty set.
21382
9ed4841d
RM
213832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21384
21385 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21386 reliing on po/LINGUAS.
21387 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21388 (po/%.po): ... this.
21389
0ad46fd7 213902009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
21391
21392 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21393 (main): Use `program_name' instead of nonexistent `progname'.
21394
e30dd392
FZ
213952009-11-26 Felix Zielcke <fzielcke@z-51.de>
21396
21397 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21398 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21399
7656de4f
RM
214002009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21401
21402 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21403 commit.
21404 * conf/i386-efi.rmk: Likewise.
21405 * conf/i386-ieee1275.rmk: Likewise.
21406 * conf/powerpc-ieee1275.rmk: Likewise.
21407 * conf/sparc64-ieee1275.rmk: Likewise.
21408 * conf/x86_64-efi.rmk: Likewise.
21409
db77c4d4
FZ
214102009-11-26 Felix Zielcke <fzielcke@z-51.de>
21411
21412 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21413
a755bb04
FZ
214142009-11-26 Felix Zielcke <fzielcke@z-51.de>
21415
21416 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21417
8a4c07fd
RM
214182009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21419
21420 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21421 (grub_mkdevicemap_SOURCES): New variable.
21422 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21423 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21424 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21425 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21426 (grub_mkdevicemap_SOURCES): Remove.
21427 * conf/i386-efi.rmk: Likewise.
21428 * conf/i386-ieee1275.rmk: Likewise.
21429 * conf/i386-pc.rmk: Likewise.
21430 * conf/powerpc-ieee1275.rmk: Likewise.
21431 * conf/sparc64-ieee1275.rmk: Likewise.
21432 * conf/x86_64-efi.rmk: Likewise.
21433 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21434 (usage): Fix strings to use `program_name'.
21435 (main): Initialize gettext.
21436 * util/grub-editenv.c: Likewise.
21437 * util/grub-emu.c: Likewise.
21438 * util/grub-fstest.c: Likewise.
21439 * util/grub-mkdevicemap.c: Likewise.
21440 * util/grub-mkfont.c: Likewise.
21441 * util/grub-mkrelpath.c: Likewise.
21442 * util/grub-pe2elf.c: Likewise.
21443 * util/grub-probe.c: Likewise.
21444 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21445 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21446 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21447
21448 * util/misc.c: Include `"progname.h"'.
21449 (progname): Remove variable.
21450 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21451
6f61ed55
FZ
214522009-11-25 Felix Zielcke <fzielcke@z-51.de>
21453
21454 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21455 printf and print a newline after the menuentry header line.
21456 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21457
f022876b
FZ
214582009-11-25 Felix Zielcke <fzielcke@z-51.de>
21459
21460 autoconf >= 2.60 support $(localedir).
21461
21462 * INSTALL: Note that autoconf 2.60 is required.
21463 * configure.ac (AC_PREREQ): Bump to 2.60.
21464 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21465 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21466
6717926e
YB
214672009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21468
21469 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21470 aclocal is run.
21471
08806a54
RM
214722009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21473
21474 * normal/main.c (grub_normal_read_line): Fix off-by-one
21475 buffer overflow.
21476
13b33fba
RM
214772009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21478
21479 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21480 "parser.grub" in grub_command_execute() call.
21481
4a8572e9
CPE
214822009-11-24 Carles Pina i Estany <carles@pina.cat>
21483
21484 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21485 * conf/i386-efi.rmk: Likewise.
21486 * conf/i386-ieee1275.rmk: Likewise.
21487 * conf/i386-pc.rmk: Likewise.
21488 * conf/powerpc-ieee1275.rmk: Likewise.
21489 * conf/sparc64-ieee1275.rmk: Likewise.
21490 * conf/x86_64-efi.rmk: Likewise.
21491 * gettext/gettex.c: Include <grub/i18n.h>.
21492 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21493 here ...
21494 * include/grub/i18n.h: ... to here
21495 * include/grub/i18n.h: ... to here.
21496 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 21497 (grub_gettext_dummy): Move above user.
4a8572e9 21498
bee48093
FZ
214992009-11-24 Felix Zielcke <fzielcke@z-51.de>
21500
21501 * util/Makefile.in (install-local): Convert a `for' into a normal
21502 shell expansion.
21503
a031e91c
RM
215042009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21505
21506 * autogen.sh: Add automake call.
21507 * config.guess: Remove.
21508 * config.sub: Likewise.
21509 * install-sh: Likewise.
21510
26bec39d
FZ
215112009-11-24 Felix Zielcke <fzielcke@z-51.de>
21512
21513 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21514
8e2532fd
FZ
215152009-11-24 Felix Zielcke <fzielcke@z-51.de>
21516
21517 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21518 function to a normal shell `for'.
21519
fefa1b7d
FZ
215202009-11-24 Felix Zielcke <fzielcke@z-51.de>
21521
21522 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21523
4501250b
FZ
215242009-11-24 Felix Zielcke <fzielcke@z-51.de>
21525
21526 * util/grub-mkrelpath.c: New file.
21527 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21528 (grub_mkrelpath_SOURCES): New variable.
21529 * include/grub/util/misc.h: New function prototype.
21530 * util/misc.c (make_system_path_relative_to_its_root): New function.
21531
21532 * util/grub-mkconfig_lib.in (bindir): New variable.
21533 (grub_mkrelpath): Likewise.
21534 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21535
21536 * util/probe.c (probe): Make the file path relative to its root.
21537 Change a info message to use the GRUB path. Enable again the
21538 check if we can read the file with GRUB facilities.
21539
21540 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21541 to its root.
21542
11d9778b
FZ
215432009-11-24 Felix Zielcke <fzielcke@z-51.de>
21544
21545 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21546 platform.
21547
4465287d
FZ
215482009-11-24 Felix Zielcke <fzielcke@z-51.de>
21549
21550 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21551 strncmp().
21552
62b47f22
FZ
215532009-11-24 Felix Zielcke <fzielcke@z-51.de>
21554
21555 * util/getroot.c (grub_util_is_dmraid): New function.
21556 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21557 devices as normal ones, not as LVM.
21558
1eafb9b9 215592009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
21560
21561 * conf/common.rmk: Add grub-gettext_lib target and updates
21562 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21563 LDFLAGS.
21564 * gettext/gettext.c: New file. (Reads mo files).
21565 * include/grub/file.h (grub_file_pread): New prototype.
21566 * include/grub/i18n.h (_): New prototype.
21567 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21568 prototypes.
21569 * kern/misc.c (grub_gettext_dummy): New function.
21570 * normal/menu_text.c: Include <grub/i18n.h>.
21571 * normal/menu_text.c (print_timeout): Gettexttize string.
21572 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
21573 * po/POTFILES: Add `normal/menu_text.c'.
21574 * po/ca.po: Add new translations.
c3ea6bd4
CPE
21575 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21576 gettext module and defines locale_dir and lang in grub.cfg.
21577 * NEWS: Add gettext support.
21578
0fdb2568
RM
215792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21580
21581 * util/hostdisk.c: Include `<grub/i18n.h>'.
21582 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21583 (make_device_name): Rewrite using asprintf.
21584 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21585 (find_system_device): If a device is not found, generate one just
21586 by reusing the OS path name.
21587 (read_device_map): Make it permissible for device.map not to exist.
21588
f515aa62
RM
215892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21590
21591 * script/sh/execute.c: Move from here ...
21592 * script/execute.c: ... to here. Update all users.
21593 * script/sh/function.c: Move from here ...
21594 * script/function.c: ... to here. Update all users.
21595 * script/sh/lexer.c: Move from here ...
21596 * script/lexer.c: ... to here. Update all users.
21597 * script/sh/main.c: Move from here ...
21598 * script/main.c: ... to here. Update all users.
21599 * script/sh/parser.y: Move from here ...
21600 * script/parser.y: ... to here. Update all users.
21601 * script/sh/script.c: Move from here ...
21602 * script/script.c: ... to here. Update all users.
21603
f84b481b
RM
216042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21605
21606 * configure.ac: Detect all `emu' platforms. Define
21607 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21608 --enable-grub-emu logic. Disable include/grub/machine
21609 symlink on `emu' platforms.
21610
21611 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21612 * gensymlist.sh.in: Likewise.
21613
21614 * include/grub/i386/coreboot/machine.h: Remove file.
21615 * include/grub/i386/efi/machine.h: Likewise.
21616 * include/grub/i386/ieee1275/machine.h: Likewise.
21617 * include/grub/i386/pc/machine.h: Likewise.
21618 * include/grub/i386/qemu/machine.h: Likewise.
21619 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21620 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21621 * include/grub/x86_64/efi/machine.h: Likewise.
21622
21623 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21624 * commands/halt.c: Likewise.
21625 * commands/reboot.c: Likewise.
21626 * include/grub/autoefi.h: Likewise.
21627 * include/grub/i386/at_keyboard.h: Likewise.
21628 * include/grub/i386/kernel.h: Likewise.
21629 * include/grub/i386/loader.h: Likewise.
21630 * include/grub/i386/pc/memory.h: Likewise.
21631 * kern/dl.c: Likewise.
21632 * kern/i386/coreboot/init.c: Likewise.
21633 * loader/i386/bsd.c: Likewise.
21634 * loader/i386/linux.c: Likewise.
21635 * loader/multiboot_loader.c: Likewise.
21636 * term/i386/pc/serial.c: Likewise.
21637 * term/usb_keyboard.c: Likewise.
21638
21639 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21640 `<grub/machine/machine.h>'
21641 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21642 * util/misc.c: Remove `<grub/machine/machine.h>' and
21643 `<grub/machine/time.h>'.
21644
21645 * Makefile.in (enable_grub_emu): Remove variable.
21646 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21647
21648 * conf/any-emu.rmk: New file.
21649 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21650 (grub_emu_init.c): Move from here ...
21651 * conf/any-emu.rmk: ... to here.
21652
21653 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21654 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21655 * conf/any-emu.rmk: ... to here.
21656
4efeab03
RM
216572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21658
21659 * include/grub/parser.h (grub_parser_register): Document need
21660 of `name' parameter.
21661 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21662 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21663 "sh" to "grub".
21664
ea1dd8bf
RM
216652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21666
21667 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21668 `$(XGETTEXT)'.
21669 * include/grub/i18n.h (N_): New macro.
21670 * util/mkisofs/mkisofs.h: Likewise.
21671 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21672 around N_().
21673 (usage): Use gettext() to translate help strings when printing them.
21674
0c140626
RM
216752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21676
21677 Based on patch from Bean
21678 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21679
21680 * video/efi_fb.c: New file.
21681 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21682 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21683 variables.
21684 * conf/x86_64-efi.rmk: Likewise.
21685
87d58298
RM
216862009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21687
21688 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21689 * util/i386/pc/grub-setup.c: Likewise.
21690
994cc3a3
ST
216912009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21692
21693 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21694 <hurd/fs.h>
21695 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21696 file_get_storage_info to implement grub_guess_root_device.
21697
26a61d6a
FZ
216982009-11-21 Felix Zielcke <fzielcke@z-51.de>
21699
21700 * Makefile.in (target): Use make's builtin $(shell) function
21701 instead of calling directly $(SHELL) to create the locale directories,
21702 inside the $(foreach) function.
21703
74ff1dd5
FZ
217042009-11-21 Felix Zielcke <fzielcke@z-51.de>
21705
21706 * util/grub-mkrescue.in: Print an error and usage if output option
21707 has not been given.
21708
0b787d0e
FZ
217092009-11-21 Felix Zielcke <fzielcke@z-51.de>
21710
21711 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21712 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21713 root and /boot are on different devices.
21714
1164b270
RM
217152009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21716
21717 Fix build for srcdir != objdir.
21718
21719 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21720 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21721 $(srcdir).
21722 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21723 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21724 reference for input.
21725
13774a2f
RM
217262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21727
21728 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21729 or hardlinking it). Remove -J option, Joliet is not compatible with
21730 multiple source directories.
21731
efda854e
RM
217322009-11-21 Carles Pina i Estany <carles@pina.cat>
217332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21734
21735 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21736 (process_input_dir): New function. Process an arbitrary input
21737 directory.
21738 Misc adjustments to support both "override mode" and system-wide mode.
21739
6c09890c
FZ
217402009-11-20 Felix Zielcke <fzielcke@z-51.de>
21741
21742 * configure.ac (UNIFONT_BDF): Rename to ...
21743 (FONT_SOURCE): ... this. Update all users.
21744
a797824f
FZ
217452009-11-20 Felix Zielcke <fzielcke@z-51.de>
21746
21747 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21748 to the list of unifont files to look for.
21749
cd4f42b0
RM
217502009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21751
21752 Patch from Joe Auricchio <jauricchio@gmail.com>
21753 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21754 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21755 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21756
393c783d
FZ
217572009-11-19 Felix Zielcke <fzielcke@z-51.de>
21758
21759 * Makefile.in (install-local): Add a missing backslash.
21760
b2f1e327
FZ
217612009-11-19 Felix Zielcke <fzielcke@z-51.de>
21762
21763 * include/grub/x86_64/io.h: New file.
21764
f577f7a0
RM
217652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21766
21767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21768 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21769 Include `"progname.h"'.
21770 (main): Initialize gettext.
21771 * util/i386/pc/grub-setup.c: Gettexttize.
21772 * util/i386/pc/grub-mkimage.c: Likewise.
21773
21774 * Makefile.in (po/*.po): Redefine as ...
21775 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21776
3bc7896c
RM
21777 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21778
c37943b6
RM
217792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21780
21781 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21782 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21783 (program_name): Remove.
21784 (main): Initialize gettext support.
6323f705
RM
21785 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21786 Include `<libintl.h>'.
21787 (_): New macro.
c37943b6
RM
21788
21789 * util/mkisofs/eltorito.c: Gettexttize.
21790 * util/mkisofs/joliet.c: Likewise.
21791 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
21792 * util/mkisofs/multi.c: Likewise.
21793 * util/mkisofs/rock.c: Likewise.
21794 * util/mkisofs/tree.c: Likewise.
21795 * util/mkisofs/write.c: Likewise.
21796
3bc7896c
RM
21797 * po/POTFILES: Update with new files.
21798
5ce77c6e
RM
217992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21800
21801 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21802 * util/mkisofs/iso9660.h: Likewise.
21803 * util/mkisofs/joliet.c: Likewise.
21804 * util/mkisofs/mkisofs.c: Likewise.
21805 * util/mkisofs/mkisofs.h: Likewise.
21806 * util/mkisofs/rock.c: Likewise.
21807 * util/mkisofs/tree.c: Likewise.
21808 * util/mkisofs/write.c: Likewise.
21809
21810 * util/mkisofs/eltorito.c (rcsid): Remove.
21811 * util/mkisofs/hash.c: Likewise.
21812 * util/mkisofs/joliet.c: Likewise.
21813 * util/mkisofs/name.c: Likewise.
21814 * util/mkisofs/rock.c: Likewise.
21815 * util/mkisofs/tree.c: Likewise.
21816 * util/mkisofs/write.c: Likewise.
21817
1dabbc77
RM
218182009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21819
21820 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21821 instead of static allocation.
21822 * util/mkisofs/match.h: Likewise.
21823
633877cb
RM
218242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21825
3bc7896c
RM
21826 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21827 and `util/grub.d/10_linux.in'.
633877cb
RM
21828 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21829 translatable Shell files.
21830
af1c0c85
RM
218312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21832
21833 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21834
769ae37b
RM
218352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21836
21837 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 21838 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
21839 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21840 Add gettext initialization.
21841 (kfreebsd_entry): Make menuentry output translatable.
21842
218432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21844
21845 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21846 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21847 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21848 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21849 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 21850 * po/LINGUAS: New file.
769ae37b
RM
21851
218522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21853
21854 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21855 other things).
21856 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21857 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21858 bindtextdomain() calls for gettext initialization.
21859
218602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21861
21862 * gnulib/progname.c: New file (imported from Gnulib).
21863 * gnulib/progname.h: Likewise.
21864 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21865 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21866 (usage): Replace `progname' with `program_name'.
21867 (main): Use set_program_name() for program name initialization.
21868
218692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21870
21871 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21872 from here ...
21873 * Makefile.in (CPPFLAGS): ... to here.
21874
218752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21876
21877 * aclocal.m4: Move from here ...
21878 * acinclude.m4: ... to here.
21879 * autogen.sh: Add call to `aclocal'.
21880 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21881
218822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21883
21884 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21885 (LINGUAS): New variable.
21886 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21887 (install-local): Install MO files.
21888 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21889 * include/grub/i18n.h: New file.
3bc7896c
RM
21890 * po/POTFILES: New file.
21891 * po/ca.po: New file.
769ae37b
RM
21892 * util/grub.d/10_linux.in (bindir): New variable.
21893 Add gettext initialization.
21894 (linux_entry): Make menuentry output translatable.
21895 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21896 (usage): Make --help output translatable.
21897 (main): Initialize gettext.
21898
02c0a6ad
RM
218992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21900
21901 * import_gcry.py: New file (written by Vladimir with minor
21902 adjustments).
21903 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21904 ciphers.
21905 * INSTALL: Document that Python is required for bootstrap.
21906
219072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21908
21909 Import ciphers from libgcrypt 1.4.4.
21910
21911 * lib/libgcrypt/cipher/ChangeLog
21912 * lib/libgcrypt/cipher/ac.c
21913 * lib/libgcrypt/cipher/arcfour.c
21914 * lib/libgcrypt/cipher/bithelp.h
21915 * lib/libgcrypt/cipher/blowfish.c
21916 * lib/libgcrypt/cipher/camellia-glue.c
21917 * lib/libgcrypt/cipher/camellia.c
21918 * lib/libgcrypt/cipher/camellia.h
21919 * lib/libgcrypt/cipher/cast5.c
21920 * lib/libgcrypt/cipher/cipher.c
21921 * lib/libgcrypt/cipher/crc.c
21922 * lib/libgcrypt/cipher/des.c
21923 * lib/libgcrypt/cipher/dsa.c
21924 * lib/libgcrypt/cipher/ecc.c
21925 * lib/libgcrypt/cipher/elgamal.c
21926 * lib/libgcrypt/cipher/hash-common.c
21927 * lib/libgcrypt/cipher/hash-common.h
21928 * lib/libgcrypt/cipher/hmac-tests.c
21929 * lib/libgcrypt/cipher/md.c
21930 * lib/libgcrypt/cipher/md4.c
21931 * lib/libgcrypt/cipher/md5.c
21932 * lib/libgcrypt/cipher/primegen.c
21933 * lib/libgcrypt/cipher/pubkey.c
21934 * lib/libgcrypt/cipher/rfc2268.c
21935 * lib/libgcrypt/cipher/rijndael-tables.h
21936 * lib/libgcrypt/cipher/rijndael.c
21937 * lib/libgcrypt/cipher/rmd.h
21938 * lib/libgcrypt/cipher/rmd160.c
21939 * lib/libgcrypt/cipher/rsa.c
21940 * lib/libgcrypt/cipher/seed.c
21941 * lib/libgcrypt/cipher/serpent.c
21942 * lib/libgcrypt/cipher/sha1.c
21943 * lib/libgcrypt/cipher/sha256.c
21944 * lib/libgcrypt/cipher/sha512.c
21945 * lib/libgcrypt/cipher/tiger.c
21946 * lib/libgcrypt/cipher/twofish.c
21947 * lib/libgcrypt/cipher/whirlpool.c
21948
af2f93ac
RM
219492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21950
21951 Fix build for systems without error().
21952
21953 * gnulib/error.c: New file (imported from Gnulib).
21954 * gnulib/error.h: Likewise.
21955 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21956 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21957 (this variable is now used by error()).
21958
73fb3dd5
FZ
219592009-11-16 Felix Zielcke <fzielcke@z-51.de>
21960
814f5e96
FZ
21961 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21962 instead of relying that char is signed.
73fb3dd5 21963
a691ca33
VS
219642009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21965
21966 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21967 blocksize different from specified.
21968 (grub_pxefs_read): Likewise.
21969
2af8f0f4
FZ
219702009-11-16 Felix Zielcke <fzielcke@z-51.de>
21971
21972 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21973
21974 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21975 (grub_ata_readwrite): Likewise. Update 2 format strings.
21976 (grub_atapi_read): Likewise.
21977
21978 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21979 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21980 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21981 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21982 (ata_mod_LDFLAGS): Move from here ...
21983 * conf/i386.rmk: ... to here ...
21984 * conf/x86_64-efi.rmk: ... and here.
21985 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21986 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21987
83bdecaf
RM
219882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21989
21990 Relicense multiboot.h, with RMS' blessing.
21991
21992 * include/multiboot.h: Change to X11 license.
21993
fd6fd3d7
RM
219942009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21995
21996 Support --version in grub-mkisofs.
21997
21998 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21999 (OPTION_VERSION): New macro.
22000 (ld_options): Recognize --version.
22001 (usage): Move `program_name' from here ...
22002 (program_name): ... to here. Add `static' qualifier.
22003 (main): Recognize `OPTION_VERSION'.
22004
16a88c49
FZ
220052009-11-15 Felix Zielcke <fzielcke@z-51.de>
22006
22007 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
22008 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
22009
a4158476
RM
220102009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22011
22012 Fix help2man generation for mkisofs.
22013
22014 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
22015 (usage): Send output to stdout (rather than stderr).
22016
fc2208b0
RM
220172009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22018
22019 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
22020 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22021 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
22022 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22023 (bin_SCRIPTS): Add `grub-mkfloppy'.
22024 (grub_mkfloppy_SOURCES): New variable.
22025
22026 * util/grub-mkrescue.in: New file.
22027 * util/i386/pc/grub-mkfloppy.in: New file.
22028
22029 * util/i386/coreboot/grub-mkrescue.in: Remove.
22030 * util/i386/pc/grub-mkrescue.in: Remove.
22031
8d0edf4a
RM
220322009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22033
22034 * include/grub/multiboot.h (struct grub_multiboot_header): Move
22035 from here ...
22036 * include/multiboot.h (struct multiboot_header): ... to here. Update
22037 all users.
22038 * include/grub/multiboot.h (struct grub_multiboot_info): Move
22039 from here ...
22040 * include/multiboot.h (struct multiboot_info): ... to here. Update
22041 all users.
22042 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
22043 from here ...
22044 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
22045 Update all users.
22046 * include/grub/multiboot.h (struct grub_mod_list): Move
22047 from here ...
22048 * include/multiboot.h (struct multiboot_mod_list): ... to here.
22049 Update all users.
22050
a73f5969
RM
220512009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22052
22053 * include/multiboot2.h (multiboot_word): Rename from this ...
22054 (multiboot2_word): ... to this. Update all users.
22055 (multiboot_header): Rename from this ...
22056 (multiboot2_header): ... to this. Update all users.
22057 (multiboot_tag_header): Rename from this ...
22058 (multiboot2_tag_header): ... to this. Update all users.
22059 (multiboot_tag_start): Rename from this ...
22060 (multiboot2_tag_start): ... to this. Update all users.
22061 (multiboot_tag_name): Rename from this ...
22062 (multiboot2_tag_name): ... to this. Update all users.
22063 (multiboot_tag_module): Rename from this ...
22064 (multiboot2_tag_module): ... to this. Update all users.
22065 (multiboot_tag_memory): Rename from this ...
22066 (multiboot2_tag_memory): ... to this. Update all users.
22067 (multiboot_tag_unused): Rename from this ...
22068 (multiboot2_tag_unused): ... to this. Update all users.
22069 (multiboot_tag_end): Rename from this ...
22070 (multiboot2_tag_end): ... to this. Update all users.
22071
1c8927f0
RM
220722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22073
22074 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
22075 this platform we should support Multiboot1 first.
22076
22077 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22078 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
22079 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
22080
6e1e0d89
RM
220812009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22082
22083 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
22084 of write calls (converting them to fwrite() if they aren't already).
22085 (get_torito_desc): Likewise.
22086 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
22087
7f2b34d8
RM
220882009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22089
22090 * util/i386/pc/grub-install.in: Move from here ...
22091 * util/grub-install.in: ... to here. Update all users.
22092
c0ef3311
CW
220932009-11-11 Colin Watson <cjwatson@ubuntu.com>
22094
22095 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
22096
e1f240ff
RM
220972009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22098
22099 Support for El Torito without floppy emulation.
22100
22101 * util/mkisofs/eltorito.c: Include `<errno.h>'.
22102 (init_boot_catalog): Improve error handling.
22103 (get_torito_desc): Don't use floppy emulation unless requested by
22104 user. Patch boot information table when requested via
22105 `-boot-info-table'.
22106 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
22107 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
22108 (use_boot_info_table): New variables.
22109 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
22110 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
22111 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
22112 `--eltorito-emul-floppy'.
22113 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
22114 and `OPTION_ELTORITO_EMUL_FLOPPY'.
22115 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
22116 (use_boot_info_table, get_731): New prototypes.
22117 * util/mkisofs/write.c (get_731): New function.
22118
af7d4de5
FZ
221192009-11-11 Felix Zielcke <fzielcke@z-51.de>
22120
22121 Fix the generation of the man page.
22122
22123 * util/pc/i386/grub-install.in: Source
22124 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22125
2c55dbc0
RM
221262009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22127
22128 Large file support for grub-mkisofs.
22129
22130 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22131 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22132 (session_start): Upgrade type to `uint64_t'. Update all users.
22133 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22134 (struct directory_entry): Upgrade type of `starting_block' and
22135 `size' to `uint64_t'. Update all users.
22136 (struct deferred): Remove unused structure.
22137 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22138 Update all users.
22139 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22140 file is larger than `UINT32_MAX'.
22141 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22142 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22143 return value.
22144 (struct deferred_write): Upgrade type of `extent' and `size' to
22145 `uint64_t'. Update all users.
22146 (last_extent_written): Upgrade type to `uint64_t'. Update all
22147 users.
22148 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22149 Update all users. Upgrade type of `remain' to `int64_t' and
22150 `use' to `size_t'. Use error() to handle fread() errors.
22151 (write_files): Rely on write_one_file() rather than calling
22152 xfwrite() directly.
22153
6a9cead5
FZ
221542009-11-09 Felix Zielcke <fzielcke@z-51.de>
22155
22156 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22157
4825d790
RM
221582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22159
22160 * util/mkisofs/fnmatch.c: Remove.
22161 * util/mkisofs/getopt1.c: Likewise.
22162 * util/mkisofs/getopt.c: Likewise.
22163 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22164 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22165 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22166 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22167 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22168
22169 * configure.ac: Detect `mingw32msvc' host_os.
22170 Check for lstat(), getuid() and getgid().
22171
22172 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22173 instances of `u_char' with `uint8_t'.
22174
22175 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22176 [!HAVE_GETUID] (getuid): New function (stub).
22177 [!HAVE_GETGID] (getgid): Likewise.
22178 [!HAVE_LSTAT] (lstat): Likewise.
22179 [!S_IROTH] (S_IROTH): New macro (dummy).
22180 [!S_IRGRP] (S_IRGRP): Likewise.
22181
84b860d8
RM
221822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22183
22184 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22185 conditional expression).
22186
66e9b712
RM
221872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22188
22189 Import from Gnulib.
22190
22191 * gnulib/fnmatch.c: New file.
22192 * gnulib/fnmatch.h: Likewise.
22193 * gnulib/fnmatch_loop.c: Likewise.
22194 * gnulib/getopt.c: Likewise.
22195 * gnulib/getopt.h: Likewise.
22196 * gnulib/getopt1.c: Likewise.
22197 * gnulib/getopt_int.h: Likewise.
22198 * gnulib/gettext.h: Likewise.
22199
34f4a5b0
RM
222002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22201
22202 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22203 * normal/handler.c (read_handler_list): Likewise.
22204
ac451143
RM
222052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22206
22207 Misc cleanup.
22208
22209 * kern/command.c (grub_register_command_prio): Use
22210 grub_zalloc() instead of explicitly zeroing data.
22211 * kern/list.c: Include `<grub/mm.h>'.
22212 (grub_named_list_find): Replace `0' with `NULL'.
22213 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22214 (fs_module_list): Change type to `grub_named_list_t'. Update all
22215 users.
22216 * normal/dyncmd.c (read_command_list): Add space between function
22217 call and parenthesis.
22218 * normal/handler.c (read_handler_list): Likewise.
22219
4089b167
RM
222202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22221
22222 * normal/auth.c (punishment_delay): Moved from here ...
22223 (grub_auth_strcmp): ... to here (inside function).
22224
325f5037
RM
222252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22226
22227 * include/grub/list.h (struct grub_named_list): Remove `const'
22228 qualifier from `name'.
22229 (struct grub_prio_list): Likewise.
22230
7aea29a3
RM
222312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22232
22233 * normal/auth.c: Include `<grub/time.h>'.
22234 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22235
3fd6f044
RM
222362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22237
22238 * normal/auth.c (punishment_delay): New variable.
22239 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22240 (grub_auth_check_authentication): Punish failed login attempts with
22241 an incremental (2^N) delay.
22242
a4cd68e4
RM
222432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22244
22245 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22246 path with $(srcdir).
22247
7ad12f43
VS
222482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22249
22250 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22251
c1129f03
RM
222522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22253
22254 * util/i386/coreboot/grub-mkrescue.in: New file.
22255 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22256 variables.
22257
22258 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22259 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22260 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22261 requirements.
22262 * util/mkisofs/defaults.h: New file.
22263 * util/mkisofs/eltorito.c: Likewise.
22264 * util/mkisofs/exclude.h: Likewise.
22265 * util/mkisofs/fnmatch.c: Likewise.
22266 * util/mkisofs/getopt.c: Likewise.
22267 * util/mkisofs/getopt1.c: Likewise.
22268 * util/mkisofs/hash.c: Likewise.
22269 * util/mkisofs/include/fctldefs.h: Likewise.
22270 * util/mkisofs/include/mconfig.h: Likewise.
22271 * util/mkisofs/include/prototyp.h: Likewise.
22272 * util/mkisofs/include/statdefs.h: Likewise.
22273 * util/mkisofs/iso9660.h: Likewise.
22274 * util/mkisofs/joliet.c: Likewise.
22275 * util/mkisofs/match.c: Likewise.
22276 * util/mkisofs/match.h: Likewise.
22277 * util/mkisofs/mkisofs.c: Likewise.
22278 * util/mkisofs/mkisofs.h: Likewise.
22279 * util/mkisofs/multi.c: Likewise.
22280 * util/mkisofs/name.c: Likewise.
22281 * util/mkisofs/rock.c: Likewise.
22282 * util/mkisofs/tree.c: Likewise.
22283 * util/mkisofs/write.c: Likewise.
22284
ec8bb77d
VS
222852009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22288 being insecure.
22289
3716b12c
RM
222902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22291
22292 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22293 `grub-mkimage' (and use $0 when possible).
22294
b97b7b91
RM
222952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22296
22297 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22298 error message for excessively large memory map.
22299
04114812
RM
223002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22301
22302 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22303 executable bit.
22304
e4eb2373
RM
223052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22306
22307 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22308 message for coreboot users.
22309
c926e1d5 223102009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22311
22312 Fix build with GNU gold.
22313
22314 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22315 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22316 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22317 link addresses.
22318 * aclocal.m4: Likewise.
22319
86e5b1db 223202009-11-04 Felix Zielcke <fzielcke@z-51.de>
22321
22322 * configure.ac (AC_PREREQ): Bump to 2.59d.
22323 * INSTALL: Make it more clear when Autoconf and Ruby are
22324 needed and when to run `./autogen.sh'.
22325
246cd78f 223262009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22327
22328 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22329 OSes.
22330
4f9dfb37 223312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22332
22333 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22334
b82bd5e1 223352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22336
22337 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22338 giving it to GNU Mach.
22339
ff1a9bca 223402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22341
22342 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22343 GNU partition number to get internal GRUB partition number.
22344
61697d9c 223452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22346
22347 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22348 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22349
a50569e1 223502009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22351
22352 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22353 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22354 case.
22355
5b153867 223562009-11-01 Felix Zielcke <fzielcke@z-51.de>
22357
22358 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22359
d9e2cd70 223602009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22361
22362 Fix build problem.
22363
22364 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22365 `-isystem=$(srcdir)/include'.
22366
805111a4 223672009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22368
22369 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22370 checked (grub-install doesn't currently rely on it).
22371
fa6e945f 223722009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22373
22374 Revert SVN r2660.
22375
22376 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22377 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22378 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22379 * conf/i386-ieee1275.rmk: Likewise.
22380 * conf/i386-pc.rmk: Likewise.
22381 * conf/powerpc-ieee1275.rmk: Likewise.
22382 * conf/sparc64-ieee1275.rmk: Likewise.
22383 * conf/x86_64-efi.rmk: Likewise.
22384
cee15086 223852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22386
22387 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22388
95b9239e 223892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22390
22391 * include/grub/misc.h: Stop checking for APPLE_CC.
22392
2ed19dfd 223932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22394
22395 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22396 doesn't cause an infinite call loop.
22397
fdcdde19 223982009-10-28 Felix Zielcke <fzielcke@z-51.de>
22399
22400 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22401 strings.
22402
cefabfe1 224032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22404
22405 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22406 variable.
22407 * Makefile.in: Likewise.
22408
ed96ab6d 224092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22410
22411 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22412
0579b753 224132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22414
22415 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22416
478df409 224172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22418
22419 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22420
083d1679 224212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22422
22423 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22424 from here ...
22425 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22426
5947ae32 224272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22428
22429 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22430 in $(MAKEINFO) invocation. This makes it clear in output that
22431 errors are being ignored.
22432
94180ff6 224332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22434
22435 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22436 from here ...
22437 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22438 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22439 * conf/i386-ieee1275.rmk: Likewise.
22440 * conf/i386-pc.rmk: Likewise.
22441 * conf/powerpc-ieee1275.rmk: Likewise.
22442 * conf/sparc64-ieee1275.rmk: Likewise.
22443 * conf/x86_64-efi.rmk: Likewise.
22444
9031b03a 224452009-10-26 Colin Watson <cjwatson@ubuntu.com>
22446
22447 * util/grub-editenv.c (main): If only a command is given, use
22448 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22449 (usage): FILENAME is now optional and has a default.
22450
e4f6809b 224512009-10-26 Colin Watson <cjwatson@ubuntu.com>
22452
22453 Improve grub-mkconfig performance when there are several menu
22454 entries on a single filesystem.
22455
22456 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22457 prepare_grub_to_access_device.
22458 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22459 * util/grub.d/30_os-prober.in: Likewise.
22460
67937d4d 224612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22462
22463 * util/grub.d/10_freebsd.in: Remove.
22464 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22465 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22466
ee3756cc 224672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22468
5c35048e 22469 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 22470
4dea1c6f 224712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22472
22473 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22474 grub_util_error() call.
22475
042484d7 224762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22477
22478 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22479 `reserved_first_sector' member.
22480 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22481 `reserved_first_sector' to 1.
22482 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22483 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22484 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22485 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22486 filesystems which begin at first sector.
22487 (options): New option --skip-fs-probe.
22488 (main): Handle --skip-fs-probe and pass it to setup().
22489
d64448a7 224902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22491
22492 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22493 (memset): Fix function prototype.
22494
508d42ec 224952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
224962009-10-25 Vasily Averin <vvs@parallels.com>
22497
22498 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22499 `dirent.direntlen == 0'.
22500
b240e30c 225012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22502
22503 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22504 `cpio'.
22505 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22506
346e7fbe 225072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22508
22509 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22510 `__trampoline_setup' and `__ucmpdi2'.
22511 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22512 that libgcc provides.
22513
cdb308b0 225142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22515
22516 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22517 * include/grub/sparc64/libgcc.h (memset): Likewise.
22518 * include/grub/misc.h (memset, memcmp): New function prototypes.
22519
fb26abc2 225202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22521
22522 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22523 `cpio'.
22524 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22525
f6693890 225262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22527
22528 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22529 * docs/grub.cfg: Compensate for recent change in multiboot
22530 loader (since 2009-08-14 it won't pass filename to payload).
22531 * util/grub.d/10_hurd.in: Likewise.
22532
0933cdc0 225332009-10-21 Felix Zielcke <fzielcke@z-51.de>
22534
22535 * config.guess: Update to latest version from config git
22536 repository.
22537 * config.sub: Likewise.
22538
3b2fe8c2 225392009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22540
22541 Fix build on sparc64.
22542
22543 * configure.ac: Perform checks for libgcc symbols before
22544 adding `-nostdlib' to LDFLAGS.
22545
46695a62 225462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22547
22548 Let user specify OpenBSD root device.
22549
22550 * loader/i386/bsd.c (openbsd_root): New variable.
22551 (openbsd_opts): New option 'root'.
22552 (OPENBSD_ROOT_ARG): New macro.
22553 (grub_openbsd_boot): Use 'openbsd_root'.
22554 (grub_cmd_openbsd): Fill 'openbsd_root'.
22555
d2b6b7fc 225562009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22557
22558 * NEWS: Misc adjustments.
22559
421bd7ac 225602009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22563
f1d29d87 225642009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22565
22566 * configure.ac: Bump version to 1.97.
22567
6f3cd880 225682009-10-16 Colin Watson <cjwatson@ubuntu.com>
22569
22570 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22571 -mno-3dnow on x86 architectures. Some toolchains enable these
22572 features by default, but they rely on registers that aren't enabled
22573 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22574
035f7122 225752009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22576
22577 Make entry text a bit more readable.
22578
22579 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22580
44998e58 225812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22584
cd2851b3 225852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22588 operations.
22589
c6f3b249 225902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22591
22592 * configure.ac: Add missing dollar.
22593
6b5886ba 225942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22595
22596 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22597
22598 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22599 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22600 exports.
22601 * include/grub/sparc64/libgcc.h: Likewise. Use
22602 preprocessor conditionals.
22603
e9d66f6d 226042009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22605
22606 * conf/common.rmk (grub-dumpbios): Remove rule.
22607 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22608 * util/grub-dumpbios.in: Remove file.
22609
9155bc17 226102009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22611
22612 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22613 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22614
22615 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22616 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22617 users.
22618
22619 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22620 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22621 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22622 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22623 users.
22624
bf7f7a18 226252009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22626
22627 * term/tparm.c: Switch to GPLv3.
22628
86564c26 226292009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22630
22631 * include/grub/i386/cpuid.h: Add header protection.
22632
5c936493 226332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22634
22635 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22636
22637 * include/grub/i386/cpuid.h: New file.
22638 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22639 (has_longmode): Rename to ...
22640 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22641 `static' attribute.
22642 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22643 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22644 on a CPU that doesn't implement AMD64 instruction set.
22645
186e7cf2 226462009-10-06 Colin Watson <cjwatson@ubuntu.com>
22647
22648 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22649 that version.texi is rebuilt on version number changes.
22650
83b65c4a 226512009-10-06 Colin Watson <cjwatson@ubuntu.com>
22652
22653 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22654 Fixes bug #27602.
22655
d244281c 226562009-10-06 Colin Watson <cjwatson@ubuntu.com>
22657
22658 * util/i386/pc/grub-install.in: Source
22659 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22660 that the --grub-probe option will work.
22661 * util/sparc64/ieee1275/grub-install.in: Likewise.
22662
da25306d 226632009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22664
22665 * configure.ac: Bump version to 1.97~beta4.
22666
e8ee83c0 226672009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22668
22669 Resync grub-mkdevicemap in x86_64-efi.
22670
22671 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22672 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22673 `util/devicemap.c'.
22674
50dcabcf 226752009-10-01 Colin Watson <cjwatson@ubuntu.com>
22676
22677 * util/grub-editenv.c (create_envblk_file): Write new block with a
22678 .new suffix and then rename it into place, to ensure atomic
22679 creation.
22680
0e51c3a7 226812009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22682
22683 Do not automatically install headers.
22684
22685 * Makefile.in (include_DATA): Remove. Update all users.
22686
31299a95 226872009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22688
22689 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22690 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22691
22692 * util/osdetect.lua: Remove.
22693 * script/lua/lauxlib.c: Likewise.
22694 * script/lua/ldebug.c: Likewise.
22695 * script/lua/grub_main.c: Likewise.
22696 * script/lua/lauxlib.h: Likewise.
22697 * script/lua/ldebug.h: Likewise.
22698 * script/lua/ltablib.c: Likewise.
22699 * script/lua/liolib.c: Likewise.
22700 * script/lua/lstrlib.c: Likewise.
22701 * script/lua/lualib.h: Likewise.
22702 * script/lua/ldo.c: Likewise.
22703 * script/lua/ldump.c: Likewise.
22704 * script/lua/ldo.h: Likewise.
22705 * script/lua/loslib.c: Likewise.
22706 * script/lua/lundump.c: Likewise.
22707 * script/lua/grub_lib.c: Likewise.
22708 * script/lua/ldblib.c: Likewise.
22709 * script/lua/lundump.h: Likewise.
22710 * script/lua/lmem.c: Likewise.
22711 * script/lua/grub_lib.h: Likewise.
22712 * script/lua/lmathlib.c: Likewise.
22713 * script/lua/lstate.c: Likewise.
22714 * script/lua/ltm.c: Likewise.
22715 * script/lua/lvm.c: Likewise.
22716 * script/lua/lmem.h: Likewise.
22717 * script/lua/lstate.h: Likewise.
22718 * script/lua/ltm.h: Likewise.
22719 * script/lua/ltable.c: Likewise.
22720 * script/lua/lvm.h: Likewise.
22721 * script/lua/llex.c: Likewise.
22722 * script/lua/lgc.c: Likewise.
22723 * script/lua/grub_lua.h: Likewise.
22724 * script/lua/loadlib.c: Likewise.
22725 * script/lua/lfunc.c: Likewise.
22726 * script/lua/lopcodes.c: Likewise.
22727 * script/lua/lparser.c: Likewise.
22728 * script/lua/ltable.h: Likewise.
22729 * script/lua/llex.h: Likewise.
22730 * script/lua/lgc.h: Likewise.
22731 * script/lua/lfunc.h: Likewise.
22732 * script/lua/lbaselib.c: Likewise.
22733 * script/lua/lopcodes.h: Likewise.
22734 * script/lua/lparser.h: Likewise.
22735 * script/lua/lzio.c: Likewise.
22736 * script/lua/linit.c: Likewise.
22737 * script/lua/lobject.c: Likewise.
22738 * script/lua/llimits.h: Likewise.
22739 * script/lua/lstring.c: Likewise.
22740 * script/lua/lzio.h: Likewise.
22741 * script/lua/lapi.c: Likewise.
22742 * script/lua/lcode.c: Likewise.
22743 * script/lua/lua.h: Likewise.
22744 * script/lua/lobject.h: Likewise.
22745 * script/lua/lstring.h: Likewise.
22746 * script/lua/lapi.h: Likewise.
22747 * script/lua/lcode.h: Likewise.
22748 * script/lua/luaconf.h: Likewise.
22749
cb8a2c38 227502009-09-26 Colin Watson <cjwatson@ubuntu.com>
22751
22752 * docs/grub.texi (Command-line and menu entry commands): Document
22753 date and echo commands.
22754
6b9b6276 227552009-09-24 Pavel Roskin <proski@gnu.org>
22756
22757 * include/grub/kernel.h (struct grub_module_header): Remove
22758 `grub_module_header_types'. Make `type' unsigned. Make `size'
22759 32-bit on all platforms.
22760 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22761 8-bit field. Use grub_host_to_target32() for `size'.
22762 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22763 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22764 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22765
4e5a02a7 227662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22767
22768 Fix "lost keypress" bug in at_keyboard.
22769
22770 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22771 Checks for readyness of input buffer (without flushing it).
22772 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22773 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22774
c6dcedf6 227752009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22776
22777 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22778 size check within GRUB_MACHINE_PCBIOS section.
22779
74c958b1 227802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22781
22782 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22783 return value.
22784 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22785 KEYBOARD_ISREADY check.
22786 (grub_at_keyboard_checkkey): Rename to ...
22787 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22788 Remove gratuitous cast.
22789
ff420223 227902009-09-23 Colin Watson <cjwatson@ubuntu.com>
22791
22792 * configure.ac: Call AC_PROG_MKDIR_P.
22793 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22794 version.texi in $(builddir) rather than $(srcdir).
22795 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22796 to makeinfo's @include search path.
22797
d96875df 227982009-09-23 Felix Zielcke <fzielcke@z-51.de>
22799
22800 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22801
9b3f8365 228022009-09-23 Felix Zielcke <fzielcke@z-51.de>
22803
22804 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22805 for `*.dpkg-new'.
22806
c44c90db 228072009-09-21 Colin Watson <cjwatson@ubuntu.com>
22808
22809 Build info documentation. Some code borrowed from Automake.
22810
22811 * configure.ac: Check for makeinfo.
22812 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22813 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22814 docs/version.texi.
22815 (MOSTLYCLEANFILES): Add vti.tmp.
22816 (docs/version.texi, docs/stamp-vti): Update automatically.
22817 (docs/grub.info): Build info documentation. Use --force and ignore
22818 errors for now.
22819 (all-local): Add $(INFOS).
22820 (install-local): Install info files.
22821 (uninstall): Uninstall info files.
22822 * docs/version.texi: Remove from revision control. This file is
22823 automatically generated on build now.
22824 * gendistlist.sh: Add `*.info'.
22825
e0b37bb5 228262009-09-21 Felix Zielcke <fzielcke@z-51.de>
22827
22828 * kern/term.c: Fix indentation.
22829
5a78865b 228302009-09-21 Felix Zielcke <fzielcke@z-51.de>
22831
22832 * util/hostdisk.c: Fix a comment.
22833
dace7e8a 228342009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22835
22836 Fix regression introduced in r2539.
22837
22838 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22839 to 0xA1.
22840
a83d079b 228412009-09-19 Colin Watson <cjwatson@ubuntu.com>
22842
22843 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 22844 os-prober. Under normal operation, it does not print anything to
22845 stderr; if it does, we need to debug it, and throwing away stderr
22846 makes that excessively difficult.
a83d079b 22847
be94a509 228482009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22849
22850 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22851
63f745e8 228522009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22853
22854 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22855 AC_LANG_PROGRAM from autoconf.
22856 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22857 prototypes (fixes warning).
22858
22859 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22860 `--disable-werror' was used.
22861
bbb2a70f 228622009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22863
22864 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22865 uninitialized `lastaddr'.
22866
77c24f1d 228672009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22868
0f0b8c87 22869 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 22870
07197f23 228712009-09-14 Colin Watson <cjwatson@ubuntu.com>
22872
22873 * commands/test.c (get_fileinfo): Return immediately if
22874 grub_fs_probe fails.
22875
dabf1798 228762009-09-14 José Martínez <xosemp@gmail.com>
22877
22878 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22879
d52109a7 228802009-09-14 Colin Watson <cjwatson@ubuntu.com>
22881
22882 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22883 output.
22884
56532179 228852009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22886
22887 * configure.ac: Remove --enable-grub-pe2elf. Only build
22888 grub-pe2elf when needed by the build system itself.
22889 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22890
8ef070f5 228912009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22892
22893 * configure.ac: Bump version to 1.97~beta3.
22894 * docs/version.texi: Likewise.
22895
61229557 228962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22897
22898 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22899 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22900 from here ...
22901 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22902 (grub_linux_setup_video): ... to here (with some adjustments).
22903
5c9f8d84 229042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22905
22906 Fix memory corruption issue (spotted by Colin Watson).
22907
22908 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22909 causing returned size to be stored in an incorrect memory location.
22910 Fix use of uninitialized value when storing the returned size.
22911
e8f5d6e9 229122009-09-12 Yves Blusseau <blusseau@zetam.org>
22913
22914 Change clean rules to properly remove files
22915
22916 * genmk.rb: add new clean rules
22917 * Makefile.in (clean): add the new targets
22918 (mostlyclean): likewise
22919
cda2a409 229202009-09-11 Colin Watson <cjwatson@ubuntu.com>
22921
22922 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22923 to grub_uint64_t.
22924 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22925 non-resident files.
22926
86695375 229272009-09-11 Colin Watson <cjwatson@ubuntu.com>
22928
22929 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22930 part of bug #27349.
22931
8aa1541a 229322009-09-10 Felix Zielcke <fzielcke@z-51.de>
22933
22934 * util/grub-mkconfig.in: Make the created config mode 400 and
22935 print a warning if it fails.
22936
48d9bb0a 229372009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22938
22939 * util/grub.d/40_custom.in: Ask user to type custom entries below
22940 comment, rather than below 'exec tail' line.
22941
3b0521be 229422009-09-10 Colin Watson <cjwatson@ubuntu.com>
22943
22944 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22945 visible in grub.cfg.
22946
50051d55 229472009-09-10 Colin Watson <cjwatson@ubuntu.com>
22948
22949 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22950 file.
22951
c0d34387 229522009-09-10 Felix Zielcke <fzielcke@z-51.de>
22953
22954 * docs/grub.cfg: Add an example menu entry for memtest86+.
22955
80a608f3 229562009-09-09 Felix Zielcke <fzielcke@z-51.de>
22957
a2094832 22958 * config.guess: Update to latest version from config git.
80a608f3 22959 * config.sub: Likewise.
22960
99423078 229612009-09-08 Colin Watson <cjwatson@ubuntu.com>
22962
22963 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22964 unknown-command case. Fixes bug #27320.
22965
44454e4c 229662009-09-08 Felix Zielcke <fzielcke@z-51.de>
22967
22968 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22969 `help' if the command exists.
22970
e30d87ad 229712009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22972
22973 * INSTALL: Require GCC 4.1.3 or later.
22974
9a86f1ec 229752009-09-06 Yves Blusseau <blusseau@zetam.org>
22976
22977 * Makefile.in (RMKFILES): add i386-qemu.rmk
22978 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22979 $(srcdir)/stamp-h.in
22980
7f26d466 229812009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22982
22983 * util/grub-probe.c (probe): Comment out buggy codepath, which
22984 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22985 should be re-enabled after 1.97.
22986
3a613259 229872009-09-05 Felix Zielcke <fzielcke@z-51.de>
22988
22989 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22990 find searches for.
22991
197f76c7 229922009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22993
22994 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22995 unnecessary calls to grub_error.
22996
70ba68ce 229972009-09-04 Colin Watson <cjwatson@ubuntu.com>
22998
22999 * NEWS: Mention `keystatus' and Unicode fonts.
23000
4ff0d7a4 230012009-09-04 Robert Millan <rmh.grub@aybabtu.com>
23002
23003 * configure.ac: Bump version to 1.97~beta2.
23004 * docs/version.texi: Likewise.
23005
77c55a87 230062009-09-03 Colin Watson <cjwatson@ubuntu.com>
23007
23008 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
23009 containing unwind information in some cases where it previously did
23010 not. Use -fno-dwarf2-cfi-asm if available to restore the old
23011 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
23012 discussion.
23013
f79572cd 230142009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
23015
23016 Embedding loadenv module into grub-emu
23017
23018 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
23019 commands/loadenv.c
23020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
23021 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
23022 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
23023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
23024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
23025 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
23026
93a81088 230272009-09-03 Magnus Granberg <zorry@ume.nu>
23028
23029 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
23030 include -fPIE in the default specs.
23031 * configure.ac: Check if pie_possible is yes and add -fno-PIE
23032 to TARGET_CFLAGS.
23033
160034b2 230342009-09-03 Felix Zielcke <fzielcke@z-51.de>
23035
23036 * INSTALL: Note that GNU Bison 2.3 or later is required.
23037
087c07c4 230382009-09-03 Colin Watson <cjwatson@ubuntu.com>
23039
23040 * kern/i386/pc/startup.S: Fix typo.
23041
cbf978c0 230422009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23043
23044 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
23045 according to GCS.
23046
230472009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 23048
23049 * docs/grub.texi (Naming convention): Describe one-based partition
23050 numbering.
23051 (Device syntax): Likewise.
23052 (File name syntax): Likewise.
23053 (Block list syntax): Likewise.
23054 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
23055 menu.lst.
23056 (File name syntax): Likewise.
23057 (Command-line and menu entry commands): Document acpi, blocklist,
23058 crc, export, insmod, keystatus, ls, set, and unset commands.
23059
f3e8cdfd 230602009-09-02 Colin Watson <cjwatson@ubuntu.com>
23061
23062 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
23063 to avoid implying that only one of --shift, --ctrl, or --alt may be
23064 used.
23065
c0bc232b 230662009-09-02 Colin Watson <cjwatson@ubuntu.com>
23067
23068 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
23069 rather than comparing against S_IFREG, which will almost never work.
23070
aa0f752d 230712009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23072
23073 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
23074 (write_blocklists): Likewise.
23075
ecb3166a 230762009-09-01 Colin Watson <cjwatson@ubuntu.com>
23077
23078 * script/lua/grub_lua.h (fputs): Supply a format string as the first
23079 argument to grub_printf.
23080
c403a125 230812009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 23082
23083 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 23084 non GNU test.
31aba781 23085
b5e7312c 230862009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23087
23088 * kern/file.c (grub_file_read): Spelling fix
23089
fe00f472 230902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23091
23092 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
23093 loading of headers in some cases.
23094
cc55302e 230952009-08-30 Robert Millan <rmh.grub@aybabtu.com>
23096
23097 * configure.ac: Bump version to 1.97~beta1.
23098 * docs/version.texi: Likewise.
23099
5c90cdd2 231002009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 23101
23102 * include/grub/i386/xnu.h: Add license header.
23103 include grub/err.h explicitly.
23104
c90edae4 231052009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23106
23107 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
23108 to `ufs' in the vfs.root.mountfrom kernel parameter.
23109
d8888b5c 231102009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23111
23112 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
23113
23114 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
23115 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
23116
23117 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
23118 `ARRAY_SIZE' macro.
23119
6f07b921 231202009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23121
23122 * kern/file.c (grub_file_read): Check offset.
23123 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23124 * fs/jfs.c (grub_jfs_read_file): Likewise.
23125 * fs/ntfs.c (grub_ntfs_read): Likewise.
23126 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23127 * fs/minix.c (grub_minix_read_file): Correct offset check.
23128 * fs/ufs.c (grub_ufs_read_file): Likewise.
23129
b4f34077 231302009-08-28 Colin Watson <cjwatson@ubuntu.com>
23131
23132 * term/i386/pc/console.c (bios_data_area): Cast
23133 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23134
e7c69859 231352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23136
23137 1-bit optimised blitters.
23138
23139 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23140 prototype.
23141 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23142 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23143 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23144 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23145 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23146 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23147 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23148 function.
23149 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23150 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23151 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23152 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23153 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23154 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23155 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23156 when possible.
23157 * video/video.c (grub_video_get_blit_format): Return
23158 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23159
a57da43f 231602009-08-28 Colin Watson <cjwatson@ubuntu.com>
23161
23162 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23163 the first argument to grub_printf.
23164
4cbe67e5 231652009-08-28 Colin Watson <cjwatson@ubuntu.com>
231662009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23167
23168 Add `getkeystatus' terminal method. Add a new `keystatus' command
23169 to query it.
23170
23171 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23172 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23173 modifier key bitmasks.
23174 (struct grub_term_input): Add `getkeystatus' member.
23175 (grub_getkeystatus): Add prototype.
23176 * kern/term.c (grub_getkeystatus): New function.
23177
23178 * include/grub/i386/pc/memory.h
23179 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23180 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23181 Data Area layout.
23182 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23183 (grub_console_term_input): Set `getkeystatus' member.
23184 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23185 constants.
23186 (grub_usb_keyboard_getreport): Likewise.
23187 (grub_usb_keyboard_checkkey): Likewise.
23188 (grub_usb_keyboard_getkeystatus): New function.
23189 (grub_usb_keyboard_term): Set `getkeystatus' member.
23190
23191 * commands/keystatus.c: New file.
23192 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23193 (keystatus_mod_SOURCES): New variable.
23194 (keystatus_mod_CFLAGS): Likewise.
23195 (keystatus_mod_LDFLAGS): Likewise.
23196 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23197 commands/keystatus.c.
23198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23200 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23202 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 23204
6e2a9085 232052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23206
23207 Split befs.mod and afs.mod into *_be.mod and *.mod
23208
23209 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23210 (grub_fstest_SOURCES): Likewise.
23211 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23212 (afs_be_mod_SOURCES): New variable.
23213 (afs_be_mod_CFLAGS): Likewise.
23214 (afs_be_mod_LDFLAGS): Likewise.
23215 (befs_be_mod_SOURCES): Likewise.
23216 (befs_be_mod_CFLAGS): Likewise.
23217 (befs_be_mod_LDFLAGS): Likewise.
23218 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23219 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23221 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23222 (grub_emu_SOURCES): Likewise.
23223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23226 * fs/afs_be.c: New file.
23227 * fs/befs_be.c: New file.
23228 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23229 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23230 (U16): Replaced with ...
23231 (grub_afs_to_cpu16): ...this. All users updated.
23232 (U32): Replaced with ...
23233 (grub_afs_to_cpu32): ...this. All users updated.
23234 (U64): Replaced with ...
23235 (grub_afs_to_cpu64): ...this. All users updated.
23236 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23237 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 23238 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 23239 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23240 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23241 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23242 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23243 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23244 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23245 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23246 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23247
32a71655 232482009-08-26 Bean <bean123ch@gmail.com>
23249
23250 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23251 64-bit number.
23252 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23253 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23254 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23255
552bf6c5 232562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23257
23258 NetBSD memory map support.
23259
23260 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23261 (grub_netbsd_btinfo_mmap_header): New structure.
23262 (grub_netbsd_btinfo_mmap_entry): Likewise.
23263 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23264
1ae2078c 232652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 Enable bsd.mod on coreboot.
23268
23269 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23270 (bsd_mod_SOURCES): New variable.
23271 (bsd_mod_CFLAGS): Likewise.
23272 (bsd_mod_LDFLAGS): Likewise.
23273 (bsd_mod_ASFLAGS): Likewise.
23274 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23275 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23276
beefc598 232772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23278
23279 Cleanup NetBSD root support.
23280
23281 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23282 grub_bsd_get_device.
23283 Fix typo.
23284
3b76e68b 232852009-08-25 Felix Zielcke <fzielcke@z-51.de>
23286
23287 * util/grub.d/00_header.in: Move check for the video backend of
23288 gfxterm from here ...
23289 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23290 a suitable video backend.
23291
aea664ea 232922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 Fix breakage in grub-setup.
23295
23296 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23297 "msdos_partition_map".
23298
ff747d50 232992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 Fix breakage in normal/auth.c.
23302
23303 * normal/auth.c (grub_iswordseparator): New function.
23304
e7e1f93f 233052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23306
23307 Authentication support.
23308
23309 * commands/password.c: New file.
23310 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23311 (password_mod_SOURCES): New variable.
23312 (password_mod_CFLAGS): Likewise.
23313 (password_mod_LDFLAGS): Likewise.
23314 (normal_mod_SOURCES): Add normal/auth.c.
23315 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23316 normal/auth.c.
23317 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23319 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23321 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23322 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23323 * include/grub/auth.h: New file.
23324 * include/grub/err.h (grub_err_t): New enum value
23325 GRUB_ERR_ACCESS_DENIED.
23326 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23327 'users'.
23328 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23329 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23330 users updated.
23331 * normal/auth.c: New file.
23332 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23333 (grub_cmdline_run): Don't allow to go to command line without
23334 authentication.
23335 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23336 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23337 menuentry without superuser rights.
23338 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23339 user isn't a superuser.
23340
70f1161d 233412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23342
23343 Save space by inlining misc.c functions.
23344
23345 * kern/misc.c (grub_iswordseparator): Made static.
23346 * kern/misc.c (grub_strcat): Moved from here ...
23347 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23348 * kern/misc.c (grub_strncat): Moved from here ...
23349 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23350 * kern/misc.c (grub_strcasecmp): Moved from here ...
23351 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23352 * kern/misc.c (grub_strncasecmp): Moved from here ...
23353 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23354 * kern/misc.c (grub_isalpha): Moved from here ...
23355 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23356 * kern/misc.c (grub_isdigit): Moved from here ...
23357 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23358 * kern/misc.c (grub_isgraph): Moved from here ...
23359 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23360 * kern/misc.c (grub_tolower): Moved from here ...
23361 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23362
48e40bff 233632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 * script/sh/function.c (grub_script_function_find): Cut error message
23366 not to flood terminal.
23367 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23368 limit.
23369 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23370
c385bfc3 233712009-08-24 Colin Watson <cjwatson@ubuntu.com>
23372
23373 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23374 `report' grub_uint8_t *.
23375 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23376 Use a 50-millisecond timeout rather than just repeating
23377 grub_usb_keyboard_getreport 50 times.
23378 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23379
2d21e3e8 233802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23381
23382 Rename *_partition_map to part_*
23383
23384 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23385 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23386 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23387 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23388 All users updated.
23389 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23390 All users updated.
23391 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23392 * util/grub-probe.c (probe_partmap): Don't transform partition name
23393 to get module name.
23394
dd103c4e 233952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23396
23397 Fix OpenBSD and NetBSD support.
23398
23399 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23400 memory address conflict.
23401 (OPENBSD_MMAP_ACPI): New definition.
23402 (OPENBSD_MMAP_NVS): Likewise.
23403 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23404 and OPENBSD_MMAP_NVS.
23405 Add memory map terminator
23406 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 23407 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 23408
16c84d74 234092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23410
23411 Let user specify NetBSD root device.
23412
23413 * loader/i386/bsd.c (netbsd_root): New variable.
23414 (netbsd_opts): New option 'root'.
23415 (NETBSD_ROOT_ARG): New macro.
23416 (grub_netbsd_boot): Use 'netbsd_root'.
23417 (grub_bsd_unload): Free 'netbsd_root'.
23418 (grub_cmd_netbsd): Fill 'netbsd_root'.
23419
adb29902 234202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23421
23422 Support for 64-bit NetBSD.
23423
23424 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23425 point when booting non-FreeBSD.
23426
f5ae9f74 234272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23428
23429 Support --no-smp and --no-acpi for NetBSD.
23430
23431 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23432 (NETBSD_AB_NOACPI): Likewise.
23433 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23434 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23435
de74f136 234362009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23437
23438 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23439 errors.
23440 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23441 errors. Call grub_error when needed.
23442
e9a925da 234432009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23444
23445 * commands/search.c (search_fs): Try searching without autoload first.
23446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23447 filesystem module explicitly for faster booting.
23448
5174302b 234492009-08-23 Colin Watson <cjwatson@ubuntu.com>
23450
23451 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23452
c8c80635 234532009-08-23 Colin Watson <cjwatson@ubuntu.com>
23454
23455 * util/grub.d/30_os-prober.in: Disable os-prober if
23456 `GRUB_DISABLE_OS_PROBER' was set to true.
23457
71acf5e5 234582009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23459
23460 * partmap/pc.c: Rename to ...
23461 * partmap/msdos.c: ... this. Update all users.
23462 (grub_pc_partition_map): Rename to ...
23463 (grub_msdos_partition_map): ... this. Update all users.
23464
23465 * parttool/pcpart.c: Rename to ...
23466 * parttool/msdospart.c: ... this. Update all users.
23467
23468 * include/grub/pc_partition.h: Rename to ...
23469 * include/grub/msdos_partition.h: ... this. Update all users.
23470 (grub_pc_partition_bsd_entry): Rename to ...
23471 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23472 (grub_pc_partition_disk_label): Rename to ...
23473 (grub_msdos_partition_disk_label): ... this. Update all users.
23474 (grub_pc_partition_entry): Rename to ...
23475 (grub_msdos_partition_entry): ... this. Update all users.
23476 (grub_pc_partition_mbr): Rename to ...
23477 (grub_msdos_partition_mbr): ... this. Update all users.
23478 (grub_pc_partition): Rename to ...
23479 (grub_msdos_partition): ... this. Update all users.
23480 (grub_pc_partition_is_empty): Rename to ...
23481 (grub_msdos_partition_is_empty): ... this. Update all users.
23482 (grub_pc_partition_is_extended): Rename to ...
23483 (grub_msdos_partition_is_extended): ... this. Update all users.
23484 (grub_pc_partition_is_bsd): Rename to ...
23485 (grub_msdos_partition_is_bsd): ... this. Update all users.
23486
23487 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23488 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23489 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23490 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23491 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23492 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23493 (gpt_mod_LDFLAGS): Rename to ...
23494 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23495 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23496 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23497 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23498 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23499 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23500 (part_gpt_mod_LDFLAGS): ... this.
23501 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23502 `pcpart.mod' to `msdospart.mod'.
23503 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23504 to ...
23505 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23506 (msdospart_mod_LDFLAGS): ... this.
23507
c11fded5 235082009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23509
23510 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23511 (openbsd_opts): Likewise.
23512 (netbsd_opts): Likewise.
23513 (freebsd_flags): Added 0 terminator.
23514 (openbsd_flags): Likewise.
23515 (netbsd_flags): Likewise.
23516 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23517 (grub_cmd_freebsd): Transformed into extended command.
23518 (grub_cmd_openbsd): Likewise.
23519 (grub_cmd_netbsd): Likewise.
23520 (cmd_freebsd): Changed type to grub_extcmd_t.
23521 (cmd_openbsd): Likewise.
23522 (cmd_netbsd): Likewise.
23523 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23524 grub_cmd_openbsd as extended commands.
23525 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23526 cmd_netbsd and cmd_openbsd
23527
11d1c769 235282009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23529
23530 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23531
7a9094e5 235322009-08-21 Pavel Roskin <proski@gnu.org>
23533
5496c37e 23534 * Makefile.in (install-local): When checking if a file is in the
23535 build directory, use "test -e" to detect symlinks.
23536
7a9094e5 23537 * Makefile.in (install-local): Remove all files in
23538 $(DESTDIR)$(pkglibdir) before installing new files there.
23539
e53cea11 235402009-08-18 Felix Zielcke <fzielcke@z-51.de>
23541
23542 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23543 grub-mkelfimage.
23544
9aced544 235452009-08-18 Felix Zielcke <fzielcke@z-51.de>
23546
23547 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23548 explicitly specified by the user.
23549
b7da6bab 235502009-08-18 Pavel Roskin <proski@gnu.org>
23551
23552 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23553 grub_uint8_t pointer for data.
23554 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23555 Likewise.
23556 * video/fb/fbutil.c: Remove unnecessary casts.
23557
19f1b335 235582009-08-17 Michal Suchanek <hramrach@centrum.cz>
23559
23560 VBE cleanup.
23561
23562 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23563 (grub_vbe_set_video_mode): Save active mode info
23564 only after setting the mode.
23565 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23566 second argument.
23567
2f467aa9 235682009-08-17 Michal Suchanek <hramrach@centrum.cz>
23569
23570 Rename variables for clarity.
23571
23572 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23573 (active_vbe_mode_info): ... this. All users updated.
23574 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23575 All users updated.
23576 (initial_mode): Rename to ...
23577 (initial_vbe_mode): ... this. All users updated.
23578 (mode_in_use): Rename to ..
23579 (vbe_mode_in_use): ... this. All users updated.
23580 (mode_list): Rename to ..
23581 (vbe_mode_list): ... this. All users updated.
23582 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23583 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23584 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23585 'mode_list_size' to 'vbe_mode_list_size'.
23586 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23587 'best_mode_info' to 'best_vbe_mode_info' and
23588 'best_mode' to 'best_vbe_mode'
23589
6025fcd7 235902009-08-17 Michal Suchanek <hramrach@centrum.cz>
23591
23592 Remove duplicate grub_video_fb_get_video_ptr.
23593
23594 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23595 (grub_video_fb_get_video_ptr): ... this.
23596 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23597 * video/fb/fbutil.c: Add comment about addressing.
23598 (get_data_ptr): Rename to ...
23599 (grub_video_fb_get_video_ptr): ... this. All users updated.
23600 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23601
cc8c6faf 236022009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23603
23604 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23605 grub_dprintf() that was just added.
23606
08aa61f0 236072009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23608
23609 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23610 (DEFAULT_VIDEO_MODE): Remove macros.
23611 (grub_linux_boot): Remove assumption that Linux has FB support,
23612 and use "text" as default video mode.
23613
7cef4f75 236142009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23615
23616 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23617 grub_dprintf.
23618 * fs/fat.c (grub_fat_read_data): Likewise.
23619
e1f39873 236202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23623 payload.
23624 (grub_module): Likewise.
23625
c166d79e 236262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23627
23628 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23629 mbi->cmdline but free playground.
23630
c60cee8e 236312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23632
23633 Handle group offset on UFS1.
23634
23635 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23636 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23637
c0d8b5d4 236382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 Split ufs.mod into ufs1.mod and ufs2.mod.
23641
23642 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23643 (grub_fstest_SOURCES): Likewise.
23644 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23645 (ufs_mod_SOURCES): Remove.
23646 (ufs_mod_CFLAGS): Likewise.
23647 (ufs_mod_LDFLAGS): Likewise.
23648 (ufs1_mod_SOURCES): New variable.
23649 (ufs1_mod_CFLAGS): Likewise.
23650 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 23651 (ufs2_mod_SOURCES): New variable.
23652 (ufs2_mod_CFLAGS): Likewise.
23653 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 23654 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23655 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23656 Likewise.
23657 (grub_emu_SOURCES): Likewise.
23658 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23659 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23660 (grub_setup_SOURCES): Likewise.
23661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23662 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23663 (grub_setup_SOURCES): Likewise.
23664 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23665 Likewise.
23666 * fs/ufs2.c: New file.
23667 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23668
d3539132 236692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 Framebuffer split.
23672
23673 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23674 subsystem at the end.
23675 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23676 (video_fb_mod_SOURCES): New variable.
23677 (video_fb_mod_CFLAGS): Likewise.
23678 (video_fb_mod_LDFLAGS): Likewise.
23679 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23680 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23681 * video/i386/pc/vbeblit.c: Moved from here ...
23682 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23683 * video/i386/pc/vbefill.c: Moved from here ...
23684 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23685 * video/i386/pc/vbeutil.c: Moved from here ...
23686 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23687 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23688 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23689 * include/grub/i386/pc/vbefill.h: Moved from here ...
23690 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23691 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23692 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23693 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23694 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23695 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23696 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23697 (grub_video_adapter): Added 'get_info_and_fini'.
23698 (grub_video_get_info_and_fini): New prototype.
23699 (grub_video_set_mode): make modestring const char *.
23700 * loader/i386/linux.c (grub_linux_setup_video): Use
23701 grub_video_get_info_and_fini.
23702 (grub_linux_boot): Move modesetting just before booting.
23703 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23704 grub_video_get_info_and_fini.
23705 * video/i386/pc/vbe.c: Moved framebuffer part ...
23706 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23707 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23708 grub_video_fbstd_colors and grub_video_fb_set_palette.
23709 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23710 grub_video_fb_init.
23711 (grub_video_vbe_fini): Use grub_video_fb_fini.
23712 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23713 render_target and use grub_video_fb_set_active_render_target and
23714 grub_video_fb_set_palette.
23715 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23716 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23717 (grub_video_vbe_adapter): Use framebuffer.
23718 * video/video.c (grub_video_get_info_and_fini): New function.
23719 (grub_video_set_mode): Make modestring const char *.
23720 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23721 values are already initialised.
23722
d404ee56 237232009-08-14 Pavel Roskin <proski@gnu.org>
23724
23725 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23726 ABS and APPLE_CC.
23727 * boot/i386/pc/diskboot.S: Likewise.
23728 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23729 sectors allow compilation on MacOSX.
23730 * conf/i386-pc.rmk: Enable unconditional compilation of
23731 lnxboot.img.
23732
9a10df16 237332009-08-13 Colin Watson <cjwatson@ubuntu.com>
23734
23735 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23736 * util/grub.d/00_header.in: Enter interruptible sleep if
23737 GRUB_HIDDEN_TIMEOUT is set.
23738
be3c9ca7 237392009-08-13 Yves Blusseau <blusseau@zetam.org>
23740
23741 * include/grub/symbol.h: Add the LOCAL macro.
23742 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23743 starting with "L_".
23744
1f9e557e 237452009-08-13 Pavel Roskin <proski@gnu.org>
23746
9ca62843 23747 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23748 any modern compilers we support.
23749
1f9e557e 23750 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23751 Use local labels starting with "L_" so that Apple assembler
23752 knows they are local.
23753
81623db6 237542009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23755
23756 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23757 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23758 (bsd_kernel_types): ... this enum.
23759
23760 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23761 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23762 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23763
23764 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23765 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23766 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23767 messages.
23768
f5d35e7a 237692009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23770
23771 * util/grub-dumpdevtree: Moved from here ...
23772 * util/i386/efi/grub-dumpdevtree: ... to here.
23773 (hexify): New function. Converts a string to its hex version.
23774 Generate hex versions of "efi" and "device-properties" by calling
23775 hexify() on the ASCII strings rather than by hardcoding numbers.
23776
d1e1d527 237772009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23778
23779 * fs/jfs.c: Update copyright year.
23780
1ebbe064 237812009-08-08 Felix Zielcke <fzielcke@z-51.de>
23782
23783 * util/grub.d/00_header.in: Fix a comment.
23784 * util/grub.d/10_linux.in: Likewise.
23785 * util/grub.d/10_windows.in: Likewise.
23786 * util/grub.d/10_hurd.in: Likewise.
23787
a78c8d24 237882009-08-08 Felix Zielcke <fzielcke@z-51.de>
23789
23790 * util/grub-mkconfig.in: Allow the user to specify the used font
23791 with GRUB_FONT.
23792
29a6b9e8 237932009-08-08 Pavel Roskin <proski@gnu.org>
23794
b5f16cc4 23795 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23796 available, xfs.mod needs it now.
23797
2f5cb827 23798 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23799 the "g" modifier in sed when the intention is to strip something
23800 once. This fixes comparison of kernels with multiple dashes.
23801
29a6b9e8 23802 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23803 on it. Add missing space before closing bracket. Fix
23804 misleading formatting.
23805
892a3d98 238062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23807
23808 * docs/grub.texi: Major overhaul. Remove all sections that are
23809 specific to GRUB Legacy, or mostly composed of Legacy-specific
23810 information.
23811
ed94253f 238122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23813
23814 * docs/version.texi: New file. Provides version information for
23815 grub.texi.
23816
126d6628 238172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23818
23819 * docs/grub.texi: Update CVS information to SVN.
23820 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23821
998b5aa9 238222009-08-07 Felix Zielcke <fzielcke@z-51.de>
23823
23824 * util/grub-mkconfig.in: Remove a wrong `fi'.
23825
818e094a 238262009-08-07 Felix Zielcke <fzielcke@z-51.de>
23827
23828 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23829 (grub_jfs_uuid): New function.
23830 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23831
b969c52f 238322009-08-07 Felix Zielcke <fzielcke@z-51.de>
23833
23834 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23835 of it to ...
23836 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23837 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23838
7a4894cc 238392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23840
23841 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23842 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23843 Update all users.
23844
23845 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23846 not just "vmlinu[zx]".
23847 Moved from here ...
23848 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23849 all users.
23850
23851 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23852 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23853 all users.
23854
4e2171f8 238552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23856
23857 * util/grub.d/10_freebsd.in: Use an absolute device path for
23858 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23859
6dcfcb32 238602009-08-06 Felix Zielcke <fzielcke@z-51.de>
23861
23862 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23863 handling of multiple abstraction modules.
23864
f56a8756 238652009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23866
23867 Fix a bug resulting in black screen when loading Linux using a
23868 packed video mode.
23869
23870 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23871 function.
23872
23873 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23874 (grub_vbe_bios_getset_dac_palette_width): New function.
23875 (grub_vbe_bios_get_dac_palette_width)
23876 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23877 grub_vbe_bios_getset_dac_palette_width()).
23878
23879 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23880 check for return status.
23881 (grub_vbe_get_video_mode_info): When getting information for a packed
23882 mode (<= 8 bpp), obtain DAC palette width using
23883 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23884 {red,green,blue}_mark_size.
23885
222671b2 238862009-08-04 Felix Zielcke <fzielcke@z-51.de>
23887
ecb1a6d9 23888 * commands/search.c (options): Fix help output to match actual code.
222671b2 23889
f84114f5 238902009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23891
23892 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23893 of homegrown code.
23894
bd288a20 238952009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 23896
23897 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23898 on XFS or ReiserFS.
23899
8aab5e25 239002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23901
23902 Support Apple partition map with sector size different from 512 bytes.
23903
23904 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23905 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23906 and 'apart.partmap_size'.
23907
6ad6258a 239082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
239092009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23910
23911 Fix cpuid command.
23912
23913 * commands/i386/cpuid.c (options): New variable.
23914 (grub_cmd_cpuid): Return real error.
23915 (GRUB_MOD_INIT(cpuid)): Declare options.
23916
67459bc6 239172009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23918
23919 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23920 valid.
23921
fbc6ab54 239222009-07-31 Bean <bean123ch@gmail.com>
23923
23924 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23925 log2_inode.
23926 (grub_fshelp_node): Move inode field to the end.
23927 (grub_xfs_data): Remove inode field.
23928 (grub_xfs_inode_block): Calculate inode size using sblock.
23929 (grub_xfs_inode_offset): Likewise.
23930 (grub_xfs_read_inode): Calculate inode size using sblock.
23931 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23932 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23933 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23934 to match inode size.
23935 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23936 not accessible when data is null.
23937 (grub_xfs_open): Likewise.
23938
f45d6cfc 239392009-07-31 Bean <bean123ch@gmail.com>
23940
23941 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23942 Don't change pv->disk if it's already set.
23943
23944 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23945 (grub_raid_register): ... here.
23946 (grub_raid_rescan): Removed.
23947
23948 * include/grub/raid.h (grub_raid_rescan): Removed.
23949
23950 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23951 (fstest): Replace grub_raid_rescan with module fini function followed
23952 by init function.
23953
23954 * util/grub-probe.c: Add include file <grub/raid.h>.
23955 (probe_raid_level): New function.
23956 (probe): Detect abstraction by walking the disk device, support two
23957 level of abstraction (LVM on RAID) when detecting partition map.
23958
24443b5a 239592009-07-31 Pavel Roskin <proski@gnu.org>
23960
23961 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23962 to grub_zalloc(), it was erroneous.
23963 Reported by Bean <bean123ch@gmail.com>
23964
a275d9e7 239652009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23966
23967 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 23968 embedding zone, not only the first one.
a275d9e7 23969
56c5a47f 239702009-07-29 Joe Auricchio <jauricchio@gmail.com>
23971
23972 * term/gfxterm.c (clear_char): New function.
23973 (grub_virtual_screen_setup): Use clear_char.
23974 (scroll_up): Likewise.
23975 (grub_virtual_screen_cls): Likewise.
23976
67bb323a 239772009-07-29 Felix Zielcke <fzielcke@z-51.de>
23978
23979 * util/deviceiter.c (get_acceleraid_disk_name): New static
23980 function.
23981 (grub_util_iterate_devices): Handle Accelraid devices.
23982 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23983
388a7c75 239842009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23985
23986 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23987 separator for the suggested gfxpayload string (';' collides with the
23988 parser and needs escaping).
23989
3bb7abcf 239902009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23991
23992 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23993 Clear direction flag before jumping to OS.
23994 (grub_multiboot2_real_boot): Likewise.
23995
2ddd36d7 239962009-07-28 Felix Zielcke <fzielcke@z-51.de>
23997
23998 * util/i386/pc/grub-install: Fix parsing of --disk-module
23999 option.
24000
c521b62b 240012009-07-28 Felix Zielcke <fzielcke@z-51.de>
24002
24003 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
24004 when embedding.
24005
880e0a0c 240062009-07-26 Felix Zielcke <fzielcke@z-51.de>
24007
24008 * util/grub-mkconfig.in (package_version): New variable.
24009 Use it do display the version.
24010
2366e356 240112009-07-25 Felix Zielcke <fzielcke@z-51.de>
24012
24013 * kern/file.c (grub_file_open): Revert to previous check with
24014 grub_errno.
24015
7ad8c80e 240162009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24017
24018 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
24019 from help line. It's out of sync with code.
24020
72b9658b 240212009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24022
24023 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
24024 entries on failed boot.
24025
77435277 240262009-07-25 Felix Zielcke <fzielcke@z-51.de>
24027
24028 * kern/file.c (grub_file_open): Fix an error check.
24029
fcaa8b21 240302009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
24031
35d16c74 24032 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
24033 partition map couldn't be identified.
fcaa8b21 24034
48904cd1 240352009-07-23 Pavel Roskin <proski@gnu.org>
24036
ef3c317f 24037 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
24038 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
24039 case of little endian words becomes just an optimization.
24040 Respect const modifier.
ad8ea1f4 24041 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 24042
48904cd1 24043 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
24044 to avoid loss of upper bits if align is unsigned and shorter
24045 than addr.
24046
260c9a89 240472009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 UUID support for UFS
24050
24051 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
24052 (grub_ufs_uuid): New function.
24053 (grub_ufs_fs): add .uuid
24054
f76ce889 240552009-07-21 Pavel Roskin <proski@gnu.org>
24056
24057 * kern/dl.c (grub_dl_check_header): Make static.
24058
6a6cbcaf 240592009-07-21 Felix Zielcke <fzielcke@z-51.de>
24060
24061 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
24062 add drivemap for Vista. It breaks Windows 7.
24063
cffcddb2 240642009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24065
24066 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
24067 128 bytes
24068
1ef44b80 240692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24070
24071 Add BFS support
24072
24073 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
24074 (grub_fstest_SOURCES): Likewise.
24075 (pkglib_MODULES): Add befs.mod.
24076 (befs_mod_SOURCES): New variable.
24077 (befs_mod_CFLAGS): Likewise.
24078 (befs_mod_LDFLAGS): Likewise.
24079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24080 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24081 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24082 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24083 (grub_setup_SOURCES): Likewise.
24084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24085 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24086 (grub_setup_SOURCES): Likewise.
24087 * fs/befs.c: New file.
24088 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
24089 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
24090 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
24091 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
24092 (B_KEY_INDEX_ALIGN): New declaration.
24093 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
24094 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
24095 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
24096 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
24097 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
24098 (grub_afs_mount) [MODE_BFS]: Likewise.
24099 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
24100 (grub_afs_fs): Use GRUB_AFS_FSNAME
24101 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
24102 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
24103 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
24104 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
24105
4f253044 241062009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
24107
24108 * util/getroot.c (find_root_device): Add support for MacOSX.
24109 * util/hostdisk.c: Likewise.
24110
57a55913 241112009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24112
24113 * font/font.c (find_glyph): Check whether a font is present to avoid
24114 segmentation fault.
75421ca9 24115
241162009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 24117
24118 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24119
e98cd0c2 241202009-07-20 Pavel Roskin <proski@gnu.org>
24121
24122 * configure.ac: Trim excessively wordy excuses.
24123
1d2d169a 241242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24125
24126 Add symlink, mtime and label support to AtheFS.
24127
24128 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24129 (grub_afs_iterate_dir): Handle symlinks.
24130 (grub_afs_open): Use grub_afs_read_symlink.
24131 (grub_afs_dir): Likewise.
24132 Pass mtime.
24133 (grub_afs_label): New function.
24134 (grub_afs_fs): Add grub_afs_label.
24135 (grub_afs_read_symlink): New function.
24136
186f3189 241372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24138
24139 Fix AtheFS support.
24140
24141 * fs/afs.c: Fix comments style.
24142 (grub_afs_blockrun): Declare as packed.
24143 (grub_afs_datastream): Likewise.
24144 (grub_afs_bnode): Likewise.
24145 (grub_afs_btree): Likewise.
24146 (grub_afs_sblock): Likewise.
24147 Declare `name' as char.
24148 (grub_afs_inode): Declare as packed.
24149 Change void *vnode to grub_uint32_t unused.
24150 (grub_afs_iterate_dir): Check that key_size is positive.
24151 (grub_afs_mount): Don't read superblock twice.
75421ca9 24152 (grub_afs_dir): Don't free node in case of error,
186f3189 24153 grub_fshelp_find_file already handles this.
24154 (grub_afs_open): Likewise.
24155
5680109e 241562009-07-19 Pavel Roskin <proski@gnu.org>
24157
24158 * Makefile.in: Remove LIBLZO and enable_lzo.
24159 * conf/i386-pc.rmk: Remove lzo support.
24160 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24161 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24162 support.
24163 * kern/i386/pc/lzo1x.S: Remove.
24164 * kern/i386/pc/startup.S: Remove lzo support.
24165 * util/i386/pc/grub-mkimage.c: Likewise.
24166
ac70fa32 241672009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24168
24169 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24170 * fs/xfs.c (grub_xfs_dir): Likewise.
24171 * fs/afs.c (grub_afs_dir): Likewise.
24172 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24173 (grub_iso9660_open): Likewise.
24174 * fs/jfs.c (grub_jfs_open): Likewise.
24175 * fs/ext2.c (grub_ext2_dir): Likewise.
24176 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24177 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 24178
eab58da2 241792009-07-16 Pavel Roskin <proski@gnu.org>
24180
d2838156 24181 * configure.ac: Never add "-c" to CFLAGS.
24182
55c70904 24183 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24184
43e6200c 24185 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24186 grub_cv_cc_efiemu should be used.
24187
ce7a733d 24188 * configure.ac: Typo fixes.
24189
eab58da2 24190 * kern/mm.c (grub_zalloc): New function.
24191 (grub_debug_zalloc): Likewise.
24192 * include/grub/mm.h: Declare grub_zalloc() and
24193 grub_debug_zalloc().
24194 * util/misc.c (grub_zalloc): New function.
24195 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24196 instead of grub_malloc(), remove unneeded initializations.
24197 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24198 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24199 * commands/parttool.c (grub_cmd_parttool): Likewise.
24200 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24201 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24202 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24203 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24204 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24205 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24206 (grub_cmd_efiemu_pnvram): Likewise.
24207 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24208 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24209 (grub_iso9660_iterate_dir): Likewise.
24210 * fs/jfs.c (grub_jfs_opendir): Likewise.
24211 * fs/ntfs.c (list_file): Likewise.
24212 (grub_ntfs_mount): Likewise.
24213 * kern/disk.c (grub_disk_open): Likewise.
24214 * kern/dl.c (grub_dl_load_core): Likewise.
24215 * kern/elf.c (grub_elf_file): Likewise.
24216 * kern/env.c (grub_env_context_open): Likewise.
24217 (grub_env_set): Likewise.
24218 (grub_env_set_data_slot): Likewise.
24219 * kern/file.c (grub_file_open): Likewise.
24220 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24221 * loader/i386/multiboot.c (grub_module): Likewise.
24222 * loader/xnu.c (grub_xnu_create_key): Likewise.
24223 (grub_xnu_create_value): Likewise.
24224 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24225 (read_config_file): Likewise.
24226 * normal/menu_entry.c (make_screen): Likewise.
24227 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24228 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24229 * script/sh/script.c (grub_script_parse): Likewise.
24230 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24231 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24232 * video/readers/png.c (grub_png_output_byte): Likewise.
24233 (grub_video_reader_png): Likewise.
24234
830afef7 242352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 24236
24237 Enable all targets that can be built by default
24238
830afef7 24239 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 24240 grub-mkfont and grub-fstest if they can be built
24241
ee293aee 242422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24243
24244 Fix hang and segmentation fault in grub-emu-usb
24245
24246 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24247 * util/usb.c (grub_libusb_devices): likewise
24248 (grub_libusb_init): rename to ...
24249 (GRUB_MOD_INIT (libusb)):...this
24250 (grub_libusb_fini): rename to ..
24251 (GRUB_MOD_FINI (libusb)):...this
24252 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24253 * include/grub/disk.h (grub_raid_init): removed, it's useless
24254 (grub_raid_fini): likewise
24255 (grub_lvm_init): likewise
24256 (grub_lvm_fini): likewise
24257 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24258 by grub_init_all
24259
94414221 242602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 Fix libusb
24263
24264 * Makefile.in (LIBUSB): new macro
24265 * genmk.rb (Utility/print_tail): new method
24266 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24267 (top level): call util.print_tail at the end.
24268
59ade63d 242692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24270
24271 Make FreeBSD accept zpool.cache
24272
24273 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24274 type is /boot/zfs/zpool.cache
24275
a58da8c7 242762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24277
24278 Fix 64-bit efiemu
24279
24280 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24281 correct wrong typedef
24282 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24283
20591577 242842009-07-15 Pavel Roskin <proski@gnu.org>
24285
560ca572 24286 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24287 * kern/disk.c (struct grub_disk_cache): Likewise.
24288
e8e8e4fd 24289 * commands/probe.c (options): Typo fix.
24290
fde24e10 24291 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24292 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24293 accordingly.
24294 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24295
379c54c1 24296 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24297 the end of "Error" to make the message more readable.
24298
7bd8f5bf 24299 * boot/i386/pc/boot.S (kernel_segment): Remove.
24300 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24301 for destination.
24302
40b132c5 24303 * boot/i386/pc/boot.S (boot_version): Remove.
24304 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24305 Remove.
24306
20591577 24307 * include/grub/i386/pc/boot.h: Sort all offsets.
24308 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24309 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24310 * boot/i386/pc/boot.S: Assert location of every offset listed in
24311 include/grub/i386/pc/boot.h.
24312
2df32b2c 243132009-07-13 Pavel Roskin <proski@gnu.org>
24314
44b5d879 24315 * include/grub/i386/coreboot/machine.h: Rename
24316 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24317 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24318 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24319
17dc3751 24320 * kern/dl.c: Force native word size to suppress warnings when
24321 compiling grub-emu.
24322
2df32b2c 24323 * kern/device.c (grub_device_iterate): Change struct part_ent to
24324 hold the name, not a pointer to it. Use one grub_malloc() per
24325 partition, not two. Free partition_name if grub_malloc() fails.
24326 Set ents to NULL only before grub_partition_iterate() is called.
24327
75c59f59 243282009-07-11 Bean <bean123ch@gmail.com>
24329
24330 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24331 childname.
24332
0ae1bf88 243332009-07-10 Bean <bean123ch@gmail.com>
243342009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24335
24336 * kern/ieee1275/openfw.c (grub_children_iterate)
24337 (grub_devalias_iterate): Fix size evaluation for property or path
24338 strings, which was broken since r2132.
24339
8279cade 243402009-07-07 Pavel Roskin <proski@gnu.org>
24341
7d8a52d3 24342 * commands/search.c (search_file): Merge into ...
24343 (search_fs): ... this. Accept search type as argument.
24344 (grub_cmd_search): Pass search type to search_fs().
24345
25f9a05a 24346 * include/grub/util/console.h: New file.
24347 * util/console.c: Use it instead of grub/machine/console.h.
24348 * util/grub-emu.c: Likewise.
24349
8279cade 24350 * lib/arg.c (find_long_option): Remove.
24351 (find_long): Add `len' argument, make `s' const char *.
24352 (grub_arg_parse): Parse long options in place, not in a
24353 temporary buffer.
24354
4a11b60f 243552009-07-06 Pavel Roskin <proski@gnu.org>
24356
99f68041 24357 * commands/search.c (search_fs): Fix potential NULL pointer
24358 dereference.
24359
4a11b60f 24360 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24361 function pointer.
24362
e110f4de 243632009-07-06 Daniel Mierswa <impulze@impulze.org>
24364
24365 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24366 comparison.
24367
46eeb6a2 243682009-07-05 Pavel Roskin <proski@gnu.org>
24369
bab74958 24370 * include/grub/i386/linux.h (struct linux_kernel_params):
24371 Restore padding3, it's still needed.
24372
46eeb6a2 24373 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24374 FreeBSD.
24375 * util/osdetect.lua: Likewise.
24376
b4a1dc79 243772009-07-05 Bean <bean123ch@gmail.com>
24378
24379 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24380
24381 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24382 (grub_lua_getenv): Likewise.
24383 (grub_lua_setenv): Likewise.
24384 (save_errno): New function.
24385 (push_result): Likewise.
24386 (grub_lua_enum_device): Likewise.
24387 (grub_lua_enum_file): Likewise.
24388 (grub_lua_file_open): Likewise.
24389 (grub_lua_file_close): Likewise.
24390 (grub_lua_file_seek): Likewise.
24391 (grub_lua_file_read): Likewise.
24392 (grub_lua_file_getline): Likewise.
24393 (grub_lua_file_getsize): Likewise.
24394 (grub_lua_file_getpos): Likewise.
24395 (grub_lua_file_eof): Likewise.
24396 (grub_lua_file_exist): Likewise.
24397 (grub_lua_add_menu): Likewise.
24398
24399 * script/lua/grub_lua.h (isupper): New inline function.
24400 (islower): Likewise.
24401 (ispunct): Likewise.
24402 (isxdigit): Likewise.
24403 (strcspn): Change to normal function.
24404 (strpbkr): New function declaration.
24405 (memchr): Likewise.
24406
24407 * script/lua/grub_main.c (scan_str): New function.
24408 (strcspn): Likewise.
24409 (strpbrk): Likewise.
24410 (memchr): Likewise.
24411
24412 * script/lua/linit.c (lualibs): Enable the string library.
24413
24414 * util/osdetect.lua: New file.
24415
2da92295 244162009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24417
24418 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24419 `capabilities' member.
24420
b2582ec9 244212009-07-02 Pavel Roskin <proski@gnu.org>
24422
24423 * genparttoollist.sh: Add missing newline at the end.
24424
32622956 244252009-07-01 Pavel Roskin <proski@gnu.org>
24426
87a7339e 24427 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24428
d23af54e 24429 * util/hostdisk.c (open_device): Remove `const' from
24430 `sysctl_size', as sysctlbyname() can change it (in this case it
24431 doesn't actually happen).
24432
c94b18a9 24433 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24434 using signed long int constants.
24435
c6cd3ef0 24436 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24437 constant to avoid a warning on FreeBSD.
24438
0df63420 24439 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24440 where it's needed.
24441
999577f1 24442 * Makefile.in: Install include/grub/machine symlink.
24443
6f41557f 24444 * Makefile.in: When installing symlinks, use "cp -fR", which
24445 works on FreeBSD and MacOSX.
24446 From Yves Blusseau <cl7m42e02@sneakemail.com>
24447
c8d22988 24448 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24449 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24450
1b96e952 24451 * util/misc.c: Move grub_reboot() and grub_halt() ...
24452 * util/grub-emu.c: ... here. Make main_env static.
24453 * include/grub/util/misc.h: Remove main_env.
24454
2ef0084d 24455 * kern/mm.c: Use correct format to print size_t.
24456
32622956 24457 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24458 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24459 * kern/powerpc/dl.c: Likewise.
24460 * kern/sparc64/dl.c: Likewise.
24461 * kern/x86_64/dl.c: Likewise.
24462
3f7f0cd0 244632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24464
24465 Fix grub-emu build on sparc64-ieee1275.
24466
75421ca9 24467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 24468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24469
211d06b5 244702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24471
24472 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24473 (grub_reboot, grub_halt): New functions.
24474
24475 * util/i386/pc/misc.c: Delete. Update all users.
24476 * util/sparc64/ieee1275/misc.c: Likewise.
24477 * util/powerpc/ieee1275/misc.c: Likewise.
24478
aaf53e3c 244792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24480
24481 * conf/i386.rmk (setjmp_mod_SOURCES)
24482 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24483 * conf/common.rmk (setjmp_mod_SOURCES)
24484 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24485 to use $(target_cpu).
24486 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24487 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24488 * conf/powerpc-ieee1275.rmk: Likewise.
24489 * conf/sparc64-ieee1275.rmk: Likewise.
24490
24491 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24492 $(target_cpu) for kern/$(target_cpu)/dl.c.
24493 * conf/i386-efi.rmk: Likewise.
24494 * conf/i386-ieee1275.rmk: Likewise.
24495 * conf/x86_64-efi.rmk: Likewise.
24496 * conf/i386-coreboot.rmk: Likewise.
24497 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24498 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24499 kern/$(target_cpu)/cache.S.
24500 * conf/sparc64-ieee1275.rmk: Likewise.
24501
a337130b 245022009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24503
24504 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24505 type to `grub_uint8_t', and adjust `padding9' accordingly.
24506
c6fe4d53 245072009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24508
b09db61d 24509 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24510
c6fe4d53 24511 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24512 assembly in final jump, using register constraints.
24513
b09db61d 24514 (grub_linux_boot): For text mode, initialize `have_vga' using
24515 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24516
24517 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24518 right before the final jump.
24519
24520 Set `video_mode' to 0x3.
24521
24522 Document initialization of `video_page', `video_mode' and
24523 `video_ega_bx'.
24524
28333ad0 245252009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24526
24527 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24528 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 24529 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 24530
02164e1b 245312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24532
24533 Fix build on Debian / sparc.
24534
24535 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24536
18b6c557 245372009-06-28 Pavel Roskin <proski@gnu.org>
24538
85f2aab6 24539 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24540 fix a warning.
24541
18b6c557 24542 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24543
ad760f81 245442009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24545
24546 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24547 `err'.
24548
87a4623b 245492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24550
24551 Revert r2338.
24552
24553 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24554 file can't be opened. grub_file_open() is already supposed to set
75421ca9 24555 grub_errno / grub_errmsg appropriately.
87a4623b 24556 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24557
8231fb77 245582009-06-27 Pavel Roskin <proski@gnu.org>
245592009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24560
24561 * include/grub/dl.h: Include grub/elf.h.
24562 (struct grub_dl): Add symtab field.
24563 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24564 GRUB_MODULES_MACHINE_READONLY.
24565 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24566 of the header for read-only modules.
24567 (grub_dl_unload): Free mod->symtab for read-only modules.
24568 * kern/i386/dl.c: Use mod->symtab.
24569 * kern/powerpc/dl.c: Likewise.
24570 * kern/sparc64/dl.c: Likewise.
24571 * kern/x86_64/dl.c: Likewise.
24572
24573 * conf/i386-qemu.rmk: New file.
24574 * kern/i386/qemu/startup.S: Likewise.
24575 * kern/i386/qemu/mmap.c: Likewise.
24576 * boot/i386/qemu/boot.S: Likewise.
24577 * include/grub/i386/qemu/time.h: Likewise.
24578 * include/grub/i386/qemu/serial.h: Likewise.
24579 * include/grub/i386/qemu/kernel.h: Likewise.
24580 * include/grub/i386/qemu/console.h: Likewise.
24581 * include/grub/i386/qemu/boot.h: Likewise.
24582 * include/grub/i386/qemu/init.h: Likewise.
24583 * include/grub/i386/qemu/machine.h: Likewise.
24584 * include/grub/i386/qemu/loader.h: Likewise.
24585 * include/grub/i386/qemu/memory.h: Likewise.
24586
24587 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24588 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24589 [qemu] (pkglib_IMAGES): Add `boot.img'.
24590 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24591 [qemu] (boot_img_FORMAT): New variables.
24592 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24593 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24594 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24595 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24596 [qemu] (kernel_img_FORMAT): New variables.
24597
24598 * configure.ac: Recognise `i386-qemu'.
24599
24600 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24601 (for no compression).
24602 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24603 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24604 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24605 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24606 ifdefs).
24607
97fe384e 246082009-06-27 Pavel Roskin <proski@gnu.org>
24609
24610 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24611 read.
24612 * efiemu/prepare32.c: Likewise.
24613 * efiemu/prepare64.c: Likewise.
24614
c402ab17 246152009-06-26 Pavel Roskin <proski@gnu.org>
24616
24617 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24618 * include/grub/elf.h: Define symbols without "32" or "64" based
24619 on GRUB_TARGET_WORDSIZE.
24620 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24621 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24622 ELF definitions.
24623 * efiemu/loadcore64.c: Likewise.
24624 * loader/i386/bsd32.c: Likewise.
24625 * loader/i386/bsd64.c: Likewise.
24626 * kern/dl.c: Remove own ELF definitions.
24627 * util/i386/efi/grub-mkimage.c: Likewise.
24628
9bbdfd4d 246292009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24630
24631 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24632 segment 0x0 unconditionally, because the reference generated by
24633 GAS is an absolute address.
24634
a42ce6e9 246352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24636
24637 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24638 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24639
c952cf92 246402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24641
24642 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24643 indexes. Check for -f explicitly.
cc3752ad 24644 (search_file): Improve error message.
24645 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 24646
132a0a59 246472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24648
24649 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24650 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24651
387a140c 246522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24653
24654 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24655 * conf/i386-ieee1275.rmk: Likewise.
24656 * conf/i386-coreboot.rmk: Likewise.
24657
24658 * kern/i386/pc/startup.S (grub_stop): Remove function.
24659 * kern/i386/ieee1275/startup.S: Likewise.
24660 * kern/i386/coreboot/startup.S: Likewise.
24661 * kern/i386/misc.S (grub_stop): New function.
24662
41da9665 246632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24664
24665 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24666 * kern/i386/realmode.S (real_to_prot): ... to here.
24667
bf337234 246682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24669
24670 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24671 with `kernel.img'.
24672 (kernel_elf_SOURCES): Rename to ...
24673 (kernel_img_SOURCES): ... this.
24674 (kernel_elf_HEADERS): Rename to ...
24675 (kernel_img_HEADERS): ... this. Update all users.
24676 (kernel_elf_ASFLAGS): Rename to ...
24677 (kernel_img_ASFLAGS): ... this.
24678 (kernel_elf_CFLAGS): Rename to ...
24679 (kernel_img_CFLAGS): ... this.
24680 (kernel_elf_LDFLAGS): Rename to ...
24681 (kernel_img_LDFLAGS): ... this.
24682 * conf/i386-coreboot.rmk: Likewise.
24683 * conf/powerpc-ieee1275.rmk: Likewise.
24684
24685 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24686 with "kernel.img".
24687
f52196ff 246882009-06-21 Pavel Roskin <proski@gnu.org>
24689
c3cee413 24690 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24691 to match nested functions.
24692 * loader/sparc64/ieee1275/linux.c: Likewise.
24693
f52196ff 24694 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24695
58750afc 246962009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24697
24698 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24699 all i386 platforms.
24700
15355c7d 247012009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24702
24703 Fix asm file handling on ELF, and remove workarounds.
24704
24705 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 24706 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 24707 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24708 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24709
3f3ec72b 247102009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24711
24712 Load BSD ELF modules
24713
24714 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24715 and loader/i386/bsd64.c
24716 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24717 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24718 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24719 (grub_freebsd_load_elfmodule32): New declaration
24720 (grub_freebsd_load_elfmoduleobj64): Likewise
24721 (grub_freebsd_load_elf_meta32): Likewise
24722 (grub_freebsd_load_elf_meta64): Likewise
24723 (grub_freebsd_add_meta): Likewise
24724 (grub_freebsd_add_meta_module): Likewise
24725 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24726 (grub_freebsd_add_meta_module): Likewise and move module-specific
24727 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24728 (grub_cmd_freebsd): Add elf-kernel specific parts
24729 based on grub_freebsd_add_meta_module
24730 (grub_cmd_freebsd_module): Add type parsing moved from
24731 grub_freebsd_add_meta_module
24732 (grub_cmd_freebsd_module_elf): New function
24733 (cmd_freebsd_module_elf): New variable
24734 (GRUB_MOD_INIT): Register freebsd_module_elf
24735 * loader/i386/bsd32.c: New file
24736 * loader/i386/bsd64.c: Likewise
24737 * loader/i386/bsdXX.c: Likewise
24738 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24739 (grub_elf64_load): Likewise
24740 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24741 All users updated
24742 (grub_elf64_load_hook_t): Likewise
24743
0db15301 247442009-06-21 Colin Watson <cjwatson@ubuntu.com>
24745
24746 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24747 variable.
24748 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24749 don't write a menu entry for recovery mode.
24750
546796c1 247512009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24752
24753 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24754 after it's no longer needed.
24755
cd7310d5 247562009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24757
24758 * include/grub/i386/loader.h (grub_linux_prot_size)
24759 (grub_linux_tmp_addr, grub_linux_real_addr)
24760 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24761 GRUB_MACHINE_PCBIOS.
24762 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24763 common grub_util_info() call to ...
24764 (generate_image): ... here.
24765 Fix use of uninitialized memory, comparison of signed with
24766 unsigned integers and memory leak.
24767 Remove bogus module address message.
24768
ab32d3b5 247692009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24770
24771 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24772 grub_raid_register
24773 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24774
024ef597 247752009-06-19 Pavel Roskin <proski@gnu.org>
24776
24777 * configure.ac: Remove stray AC_MSG_CHECKING.
24778
3ac72b51 247792009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24780
24781 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 24782
e14cd814 247832009-06-18 Pavel Roskin <proski@gnu.org>
24784
24785 * conf/common.rmk: Add fs_file.mod.
24786 * disk/fs_file.c: New file.
24787 * include/grub/disk.h (enum grub_disk_dev_id): Add
24788 GRUB_DISK_DEVICE_FILE_ID.
24789
26586d98 247902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 Fix build with Apple's toolchain. Part 2
24793
24794 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24795 a fake start
24796
26de2bcd 247972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24798
24799 Fix build with Apple's toolchain. Part 1
24800
24801 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24802 for long calls
24803 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 24804 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 24805 Apple's toolchain
24806
09b3490b 248072009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 Fix warnings
24810
24811 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24812 (decomp_block): initialize ch
24813 use grub_memcpy instead of memcpy
24814
c22a006a 248152009-06-17 Pavel Roskin <proski@gnu.org>
24816
d3638678 24817 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24818 version, use declarations needed to use vga_text as the startup
24819 console.
24820
c22a006a 24821 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24822 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24823 the kernel.
24824 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24825 and grub_at_keyboard_fini(), it's done on module load and
24826 unload.
24827
05b129e0 248282009-06-17 Felix Zielcke <fzielcke@z-51.de>
24829
24830 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24831 file can't be found.
24832 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24833
cf24ed9e 248342009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24835
24836 Fix newline handling
24837
24838 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 24839 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 24840 (grub_script_yylex): don't segfault on unterminated script
24841 newline terminates command and variable
24842
74aa8e4b 248432009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24844
24845 avoid double grub_adjust_range call. Bug reported by David Simner
24846
24847 * kern/disk.c (grub_disk_write): change to raw disk access before
24848 calling disk_read
24849
1bd265f3 248502009-06-17 Colin Watson <cjwatson@ubuntu.com>
24851
24852 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24853 spaces, for the benefit of help2man.
24854 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24855
a2d08c06 248562009-06-16 Pavel Roskin <proski@gnu.org>
24857
24858 * kern/i386/halt.c: Include grub/machine/init.h.
24859 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24860
b97bcb19 248612009-06-16 Felix Zielcke <fzielcke@z-51.de>
24862
24863 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24864 drivemap menuentry.
24865
0644f96c 248662009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24867
24868 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24869 `echo' command.
24870
3ef17a2e 248712009-06-16 Pavel Roskin <proski@gnu.org>
24872
24873 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24874 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24875 save %dx, we only need %dl and we never change it.
24876 * boot/i386/pc/cdboot.S: Don't set the root drive.
24877 * boot/i386/pc/pxeboot.S: Likewise.
24878 * include/grub/i386/pc/boot.h: Remove
24879 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24880 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24881 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24882 * kern/i386/pc/init.c (make_install_device): Remove references
24883 to grub_root_drive.
24884 * kern/i386/pc/startup.S: Likewise.
24885 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24886
693fe637 248872009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24888
24889 xnu_uuid command
24890
24891 * commands/xnu_uuid.c: new file
24892 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24893 (xnu_uuid_mod_SOURCES): new variable
24894 (xnu_uuid_mod_CFLAGS): likewise
24895 (xnu_uuid_mod_LDFLAGS): likewise
24896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24897 * conf/i386-ieee1275.rmk: likewise
24898 * conf/i386-pc.rmk: likewise
24899 * conf/powerpc-ieee1275.rmk: likewise
24900 * conf/sparc64-ieee1275.rmk: likewise
24901 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24902
c9da87d0 249032009-06-16 Pavel Roskin <proski@gnu.org>
24904
24905 * configure.ac: Avoid '==' in test command, it's not portable.
24906
9c6f4596 249072009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24908
24909 Probe command
24910
24911 * commands/probe.c: new file
24912 * conf/common.rmk (pkglib_MODULES): add probe.mod
24913 (probe_mod_SOURCES): new variable
24914 (probe_mod_CFLAGS): likewise
24915 (probe_mod_LDFLAGS): likewise
24916 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24917 * conf/i386-ieee1275.rmk: likewise
24918 * conf/i386-pc.rmk: likewise
24919 * conf/powerpc-ieee1275.rmk: likewise
24920 * conf/sparc64-ieee1275.rmk: likewise
24921
70b7f9fd 249222009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24923
24924 Fix handling of string like \"hello\" and "a
24925 b"
24926
24927 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24928 (grub_script_yylex): fix parsing of quoting, escaping and newline
24929
71c79a6b 249302009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24931
dd74360c 24932 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 24933 handling
dd74360c 24934
0644f96c 249352009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 24936
24937 * util/grub-mkconfig.in: Fix parsing of --output option.
24938
e40893c3 249392009-06-12 Pavel Roskin <proski@gnu.org>
24940
24941 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24942 genmk.rb don't need to be generated or installed.
24943
3a1acfe2 249442009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24945
24946 * commands/i386/pc/drivemap_int13h.S: add more comments
24947
3a4575d4 249482009-06-11 Pavel Roskin <proski@gnu.org>
24949
0658e928 24950 * Makefile.in (uninstall): Uninstall manuals.
24951
ca0388f0 24952 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24953 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24954 and update-grub_lib in two places.
24955 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24956
e3b27c39 24957 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24958 a compiler warning.
24959
3a4575d4 24960 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24961 `entry_lo' to fix variable shadowing.
24962
af1f4f55 249632009-06-11 Christian Franke <franke@computer.org>
24964
24965 * kern/misc.c (__enable_execute_stack): Add missing return type
24966 to prevent gcc warning.
24967
5225e649 249682009-06-11 Felix Zielcke <fzielcke@z-51.de>
24969
24970 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24971
7d83bd47 249722009-06-11 Pavel Roskin <proski@gnu.org>
24973
c1cb63ba 24974 * Makefile.in: Don't rely on any scripts being executable.
24975 Always use $(SHELL) to run shell scripts.
24976
7d83bd47 24977 * configure.ac: Always define ___main if using -nostdlib. This
24978 fixes tests on Cygwin.
24979
948f48e7 249802009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24981
24982 UDF fix
24983
7d83bd47 24984 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 24985 is in bytes and not in blocks
7d83bd47 24986
8ada9bc1 249872009-06-11 Pavel Roskin <proski@gnu.org>
24988
24989 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24990 warning.
24991
25ad2323 249922009-06-11 Felix Zielcke <fzielcke@z-51.de>
24993
24994 * util/grub.d/30_os-prober.in: Fix a comment. Source
24995 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24996 to set the root device. Place drivemap command in the generated
24997 chain entry.
24998
e65acb0c 249992009-06-11 Pavel Roskin <proski@gnu.org>
25000
25001 * configure.ac: Remove host_m32. Issues with 64-bit utilities
25002 have long been resolved.
25003
f285fe2d 250042009-06-11 Colin Watson <cjwatson@ubuntu.com>
25005
bd47b0b5 25006 * util/grub.d/10_linux.in: Capitalise "Linux".
25007
f285fe2d 25008 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
25009
a0c62e4e 250102009-06-11 Pavel Roskin <proski@gnu.org>
25011
b6783cb2 25012 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
25013 fix a gcc warning and ensure that the function won't ever exit.
25014
dde032e8 25015 * kern/i386/ieee1275/init.c: Add missing prototype for
25016 grub_stop_floppy().
25017
22cd079d 25018 * loader/ieee1275/multiboot2.c [__i386__]: Include
25019 grub/cpu/multiboot.h.
25020
a0c62e4e 25021 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
25022 casts to short - they are not portable and cause warnings. Fix
25023 use of uninitialized values in input_buf. Use ARRAY_SIZE.
25024
63963d17 250252009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
25026
25027 Drivemap fixes
25028
25029 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
25030 new function
25031 (grub_get_root_biosnumber_saved): new variable
25032 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
25033 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 25034 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 25035 %dx after the call if necessary
25036 * conf/common.rmk (pkglib_MODULES): remove boot.mod
25037 (boot_mod_SOURCES): remove
25038 (boot_mod_CFLAGS): remove
25039 (boot_mod_LDFLAGS): remove
25040 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
25041 (boot_mod_SOURCES): new variable
25042 (boot_mod_CFLAGS): likewise
25043 (boot_mod_LDFLAGS): likewise
25044 * conf/i386-efi.rmk: likewise
25045 * conf/i386-ieee1275.rmk: likewise
25046 * conf/i386-pc.rmk: likewise
25047 * conf/powerpc-ieee1275.rmk: likewise
25048 * conf/sparc64-ieee1275.rmk: likewise
25049 * conf/x86_64-efi.rmk: likewise
25050 * include/grub/i386/pc/biosnum.h: new file
25051 * lib/i386/pc/biosnum.c: likewise
25052 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
25053 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
25054 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 25055
33abf7ae 250562009-06-10 Pavel Roskin <proski@gnu.org>
25057
5ac35b35 25058 * io/gzio.c (test_header): Don't reuse one buffer for all data.
25059 Use separate variables. Read only the file size at the end, but
25060 not the checksum that we don't use.
25061
5c5215d5 25062 * kern/file.c (grub_file_read): Use void pointer for the buffer.
25063 Adjust all callers.
25064
27d5fef7 25065 * kern/ieee1275/openfw.c: Remove libc includes.
25066 * kern/ieee1275/cmain.c: Likewise.
25067 * include/grub/ieee1275/ieee1275.h: Likewise.
25068
33abf7ae 25069 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
25070 compiler warnings.
25071
19d50c2b 250722009-06-10 Felix Zielcke <fzielcke@z-51.de>
25073
25074 * Makefile.in: Remove all trailing whitespace.
25075 * conf/i386-pc.rmk: Likewise.
25076 * conf/powerpc-ieee1275.rmk: Likewise.
25077 * conf/sparc64-ieee1275.rmk: Likewise.
25078 * docs/grub.texi: Likewise.
25079 * docs/texinfo.tex: Likewise.
25080 * disk/fs_uuid.c: Likewise.
25081 * disk/lvm.c: Likewise.
25082 * disk/scsi.c: Likewise.
25083 * disk/ata.c: Likewise.
25084 * disk/ieee1275/ofdisk.c: Likewise.
25085 * disk/i386/pc/biosdisk.c: Likewise.
25086 * disk/host.c: Likewise.
25087 * disk/raid.c: Likewise.
25088 * disk/efi/efidisk.c: Likewise.
25089 * disk/usbms.c: Likewise.
25090 * disk/memdisk.c: Likewise.
25091 * disk/loopback.c: Likewise.
25092 * kern/powerpc/dl.c: Likewise.
25093 * kern/device.c: Likewise.
25094 * kern/dl.c: Likewise.
25095 * kern/sparc64/dl.c: Likewise.
25096 * kern/ieee1275/ieee1275.c: Likewise.
25097 * kern/term.c: Likewise.
25098 * kern/fs.c: Likewise.
25099 * kern/i386/dl.c: Likewise.
25100 * kern/i386/pc/startup.S: Likewise.
25101 * kern/i386/pc/init.c: Likewise.
25102 * kern/i386/pc/mmap.c: Likewise.
25103 * kern/i386/pc/lzo1x.S: Likewise.
25104 * kern/i386/ieee1275/init.c: Likewise.
25105 * kern/i386/realmode.S: Likewise.
25106 * kern/i386/tsc.c: Likewise.
25107 * kern/partition.c: Likewise.
25108 * kern/corecmd.c: Likewise.
25109 * kern/file.c: Likewise.
25110 * kern/efi/efi.c: Likewise.
25111 * kern/efi/init.c: Likewise.
25112 * kern/efi/mm.c: Likewise.
25113 * kern/main.c: Likewise.
25114 * kern/err.c: Likewise.
25115 * kern/env.c: Likewise.
25116 * kern/disk.c: Likewise.
25117 * kern/generic/millisleep.c: Likewise.
25118 * kern/generic/rtc_get_time_ms.c: Likewise.
25119 * kern/misc.c: Likewise.
25120 * kern/parser.c: Likewise.
25121 * genmk.rb: Likewise.
25122 * configure.ac: Likewise.
25123 * boot/i386/pc/diskboot.S: Likewise.
25124 * boot/i386/pc/pxeboot.S: Likewise.
25125 * boot/i386/pc/boot.S: Likewise.
25126 * boot/i386/pc/lnxboot.S: Likewise.
25127 * boot/i386/pc/cdboot.S: Likewise.
25128 * parttool/pcpart.c: Likewise.
25129 * video/readers/tga.c: Likewise.
25130 * video/video.c: Likewise.
25131 * video/bitmap.c: Likewise.
25132 * lib/envblk.c: Likewise.
25133 * lib/i386/setjmp.S: Likewise.
25134 * fs/xfs.c: Likewise.
25135 * fs/afs.c: Likewise.
25136 * fs/fat.c: Likewise.
25137 * fs/ntfs.c: Likewise.
25138 * fs/udf.c: Likewise.
25139 * fs/affs.c: Likewise.
25140 * fs/iso9660.c: Likewise.
25141 * fs/hfs.c: Likewise.
25142 * fs/fshelp.c: Likewise.
25143 * fs/ext2.c: Likewise.
25144 * fs/jfs.c: Likewise.
25145 * fs/reiserfs.c: Likewise.
25146 * fs/hfsplus.c: Likewise.
25147 * fs/minix.c: Likewise.
25148 * fs/cpio.c: Likewise.
25149 * fs/sfs.c: Likewise.
25150 * fs/ufs.c: Likewise.
25151 * efiemu/prepare.c: Likewise.
25152 * efiemu/loadcore_common.c: Likewise.
25153 * efiemu/runtime/efiemu.sh: Likewise.
25154 * efiemu/runtime/efiemu.S: Likewise.
25155 * efiemu/runtime/efiemu.c: Likewise.
25156 * efiemu/pnvram.c: Likewise.
25157 * efiemu/main.c: Likewise.
25158 * efiemu/i386/pc/cfgtables.c: Likewise.
25159 * efiemu/i386/loadcore64.c: Likewise.
25160 * efiemu/i386/loadcore32.c: Likewise.
25161 * efiemu/loadcore.c: Likewise.
25162 * efiemu/symbols.c: Likewise.
25163 * efiemu/mm.c: Likewise.
25164 * include/grub/autoefi.h: Likewise.
25165 * include/grub/datetime.h: Likewise.
25166 * include/grub/term.h: Likewise.
25167 * include/grub/hfs.h: Likewise.
25168 * include/grub/lvm.h: Likewise.
25169 * include/grub/i386/tsc.h: Likewise.
25170 * include/grub/i386/linux.h: Likewise.
25171 * include/grub/i386/xnu.h: Likewise.
25172 * include/grub/i386/efiemu.h: Likewise.
25173 * include/grub/i386/pc/biosdisk.h: Likewise.
25174 * include/grub/i386/pc/memory.h: Likewise.
25175 * include/grub/i386/pc/vbe.h: Likewise.
25176 * include/grub/parttool.h: Likewise.
25177 * include/grub/video.h: Likewise.
25178 * include/grub/memory.h: Likewise.
25179 * include/grub/fs.h: Likewise.
25180 * include/grub/partition.h: Likewise.
25181 * include/grub/xnu.h: Likewise.
25182 * include/grub/efi/api.h: Likewise.
25183 * include/grub/efi/pe32.h: Likewise.
25184 * include/grub/efi/memory.h: Likewise.
25185 * include/grub/multiboot.h: Likewise.
25186 * include/grub/usbdesc.h: Likewise.
25187 * include/grub/multiboot2.h: Likewise.
25188 * include/grub/acpi.h: Likewise.
25189 * include/grub/efiemu/efiemu.h: Likewise.
25190 * include/grub/disk.h: Likewise.
25191 * include/grub/ieee1275/ieee1275.h: Likewise.
25192 * include/grub/net.h: Likewise.
25193 * include/grub/machoload.h: Likewise.
25194 * include/grub/macho.h: Likewise.
25195 * include/multiboot.h: Likewise.
25196 * genmoddep.awk: Likewise.
25197 * normal/main.c: Likewise.
25198 * normal/menu_entry.c: Likewise.
25199 * normal/menu_viewer.c: Likewise.
25200 * normal/completion.c: Likewise.
25201 * normal/cmdline.c: Likewise.
25202 * normal/misc.c: Likewise.
25203 * normal/datetime.c: Likewise.
25204 * bus/usb/usbtrans.c: Likewise.
25205 * bus/usb/ohci.c: Likewise.
25206 * bus/usb/uhci.c: Likewise.
25207 * bus/usb/usb.c: Likewise.
25208 * mmap/efi/mmap.c: Likewise.
25209 * mmap/i386/pc/mmap_helper.S: Likewise.
25210 * mmap/i386/pc/mmap.c: Likewise.
25211 * mmap/i386/mmap.c: Likewise.
25212 * mmap/i386/uppermem.c: Likewise.
25213 * mmap/mmap.c: Likewise.
25214 * commands/acpi.c: Likewise.
25215 * commands/echo.c: Likewise.
25216 * commands/blocklist.c: Likewise.
25217 * commands/loadenv.c: Likewise.
25218 * commands/usbtest.c: Likewise.
25219 * commands/boot.c: Likewise.
25220 * commands/parttool.c: Likewise.
25221 * commands/search.c: Likewise.
25222 * commands/cat.c: Likewise.
25223 * commands/i386/pc/play.c: Likewise.
25224 * commands/i386/pc/drivemap.c: Likewise.
25225 * commands/i386/pc/vbeinfo.c: Likewise.
25226 * commands/i386/pc/acpi.c: Likewise.
25227 * commands/i386/pc/vbetest.c: Likewise.
25228 * commands/ls.c: Likewise.
25229 * commands/cmp.c: Likewise.
25230 * commands/test.c: Likewise.
25231 * commands/efi/acpi.c: Likewise.
25232 * commands/gptsync.c: Likewise.
25233 * commands/help.c: Likewise.
25234 * partmap/amiga.c: Likewise.
25235 * partmap/apple.c: Likewise.
25236 * partmap/acorn.c: Likewise.
25237 * partmap/pc.c: Likewise.
25238 * partmap/sun.c: Likewise.
25239 * partmap/gpt.c: Likewise.
25240 * script/sh/lexer.c: Likewise.
25241 * script/sh/function.c: Likewise.
25242 * font/font.c: Likewise.
25243 * font/font_cmd.c: Likewise.
25244 * loader/powerpc/ieee1275/linux.c: Likewise.
25245 * loader/efi/chainloader.c: Likewise.
25246 * loader/multiboot_loader.c: Likewise.
25247 * loader/macho.c: Likewise.
25248 * loader/i386/multiboot.c: Likewise.
25249 * loader/i386/linux.c: Likewise.
25250 * loader/i386/pc/linux.c: Likewise.
25251 * loader/i386/pc/multiboot2.c: Likewise.
25252 * loader/i386/pc/chainloader.c: Likewise.
25253 * loader/i386/pc/xnu.c: Likewise.
25254 * loader/i386/bsd_trampoline.S: Likewise.
25255 * loader/i386/efi/linux.c: Likewise.
25256 * loader/i386/multiboot_elfxx.c: Likewise.
25257 * loader/i386/bsd_helper.S: Likewise.
25258 * loader/i386/bsd.c: Likewise.
25259 * loader/i386/linux_trampoline.S: Likewise.
25260 * loader/i386/xnu_helper.S: Likewise.
25261 * loader/i386/xnu.c: Likewise.
25262 * loader/i386/bsd_pagetable.c: Likewise.
25263 * loader/i386/multiboot_helper.S: Likewise.
25264 * loader/xnu.c: Likewise.
25265 * loader/xnu_resume.c: Likewise.
25266 * io/gzio.c: Likewise.
25267 * term/efi/console.c: Likewise.
25268 * term/terminfo.c: Likewise.
25269 * term/ieee1275/ofconsole.c: Likewise.
25270 * term/i386/pc/serial.c: Likewise.
25271 * term/i386/pc/vesafb.c: Likewise.
25272 * term/i386/pc/vga.c: Likewise.
25273 * term/usb_keyboard.c: Likewise.
25274 * term/gfxterm.c: Likewise.
25275 * aclocal.m4: Likewise.
25276 * util/lvm.c: Likewise.
25277 * util/grub.d/30_os-prober.in: Likewise.
25278 * util/grub.d/10_hurd.in: Likewise.
25279 * util/console.c: Likewise.
25280 * util/grub-macho2img.c: Likewise.
25281 * util/grub-probe.c: Likewise.
25282 * util/hostfs.c: Likewise.
25283 * util/i386/pc/grub-mkimage.c: Likewise.
25284 * util/i386/pc/grub-setup.c: Likewise.
25285 * util/i386/efi/grub-mkimage.c: Likewise.
25286 * util/grub-mkconfig.in: Likewise.
25287 * util/raid.c: Likewise.
25288 * util/resolve.c: Likewise.
25289 * util/grub-mkdevicemap.c: Likewise.
25290 * util/grub-emu.c: Likewise.
25291 * util/getroot.c: Likewise.
25292 * util/hostdisk.c: Likewise.
25293 * util/usb.c: Likewise.
25294 * util/grub-editenv.c: Likewise.
25295 * util/misc.c: Likewise.
25296
d2d49665 252972009-06-10 Felix Zielcke <fzielcke@z-51.de>
25298
25299 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25300 `genparttoollist.sh'.
25301 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25302 Add `*.sh' to the list find searches for and change `mdate.sh'
25303 to `mdate-sh'.
25304
fe052e37 253052009-06-10 Pavel Roskin <proski@gnu.org>
25306
2763ac18 25307 * include/grub/multiboot2.h: Provide compatibility defines for
25308 multiboot2.h.
25309 * include/multiboot2.h: Include stdint.h only if needed, using
25310 angle brackets.
25311 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25312 grub/multiboot2.h.
25313 * loader/ieee1275/multiboot2.c: Likewise.
25314 * loader/multiboot2.c: Likewise.
25315 * loader/multiboot_loader.c: Likewise.
25316
437e6adc 25317 * configure.ac: Use -nostdlib when probing for the target. It
25318 should not be required to have libc for the target.
25319
06a6836c 25320 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25321 they fail without libc headers for the target.
25322 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25323 exports.
25324 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25325 preprocessor conditionals.
25326
fe052e37 25327 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25328 build system doesn't need to be aware of the tar.c internals.
25329
afd22553 253302009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 25331
afd22553 25332 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 25333
6b787c4f 253342009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25335
25336 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25337 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25338
253392009-06-09 Felix Zielcke <fzielcke@z-51.de>
25340
25341 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 25342 aren't available if ata.mod gets used.
6b787c4f 25343
473d1e45 253442009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 25345
473d1e45 25346 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 25347 initialising controller.
473d1e45 25348 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 25349
255a27d4 253502009-06-08 Felix Zielcke <fzielcke@z-51.de>
25351
25352 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25353 to choose between ata and biosdisk module on i386-pc.
25354
473d1e45 253552009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 25356
d55842d8 25357 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25358 Subclass and Programming Interface fields in terms of the 3 byte
25359 Class Code register.
25360 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25361
fa5db0b1 25362 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25363 interface is OHCI. Add grub_dprintf for symmetry with
25364 bus/usb/uhci.c.
25365 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25366 interface is UHCI. Add interf variable for programming
25367 interface. Print interface with class/subclass.
25368
c0947beb 25369 * bus/usb/ohci.c: Set interf with correct field.
25370
69da8877 25371 * bus/usb/uhci.c: Remove unneeded doubled lines.
25372 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25373 Remove whitespace inside comment.
25374
9e172e30 253752009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25376
25377 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25378 as fallback an equivalent option without depth.
25379
de65ee2b 253802009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 Not fail if unable to retrieve C/H/S on LBA disks
25383
473d1e45 25384 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 25385 if unable to retrieve C/H/S on LBA disks
25386
b57ea2c9 253872009-06-08 Pavel Roskin <proski@gnu.org>
25388
25389 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25390 about aliasing.
25391
af361263 253922009-06-08 Felix Zielcke <fzielcke@z-51.de>
25393
25394 * Makefile.in (uninstall): Remove all $lib_DATA files.
25395
4c9ec6b3 253962009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25397
25398 Bugfix: install on partitionless device
25399
25400 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25401 is a whole disk
25402
e76fc924 254032009-06-08 Felix Zielcke <fzielcke@z-51.de>
25404
25405 * Makefile.in (uninstall): Remove all $include_DATA files.
25406
ba5a0d05 254072009-06-08 Felix Zielcke <fzielcke@z-51.de>
25408
25409 * commands/true.c: New file. Implement the true and false commands.
25410 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25411 (true_mod_SOURCES): New variable.
25412 (true_mod_CFLAGS): Likewise.
25413 (true_mod_LDFLAGS): Likewise.
25414
c8048e32 254152009-06-05 Colin D Bennett <colin@gibibit.com>
25416
25417 Optimized font character lookup using binary search instead of linear
25418 search. Fonts now are required to have the character index ordered by
25419 code point.
25420
25421 * font/font.c (load_font_index): Verify that fonts have ordered
25422 character indices.
25423 (find_glyph): Use binary search instead of linear search to find a
25424 character in a font.
25425
408305be 254262009-06-05 Michael Scherer <misc@mandriva.org>
25427
25428 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25429 uses case sensitive btree.
25430 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25431 only for case insensitive filesystems.
25432
8ee1e0d9 254332009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25436 * conf/common.rmk (search_mod_CFLAGS): likewise
25437
a9966eb1 254382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25439
473d1e45 25440 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 25441 compensate a compiler bug
25442
9e7100fb 254432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25444
473d1e45 25445 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 25446 instead of '\b'
473d1e45 25447
ede21d71 254482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25449
25450 Definitions for creating asm symbols with Apple's CC
25451
25452 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25453 [APPLE_CC] (VARIABLE): likewise
25454
9dbf7653 254552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25456
25457 Disable lnxboot.img when compiled
25458 with Apple's CC
25459
25460 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25461 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25462 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25463 [! APPLE_CC] (CODE_LENG): skip
25464 [! APPLE_CC] (setup_sects): likewise
25465 [! APPLE_CC]: skip filling
473d1e45 25466
e93cdc3d 254672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25468
25469 Address in trampolines based on 32-bit registers when compiled
25470 with Apple's CC
25471
473d1e45 25472 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 25473 for addresses
25474 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25475
6c688477 254762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25479
25480 * kern/misc.c [APPLE_CC] (memcpy): new function
25481 [APPLE_CC] (memmove): likewise
25482 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 25483 (memcpy): define alias conditionally on !APPLE_CC
6c688477 25484 (memset): likewise
25485 (abort): likewise
25486 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25487 APPLE_CC are defined
25488 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25489 (grub_assert_fail): make prototype conditional
25490
e37ffc5c 254912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25492
25493 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25494
473d1e45 25495 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25496 grub-macho2img
e37ffc5c 25497 (CLEANFILES): add grub-macho2img
25498 (grub_macho2img_SOURCES): new variable
25499 * kern/i386/pc/startup.S (bss_start): new variable
25500 (bss_end): likewise
25501 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25502 * util/grub-macho2img.c: new file
25503
cf00df31 255042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25505
25506 Use objconv when compiling with Apple's CC
25507
25508 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25509 (efiemu64.o): likewise
25510 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25511 when compiling with Apple's CC
25512 (efiemu64_s.o): likewise
25513 * configure.ac: check for objconv when compiling with Apple's CC
25514 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 25515
d119a20c 255162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25517
25518 Define segment as well as section when compiling with
25519 Apple's CC
25520
25521 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25522 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25523 (efiemu_convert_pointer): likewise
25524 (efiemu_set_virtual_address_map): likewise
25525 (efiemu_convert_pointer): likewise
25526 (efiemu_getcrc32): likewise
25527 (init_crc32_table): likewise
25528 (reflect): likewise
25529 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25530 (GRUB_MOD_DEP): likewise
473d1e45 25531
c8600122 255322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25533
25534 Allow a compilation without -mcmodel=large
25535
25536 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25537 when compiled without -mcmodel=large
473d1e45 25538 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 25539 without -mcmodel=large
473d1e45 25540 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 25541 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 25542
e8df1d4e 255432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25544
25545 Remove nested functions in efiemu core
25546
25547 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 25548
cc6c3ac1 255492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25550
25551 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25552
25553 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25554 temporary storage
473d1e45 25555 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25556 using Apple's CC
cc6c3ac1 25557 (grub_cpu_is_tsc_supported): likewise
25558 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 25559
3e325901 255602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 Absolute addressing through constant with Apple's cc
25563
25564 * kern/i386/pc/startup.S: Define necessary constants
25565 and address through it when using ABS with Apple's CC
25566 * boot/i386/pc/diskboot.S: likewise
25567 * boot/i386/pc/boot.S: likewise
25568 * boot/i386/pc/lnxboot.S: likewise
25569 * boot/i386/pc/cdboot.S: likewise
25570 * mmap/i386/pc/mmap_helper.S: likewise
25571 * commands/i386/pc/drivemap_int13h.S: likewise
25572
2b167a72 255732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25574
25575 Check if compiler is apple cc
25576
25577 * Makefile.in (ASFLAGS): new variable
25578 (TARGET_ASFLAGS): likewise
25579 (TARGET_MODULE_FORMAT): likewise
25580 (TARGET_APPLE_CC): likewise
25581 (OBJCONV): likewise
25582 (TARGET_IMG_CFLAGS): likewise
25583 (TARGET_CPPFLAGS): add includedir
25584 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25585 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25586 Check for linker script only if compiler isn't Apple's CC
25587 (TARGET_MODULE_FORMAT): set
25588 (TARGET_APPLE_CC): likewise
25589 (TARGET_ASFLAGS): likewise
25590 (ASFLAGS): likewise
25591 Check for objcopy only if compiler isn't Apple's CC
25592 Check for BSS symbol only if compiler isn't Apple's CC
25593 * genmk.rb: adapt nm options if we use Apple's utils
25594 * aclocal.m4 (grub_apple_cc): new test
25595 (grub_apple_target_cc): likewise
473d1e45 25596
fb14123e 255972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25598
25599 Simplify sed expressions and improve awk
25600
25601 * Makefile.in (install-local): simplify sed expression
25602 * gencmdlist.sh: likewise
25603 * genmoddep.awk: avoid adding module as a dependency of itself
25604
5b889789 256052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25606
25607 Add missing start symbols
25608
25609 * boot/i386/pc/boot.S: add start
fb14123e 25610 * boot/i386/pc/pxeboot.S: likewise
473d1e45 25611
fd2bf2e3 256122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25613
25614 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 25615
25616 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 25617 (relocate_addresses): consider both r_addend and value at offset
25618 (make_mods_section): zerofill modinfo and header
25619 (convert_elf): write prefix here
473d1e45 25620
5389763d 256212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25622
25623 Use .asciz instead of .string
25624
25625 * i386/pc/diskboot.S: use .asciz instead of .string
25626 * i386/pc/boot.S: likewise
25627 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25628 (GRUB_MOD_NAME): likewise
473d1e45 25629
3eb5ed4e 256302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25631
25632 gfxpayload support
25633
25634 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25635 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25636 (grub_video_setup): remove
25637 (grub_video_set_mode): new prototype
25638 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25639 (vid_mode): remove
25640 (linux_vesafb_res): compile only on PCBIOS
25641 (grub_linux_boot): support gfxpayload
25642 * loader/i386/pc/xnu.c (video_hook): new function
25643 (grub_xnu_set_video): support gfxpayload
25644 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25645 (DEFAULT_VIDEO_HEIGHT): likewise
25646 (DEFAULT_VIDEO_FLAGS): likewise
25647 (DEFAULT_VIDEO_MODE): new definition
25648 (video_hook): new function
25649 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 25650 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 25651 loading xnu
25652 * video/video.c (grub_video_setup): removed
473d1e45 25653 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 25654 grub_video_setup
25655
4b0e1143 256562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25657
25658 Avoid calling biosdisk in drivemap
25659
25660 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25661 (revparse_biosdisk): likewise
25662 (list_mappings): derive name from id directly
25663 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 25664
fda6cb98 256652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25666
25667 Script fixes
25668
25669 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25670 (grub_lexer_param): add tokenonhold
25671 (grub_script_create_cmdline): remove cmdline. All callers updated
25672 (grub_script_function_create): make functionname
25673 grub_script_arg. All callers updated
25674 (grub_script_execute_argument_to_string): new prototype
25675 * kern/parser.c (state_transitions): reorder
25676 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 25677 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 25678 make global
25679 (grub_script_execute_cmdline): use new format
25680 * script/sh/function.c (grub_script_function_create): make functionname
25681 grub_script_arg. All callers updated
473d1e45 25682 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 25683 (grub_script_yylex): remove
25684 (grub_script_yylex2): renamed to ...
25685 (grub_script_yylex): ...renamed
25686 parse the expressions like a${b}c
25687 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25688 (GRUB_PARSER_TOKEN_VAR): remove
25689 (GRUB_PARSER_TOKEN_NAME): likewise
25690 ("if"): declare as typeless
25691 ("while"): likewise
25692 ("function"): likewise
25693 ("else"): likewise
25694 ("then"): likewise
25695 ("fi"): likewise
25696 (text): remove
25697 (argument): likewise
25698 (script): accept empty scripts and make exit on error
25699 (arguments): use GRUB_PARSER_TOKEN_ARG
25700 (function): likewise
25701 (command): move error handling to script
25702 (menuentry): move grub_script_lexer_ref before
473d1e45 25703 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 25704 argument. All callers updated
25705
f4448a07 257062009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25707
25708 Prevent GRUB from probing floppies during boot.
25709
25710 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25711 * commands/search.c (options): Add --no-floppy.
25712 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25713 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25714 --no-floppy when searching for UUIDs.
25715
2bf5885a 257162009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25717
25718 Simplify the code duplication in commands/search.c.
25719
25720 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25721 (search_fs): ... this. Update all users.
25722
f6fd460a 257232009-06-03 Felix Zielcke <fzielcke@z-51.de>
25724
25725 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25726
cbb3c83e 257272009-05-28 Pavel Roskin <proski@gnu.org>
25728
57788cfd 25729 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25730 Remove the original symlink explicitly.
25731
cbb3c83e 25732 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25733 just one slash. That's how grub_fshelp_find_file() does it.
25734
cd0d5e30 257352009-05-26 Pavel Roskin <proski@gnu.org>
25736
f0f8bbe2 25737 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25738 to `str'.
25739
cd0d5e30 25740 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25741 possibly unused.
25742
8c2cab51 257432009-05-25 Christian Franke <franke@computer.org>
25744
25745 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25746 register.
25747 (grub_atapi_identify): Add wait after drive select.
25748 (grub_ata_identify): Do more strict status register check before
25749 calling grub_atapi_identify (). Suppress error message if status
25750 register is 0x00 after command failure. Add status register
25751 check after PIO read to avoid bogus identify due to stuck DRQ.
25752 Thanks to Pavel Roskin for testing.
25753 (grub_device_initialize): Remove unsafe status register check.
25754 Thanks to 'phcoder' for problem report and patch.
25755 Prevent sign extension in debug message.
25756
230c0ad6 257572009-05-23 Colin D Bennett <colin@gibibit.com>
25758
25759 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25760 definition file, and functions defined in `normal/menu.c' have had
25761 their prototypes moved to `include/grub/menu.h' for consistency.
25762
25763 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25764 from normal.h.
25765 (grub_menu_get_entry): Likewise.
25766 (grub_menu_get_timeout): Likewise.
25767 (grub_menu_set_timeout): Likewise.
25768 (grub_menu_execute_entry): Likewise.
25769 (grub_menu_execute_with_fallback): Likewise.
25770 (grub_menu_entry_run): Likewise.
25771
25772 * include/grub/normal.h: Re-ordered and grouped function
25773 prototypes by file that the function is defined in.
25774 (grub_menu_execute_callback): Removed; moved to menu.h.
25775 (grub_menu_get_entry): Likewise.
25776 (grub_menu_get_timeout): Likewise.
25777 (grub_menu_set_timeout): Likewise.
25778 (grub_menu_execute_entry): Likewise.
25779 (grub_menu_execute_with_fallback): Likewise.
25780 (grub_menu_entry_run): Likewise.
25781 (grub_menu_addentry): Renamed from this ...
25782 (grub_normal_add_menu_entry): ... to this.
25783
25784 * normal/main.c (grub_menu_addentry): Renamed from this ...
25785 (grub_normal_add_menu_entry): ... to this.
25786
25787 * script/sh/execute.c (grub_script_execute_menuentry): Update
25788 reference to renamed grub_menu_addentry function.
25789
861f03a5 257902009-05-23 Felix Zielcke <fzielcke@z-51.de>
25791
25792 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25793
96b1619a 257942009-05-22 Pavel Roskin <proski@gnu.org>
25795
bf6a5fb2 25796 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25797 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25798 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25799 compiling for the i386 targets, but not for the utilities.
25800
96b1619a 25801 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25802 to grub_uint8_t.
25803 (grub_root_drive): Likewise.
25804 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25805 remove alignment.
25806 (grub_root_drive): Change size to byte.
25807 (grub_start_addr): Remove.
25808 (grub_end_addr): Likewise.
25809 (grub_apm_bios_info): Likewise.
25810
b729776b 258112009-05-21 Felix Zielcke <fzielcke@z-51.de>
25812
25813 * normal/i386: Remove.
25814 * normal/powerpc: Likewise.
25815 * normal/sparc64: Likewise.
25816 * normal/x86_64: Likewise.
25817
0a15ce80 258182009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25819
25820 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 25821 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 25822 * loader/i386/xnu_helper.S: Likewise
d6da58e6 25823
33db9015 258242009-05-18 Colin D Bennett <colin@gibibit.com>
25825
d6da58e6 25826 Display error messages when parsing a Lua statement fails.
25827 Previously, executing a syntactically invalid statement like
25828 ")foo" or "bar;" would silently fail.
33db9015 25829
25830 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 25831 (grub_lua_parse_line): Improved reporting of Lua parser and
25832 execution errors.
33db9015 25833
46422c89 258342009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25835
25836 Remove -Werror which causes build to fail on some systems
25837
25838 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25839 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25840 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 25841
22f53a96 258422009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25843
25844 trampoline for linux on 64-bit platform
25845
18f547ad 25846 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25847 loader/i386/efi/linux_trampoline.S
25848 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 25849 declaration
d6da58e6 25850 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25851 here
22f53a96 25852 * loader/i386/linux_trampoline.S: moved here
d6da58e6 25853 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25854 trampoline
22f53a96 25855 (jumpvector): removed
25856 (grub_linux_trampoline_start): new declaration
25857 (grub_linux_trampoline_end): likewise
25858 (grub_linux_boot): use trampoline when on 64-bit platform
25859 * loader/i386/linux.c: likewise
25860
cb5a0f40 258612009-05-16 Pavel Roskin <proski@gnu.org>
25862
25863 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25864 const to avoid a warning.
25865 (grub_lua_setenv): Likewise.
25866 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25867 lmsg to fix a warning.
25868
334f2c28 258692009-05-16 Felix Zielcke <fzielcke@z-51.de>
25870
25871 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 25872 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25873 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25874 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25875 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25876 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25877 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25878 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 25879
59e5d3ec 258802009-05-16 Felix Zielcke <fzielcke@z-51.de>
25881
25882 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25883
9d87a1ba 258842009-05-16 Bean <bean123ch@gmail.com>
25885
25886 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25887 (lua_mod_SOURCES): New variable.
25888 (lua_mod_CFLAGS): Likewise.
25889 (lua_mod_LDFLAGS): Likewise.
25890
25891 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25892 (setjmp_mod_SOURCES): New variable.
25893 (setjmp_mod_CFLAGS): Likewise.
25894 (setjmp_LDFLAGS): Likewise.
25895
25896 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25897 (setjmp_mod_SOURCES): New variable.
25898 (setjmp_mod_CFLAGS): Likewise.
25899 (setjmp_LDFLAGS): Likewise.
25900
25901 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25902 (setjmp_mod_SOURCES): New variable.
25903 (setjmp_mod_CFLAGS): Likewise.
25904 (setjmp_LDFLAGS): Likewise.
25905
25906 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25907 (setjmp_mod_SOURCES): New variable.
25908 (setjmp_mod_CFLAGS): Likewise.
25909 (setjmp_LDFLAGS): Likewise.
25910
25911 * normal/i386/setjmp.S: Moved from here ...
25912 * lib/i386/setjmp.S: ... Moved here
25913 * normal/x86_64/setjmp.S: Moved from here ...
25914 * lib/x86_64/setjmp.S: ... Moved here
25915 * normal/powerpc/setjmp.S: Moved from here ...
25916 * lib/powerpc/setjmp.S: ... Moved here
25917 * normal/sparc64/setjmp.S: Moved from here ...
25918 * lib/sparc64/setjmp.S: ... Moved here
25919
25920 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25921 returns_twice in mingw.
25922
25923 * script/lua/grub_lib.c: New file.
25924 * script/lua/grub_lib.h: Likewise.
25925 * script/lua/grub_lua.h: Likewise.
25926 * script/lua/grub_main.c: Likewise.
25927 * script/lua/lapi.c: Likewise.
25928 * script/lua/lapi.h: Likewise.
25929 * script/lua/lauxlib.c: Likewise.
25930 * script/lua/lauxlib.h: Likewise.
25931 * script/lua/lbaselib.c: Likewise.
25932 * script/lua/lcode.c: Likewise.
25933 * script/lua/lcode.h: Likewise.
25934 * script/lua/ldblib.c: Likewise.
25935 * script/lua/ldebug.c: Likewise.
25936 * script/lua/ldebug.h: Likewise.
25937 * script/lua/ldo.c: Likewise.
25938 * script/lua/ldo.h: Likewise.
25939 * script/lua/ldump.c: Likewise.
25940 * script/lua/lfunc.c: Likewise.
25941 * script/lua/lfunc.h: Likewise.
25942 * script/lua/lgc.c: Likewise.
25943 * script/lua/lgc.h: Likewise.
25944 * script/lua/linit.c: Likewise.
25945 * script/lua/liolib.c: Likewise.
25946 * script/lua/llex.c: Likewise.
25947 * script/lua/llex.h: Likewise.
25948 * script/lua/llimits.h: Likewise.
25949 * script/lua/lmathlib.c: Likewise.
25950 * script/lua/lmem.c: Likewise.
25951 * script/lua/lmem.h: Likewise.
25952 * script/lua/loadlib.c: Likewise.
25953 * script/lua/lobject.c: Likewise.
25954 * script/lua/lobject.h: Likewise.
25955 * script/lua/lopcodes.c: Likewise.
25956 * script/lua/lopcodes.h: Likewise.
25957 * script/lua/loslib.c: Likewise.
25958 * script/lua/lparser.c: Likewise.
25959 * script/lua/lparser.h: Likewise.
25960 * script/lua/lstate.c: Likewise.
25961 * script/lua/lstate.h: Likewise.
25962 * script/lua/lstring.c: Likewise.
25963 * script/lua/lstring.h: Likewise.
25964 * script/lua/lstrlib.c: Likewise.
25965 * script/lua/ltable.c: Likewise.
25966 * script/lua/ltable.h: Likewise.
25967 * script/lua/ltablib.c: Likewise.
25968 * script/lua/ltm.c: Likewise.
25969 * script/lua/ltm.h: Likewise.
25970 * script/lua/lua.h: Likewise.
25971 * script/lua/luaconf.h: Likewise.
25972 * script/lua/lualib.h: Likewise.
25973 * script/lua/lundump.c: Likewise.
25974 * script/lua/lundump.h: Likewise.
25975 * script/lua/lvm.c: Likewise.
25976 * script/lua/lvm.h: Likewise.
25977 * script/lua/lzio.c: Likewise.
25978 * script/lua/lzio.h: Likewise.
25979
5e898c9d 259802009-05-16 Bean <bean123ch@gmail.com>
25981
25982 * include/grub/kernel.h (grub_module_header_types): Add type
25983 OBJ_TYPE_CONFIG.
25984
25985 * kern/main.c (grub_load_config): New function.
25986 (grub_main): Call grub_load_config to read boot config.
25987
25988 * grub-mkimage (generate_image): New parameter config_path.
25989 (options): New option --config.
25990 (main): Parse --config option, and pass it to generate_image.
25991
cf353a47 259922009-05-14 Christian Franke <franke@computer.org>
25993
25994 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25995 This fixes build on Cygwin.
25996
3834887f 259972009-05-14 Pavel Roskin <proski@gnu.org>
25998
25999 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
26000 jump. This saves two bytes, so the typical case of 2 swapped
26001 drives would fit 32 bytes.
26002
8090fc01 260032009-05-13 Pavel Roskin <proski@gnu.org>
26004
ac963883 26005 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
26006 grub_uint32_t to avoid a warning.
26007
8090fc01 26008 * loader/i386/linux.c (allocate_pages): When assigning
26009 real_mode_mem, cast through grub_size_t to fix a warning. The
26010 code already makes sure that the value would fit a pointer.
26011 (grub_linux_setup_video): Cast render_target->data to
26012 grub_size_t to fix a warning.
26013
18f547ad 260142009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 26015
26016 * commands/i386/pc/drivemap.c: New file - implement drivemap
26017 command.
26018 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
26019 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
26020
6f6a8b28 260212009-05-13 Pavel Roskin <proski@gnu.org>
26022
26023 * util/i386/pc/grub-setup.c (setup): Remove unused variable
26024 embedding_area_exists.
26025
15fbf4c4 260262009-05-13 Robert Millan <rmh.grub@aybabtu.com>
26027
26028 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
26029 it easier to understand / work with.
59978c8a 26030 Improve warning messages for cases where there's no embedding area,
26031 or when it is too small (or core.img too large).
15fbf4c4 26032
238e871f 260332009-05-13 Pavel Roskin <proski@gnu.org>
26034
0ab3a9a4 26035 * loader/i386/pc/multiboot2.c: Add necessary includes for
26036 grub_multiboot2_real_boot().
26037
a2c8c5f8 26038 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
26039 PX record is always little-endian. We only need the lower 2
26040 bytes of the mode.
26041
faec96af 26042 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
26043 facilitate code reuse.
26044 (grub_cpio_mount): Use "struct head", not a char buffer. This
26045 fixes a warning reported by gcc 4.4.
26046
238e871f 26047 * kernel/disk.c (grub_disk_read): Use void pointer for the
26048 buffer.
26049 (grub_disk_write): Use const void pointer for the buffer.
26050 Adjust all callers. Remove unnecessary casts.
26051
901d2f0c 260522009-05-10 Robert Millan <rmh.grub@aybabtu.com>
26053
26054 * util/i386/pc/grub-install.in: Update copyright year.
26055
18f547ad 260562009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 26057
26058 gptsync
26059
26060 * commands/gptsync.c: new file
26061 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
26062 (gptsync_mod_SOURCES): new variable
26063 (gptsync_mod_CFLAGS): likewise
26064 (gptsync_mod_LDFLAGS): likewise
18f547ad 26065 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 26066 new definition
26067 (GRUB_PC_PARTITION_TYPE_HFS): likewise
26068 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
26069 * conf/i386-ieee1275.rmk: likewise
26070 * conf/i386-pc.rmk: likewise
26071 * conf/powerpc-ieee1275.rmk: likewise
26072
b4ba690a 260732009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26074
26075 Fixed grub-emu
26076
26077 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
26078 (grub_dl_ref): likewise
26079
317e1a44 260802009-05-08 Robert Millan <rmh.grub@aybabtu.com>
26081
26082 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
26083 split in two functions (one for msdos and one for gpt).
26084
041b8094 260852009-05-08 Pavel Roskin <proski@gnu.org>
26086
752473c2 26087 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
26088 not modified.
26089
041b8094 26090 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
26091 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
26092 Initialize them with -1. Add sanity check for bad1. Eliminate
26093 nerr variable.
26094
172800ce 260952009-05-08 David S. Miller <davem@davemloft.net>
26096
26097 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
26098
29aa5e81 260992009-05-06 Robert Millan <rmh.grub@aybabtu.com>
26100
26101 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 26102 existence.
29aa5e81 26103
96613b62 261042009-05-05 Felix Zielcke <fzielcke@z-51.de>
26105
26106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 26107 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 26108
eef73c8a 261092009-05-05 David S. Miller <davem@davemloft.net>
26110
26111 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
26112
119494b5 261132009-05-05 Pavel Roskin <proski@gnu.org>
26114
26115 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
26116 of grub_dl_ref() and grub_dl_unref().
26117 * commands/parttool.c: Remove preprocessor conditionals around
26118 grub_dl_ref() and grub_dl_unref().
26119 * fs/affs.c: Likewise.
26120 * fs/afs.c: Likewise.
26121 * fs/cpio.c: Likewise.
26122 * fs/ext2.c: Likewise.
26123 * fs/fat.c: Likewise.
26124 * fs/hfs.c: Likewise.
26125 * fs/hfsplus.c: Likewise.
26126 * fs/iso9660.c: Likewise.
26127 * fs/jfs.c: Likewise.
26128 * fs/minix.c: Likewise.
26129 * fs/ntfs.c: Likewise.
26130 * fs/reiserfs.c: Likewise.
26131 * fs/sfs.c: Likewise.
26132 * fs/udf.c: Likewise.
26133 * fs/ufs.c: Likewise.
26134 * fs/xfs.c: Likewise.
26135 * include/grub/dl.h: Likewise.
26136 * loader/xnu.c: Likewise.
26137
de5fd76e 261382009-05-04 Pavel Roskin <proski@gnu.org>
26139
26140 * commands/acpi.c: Remove unused variable my_mod.
26141 * partmap/amiga.c: Likewise.
26142 * partmap/apple.c: Likewise.
26143 * partmap/gpt.c: Likewise.
26144 * partmap/pc.c: Likewise.
26145 * partmap/sun.c: Likewise.
26146 * term/gfxterm.c: Likewise.
26147 * term/i386/pc/vesafb.c: Likewise.
26148 * term/i386/pc/vga.c: Likewise.
26149
983598ad 261502009-05-04 David S. Miller <davem@davemloft.net>
26151
26152 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26153 pointer args to grub_ieee1275_get_property().
26154
8aadec43 26155 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26156
9554b15e 26157 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26158 devices, and do not traverse down under controller nodes.
26159
67e23c90 26160 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26161 (grub_ofdisk_open): Use it to un-escape "," characters.
26162 * kern/disk.c (find_part_sep): New.
26163 (grub_disk_open): Use it to find the first non-escaped ','
26164 character in the disk name.
26165 * util/ieee1275/devicemap.c (escape_of_path): New.
26166 (grub_util_emit_devicemap_entry): Use it.
26167 * util/sparc64/ieee1275/grub-install.in: Update script to
26168 strip partition specifiers properly by not triggering on
26169 '\' escaped ',' characters.
26170
74bfdd2f 261712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26172
26173 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26174 to 0x300.
26175 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26176 resolutions.
26177 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26178 on documentation from Wikipedia).
26179
4241d2b1 261802009-05-04 Pavel Roskin <proski@gnu.org>
26181
26182 * disk/ata.c: Spelling fixes.
26183 * disk/raid.c: Likewise.
26184 * disk/usbms.c: Likewise.
26185 * disk/dmraid_nvidia.c: Likewise.
26186 * kern/ieee1275/openfw.c: Likewise.
26187 * kern/ieee1275/init.c: Likewise.
26188 * kern/ieee1275/cmain.c: Likewise.
26189 * boot/i386/pc/cdboot.S: Likewise.
26190 * video/readers/png.c: Likewise.
26191 * video/i386/pc/vbe.c: Likewise.
26192 * fs/udf.c: Likewise.
26193 * fs/hfs.c: Likewise.
26194 * fs/reiserfs.c: Likewise.
26195 * efiemu/runtime/efiemu.c: Likewise.
26196 * efiemu/main.c: Likewise.
26197 * efiemu/mm.c: Likewise.
26198 * include/grub/elf.h: Likewise.
26199 * include/grub/xnu.h: Likewise.
26200 * include/grub/usbdesc.h: Likewise.
26201 * include/grub/usb.h: Likewise.
26202 * include/grub/script_sh.h: Likewise.
26203 * include/grub/lib/LzmaEnc.h: Likewise.
26204 * include/grub/efiemu/efiemu.h: Likewise.
26205 * include/grub/command.h: Likewise.
26206 * normal/menu.c: Likewise.
26207 * normal/main.c: Likewise.
26208 * normal/datetime.c: Likewise.
26209 * bus/usb/uhci.c: Likewise.
26210 * mmap/i386/uppermem.c: Likewise.
26211 * mmap/mmap.c: Likewise.
26212 * commands/acpi.c: Likewise.
26213 * commands/test.c: Likewise.
26214 * partmap/apple.c: Likewise.
26215 * font/font.c: Likewise.
26216 * loader/sparc64/ieee1275/linux.c: Likewise.
26217 * loader/macho.c: Likewise.
26218 * loader/i386/bsd_trampoline.S: Likewise.
26219 * loader/i386/bsd.c: Likewise.
26220 * loader/xnu.c: Likewise.
26221 * term/i386/pc/vesafb.c: Likewise.
26222 * term/usb_keyboard.c: Likewise.
26223 * util/resolve.c: Likewise.
26224 * util/getroot.c: Likewise.
26225
0cfc0083 262262009-05-04 Felix Zielcke <fzielcke@z-51.de>
26227
26228 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26229
7c1d00cd 262302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26231
26232 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26233 build error.
26234
b01f0548 262352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26236
26237 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26238 parameter only available on BIOS.
26239
ecc3eb22 262402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26241
26242 Removed wrong semicolon in declaration
26243
26244 * grub/misc.h (grub_dprintf): remove semicolon
26245
112972a9 262462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26247
26248 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26249 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26250 is done by grub_cmd_linux() now).
26251 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26252 restore video to text mode.
26253 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26254 indicates lack of "vga=" parameter. "vga=0" is mapped to
26255 `GRUB_LINUX_VID_MODE_NORMAL'.
26256
afd5c115 262572009-05-04 Felix Zielcke <fzielcke@z-51.de>
26258
26259 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26260 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26261 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 26262 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 26263 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26264 `grub_script.tab.c'.
26265
26266 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26267 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26269 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26271
faa517ce 26272 * Makefile.in: Remove duplicated 2008 in Copyright line.
26273
ae0c0bdc 262742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26275
473d1e45 26276 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 26277 unconditionally.
26278 * include/grub/util/misc.h (grub_util_warn): New declaration.
26279
26280 * util/i386/pc/grub-install.in: Understand --force and pass it down
26281 to grub-setup.
26282
26283 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26284 down to setup().
26285 (setup): Improve error messages and add warnings when requested to
26286 install in odd layouts. Refuse to install using blocklists unless
26287 --force was set.
26288
18f547ad 262892009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 26290
26291 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26292
6d260daa 262932009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26294
26295 Updated copyright year
26296
26297 * fs/hfsplus.c: updated copyright year
18f547ad 26298
69f853f8 262992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26300
26301 HFS+ UUID
26302
18f547ad 26303 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 26304 in the space previously used by unused3
26305 (grub_hfsplus_uuid): new function
26306 (grub_hfsplus_fs): added uuid field
26307
4c402e73 263082009-05-03 Pavel Roskin <proski@gnu.org>
26309
26310 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26311 suppress warnings. It's no longer needed.
26312 * disk/host.c: Likewise.
26313 * disk/ata_pthru.c: Likewise.
26314 * disk/loopback.c: Likewise.
26315 * hook/datehook.c: Likewise.
26316 * parttool/pcpart.c: Likewise.
26317 * fs/i386/pc/pxe.c: Likewise.
26318 * fs/ntfscomp.c: Likewise.
26319 * efiemu/main.c: Likewise.
26320 * mmap/mmap.c: Likewise.
26321 * commands/crc.c: Likewise.
26322 * commands/hexdump.c: Likewise.
26323 * commands/hdparm.c: Likewise.
26324 * commands/acpi.c: Likewise.
26325 * commands/echo.c: Likewise.
26326 * commands/minicmd.c: Likewise.
26327 * commands/blocklist.c: Likewise.
26328 * commands/memrw.c: Likewise.
26329 * commands/loadenv.c: Likewise.
26330 * commands/usbtest.c: Likewise.
26331 * commands/lsmmap.c: Likewise.
26332 * commands/boot.c: Likewise.
26333 * commands/parttool.c: Likewise.
26334 * commands/configfile.c: Likewise.
26335 * commands/search.c: Likewise.
26336 * commands/ieee1275/suspend.c: Likewise.
26337 * commands/cat.c: Likewise.
26338 * commands/i386/pc/pxecmd.c: Likewise.
26339 * commands/i386/pc/play.c: Likewise.
26340 * commands/i386/pc/halt.c: Likewise.
26341 * commands/i386/pc/vbeinfo.c: Likewise.
26342 * commands/i386/pc/vbetest.c: Likewise.
26343 * commands/lspci.c: Likewise.
26344 * commands/date.c: Likewise.
26345 * commands/handler.c: Likewise.
26346 * commands/ls.c: Likewise.
26347 * commands/test.c: Likewise.
26348 * commands/cmp.c: Likewise.
26349 * commands/efi/loadbios.c: Likewise.
26350 * commands/efi/fixvideo.c: Likewise.
26351 * commands/halt.c: Likewise.
26352 * commands/help.c: Likewise.
26353 * commands/reboot.c: Likewise.
26354 * hello/hello.c: Likewise.
26355 * script/sh/main.c: Likewise.
26356 * loader/xnu.c: Likewise.
26357 * term/terminfo.c: Likewise.
26358 * term/i386/pc/serial.c: Likewise.
26359 * term/usb_keyboard.c: Likewise.
26360
515b5079 263612009-05-03 David S. Miller <davem@davemloft.net>
26362
26363 * normal/menu.c: Include grub/parser.h
26364
dfc31a22 263652009-05-03 Pavel Roskin <proski@gnu.org>
26366
2fee74f1 26367 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26368 not char*.
26369 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26370 Suggested by Javier Martín <lordhabbit@gmail.com>
26371
dfc31a22 26372 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26373 efiemu??.o doesn't exist.
26374 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26375 copying.
26376
18f547ad 263772009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 26378
26379 FreeBSD 64-bit support
26380
18f547ad 26381 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 26382 and loader/i386/bsd_trampoline.S
26383 (bsd_mod_ASFLAGS): new variable
26384 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26385 (FREEBSD_MODTYPE_KERNEL64): likewise
26386 (grub_bsd64_trampoline_start): likewise
26387 (grub_bsd64_trampoline_end): likewise
26388 (grub_bsd64_trampoline_selfjump): likewise
26389 (grub_bsd64_trampoline_gdt): likewise
26390 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26391 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26392 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26393 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 26394 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 26395 of "attrib" member
26396 * loader/i386/bsd_pagetable.c: new file
26397 * loader/i386/bsd_trampoline.S: likewise
26398 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26399 (ALIGN_VAR): likewise
26400 (entry_hi): new variable
26401 (kern_end_mdofs): likewise
26402 (is_64bit): likewise
26403 (grub_freebsd_add_meta): use ALIGN_VAR
26404 (grub_e820_mmap): new declaration
26405 (grub_freebsd_add_mmap): new function
26406 (grub_freebsd_add_meta_module): support 64 bit kernels
26407 (grub_freebsd_list_modules): use ALIGN_VAR
26408 (gdt_descriptor): new declaration
26409 (grub_freebsd_boot): support 64 bit kernels
26410 (grub_bsd_elf64_hook): new function
26411 (grub_bsd_load_elf): support elf64
26412
038c5720 264132009-05-03 Bean <bean123ch@gmail.com>
26414
26415 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26416 after we get the result of if statement.
26417
fc45fb58 264182009-05-03 Bean <bean123ch@gmail.com>
26419
26420 * Makefile.in (enable_efiemu): New variable.
26421
26422 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26423 set.
26424 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26425 path.
26426 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26427 path, add -mno-red-zone option.
26428 (efiemu64_s.o): Likewise.
26429 (efiemu64.o): Use macro $^ for source file.
26430
26431 * configure.ac (--enable-efiemu): New option.
26432
bbee0f2b 264332009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26434
26435 xnu support
26436
26437 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26438 (pkglib_MODULES): add xnu.mod
26439 (xnu_mod_SOURCES): new variable
26440 (xnu_mod_CFLAGS): likewise
26441 (xnu_mod_LDFLAGS): likewise
26442 (xnu_mod_ASFLAGS): likewise
26443 * conf/i386-pc.rmk: likewise
26444 * conf/x86_64-efi.rmk: likewise
7dd4a573 26445 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 26446 new declaration
26447 * include/grub/i386/macho.h: new file
26448 * include/grub/i386/xnu.h: likewise
26449 * include/grub/macho.h: likewise
26450 * include/grub/machoload.h: likewise
26451 * include/grub/x86_64/macho.h: likewise
26452 * include/grub/x86_64/xnu.h: likewise
26453 * include/grub/xnu.h: likewise
26454 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26455 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26456 * loader/i386/efi/xnu.c: new file
26457 * loader/i386/pc/xnu.c: likewise
26458 * loader/i386/xnu.c: likewise
26459 * loader/i386/xnu_helper.S: likewise
26460 * loader/macho.c: likewise
26461 * loader/xnu.c: likewise
26462 * loader/xnu_resume.c: likewise
26463 * util/grub-dumpdevtree: likewise
26464 * include/grub/i386/pit.h: include grub/err.h
26465 (grub_pit_wait): export
26466 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 26467
5caf964d 264682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26469
26470 Efiemu
7dd4a573 26471
5caf964d 26472 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 26473 _linux_efi, linux_efi.
26474 new files in grub-emu
5caf964d 26475 new targets efiemu32.o and efiemu64.o
26476 * loader/linux_normal_efiemu.c: likewise
26477 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 26478 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 26479 files to copy
26480 * include/grub/autoefi.h: new file
7dd4a573 26481 * include/grub/i386/efiemu.h: likewise
5caf964d 26482 * include/grub/i386/pc/efiemu.h: likewise
26483 * include/grub/efi/api.h: add LL suffix when necessary
26484 new definitions relating to tables
26485 * include/grub/efiemu/efiemu.h: new file
26486 * include/grub/efiemu/runtime.h: likewise
26487 * efiemu/prepare.c: likewise
26488 * efiemu/loadcore_common.c: likewise
26489 * efiemu/loadcore64.c: likewise
26490 * efiemu/runtime/efiemu.sh: likewise
26491 * efiemu/runtime/efiemu.S: likewise
26492 * efiemu/runtime/efiemu.c: likewise
26493 * efiemu/runtime/config.h: likewise
26494 * efiemu/prepare32.c: likewise
26495 * efiemu/main.c: likewise
26496 * efiemu/modules/pnvram.c: likewise
26497 * efiemu/modules/i386: likewise
26498 * efiemu/modules/i386/pc: likewise
26499 * efiemu/modules/acpi.c: likewise
26500 * efiemu/i386/pc/cfgtables.c: likewise
26501 * efiemu/i386/loadcore64.c: likewise
26502 * efiemu/i386/loadcore32.c: likewise
26503 * efiemu/prepare64.c: likewise
26504 * efiemu/loadcore.c: likewise
26505 * efiemu/symbols.c: likewise
26506 * efiemu/mm.c: likewise
26507 * efiemu/loadcore32.c: likewise
7dd4a573 26508
265092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 26510
26511 ACPI spoofing
26512
26513 * commands/acpi.c: new file
26514 * commands/i386/pc/acpi.c: likewise
26515 * commands/efi/acpi.c: likewise
26516 * include/grub/acpi.h: likewise
26517 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26518 (acpi_mod_SOURCES): new variable
26519 (acpi_mod_CFLAGS): likewise
26520 (acpi_mod_LDFLAGS): likewise
26521 * conf/i386-efi.rmk: likewise
26522 * conf/x86_64-efi.rmk: likewise
26523
7dd4a573 265242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 26525
26526 Missing part from mmap patch
26527
26528 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26529 (grub_mmap_unregister)
26530 (grub_mmap_free_and_unregister): use grub_mmap_register
26531
7dd4a573 265322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 26533
26534 Mmap services
26535
26536 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26537 * loader/i386/linux.c (find_mmap_size): likewise
26538 (allocate_pages): likewise
26539 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26540 (grub_fill_multiboot_mmap): likewise
26541 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26542 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26543 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26544 (OPENBSD_MMAP_RESERVED): likewise
26545 * include/grub/i386/pc/memory.h: include grub/memory.h
26546 (grub_lower_mem): removed
26547 (grub_upper_mem): likewise
26548 (GRUB_MACHINE_MEMORY_ACPI): new definition
26549 (GRUB_MACHINE_MEMORY_NVS): likewise
26550 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26551 (GRUB_MACHINE_MEMORY_HOLE): likewise
26552 (grub_machine_mmap_register): likewise
26553 (grub_machine_mmap_unregister): likewise
26554 (grub_machine_get_upper): likewise
26555 (grub_machine_get_lower): likewise
26556 (grub_machine_get_post64): likewise
26557 * include/grub/i386/efi/memory.h: new file
26558 * include/grub/x86_64/efi/memory.h: likewise
26559 * include/grub/efi/memory.h: likewise
26560 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26561 (mmap_mod_SOURCES): new variable
26562 (mmap_mod_LDFLAGS): likewise
26563 (mmap_mod_ASFLAGS): likewise
26564 * conf/i386-coreboot.rmk: likewise
26565 * conf/i386-ieee1275.rmk: likewise
26566 * conf/i386-efi.rmk: likewise
26567 * conf/x86_64-efi.rmk: likewise
26568 * include/grub/types.h (UINT_TO_PTR): new macro
26569 (PTR_TO_UINT32): likewise
26570 (PTR_TO_UINT64): likewise
26571 * include/grub/memory.h: new file
26572 * mmap/i386/pc/mmap.c: likewise
26573 * mmap/i386/pc/mmap_helper.S: likewise
26574 * mmap/i386/uppermem.c: likewise
26575 * mmap/mmap.c: likewise
26576 * mmap/efi/mmap.c: likewise
7dd4a573 26577 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 26578 grub_upper_mem
26579 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26580 (grub_upper_mem): likewise
26581 (grub_machine_init): don't use grub_upper_mem,
26582 make grub_lower_mem local
26583 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26584 grub_mmap_iterate and grub_mmap_get_upper
26585 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26586
d558e6b5 265872009-05-02 Bean <bean123ch@gmail.com>
26588
26589 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26590 script/sh/parser.y.
26591 (pkglib_MODULES): Add normal.mod and sh.mod.
26592 (normal_SOURCES): New variable.
26593 (normal_mod_CFLAGS): Likewise.
26594 (normal_mod_LDFLAGS): Likewise.
26595 (sh_mod_SOURCES): Likewise.
26596 (sh_mod_CFLAGS): Likewise.
26597 (sh_mod_LDFLAGS): Likewise.
26598
26599 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26600 script/sh/lexer.c_DEPENDENCIES.
26601 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26602 kern/rescue_reader.c and kern/rescue_parser.c.
26603 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26604 (grub_emu_SOURCES): Change source files.
26605 (pkglib_MODULES): Remove normal.mod.
26606 (normal_SOURCES): Removed.
26607 (normal_mod_CFLAGS): Likewise.
26608 (normal_mod_LDFLAGS): Likewise.
26609 * conf/i386-coreboot.rmk: Likewise.
26610 * conf/i386-efi.rmk: Likewise.
26611 * conf/i386-ieee1276.rmk: Likewise.
26612 * conf/powerpc-ieee1275.rmk: Likewise.
26613 * conf/sparc64-ieee1275.rmk: Likewise.
26614 * conf/x86_64-efi.rmk: Likewise.
26615
26616 * include/grub/command.h (grub_command_execute): New inline function.
26617
26618 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26619
26620 * include/grub/normal.h: Remove <grub/setjmp.h>.
26621 (grub_fs_module_list): Moved to normal/autofs.c.
26622 (grub_exit_env): Removed.
26623 (grub_command_execute): Likewise.
26624 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26625 parameter script.
26626 (read_command_list): New function declaration.
26627 (read_fs_list): Likewise.
26628
26629 * include/parser.h: Include <grub/reader.h>.
26630 (grub_parser_split_cmdline): Change type of getline parameter.
26631 (grub_parser): New structure.
26632 (grub_parser_class): New variable.
26633 (grub_parser_execute): New function declaration.
26634 (grub_register_rescue_parser): Likewise.
26635 (grub_parser_register): New inline function.
26636 (grub_parser_unregister): Likewise.
26637 (grub_parser_get_current): Likewise.
26638 (grub_parser_set_current): Likewise.
26639
26640 * include/grub/reader.h: New file.
26641 * kern/reader.c: Likewise.
26642 * kern/rescue_parser.c: Likewise.
26643 * kern/rescue_reader.c: Likewise.
26644 * normal/autofs.c: Likewise.
26645 * normal/dyncmd.c: Likewise.
26646
26647 * include/grub/rescue.h: Removed.
26648 * normal/command.h: Likewise.
26649
26650 * include/grub/script.h: Moved to ...
26651 * include/grub/script_sh.h: ... Moved here.
26652 * normal/execute.c: Moved to ...
26653 * script/sh/execute.c: ... Moved here.
26654 * normal/function.c: Moved to ...
26655 * script/sh/function.c: ... Moved here.
26656 * normal/lexer.c: Moved to ...
26657 * script/sh/lexer.c: ... Moved here.
26658 * normal/parser.y: Moved to ...
26659 * script/sh/parser.y: ... Moved here.
26660 * normal/script.c: Moved to ...
26661 * script/sh/script.c: ... Moved here.
26662
26663 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26664 <grub/reader.h>.
26665 (grub_exit_env): Removed.
26666 (fs_module_list): Moved to normal/autofs.c.
26667 (grub_file_getline): Don't handle comment here.
26668 (free_menu): Skip removed field entry->commands.
26669 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26670 script parameter.
26671 (read_config_file): Removed nested parameter, change getline function.
26672 (grub_enter_normal_mode): Removed.
26673 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26674 (read_command_list): Likewise.
26675 (autoload_fs_module): Moved to normal/autofs.c.
26676 (read_fs_list): Likewise.
26677 (reader_nested): New variable.
26678 (grub_normal_execute): Run parser.sh to switch to sh parser.
26679 (grub_cmd_rescue): Removed.
26680 (cmd_normal): Removed.
26681 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26682 rescue command.
26683 (grub_cmdline_run): New function.
26684 (grub_normal_reader_init): Likewise.
26685 (grub_normal_read_line): Likewise.
26686 (grub_env_write_pager): Likewise.
26687 (cmdline): New variable.
26688 (grub_normal_reader): Likewise.
26689 (GRUB_MOD_INIT): Register normal reader and set as current, register
26690 pager hook, register normal command with grub_register_command_prio,
26691 so that it won't show up in command.lst.
26692 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26693 grub_fs_autoload_hook.
26694
26695 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26696 (grub_menu_execute_entry): Replace grub_script_execute with
26697 grub_parser_execute, change parameter to grub_command_execute.
26698
26699 * normal/menu_text.c: Remove <grub/script.h>.
26700
26701 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26702 and <grub/parser.h>.
26703 (run): Change editor_getline to use new parser interface. Change
26704 parameter to grub_command_execute.
26705
26706 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26707 <grub/reader.h> and <grub/parser.h>.
26708 (grub_load_normal_mode): Execute normal command.
26709 (grub_main): Call grub_register_core_commands,
26710 grub_register_rescue_parser and grub_register_rescue_reader, use
26711 grub_reader_loop to enter input loop.
26712
7dd4a573 26713 * kern/parser.c (grub_parser_split_cmdline): Change type of
26714 getline parameter.
d558e6b5 26715 (grub_parser_class): New variable.
26716 (grub_parser_execute): New function.
26717
26718 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26719 * loader/multiboot2.c: Likewise.
26720 * loader/sparc64/ieee1275/linux.c: Likewise.
26721
26722 * util/grub-emu.c (read_command_list): New dummy function.
26723
18db813d 267242009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26725
26726 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26727 count to 16 for CCISS and IDA.
26728
6c67de15 267292009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26730
26731 * normal/menu_text.c (grub_wait_after_message): Print a newline
26732 after waiting for user input.
26733
26734 * loader/i386/linux.c: Include `<grub/normal.h>'.
26735 (grub_cmd_linux): Improve the error message about `ask' mode, by
26736 waiting for user input so it's not missed (we can do this, since
26737 user requested interaction).
26738
d9dc87b0 267392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26740
26741 Added missing lst to grub-mkrescue
26742
26743 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26744 and ${input_dir}/parttool.lst
26745
ac8a2baa 267462009-04-30 David S. Miller <davem@davemloft.net>
26747
ad22a610 26748 * util/hostdisk.c (device_is_wholedisk): New function.
26749 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26750 zero only if device_is_wholedisk() returns true.
26751
6966215d 26752 * util/hostdisk.c (convert_system_partition_to_system_disk):
26753 Handle virtual disk devices named /dev/vdiskX as found on sparc
26754 and powerpc.
26755
ac8a2baa 26756 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26757 lettered partition specifier is found, convert to numbered.
26758
979b4fb4 267592009-04-29 David S. Miller <davem@davemloft.net>
26760
e2bf39b2 26761 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26762 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26763
3c64e104 26764 * normal/command.c: Add missing newline at end of file.
26765
979b4fb4 26766 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26767 warnings.
26768 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26769 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26770 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26771 ihandles have a 32-bit type but need to be stored in a "void *".
26772
136d9f82 267732009-04-28 Pavel Roskin <proski@gnu.org>
26774
9459c306 26775 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26776 not disk. Adjust all dependencies.
2e08a26a 26777 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 26778 grub_disk_close().
26779
136d9f82 26780 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26781 parent's partition, don't copy it by reference, as it gets freed
26782 on close.
26783
7dd4a573 267842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 26785
26786 Preboot hooks support
26787
26788 * commands/boot.c (struct grub_preboot_t): new declaration
26789 (preboots_head): new variable
26790 (preboots_tail): likewise
26791 (grub_loader_register_preboot_hook): new function
26792 (grub_loader_unregister_preboot_hook): likewise
26793 (grub_loader_set): launch preboot hooks
26794 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26795 (grub_loader_register_preboot_hook): new declaration
26796 (grub_loader_unregister_preboot_hook): likewise
26797
5af922b5 267982009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26799
26800 Warning fix
26801
7dd4a573 26802 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 26803 calling grub_dprintf
26804
a5562c30 268052009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26806
26807 Bug and warning fixes
26808
7dd4a573 26809 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 26810 declaration
26811 * commands/test.c (test_parse): fixed bug with file tests and corrected
26812 declaration of find_file
26813
4006f85c 268142009-04-26 Pavel Roskin <proski@gnu.org>
26815
26816 * Makefile.in: Don't install empty manual pages if help2man is
26817 missing. Use help2man option for output, not shell redirection.
26818
5c77c3de 268192009-04-26 David S. Miller <davem@davemloft.net>
26820
26821 * util/grub-mkdevicemap.c (make_device_map): Add missing
26822 NESTED_FUNC_ATTR to process_device().
26823
033b10a8 268242009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26825
26826 Test command
26827
26828 * commands/test.c: rewritten to use bash-like test
26829
e4343593 268302009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26831
26832 Parttool autoloading and improvements
26833
7dd4a573 26834 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 26835 (parttool.lst): new target
26836 * genmk.rb: generate parttool-*
26837 (CLEANFILES): add #{parttool}
26838 (PARTTOOLFILES): new variable
26839 * genparttoollist.sh: new file
7dd4a573 26840 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 26841 (grub_pcpart_type): likewise
26842 * commands/parttool.c (helpmsg): new variable
26843 (grub_cmd_parttool): output help if not enough arguments are supplied
26844 autoload modules
26845 (GRUB_MOD_INIT(parttool)): use helpmsg
26846
0d312500 268472009-04-24 David S. Miller <davem@davemloft.net>
26848
7dd4a573 26849 Avoiding opening same device multiple times in device iterator.
0d312500 26850
26851 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 26852 and use it to build a list of partitions in iterate_disk() and
0d312500 26853 iterate_partition().
26854
ac20caff 26855 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26856 on disk->data.
26857
0dcf7495 26858 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26859 grub_devalias_iterate() result instead of unconditional 0.
26860 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26861 Also, capture hook return value, either directly or via
26862 grub_children_iterate(), and propagate to caller.
26863 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26864 grub_children_iterate): Return value is now 'int' instead of
26865 'grub_err_t'.
26866 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26867 like a proper iterator, stopping when hooks return non-zero.
26868 (grub_devalias_iterate): Likewise.
26869
c8c08833 268702009-04-23 David S. Miller <davem@davemloft.net>
26871
26872 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26873
f01005a8 268742009-04-22 David S. Miller <davem@davemloft.net>
26875
26876 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26877 is larger than address_cells, use that value for address_cells too.
26878
4e8269da 26879 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26880 IEEE1275_MAX_PATH_LEN): Define.
26881 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26882 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26883 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26884 'devtype'. Explicitly NULL terminate devalias expansion.
26885
a1447506 26886 * util/sparc64/ieee1275/misc.c: New file.
26887 * util/sparc64/ieee1275/grub-setup.c: New file.
26888 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26889 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26890 * util/sparc64/ieee1275/grub-install.in: New file.
26891 * util/ieee1275/ofpath.c: New file.
26892 * util/ieee1275/devicemap.c: New file.
26893 * util/devicemap.c: New file.
26894 * util/deviceiter.c: New file.
26895 * kern/sparc64/ieee1275/init.c: New file.
26896 * include/grub/util/ofpath.h: New file.
26897 * include/grub/util/deviceiter.h: New file.
26898 * util/grub-mkdevicemap.c: Include deviceiter.h.
26899 Implement using grub_util_emit_devicemap_entry and
26900 grub_util_iterate_devices.
26901 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26902 util/devicemap.c into grub-mkdevicemap
26903 * conf/i386-efi.rmk: Likewise.
26904 * conf/i386-ieee1275.rmk: Likewise.
26905 * conf/i386-pc.rmk: Likewise.
26906 * conf/powerpc-ieee1275.rmk: Likewise.
26907 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26908 images and installation utilities. Build kernel as image
26909 instead of as elf binary. Use common rules as much as possible.
26910
7dd4a573 269112009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 26912
26913 Correct GPT definition
26914
7dd4a573 26915 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 26916 of "attrib" member
26917
c6c5219f 269182009-04-19 Felix Zielcke <fzielcke@z-51.de>
26919
26920 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26921
0552ff9f 269222009-04-19 David S. Miller <davem@davemloft.net>
26923
26924 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26925 (grub_rescue_cmd_linux): Rename to...
26926 (grub_cmd_linux): and fix prototype.
26927 (grub_rescue_cmd_initrd): Rename to...
26928 (grub_cmd_initrd): and fix prototype.
26929 (cmd_linux, cmd_initrd): New.
26930 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26931 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26932
d1a282fc 269332009-04-17 Pavel Roskin <proski@gnu.org>
26934
07c5039f 26935 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26936 format.
26937 (grub_ohci_transfer): Likewise.
26938
b012002d 26939 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26940
1bc09c35 26941 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26942 return without a value. Fix inconsistent indentation.
26943
e0ff9126 26944 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26945 match struct grub_fs.
26946
d1a282fc 26947 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26948 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26949 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26950 * commands/lspci.c (grub_lspci_iter): Likewise.
26951
a96df3f2 269522009-04-16 Bean <bean123ch@gmail.com>
26953
26954 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26955 value.
26956
41bb0fe9 269572009-04-15 Pavel Roskin <proski@gnu.org>
26958
26959 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26960 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26961 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26962 definitions.
26963
596c6970 269642009-04-15 Felix Zielcke <fzielcke@z-51.de>
26965
26966 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 26967 that no multiple data or metadata areas are supported and `Unknown
596c6970 26968 metadata header'.
26969
7dd4a573 269702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 26971
26972 Move loader out of the kernel
26973
26974 * kern/loader.c: moved to ...
26975 * commands/boot.c: ... moved here
26976 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26977 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26978 * include/grub/kernel.h (grub_machine_fini): export
26979 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26980 (grub_loader_set): likewise
26981 (grub_loader_unset): likewise
26982 (grub_loader_boot): likewise
26983 * conf/common.rmk: new module boot.mod
26984 (pkglib_MODULES): add boot.mod
26985 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26986 (grub_emu_SOURCES): likewise
26987 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26988 (grub_emu_SOURCES): likewise
26989 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26990 (grub_emu_SOURCES): likewise
26991 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26992 (grub_emu_SOURCES): likewise
26993 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26994 (grub_emu_SOURCES): likewise
7dd4a573 26995 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26996 (grub_emu_SOURCES): likewise
0d5d5653 26997 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 26998 (grub_emu_SOURCES): likewise
0d5d5653 26999
7dd4a573 270002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 27001
27002 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 27003
5999d619 27004 * kern/misc.c (grub_itoa): Removed function
27005 (grub_ltoa): likewise
27006 (grub_vsprintf): use grub_lltoa
27007
7dd4a573 270082009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 27009
27010 Restore grub-emu
27011
27012 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
27013 * conf/i386-coreboot.rmk: likewise
27014 * conf/i386-ieee1275.rmk: likewise
27015 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27016
20318222 270172009-04-15 Felix Zielcke <fzielcke@z-51.de>
27018
27019 * INSTALL: Add that `./autogen.sh' needs to be run before
27020 `./configure.'.
27021
d05f0df3 270222009-04-14 Bean <bean123ch@gmail.com>
27023
27024 * Makefile.in (pkglib_DATA): Add handler.lst.
27025 (handler.lst): New rule.
27026
27027 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
27028 * conf/i386-coreboot.rmk: Likewise.
27029 * conf/i386-ieee1275.rmk: Likewise.
27030 * conf/i386-efi.rmk: Likewise.
27031 * conf/x86_64-efi.rmk: Likewise.
27032 * conf/powerpc-ieee1275.rmk: Likewise.
27033 * conf/sparc64-ieee1275.rmk: Likewise.
27034
27035 * genhandlerlist.sh: New file.
27036
27037 * genmk.rb: Add rules to generate handler.lst.
27038
27039 * include/grub/normal.h (grub_file_getline): New function definition.
27040 (read_handler_list): Likewise.
27041 (free_handler_list): Likewise.
27042
27043 * include/grub/term.h (grub_term_register_input): Add name parameter
27044 for auto generation of handler.lst.
27045 (grub_term_register_output): Likewise.
27046
27047 * normal/handler.c: New file.
27048
27049 * normal/main.c (get_line): Renamed to grub_file_getline.
27050 (read_config_file): Use the newly renamed grub_file_getline.
27051 (read_command_list): Likewise.
27052 (read_fs_list): Likewise.
27053 (grub_normal_execute): Call read_handler_list to parse handler.lst.
27054 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
27055
27056 * term/efi/console.c (grub_console_init): Add name parameter for auto
27057 generation of handler.lst.
27058 * term/gfxterm.c: Likewise.
27059 * term/i386/pc/at_keyboard.c: Likewise.
27060 * term/i386/pc/console.c: Likewise.
27061 * term/i386/pc/serial.c: Likewise.
27062 * term/i386/pc/vesafb.c: Likewise.
27063 * term/i386/pc/vga.c: Likewise.
27064 * term/i386/pc/vga_text.c: Likewise.
27065 * term/ieee1275/ofconsole.c: Likewise.
27066 * term/usb_keyboard.c: Likewise.
27067
33c846be 270682009-04-14 Bean <bean123ch@gmail.com>
27069
27070 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
27071 properly with null character.
27072
4484e01e 270732009-04-14 Felix Zielcke <fzielcke@z-51.de>
27074
27075 * configure: Remove.
27076 * config.h.in: Likewise.
f93d668e 27077 * stamp-h.in: Likewise.
4484e01e 27078 * DISTLIST: Likewise.
27079 * conf/common.mk: Likewise.
27080 * conf/i386-coreboot.mk: Likewise.
27081 * conf/i386-efi.mk: Likewise.
27082 * conf/i386-ieee1275.mk: Likewise.
27083 * conf/i386.mk: Likewise.
27084 * conf/i386-pc.mk: Likewise.
27085 * conf/powerpc-ieee1275.mk: Likewise.
27086 * conf/sparc64-ieee1275.mk: Likewise.
27087 * conf/x86_64-efi.mk: Likewise.
27088
27089 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
27090 develop on GRUB.
27091
7dd4a573 270922009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 27093 David S. Miller <davem@davemloft.net>
27094
27095 * util/hostdisk.c (make_device_name): Fix buffer length
27096 calculations.
27097
e25b5a8c 270982009-04-14 Felix Zielcke <fzielcke@z-51.de>
27099
27100 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
27101 <sys/param.h> and <sys/sysctl.h>.
27102 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
27103 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
27104 opening the device and reset them afterwards.
27105
1f1f580c 271062009-04-13 Pavel Roskin <proski@gnu.org>
27107
27108 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
27109 Reported by John Stanley <jpsinthemix@verizon.net>
27110
7ebc2d6b 271112009-04-13 Robert Millan <rmh@aybabtu.com>
27112
27113 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 27114 that name for menuentries when appropriate.
7ebc2d6b 27115
d8ba3667 271162009-04-13 Felix Zielcke <fzielcke@z-51.de>
27117
27118 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27119
cba416eb 271202009-04-13 Robert Millan <rmh@aybabtu.com>
27121
27122 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27123 to Linux, simply abort telling the user it's no longer supported.
27124
a547a745 271252009-04-13 Felix Zielcke <fzielcke@z-51.de>
27126
27127 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 27128 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 27129 `freebsd_loadenv' only when devices.hints exist.
27130
232a769c 271312009-04-13 Pavel Roskin <proski@gnu.org>
27132
27133 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27134
c3012039 271352009-04-13 Felix Zielcke <fzielcke@z-51.de>
27136
27137 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27138 partition number.
27139 (grub_drive): Likewise.
27140
234022fe 271412009-04-13 David S. Miller <davem@davemloft.net>
27142
27143 * kern/sparc64/ieee1275/ieee1275.c: New file.
27144 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27145 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27146 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27147 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27148 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27149 grub_ieee1275_alloc_physmem): Declare new exported functions.
27150
d8e1836c 27151 * include/grub/sparc64/ieee1275/loader.h: New file.
27152 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27153 * include/grub/sparc64/kernel.h: Likewise.
27154 * loader/sparc64/ieee1275/linux.c: Likewise.
27155
96bd81ec 27156 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27157 (grub_fstest_SOURCES): Likewise.
27158
6a4737e5 27159 * util/hostdisk.c (make_device_name): Do not make any assumptions
27160 about the length of drive names.
27161
1d7a72fd 27162 * kern/dl.c (grub_dl_load_file): Close file immediately when
27163 we are done using it.
27164
56bc2471 271652009-04-12 David S. Miller <davem@davemloft.net>
27166
27167 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27168 values. Noticed by Pavel Roskin.
27169
df38d0bb 27170 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27171 target compiler.
7dd4a573 27172
e382e93a 27173 * genmk.rb: Add more flexible image type specification, also
27174 pass --strip-unneeded to objcopy.
27175 * conf/i386-pc.rmk: Use *_FORMAT.
27176 * conf/i386-pc.mk: Rebuilt.
27177
f5dbbca9 27178 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27179 (OFDISK_HASH_SZ): Define.
27180 (ofdisk_hash): New hash table.
27181 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27182 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27183 instead of device phandle which is not unique.
27184
91c88b12 27185 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27186 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27187 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27188 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27189 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27190 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27191 GRUB_KERNEL_MACHINE_DATA_END): Define.
27192 (grub_kernel_image_size, grub_total_module_size): Declare.
27193
5b5d4aa5 271942009-04-12 Pavel Roskin <proski@gnu.org>
27195
7dd4a573 27196 * configure.ac: Change the logic when we check for target tools.
27197 Do it when the target is specified and it's different from the
27198 specified value of the host.
5b5d4aa5 27199
c91e1793 272002009-04-11 Felix Zielcke <fzielcke@z-51.de>
27201
27202 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27203 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27204 GNU/kFreeBSD. Check if a device is a character device. Use
27205 DIOCGMEDIASIZE to get the size.
27206 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27207 support for GNU/kFreeBSD.
27208 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27209 is a character device instead of a block device. Add support for
27210 FreeBSD device names.
27211
27212 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27213 is a character device instead of a block device.
27214
27215 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27216 is a character device instead of a block device.
27217
b1ac8644 272182009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27219
27220 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27221 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27222 FreeBSD. Check if a device is a character device. Use
27223 DIOCGMEDIASIZE to get the size.
27224 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27225 support for FreeBSD.
27226 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27227 is a character device instead of a block device. Add support for
27228 FreeBSD device names.
27229
27230 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27231 a character device instead of a block device.
27232 (grub_util_check_char_device): New function.
27233
27234 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27235 a character device instead of a block device.
27236
27237 * include/grub/util/getroot.h (grub_util_check_char_device): New
27238 prototype.
27239
a3f7515a 272402009-04-11 David S. Miller <davem@davemloft.net>
27241
27242 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27243 static libgcc.
27244 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27245 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27246 function, if present.
27247 (__bswapdi2): Likewise.
27248
0d44993d 27249 * include/grub/sparc64/ieee1275/boot.h: New file.
27250 * boot/sparc64/ieee1275/boot.S: Likewise.
27251 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27252
ed3d2bc2 27253 * kern/misc.c (grub_ltoa): New function.
27254 (grub_vsprintf): Use it to format 'long' integers.
27255
d3bfb59c 272562009-04-10 David S. Miller <davem@davemloft.net>
27257
27258 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27259 slots are of type grub_ieee1275_cell_t.
27260 (grub_nand_read): Likewise.
27261 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27262 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27263 macros are used to compare values in arg/ret block of the call.
27264 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27265 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27266 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27267 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27268 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27269 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27270 grub_ieee1275_close, grub_ieee1275_set_property,
27271 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27272 grub_ieee1275_cell_t.
27273 * kern/ieee1275/openfw.c (grub_map): Likewise.
27274 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27275 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27276
450e2238 27277 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27278 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27279 (grub_devalias_iterate): Likewise.
27280
7dd4a573 272812009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 27282
27283 UFS improvements
27284
27285 * fs/ufs.c (INODE_NBLOCKS): new definition
27286 (struct grub_ufs_dirent): added fields for non-BSD dirents
27287 (grub_ufs_get_file_block): fixed double indirect handling
27288 (grub_ufs_lookup_symlink): use more robust way to determine whether
27289 symlink is inline
27290 (grub_ufs_find_file): support for non-BSD dirents
27291 (grub_ufs_dir): support for non-BSD dirents
27292
e7e6862a 272932009-04-10 Bean <bean123ch@gnail.com>
27294
27295 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27296 attribute, otherwise the size would be wrong for i386 platform.
27297
27298 * include/grub/pci.h (grub_pci_read_word): New inline function.
27299 (grub_pci_read_byte): Likewise.
27300 (grub_pci_write): Likewise.
27301 (grub_pci_write_word): Likewise.
27302 (grub_pci_write_byte): Likewise.
27303
27304 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27305
27306 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27307 (find_framebuf): Scan pci to locate the frame buffer address.
27308
27309 * commands/efi/fixvideo.c: New file.
27310
27311 * commands/efi/loadbios.c: Likewise.
27312
27313 * commands/memrw.c: Likewise.
27314
27315 * util/grub-dumpbios.in: Likewise.
27316
27317 * conf/common.rmk (grub-dumpbios): New utility.
27318 (pkglib_MODULES): New module memrw.mod.
27319 (memrw_mod_SOURCE): New macro.
27320 (memrw_mod_CFLAGS): Likewise.
27321 (memrw_mod_LDFLAGS): Likewise.
27322
7dd4a573 27323 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27324 fixvideo.mod.
27325 (loadbios_mod_SOURCE): New macro.
27326 (loadbios_mod_CFLAGS): Likewise.
27327 (loadbios_mod_LDFLAGS): Likewise.
27328 (fixvideo_mod_SOURCE): Likewise.
27329 (fixvideo_mod_CFLAGS): Likewise.
27330 (fixvideo_mod_LDFLAGS): Likewise.
27331
7dd4a573 27332 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27333 fixvideo.mod.
27334 (loadbios_mod_SOURCE): New macro.
27335 (loadbios_mod_CFLAGS): Likewise.
27336 (loadbios_mod_LDFLAGS): Likewise.
27337 (fixvideo_mod_SOURCE): Likewise.
27338 (fixvideo_mod_CFLAGS): Likewise.
27339 (fixvideo_mod_LDFLAGS): Likewise.
27340
af63ada2 273412009-04-08 Felix Zielcke <fzielcke@z-51.de>
27342
27343 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27344
c2cdde70 273452009-04-07 David S. Miller <davem@davemloft.net>
27346
27347 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27348 support for R_SPARC_OLO10 relocations. Fix compile warning for
27349 R_SPARC_WDISP30 case.
ea3f72cf 27350 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 27351
761319cf 273522009-04-06 Pavel Roskin <proski@gnu.org>
27353
1007d1f5 27354 * include/grub/misc.h (ARRAY_SIZE): New macro.
27355 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27356 New macro.
27357 * loader/i386/linux.c (allocate_pages): Use free_pages().
27358 (grub_linux_unload): Don't use free_pages().
27359 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27360 wrong index. Treat all other modes as text modes.
27361 (grub_cmd_linux): Initialize vid_mode unconditionally to
27362 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27363
761319cf 27364 * commands/help.c (print_command_help): Use cmd->prio, not
27365 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27366
ea761d40 273672009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 27368
ea761d40 27369 Parttool
27370
27371 * parttool/pcpart.c: new file
27372 * commands/parttool.c: likewise
27373 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27374 (parttool_mod_SOURCES): new variable
27375 (parttool_mod_CFLAGS): likewise
27376 (parttool_mod_LDFLAGS): likewise
27377 (pcpart_mod_SOURCES): likewise
27378 (pcpart_mod_CFLAGS): likewise
27379 (pcpart_mod_LDFLAGS): likewise
7dd4a573 27380 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 27381 and parttool/pcpart.c
27382 * conf/i386-efi.rmk: likewise
27383 * conf/i386-ieee1275.rmk: likewise
27384 * conf/i386-pc.rmk: likewise
27385 * conf/powerpc-ieee1275.rmk: likewise
27386 * conf/sparc64-ieee1275.rmk: likewise
27387 * conf/x86_64-ieee1275.rmk: likewise
27388
05aaebfb 273892009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27390
27391 Support for mtime and further expandability of dir command
27392
27393 * include/grub/lib/datetime.h: moved to ...
7dd4a573 27394 * include/grub/datetime.h: ... moved here and added
05aaebfb 27395 declaration of grub_unixtime2datetime. All users updated
7dd4a573 27396 * include/grub/fs.h: new syntax for dir and mtime functions in
27397 struct grub_fs
05aaebfb 27398 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27399 and GRUB_FSHELP_FLAGS_MASK
27400 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27401 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27402 (grub_ext2_mtime): new function
27403 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27404 (grub_hfsplus_mtime): new function
27405 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27406 (GRUB_UFS_ATTR_FILE): likewise
27407 (GRUB_UFS_ATTR_LNK): likewise
27408 (struct grub_ufs_sblock): new fields mtime
27409 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27410 all users updated
27411 (grub_ufs_dir): mtime support
27412 (grub_ufs_mtime): new function
27413 * fs/affs.c (grub_affs_dir): use new dir syntax
27414 * fs/afs.c (grub_afs_dir): likewise
27415 * fs/cpio.c (grub_cpio_dir): likewise
27416 * fs/fat.c (grub_fat_find_dir): likewise
27417 * fs/hfs.c (grub_hfs_dir): likewise
27418 * fs/iso9660.c (grub_iso9660_dir): likewise
27419 * fs/jfs.c (grub_jfs_dir): likewise
27420 * fs/minix.c (grub_minix_dir): likewise
27421 * fs/ntfs.c (grub_ntfs_dir): likewise
27422 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27423 * fs/sfs.c (grub_sfs_dir): likewise
27424 * fs/xfs.c (grub_xfs_dir): likewise
27425 * util/hostfs.c (grub_hostfs_dir): likewise
27426 * lib/datetime.c: moved to ...
27427 * normal/datetime.c: ... moved here
27428 (grub_unixtime2datetime): new function
27429 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 27430 * normal/completion.c (iterate_dir): use new dir syntax
27431 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 27432 last modification time of a volume
7dd4a573 27433 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 27434 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 27435 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 27436 (normal_mod_SOURCES): likewise
27437 (datetime_mod_SOURCES): Removed lib/datetime.c
27438 * conf/i386-efi.rmk: likewise
7dd4a573 27439 * conf/i386-ieee1275.rmk: likewise
05aaebfb 27440 * conf/i386-pc.rmk: likewise
27441 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27442 * conf/sparc64-ieee1275.rmk: likewise
27443 * conf/x86_64-efi.rmk: likewise
05aaebfb 27444
8a7e1a14 274452009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 27448
27449 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 27450 on grub_fat_find_dir
27451 (grub_fat_find_dir): use grub_fat_iterate_dir
27452 (grub_fat_label): likewise
27453
04186a9c 274542009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27455
7dd4a573 27456 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 27457 and command.h
27458 remove extraneous kernel_elf_HEADERS
27459
da4c0bb6 274602009-04-04 Bean <bean123ch@gnail.com>
27461
27462 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27463
27464 * util/misc.c: Likewise.
27465
54ad9555 274662009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27467
27468 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27469 instead of grub_printf.
27470
7a6bf9f2 274712009-04-03 Robert Millan <rmh@aybabtu.com>
27472
27473 * loader/i386/linux.c (grub_linux_setup_video): Fill
27474 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27475 values from `mode info' structure instead of hardcoded
27476 values.
27477
3fcc2083 274782009-04-01 Pavel Roskin <proski@gnu.org>
27479
27480 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27481 unused now.
27482 * genmk.rb: Likewise.
27483 * configure.ac: Likewise.
27484
5ec9740b 274852009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27486
27487 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27488 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27489
5270cec8 274902009-04-01 David S. Miller <davem@davemloft.net>
27491
27492 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 27493 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 27494 (grub_setjmp): Mark with 'returns_twice' attribute.
27495 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27496 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27497 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27498
9c3dd854 274992009-04-01 Robert Millan <rmh@aybabtu.com>
27500
27501 Reapply fix from 2008-07-28 which was accidentally reverted; also
27502 perform the same fix to a similar check in same function.
27503
27504 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27505 with the same number are found, just use issue a warning with
27506 grub_dprintf(), as this error has been reported to be non-fatal.
27507
0d818b7e 275082009-03-31 Pavel Roskin <proski@gnu.org>
27509
27510 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27511 for cross-compilation.
27512
95646d92 275132009-03-30 Robert Millan <rmh@aybabtu.com>
27514
27515 Fix i386-ieee1275 build.
27516
27517 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27518 Remove declaration.
27519
6a003ed1 275202009-03-30 Pavel Roskin <proski@gnu.org>
27521
27522 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27523 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27524 zero-terminated, rely only on the strlen value. Fix comparison
27525 of strings differing in length.
27526
92f33540 275272009-03-30 Robert Millan <rmh@aybabtu.com>
27528
27529 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27530 checking for abi version. Improve error messages on BIOS to notify
27531 user about `linux16' command.
27532
a8c48fd5 275332009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27534
f968172e 27535 Leak fixes
a8c48fd5 27536
f968172e 27537 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27538 in case of collision
27539 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 27540
9c323f09 275412009-03-29 Robert Millan <rmh@aybabtu.com>
27542
27543 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27544 set `vid_mode' accordingly.
27545 (grub_linux_boot): Process `vid_mode' and set video mode.
27546
ae68f423 275472009-03-29 Robert Millan <rmh@aybabtu.com>
27548
27549 * util/grub.d/10_linux.in (linux_entry): New function.
27550 Factorize generation of Linux boot entries.
27551
5709cfc4 275522009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27553
27554 Make the format of Environment Block plain text. The boot loader
27555 part is not tested well yet.
7dd4a573 27556
5709cfc4 27557 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27558 (buffer): Removed.
27559 (envblk): Likewise.
27560 (usage): Remove "info" and "clear". Add "unset". Update the
27561 description of "set", as this does not delete variables any
27562 longer.
27563 (create_envblk_file): Complete rewrite.
27564 (open_envblk_file): Likewise.
27565 (cmd_info): Removed.
27566 (cmd_list): Likewise.
27567 (cmd_set): Likewise.
27568 (cmd_clear): Likewise.
27569 (list_variables): New function.
27570 (write_envblk): Likewise.
27571 (set_variables): Likewise.
27572 (unset_variables): Likewise.
27573 (main): Complete rewrite.
27574
27575 * commands/loadenv.c (buffer): Removed.
27576 (envblk): Likewise.
27577 (open_envblk_file): New function.
27578 (read_envblk_file): Complete rewrite.
27579 (grub_cmd_load_env): Likewise.
27580 (grub_cmd_list_env): Likewise.
27581 (struct blocklist): New struct.
27582 (free_blocklists): New function.
27583 (check_blocklists): Likewise.
27584 (write_blocklists): Likewise.
27585 (grub_cmd_save_env): Complete rewrite.
27586
27587 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27588 a plain text signature.
27589 (GRUB_ENVBLK_MAXLEN): Removed.
27590 (struct grub_envblk): Complete rewrite.
27591 (grub_envblk_find): Removed.
27592 (grub_envblk_insert): Likewise.
27593 (grub_envblk_open): New prototype.
27594 (grub_envblk_set): Likewise.
27595 (grub_envblk_delete): Put const to VALUE.
27596 (grub_envblk_iterate): Put const to NAME and VALUE.
27597 (grub_envblk_close): New prototype.
27598 (grub_envblk_buffer): New inline function.
27599 (grub_envblk_size): Likewise.
27600
27601 * lib/envblk.c: Include grub/mm.h.
27602 (grub_env_find): Removed.
27603 (grub_envblk_open): New function.
27604 (grub_envblk_close): Likewise.
27605 (escaped_value_len): Likewise.
27606 (find_next_line): Likewise.
27607 (grub_envblk_insert): Removed.
27608 (grub_envblk_set): New function.
27609 (grub_envblk_delete): Complete rewrite.
27610 (grub_envblk_iterate): Likewise.
27611
a9368fd3 276122009-03-28 Robert Millan <rmh@aybabtu.com>
27613
27614 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27615 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27616 variables. Use 16-bit loader.
27617 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27618 loader.
27619 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27620 (grub_linux16_boot): ... this. Update all users.
27621 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27622 (grub_linux_boot): ... this. Update all users.
27623
27624 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27625 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27626 commands to `linux16' and `initrd16'.
27627 (GRUB_MOD_FINI(linux)): Rename to ...
27628 (GRUB_MOD_FINI(linux16)): ... this.
27629
e4dd5a7e 276302009-03-24 Pavel Roskin <proski@gnu.org>
27631
27632 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27633 not just for compilation.
27634
c04d6e05 276352009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27636
27637 Move multiboot helper out of kernel
27638
27639 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27640 `loader/i386/multiboot_helper.S'.
27641 * conf/i386-coreboot.rmk: Likewise
27642 * conf/i386-ieee1275.rmk: Likewise
27643
27644 * kern/i386/loader.S: Move multiboot helpers from here...
27645 * loader/i386/multiboot_helper.S: ...moved here
27646 * include/grub/i386/loader.h: Move declarations of multiboot
27647 helpers from here...
27648 * include/grub/i386/multiboot.h: ...moved here
27649 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27650
42a5b3fc 276512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27652
27653 * kern/env.c (grub_env_context_open): Added an argument to specify
27654 whether a new context inherits exported variables from current
27655 one. This is useful when making a sandbox to interpret a config
27656 file.
27657 All callers updated.
27658
27659 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27660
b28bbc4e 276612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27662
27663 * kern/env.c (grub_env_context_close): Fix memory leaks.
27664
f04f02e4 276652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27666
27667 * normal/main.c (grub_normal_execute): Added an argument
27668 BATCH to specify if an interactive interface should be provided
27669 after reading a config file.
27670 All callers updated.
27671 (read_command_list): Prevent being executed twice.
27672 (read_fs_list): Likewise.
27673
42a5b3fc 27674 * include/grub/normal.h (grub_normal_execute): Updated the
27675 prototype.
f04f02e4 27676
41473ac2 276772009-03-22 Pavel Roskin <proski@gno.org>
27678
fbc00b0c 27679 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27680 _start.
27681 * kern/i386/pc/startup.S: Likewise.
27682 * kern/i386/efi/startup.S: Likewise.
27683 * kern/i386/ieee1275/startup.S: Likewise.
27684 * kern/i386/coreboot/startup.S: Likewise.
27685 * kern/x86_64/efi/startup.S: Likewise.
27686
41473ac2 27687 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27688 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27689 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27690
2274cc8f 276912009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27692
27693 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27694
27695 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27696 limit detection.
27697 Use vaddr of correct segment for entry_point.
27698
b1b797cb 276992009-03-21 Bean <bean123ch@gmail.com>
27700
27701 * commands/blocklist.c: Add include file <grub/command.h>, remove
27702 <grub/normal.h> and <grub/arg.h>.
27703 (grub_cmd_blocklist): Use the new command interface.
27704 (GRUB_MOD_INIT): Likewise.
27705 (GRUB_MOD_FINI): Likewise.
27706 * commands/boot.c: Likewise.
27707 * commands/cat.c: Likewise.
27708 * commands/cmp.c: Likewise.
27709 * commands/configfile.c: Likewise.
27710 * commands/crc.c: Likewise.
27711 * commands/echo.c: Likewise.
27712 * commands/halt.c: Likewise.
27713 * commands/handler.c: Likewise.
27714 * commands/hdparm.c: Likewise.
27715 * commands/help.c: Likewise.
27716 * commands/hexdump.c: Likewise.
27717 * commands/loadenv.c: Likewise.
27718 * commands/ls.c: Likewise.
27719 * commands/lsmmap.c: Likewise.
27720 * commands/lspci.c: Likewise.
27721 * commands/loadenv.c: Likewise.
27722 * commands/read.c: Likewise.
27723 * commands/reboot.c: Likewise.
27724 * commands/search.c: Likewise.
27725 * commands/sleep.c: Likewise.
27726 * commands/test.c: Likewise.
27727 * commands/usbtest.c: Likewise.
27728 * commands/videotest.c: Likewise.
27729 * commands/i386/cpuid.c: Likewise.
27730 * commands/i386/pc/halt.c: Likewise.
27731 * commands/i386/pc/play.c: Likewise.
27732 * commands/i386/pc/pxecmd.c: Likewise.
27733 * commands/i386/pc/vbeinfo.c: Likewise.
27734 * commands/i386/pc/vbetest.c: Likewise.
27735 * commands/ieee1275/suspend.c: Likewise.
27736 * disk/loopback.c: Likewise.
27737 * font/font_cmd.c: Likewise.
27738 * hello/hello.c: Likewise.
27739 * loader/efi/appleloader.c: Likewise.
27740 * loader/efi/chainloader.c: Likewise.
27741 * loader/i386/bsd.c: Likewise.
27742 * loader/i386/efi/linux.c: Likewise.
27743 * loader/i386/ieee1275/linux.c: Likewise.
27744 * loader/i386/linux.c: Likewise.
27745 * loader/i386/pc/chainloader.c: Likewise.
27746 * loader/i386/pc/linux.c: Likewise.
27747 * loader/powerpc/ieee1275/linux.c: Likewise.
27748 * loader/multiboot_loader.c: Likewise.
27749 * term/gfxterm.c: Likewise.
27750 * term/i386/pc/serial.c: Likewise.
27751 * term/terminfo.c: Likewise.
27752
27753 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27754 * term/i386/pc/vga.c: Likewise.
27755 * video/readers/jpeg.c: Likewise.
27756 * video/readers/png.c: Likewise.
27757 * video/readers/tga.c: Likewise.
27758
27759 * util/grub-fstest (cmd_loopback): Removed.
27760 (cmd_blocklist): Likewise.
27761 (cmd_ls): Likewise.
27762 (grub_register_command): Likewise.
27763 (grub_unregister_command): Likewise.
27764 (execute_command): Use grub_command_find to locate command and execute
27765 it.
27766
27767 * include/grub/efi/chainloader.h: Removed.
27768 * loader/efi/chainloader_normal.c: Likewise.
27769 * loader/i386/bsd_normal.c: Likewise.
27770 * loader/i386/pc/chainloader_normal.c: Likewise.
27771 * loader/i386/pc/multiboot_normal.c: Likewise.
27772 * loader/linux_normal.c: Likewise.
27773 * loader/multiboot_loader_normal.c: Likewise.
27774 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27775
27776 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27777 and grub_register_command_p1.
27778
27779 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27780 kern/command.c, lib/arg.c and commands/extcmd.c.
27781 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27782 (minicmd_mod_SOURCES): New variable.
27783 (minicmd_mod_CFLAGS): Likewise.
27784 (minicmd_mod_LDFLAGS): Likewise.
27785 (extcmd_mod_SOURCES): Likewise.
27786 (extcmd_mod_CFLAGS): Likewise.
27787 (extcmd_mod_LDFLAGS): Likewise.
27788 (boot_mod_SOURCES): Removed.
27789 (boot_mod_CFLAGS): Likewise.
27790 (boot_mod_LDFLAGS): Likewise.
27791
27792 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27793 kern/corecmd.c.
27794 (kernel_img_HEADERS): Add command.h.
27795 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27796 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27797 and lib/arg.c.
27798 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27799 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27800 remove the corresponding normal mode command.
27801 (normal_mod_SOURCES): Remove normal/arg.c.
27802 * conf/i386-coreboot.rmk: Likewise.
27803 * conf/i386-efi.rmk: Likewise.
27804 * conf/i386-ieee1275.rmk: Likewise.
27805 * conf/powerpc-ieee1275.rmk: Likewise.
27806 * conf/x86_64-efi.rmk: Likewise.
27807
27808 * include/grub/arg.h: Move from here ...
27809 * include/grub/lib/arg.h: ... to here.
27810
27811 * normal/arg.c: Move from here ...
27812 * lib/arg.c: ... to here.
27813
27814 * commands/extcmd.c: New file.
27815 * commands/minicmd.c: Likewise.
27816 * include/grub/command.h: Likewise.
27817 * include/grub/extcmd.h: Likewise.
27818 * kern/command.c: Likewise.
27819 * kern/corecmd.c: Likewise.
27820
27821 * kern/list.c (grub_list_iterate): Return int instead of void.
27822 (grub_list_insert): New function.
27823 (grub_prio_list_insert): Likewise.
27824
27825 * kern/rescue.c (grub_rescue_command): Removed.
27826 (grub_rescue_command_list): Likewise.
27827 (grub_rescue_register_command): Likewise.
27828 (grub_rescue_unregister_command): Likewise.
27829 (grub_rescue_cmd_boot): Move to minicmd.c
27830 (grub_rescue_cmd_help): Likewise.
27831 (grub_rescue_cmd_info): Likewise.
27832 (grub_rescue_cmd_boot): Likewise.
27833 (grub_rescue_cmd_testload): Likewise.
27834 (grub_rescue_cmd_dump): Likewise.
27835 (grub_rescue_cmd_rmmod): Likewise.
27836 (grub_rescue_cmd_lsmod): Likewise.
27837 (grub_rescue_cmd_exit): Likewise.
27838 (grub_rescue_print_devices): Moved to corecmd.c.
27839 (grub_rescue_print_files): Likewise.
27840 (grub_rescue_cmd_ls): Likewise.
27841 (grub_rescue_cmd_insmod): Likewise.
27842 (grub_rescue_cmd_set): Likewise.
27843 (grub_rescue_cmd_unset): Likewise.
7d074e3c 27844 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 27845 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 27846 commands, remove grub_rescue_register_command calls.
b1b797cb 27847
7d074e3c 27848 * normal/command.c (grub_register_command): Removed.
b1b797cb 27849 (grub_unregister_command): Likewise.
27850 (grub_command_find): Likewise.
27851 (grub_iterate_commands): Likewise.
27852 (rescue_command): Likewise.
27853 (export_command): Moved to corecmd.c.
27854 (set_command): Removed.
27855 (unset_command): Likewise.
27856 (insmod_command): Likewise.
27857 (rmmod_command): Likewise.
27858 (lsmod_command): Likewise.
27859 (grub_command_init): Likewise.
27860
27861 * normal/completion.c (iterate_command): Use cmd->prio to check for
27862 active command.
27863 (complete_arguments): Use grub_extcmd_t structure to find options.
27864 (grub_normal_do_completion): Change function grub_iterate_commands to
27865 grub_command_iterate.
27866
27867 * normal/execute.c (grub_script_execute_cmd): No need to parse
27868 argument here.
27869
27870 * normal/main.c (grub_dyncmd_dispatcher): New function.
27871 (read_command_list): Register unload commands as dyncmd.
27872 (grub_cmd_normal): Use new command interface, register rescue,
27873 unregister normal at entry, register normal, unregister rescue at exit.
27874
27875 * include/grub/list.h (grub_list_test_t): New type.
27876 (grub_list_iterate): Return int instead of void.
27877 (grub_list_insert): New function.
27878 (GRUB_AS_NAMED_LIST_P): New macro.
27879 (GRUB_AS_PRIO_LIST): Likewise.
27880 (GRUB_AS_PRIO_LIST_P): Likewise.
27881 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27882 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27883 (grub_prio_list): New structure.
27884 (grub_prio_list_insert): New function.
27885 (grub_prio_list_remove): New inline function.
27886
27887 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27888 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27889 (GRUB_COMMAND_FLAG_MENU): Likewise.
27890 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27891 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27892 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27893 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27894 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27895 (grub_command): Likewise.
27896 (grub_register_command): Likewise.
27897 (grub_command_find): Likewise.
27898 (grub_iterate_commands): Likewise.
27899 (grub_command_init): Likewise.
27900 (grub_arg_parse): Likewise.
27901 (grub_arg_show_help): Likewise.
27902
27903 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27904 (grub_rescue_unregister_command): Likewise.
27905
27906 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27907 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27908 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27909
27910 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27911 grub_rescue_cmd_initrd.
27912 * include/grub/i386/loader.h: Likewise.
27913 * include/grub/x86_64/loader.h: Likewise.
27914
27915 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27916
1f4147aa 279172009-03-21 Bean <bean123ch@gmail.com>
27918
27919 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27920 instead of stat in mingw environment.
27921
27922 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27923
27924 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27925
27926 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27927 AC_CONFIG_LINKS.
27928
2156d5ba 279292009-03-21 Bean <bean123ch@gmail.com>
27930
27931 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27932 out of range error.
27933
177b82ca 279342009-03-18 Michel Dänzer <michel@daenzer.net>
27935
27936 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27937 checking inode flags for EXT4_EXTENTS_FLAG.
27938
14aad807 279392009-03-18 Robert Millan <rmh@aybabtu.com>
27940
27941 * loader/i386/linux.c: Include `<grub/video.h>' and
27942 `<grub/i386/pc/vbe.h>'..
27943 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27944 (grub_linux32_boot): Attempt to configure video settings with
27945 grub_linux_setup_video().
27946 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27947 to avoid grub_console_fini() which would step out of graphical mode
27948 unconditionally.
27949
8cf83a27 279502009-03-14 Robert Millan <rmh@aybabtu.com>
27951
27952 Fix build on powerpc.
27953 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27954
40164e75 279552009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27956
27957 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27958 background image command.
27959
c58bc32a 279602009-03-12 Colin D Bennett <colin@gibibit.com>
27961
27962 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27963 (grub_gfxterm_putchar): Extract pairs of identical calls to
27964 draw_cursor out of conditional blocks.
27965
5415144a 279662009-03-11 Pavel Roskin <proski@gnu.org>
27967
27968 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27969 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27970
6394042e 279712009-03-11 Robert Millan <rmh@aybabtu.com>
27972
27973 * loader/i386/multiboot_elfxx.c
27974 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27975
b7b50e5f 279762009-03-11 Felix Zielcke <fzielcke@z-51.de>
27977
27978 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27979 `kern/handler.c'.
27980
1ca7fc96 279812009-03-11 Robert Millan <rmh@aybabtu.com>
27982
27983 * loader/i386/multiboot.c (code_size): New variable.
27984 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 27985 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 27986 4-byte alignment to MBI and others by increasing
7d074e3c 27987 `boot_loader_name_length' appropriately.
1ca7fc96 27988
27989 * loader/i386/multiboot_elfxx.c
27990 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27991
a83ea1d2 279922009-03-09 Felix Zielcke <fzielcke@z-51.de>
27993
27994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27995 `fs/ext2.c'.
27996
aa9f3bff 279972009-03-08 Robert Millan <rmh@aybabtu.com>
27998
27999 Make loader/i386/linux.c usable on i386-pc again.
28000
28001 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
28002 memory to heap.
28003 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
28004 `#error' stanza.
28005
d8b3b60e 280062009-03-07 Bean <bean123ch@gmail.com>
28007
28008 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
28009 allocation.
28010
b362c9e9 280112009-03-06 Robert Millan <rmh@aybabtu.com>
28012
28013 Fix display issue on terminals with screen size other than 80x25
28014 (e.g. gfxterm with resolution higher than 640x480).
28015
28016 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 28017 position relative to the center of the terminal instead of relying
b362c9e9 28018 on a hardcoded offset.
28019
9304eef1 280202009-03-04 Robert Millan <rmh@aybabtu.com>
28021
28022 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
28023 installed.
28024
28025 * Makefile.in (host_kernel): New variable.
28026 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
28027 scripts instead of just the windows one.
28028 * configure.ac: Initialize and AC_SUBST `host_kernel'.
28029
eabc95fb 280302009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 28031
28032 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
28033 `kern/handler.c'.
28034 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28035 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28036 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28038 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28039 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28040
ceb1223c 280412009-03-04 Felix Zielcke <fzielcke@z-51.de>
28042
28043 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
28044 or if there's no space for the disk label and print the partition number on a
28045 invalid magic.
28046
4910684a 280472009-03-04 Felix Zielcke <fzielcke@z-51.de>
28048
28049 * util/misc.c: Include <time.h>.
28050 (grub_millisleep): New function.
28051
7e9ca17a 280522009-03-04 Bean <bean123ch@gmail.com>
28053
28054 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
28055 another option -mno-red-zone.
28056
28057 * commands/handler.c: Change module description.
28058
28059 * kern/handler.c: Add missing space at the end of description line.
28060
28061 * kern/list.c: Likewise.
28062
f501677c 280632009-03-03 Robert Millan <rmh@aybabtu.com>
28064
28065 Move more components to the relocation area, and fix mbi pointer
28066 handling to use the destination rather than the origin (thanks to
28067 Vladimir Serbinenko for spotting).
28068
28069 * loader/i386/multiboot.c (mbi_dest): New variable.
28070 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
28071 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
28072 relocation area.
28073
9902d047 280742009-03-01 Bean <bean123ch@gmail.com>
28075
50fb7002 28076 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 28077 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
28078 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
28079 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
28080
28081 * loader/i386/efi/linux.c (acpi_guid): New variable.
28082 (acpi_guid): Likewise.
28083 (EBDA_SEG_ADDR): New constant.
28084 (LOW_MEM_ADDR): Likewise.
28085 (FAKE_EBDA_SEG): Likewise.
28086 (fake_bios_data): New function.
28087 (grub_linux_boot): Call fake_bios_data.
28088
71b9f361 280892009-03-01 Bean <bean123ch@gmail.com>
28090
28091 * commands/terminal.c: Removed.
28092
28093 * commands/handler.c: New file.
28094
28095 * include/grub/list.h: Likewise.
28096
28097 * include/grub/handler.h: Likewise.
28098
28099 * kern/list.c: Likewise.
28100
28101 * kern/handler.c: Likewise.
28102
28103 * kern/term.h: Include header file <grub/handler.h>.
28104 (grub_term_input): Move next field to the beginning.
28105 (grub_term_output): Likewise.
28106 (grub_term_input_class): New variable.
28107 (grub_term_output_class): Likewise.
28108 (grub_term_register_input): Changed to inline function.
28109 (grub_term_register_output): Likewise.
28110 (grub_term_unregister_input): Likewise.
28111 (grub_term_unregister_output): Likewise.
28112 (grub_term_set_current_input): Likewise.
28113 (grub_term_set_current_output): Likewise.
28114 (grub_term_get_current_input): Likewise.
28115 (grub_term_get_current_output): Likewise.
28116 (grub_term_iterate_input): Removed.
28117 (grub_term_iterate_output): Likewise.
28118
28119 * kern/term.c (grub_term_list_input): Removed.
28120 (grub_term_list_output): Likewise.
28121 (grub_term_input_class): New variable.
28122 (grub_term_output_class): Likewise.
50fb7002 28123 (grub_cur_term_input): Change variable as macro.
71b9f361 28124 (grub_cur_term_output): Likewise.
28125 (grub_term_register_input): Removed.
28126 (grub_term_register_output): Likewise.
28127 (grub_term_unregister_input): Likewise.
28128 (grub_term_unregister_output): Likewise.
28129 (grub_term_set_current_input): Likewise.
28130 (grub_term_set_current_output): Likewise.
28131 (grub_term_iterate_input): Likewise.
28132 (grub_term_iterate_output): Likewise.
28133 (grub_term_get_current_input): Likewise.
28134 (grub_term_get_current_output): Likewise.
28135
28136 * util/grub-editenv.c: Include header file <grub/handler.h>.
28137 (grub_term_get_current_input): Removed.
28138 (grub_term_get_current_output): Likewise.
28139 (grub_term_input_class): New variable.
50fb7002 28140 (grub_term_output_class): Likewise.
71b9f361 28141
28142 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28143 (grub_term_get_current_output): Likewise.
28144 (grub_term_input_class): New variable.
50fb7002 28145 (grub_term_output_class): Likewise.
71b9f361 28146
28147 * util/grub-probe.c (grub_term_get_current_input): Removed.
28148 (grub_term_get_current_output): Likewise.
28149 (grub_term_input_class): New variable.
50fb7002 28150 (grub_term_output_class): Likewise.
71b9f361 28151
28152 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28153 (grub_term_get_current_output): Likewise.
28154 (grub_term_input_class): New variable.
50fb7002 28155 (grub_term_output_class): Likewise.
71b9f361 28156
28157 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28158 (terminal_mod_SOURCES): Likewise.
28159 (terminal_mod_CFLAGS): Likewise.
28160 (terminal_mod_LDFLAGS): Likewise.
28161
28162 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28163 handler.c.
28164 (kernel_img_SOURCES): Add list.c and handler.c.
28165 (kernel_img_HEADERS): Add list.h and handler.h.
28166
28167 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28168 handler.c.
28169 (kernel_mod_SOURCES): Add list.c and handler.c.
28170 (kernel_mod_HEADERS): Add list.h and handler.h.
28171
28172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28173 handler.c.
28174 (kernel_elf_SOURCES): Add list.c and handler.c.
28175 (kernel_elf_HEADERS): Add list.h and handler.h.
28176
28177 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28178 handler.c.
28179 (kernel_elf_SOURCES): Add list.c and handler.c.
28180 (kernel_elf_HEADERS): Add list.h and handler.h.
28181
28182 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28183 handler.c.
28184 (kernel_mod_SOURCES): Add list.c and handler.c.
28185 (kernel_mod_HEADERS): Add list.h and handler.h.
28186
28187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28188 handler.c.
28189 (kernel_elf_SOURCES): Add list.c and handler.c.
28190 (kernel_elf_HEADERS): Add list.h and handler.h.
28191
8a31787f 281922009-02-27 Robert Millan <rmh@aybabtu.com>
28193
28194 Factorize elf32 / elf64 code in Multiboot loader. This will
28195 prevent it from getting out of sync again.
28196
28197 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28198 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28199 grub_multiboot_load_elf64): Move from here ...
28200 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28201 grub_multiboot_load_elf): ... to here (new file).
28202
51cd3dfc 282032009-02-27 Robert Millan <rmh@aybabtu.com>
28204
28205 * util/grub.d/10_linux.in: Rename "single-user mode" to
28206 "recovery mode".
28207
6e8c9c3a 282082009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28209
28210 Don't leak in SCSI code.
28211 * disk/scsi.c (grub_scsi_close): free `scsi'.
28212
4b6bf4f9 282132009-02-27 Robert Millan <rmh@aybabtu.com>
28214
28215 * loader/i386/pc/multiboot.c: Move from here ...
28216 * loader/i386/multiboot.c: ... to here. Update all users.
28217
b9413424 282182009-02-27 Robert Millan <rmh@aybabtu.com>
28219
28220 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28221 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28222
50fb7002 282232009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 28224
28225 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28226 b-tree.
28227
8cc50345 282282009-02-27 Robert Millan <rmh@aybabtu.com>
28229
28230 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28231 `0x' qualifier as 0 when base is specified as parameter).
28232
6e09b8b7 282332009-02-24 Bean <bean123ch@gmail.com>
28234
28235 * configure.ac: Check for -mcmodel=large in x86_64 target.
28236
28237 * include/grub/efi/api.h (efi_call_10): New macro.
28238 (efi_wrap_10): New function.
28239
28240 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28241 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28242 (GRUB_PE32_REL_BASED_LOW): Likewise.
28243 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28244 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28245 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28246 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28247 (GRUB_PE32_REL_BASED_REL): Likewise.
28248 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28249 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28250 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28251
28252 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28253 issue.
28254
28255 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28256 (efi_wrap_10): New function.
28257
28258 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28259
28260 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28261 MB/MBP model (NV chipset).
28262 (devdata_devs): Add devpath_5 to the list.
28263
28264 * load/i386/efi/linux.c (video_base): Remove variable.
28265 (RGB_MASK): New macro.
28266 (RGB_MAGIC): Likewise.
28267 (LINE_MIN): Likewise.
28268 (LINE_MAX): Likewise.
28269 (FBTEST_STEP): Likewise.
28270 (FBTEST_COUNT): Likewise.
28271 (fb_list): New variable.
28272 (grub_find_video_card): Remove function.
28273 (find_framebuf): New function.
28274 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28275 line length.
28276
28277 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28278 problem for x86_64.
28279
74b21bee 282802009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28281
28282 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28283
28284 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28285 coding tool name.
28286
a455f472 282872009-02-22 Robert Millan <rmh@aybabtu.com>
28288
28289 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28290 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28291 in our relocation, instead of using it directly from heap. Also
28292 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28293
6374daf3 282942009-02-21 Robert Millan <rmh@aybabtu.com>
28295
28296 Implement USB keyboard support (based on patch by Marco Gerards)
28297
28298 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28299 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28300 (usb_keyboard_mod_LDFLAGS): New variables.
28301
28302 * term/usb_keyboard.c: New file.
28303
8fa4ea70 283042009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28305
28306 Corrected wrong declaration
28307
28308 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28309
353976ac 283102009-02-14 Christian Franke <franke@computer.org>
28311
28312 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28313 (grub_lspci_iter): Print class code and programming interface byte.
28314
6aa1169b 283152009-02-14 Christian Franke <franke@computer.org>
28316
28317 * gendistlist.sh: Ignore `.svn' directories.
28318
265372ca 283192009-02-14 Felix Zielcke <fzielcke@z-51.de>
28320
28321 * fs/fat.c: Add 2009 to Copyright line.
28322
9ff516f3 283232009-02-14 Christian Franke <franke@computer.org>
28324
28325 * commands/hdparm.c: New file. Provides `hdparm' command
28326 which sends ATA commands via grub_disk_ata_pass_through ().
28327
28328 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28329
28330 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28331 and <grub/cpu/io.h> to include/grub/ata.h.
28332 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28333 (GRUB_CDROM_SECTOR_SIZE): Remove.
28334 (GRUB_ATA_*): Move to include/grub/ata.h.
28335 (GRUB_ATAPI_*): Likewise.
28336 (enum grub_ata_commands): Likewise.
28337 (enum grub_ata_timeout_milliseconds): Likewise.
28338 (struct grub_ata_device): Likewise.
28339 (grub_ata_regset): Likewise.
28340 (grub_ata_regget): Likewise.
28341 (grub_ata_regset2): Likewise.
28342 (grub_ata_regget2): Likewise.
28343 (grub_ata_check_ready): Likewise.
28344 (grub_ata_wait_not_busy): Remove static, exported in
28345 include/grub/ata.h.
28346 (grub_ata_wait_drq): Likewise.
28347 (grub_ata_pio_read): Likewise.
28348
28349 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28350 function for hdparm.mod.
28351
28352 * include/grub/ata.h: New file, contains declarations from
28353 disk/ata.c.
28354 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28355
28356 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28357 (grub_disk_ata_pass_through): New exported variable.
28358
28359 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28360
772e23da 283612009-02-13 Colin D Bennett <colin@gibibit.com>
28362
28363 Support multiple fallback entries, and provide an API to support
28364 executing default+fallback menu entries. Renamed the `terminal' menu
28365 viewer to `text'.
28366
28367 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28368 variable declaration.
28369 (grub_menu_execute_callback): New structure declaration.
28370 (grub_menu_execute_callback_t): New typedef.
28371 (grub_menu_execute_with_fallback): New function declaration.
28372 (grub_menu_get_entry): Likewise.
28373 (grub_menu_get_timeout): Likewise.
28374 (grub_menu_set_timeout): Likewise.
28375
28376 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28377
28378 * normal/menu.c (grub_wait_after_message): Moved to
28379 `normal/menu_text.c'.
28380 (draw_border): Likewise.
28381 (print_message): Likewise.
28382 (print_entry): Likewise.
28383 (print_entries): Likewise.
28384 (grub_menu_init_page): Likewise.
28385 (get_entry_number): Likewise.
28386 (print_timeout): Likewise.
28387 (run_menu): Likewise.
28388 (grub_menu_execute_entry): Likewise.
28389 (show_text_menu): Likewise.
28390 (get_and_remove_first_entry_number): New function.
28391 (grub_menu_execute_with_fallback): Likewise.
28392 (get_entry): Renamed to ...
28393 (grub_menu_get_entry): .. this and made it global.
28394 (get_timeout): Renamed to ...
28395 (grub_menu_get_timeout): ... this and made it global.
28396 (set_timeout): Renamed to ...
28397 (grub_menu_set_timeout): ... this and made it global.
28398 (grub_normal_terminal_menu_viewer): Renamed to ...
28399 (grub_normal_text_menu_viewer): ... this.
28400
28401 * normal/menu_text.c: New file. Extracted text-menu-specific code
28402 from normal/menu.c.
28403
28404 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28405 (normal_mod_SOURCES): Likewise.
28406
28407 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28408 (normal_mod_SOURCES): Likewise.
28409
28410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28411 (normal_mod_SOURCES): Likewise.
28412
28413 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28414 (normal_mod_SOURCES): Likewise.
28415
28416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28417 (normal_mod_SOURCES): Likewise.
28418
28419 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28420 (normal_mod_SOURCES): Likewise.
28421
28422 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28423 (normal_mod_SOURCES): Likewise.
28424
16ac430e 284252009-02-11 Robert Millan <rmh@aybabtu.com>
28426
28427 * util/grub.d/00_header.in: Update old reference to `font' command.
28428
06ff20fc 284292009-02-10 Felix Zielcke <fzielcke@z-51.de>
28430
28431 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28432
28433 Based on patch from Javier Martín.
28434
96da9407 284352009-02-09 Felix Zielcke <fzielcke@z-51.de>
28436
28437 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 28438 to avoid false positives with FAT.
96da9407 28439 (grub_fstest_SOURCES): Likewise.
28440 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28441 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28443 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28444 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28445 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28446
6dca6fe4 284472009-02-09 Felix Zielcke <fzielcke@z-51.de>
28448
06ff20fc 28449 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 28450 bpb.version_specific.fat12_or_fat16.fstype and
28451 bpb.version_specific.fat32.fstype.
28452
2550c62f 284532009-02-08 Robert Millan <rmh@aybabtu.com>
28454
be110b30 28455 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 28456
56978920 284572009-02-08 Robert Millan <rmh@aybabtu.com>
28458
28459 * Makefile.in (host_os, host_cpu): New variables.
28460 (target_os): Remove. Update all users.
28461
d64399b5 284622009-02-08 Marco Gerards <marco@gnu.org>
28463
28464 * Makefile.in (enable_grub_emu_usb): New variable.
28465 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28466 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28467 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28468 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28469 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28470 `usbtest.mod' and `usbms.mod'.
28471 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28472 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28473 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28474 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28475 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28476 variables.
28477
28478 * disk/usbms.c: New file.
28479
28480 * include/grub/usb.h: Likewise.
28481
28482 * include/grub/usbtrans.h: Likewise.
28483
28484 * include/grub/usbdesc.h: Likewise.
28485
28486 * bus/usb/usbtrans.c: Likewise.
28487
28488 * bus/usb/ohci.c: Likewise.
28489
28490 * bus/usb/uhci.c: Likewise.
28491
28492 * bus/usb/usbhub.c: Likewise.
28493
28494 * bus/usb/usb.c: Likewise.
28495
28496 * commands/usbtest.c: Likewise.
28497
28498 * util/usb.c: Likewise.
50fb7002 28499
d64399b5 28500 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28501
28502 * configure.ac: Test for libusb presence.
50fb7002 28503
d64399b5 28504 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28505
2b40d6bb 285062009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28507
28508 * kern/mm.c: Add more comments.
28509
73a4ce81 285102009-02-08 Robert Millan <rmh@aybabtu.com>
28511
28512 Patch from Javier Martín.
28513 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28514 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28515
f821ce59 285162009-02-08 Robert Millan <rmh@aybabtu.com>
28517
28518 * fs/cpio.c: Split tar functionality to ...
28519 * fs/tar.c: ... here (new file). Update all users.
28520
aebfc4b0 285212009-02-07 Robert Millan <rmh@aybabtu.com>
28522
28523 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28524 backward-incompatible features.
28525
28526 Based on patch from Javier Martín, with some adjustments.
28527
50fb7002 285282009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 28529
28530 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28531
0bb5115e 285322009-02-07 Robert Millan <rmh@aybabtu.com>
28533
28534 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28535 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28536 after the RAID stuff.
28537
38a0f8e7 285382009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28539
50fb7002 28540 Fixes problem when running vbetest command as reported by
38a0f8e7 28541 Vladimir Serbinenko <phcoder@gmail.com>.
28542
28543 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28544
3143cc1c 285452009-02-04 Felix Zielcke <fzielcke@z-51.de>
28546
28547 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28548 /dev/md/NpN style mdraid devices.
28549
9cba6fce 285502009-02-03 Felix Zielcke <fzielcke@z-51.de>
28551
28552 * util/unifont2pff.rb: Remove.
28553
e507a2c1 285542009-02-03 Felix Zielcke <fzielcke@z-51.de>
28555
28556 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28557 `#'.
28558
d2c2b4cd 285592009-02-03 Felix Zielcke <fzielcke@z-51.de>
28560
28561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28562 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28563 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28564 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28566 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28568
b4315fb0 285692009-02-02 Christian Franke <franke@computer.org>
28570
28571 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28572
de3aa260 285732009-02-01 Felix Zielcke <fzielcke@z-51.de>
28574
7c3ff286 28575 * INSTALL: Note that we now require at least autoconf 2.59 and
28576 that LZO is optional.
de3aa260 28577
825a182b 285782009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28579
28580 Base on patch on bug #24154 created by Tomas Tintera
28581 <trosos@seznam.cz>.
28582
28583 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28584
a69ef770 285852009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28586
7c3ff286 28587 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 28588 <bero@arklinux.org>.
28589
28590 * normal/parser.y (script_init): Add missing semicolon.
28591
6fa42fa6 285922009-01-31 Colin D Bennett <colin@gibibit.com>
28593
7c3ff286 28594 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 28595 (free_menu_entry_classes): Added.
28596 (grub_normal_menu_addentry): Added class property handling.
28597 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28598 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28599
28600 * normal/menu_viewer.c: New file.
28601
28602 * normal/menu.c (run_menu_entry): Renamed to ...
28603 (grub_menu_execute_entry): ... this and made it as global.
28604 (grub_menu_run): Renamed to ...
28605 (show_text_menu): ... this and made it local.
28606 (show_text_menu): Adapt to new function names.
28607 (grub_normal_terminal_menu_viewer): New global variable.
28608
28609 * include/grub/menu.h: New file.
28610
28611 * include/grub/menu_viewer.h: New file.
28612
28613 * include/grub/normal.h: Added include to grub/menu.h.
28614 (grub_menu_entry): Moved to include/grub/menu.h.
28615 (grub_menu_entry_t): Likewise.
28616 (grub_menu): Likewise.
28617 (grub_menu_t): Likewise.
28618 (grub_normal_terminal_menu_viewer): Added.
28619 (grub_menu_execute_entry): Likewise.
28620 (grub_menu_run): Removed.
28621
28622 * DISTLIST: Added include/grub/menu.h.
28623 Added include/grub/menu_viewer.h.
28624 Added normal/menu_viewer.c.
28625
286262009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28627
28628 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28629 arglist for menutitle arguments.
28630
28631 * normal/main.c (grub_normal_menu_addentry): Likewise.
28632
28633 * normal/parser.y (menuentry): Likewise.
28634
28635 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28636
28637 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28638 (grub_script_create_cmdmenu): Likewise.
28639
28640 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28641
28642 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28643 changes.
28644
28645 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28646
28647 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28648
28649 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28650
28651 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28652
28653 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28654
28655 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28656
56192c23 286572009-01-30 Christian Franke <franke@computer.org>
28658
28659 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28660 in option help text.
28661
d72521b3 286622009-01-27 Pavel Roskin <proski@gnu.org>
28663
28664 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28665
994b5e84 286662009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28667
28668 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28669
28670 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28671
28672 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28673 unregister function.
28674
6a7eab2c 286752009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28676
28677 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28678
28679 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28680
28681 * util/grub-mkfont.c (usage): Fix typo.
28682
28683 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28684
1806b56e 286852009-01-26 Daniel Mierswa <impulze@impulze.org>
28686
3fb18f09 28687 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28688
336e1fb9 28689 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28690
1806b56e 28691 * kern/misc.c (grub_strcasecmp): New function.
28692 (grub_strcasecmp): Use grub_size_t instead of int for length.
28693 Fix return value.
28694 * include/grub/misc.h: Update function prototypes.
28695
580b2a0f 286962009-01-26 Robert Millan <rmh@aybabtu.com>
28697
28698 * configure.ac: Fix cross-compilation check.
ef257b36 28699
d31c24f1 287002009-01-22 Christian Franke <franke@computer.org>
28701
28702 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28703 (precision) digit string. Allow `.format2' without `format1' (width).
28704 Limit input chars for `%s' output to `format2' if specified. This is
28705 compatible with standard printf ().
28706
3138b44c 287072009-01-22 Christian Franke <franke@computer.org>
28708
28709 * disk/ata.c (grub_ata_wait_status): Replace by ...
28710 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28711 other status bits may be invalid while BSY is asserted.
28712 (grub_ata_check_ready): New function.
28713 (grub_ata_cmd): Removed.
28714 (grub_ata_wait_drq): New function.
28715 (grub_ata_strncpy): Remove inline.
28716 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28717 and error check now done by grub_ata_wait_drq ().
28718 (grub_ata_pio_write): Likewise.
28719 (grub_atapi_identify): Set DEV before check for !BSY. Use
28720 grub_ata_wait_drq () to wait for data.
28721 (grub_ata_device_initialize): Add status register check to
28722 detect missing SATA slave devices. Add debug messages.
28723 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28724 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28725 transfer loop by grub_ata_pio_write ().
28726 (grub_ata_identify): Set DEV before check for !BSY. Use
28727 grub_ata_wait_drq () to wait for data.
ef257b36 28728 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 28729 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28730 read/write in one loop. Fix invalid command on write. Fix incomplete
28731 command on (size % batch) == 0. Add missing error check after write of
28732 last block. Add debug messages.
28733 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28734
59a64ef6 287352009-01-19 Christian Franke <franke@computer.org>
28736
28737 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28738 (GRUB_ATAPI_IREASON_*): Likewise.
28739 (grub_ata_pio_write): Fix timeout error return.
28740 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28741 (grub_atapi_wait_drq): New function.
28742 (grub_atapi_packet): New parameter `size'.
28743 Use grub_atapi_wait_drq () and direct write instead of
28744 grub_ata_pio_write ().
28745 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28746 reads the number of bytes requested by the device for each DRQ
28747 assertion.
28748 (grub_atapi_write): Remove old implementation, return not
28749 implemented instead.
28750
1cfe20b3 287512009-01-19 Christian Franke <franke@computer.org>
28752
28753 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28754 of 512 to calculate data size.
28755 (grub_scsi_read12): Likewise.
28756 (grub_scsi_write10): Likewise.
28757 (grub_scsi_write12): Likewise.
28758 (grub_scsi_read): Adjust size according to blocksize.
28759 Add checks for invalid blocksize and unaligned transfer.
28760
bee5fe5d 287612009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28762
28763 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28764
ef257b36 28765 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 28766 width glyphs.
28767
3e643f8c 287682009-01-19 Robert Millan <rmh@aybabtu.com>
28769
28770 * config.guess: Update to latest version from config git.
28771 * config.sub: Likewise.
28772
4fa80998 287732009-01-17 Felix Zielcke <fzielcke@z-51.de>
28774
28775 * Makefile.in: Change font compilation to use new grub-mkfont instead
28776 of java version.
28777
28778 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28779 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28780 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28781 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28782 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28783 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28784 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28785 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28786 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28787
7086085b 287882009-01-16 Christian Franke <franke@computer.org>
28789
28790 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28791 (enum grub_ata_timeout_milliseconds): New enum.
28792 (grub_ata_wait_status): Add parameter milliseconds.
28793 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28794 recovery from timed-out commands.
28795 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28796 return grub_errno instead of REG_ERROR.
28797 (grub_ata_pio_write): Add parameter milliseconds.
28798 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28799 Pass milliseconds to grub_ata_wait_status () and
28800 grub_ata_pio_read ().
28801 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28802 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28803 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28804 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28805 It is not suitable for device detection, because DEV bit is ignored,
28806 the command may run too long, and not all devices set the signature
28807 properly.
28808 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28809 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28810 Fix device selection, DEV bit must be set first to address the registers
28811 of the correct device.
28812 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28813 grub_ata_pio_read/write ().
28814 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28815 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28816
4a412913 288172009-01-13 Carles Pina i Estany <carles@pina.cat>
28818
28819 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28820
7795c55e 288212009-01-13 Bean <bean123ch@gmail.com>
d913988c 28822
28823 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28824
7795c55e 288252009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 28826
28827 * Makefile.in: (enable_grub_mkfont): New variable.
28828 (freetype_cflags): Likewise.
28829 (freetype_libs): Likewise.
28830
28831 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28832 (grub_mkfont_SOURCES): New variable.
28833 (grub_mkfont_CFLAGS): Likewise.
28834 (grub_mkfont_LDFLAGS): Likewise.
28835
28836 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28837 library if `--enable-grub-mkfont' is requested.
28838 (enable_grub_mkfont): New variable.
28839 (freetype_cflags): Likewise.
28840 (freetype_libs): Likewise.
28841
28842 * util/grub-mkfont.c: New file.
28843
093af1fe 288442009-01-12 Christian Franke <franke@computer.org>
28845
28846 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28847 mode check. Fix setting of compat_use[].
28848
f36cc108 288492009-01-10 Robert Millan <rmh@aybabtu.com>
28850
28851 Update a few copyright years which we forgot to do in 2008 (only for
28852 files whose changes made in 2008 were copyright-significant)
28853
28854 * Makefile.in: Add 2008 to Copyright line.
28855 * disk/ieee1275/ofdisk.c: Likewise.
28856 * disk/efi/efidisk.c: Likewise.
28857 * kern/dl.c: Likewise.
28858 * kern/sparc64/ieee1275/init.c: Likewise.
28859 * kern/mm.c: Likewise.
28860 * kern/efi/mm.c: Likewise.
28861 * boot/i386/pc/boot.S: Likewise.
28862 * genfslist.sh: Likewise.
28863 * fs/iso9660.c: Likewise.
28864 * fs/hfs.c: Likewise.
28865 * fs/jfs.c: Likewise.
28866 * fs/minix.c: Likewise.
28867 * fs/ufs.c: Likewise.
28868 * gensymlist.sh.in: Likewise.
28869 * genkernsyms.sh.in: Likewise.
28870 * include/grub/misc.h: Likewise.
28871 * include/grub/types.h: Likewise.
28872 * include/grub/symbol.h: Likewise.
28873 * include/grub/elf.h: Likewise.
28874 * include/grub/kernel.h: Likewise.
28875 * include/grub/disk.h: Likewise.
28876 * include/grub/dl.h: Likewise.
28877 * include/grub/i386/linux.h: Likewise.
28878 * include/grub/i386/pc/biosdisk.h: Likewise.
28879 * include/grub/efi/api.h: Likewise.
28880 * include/grub/efi/pe32.h: Likewise.
28881 * include/grub/util/misc.h: Likewise.
28882 * normal/execute.c: Likewise.
28883 * normal/arg.c: Likewise.
28884 * normal/completion.c: Likewise.
28885 * normal/lexer.c: Likewise.
28886 * normal/parser.y: Likewise.
28887 * normal/misc.c: Likewise.
28888 * commands/i386/pc/vbeinfo.c: Likewise.
28889 * commands/hexdump.c: Likewise.
28890 * commands/terminal.c: Likewise.
28891 * commands/ls.c: Likewise.
28892 * commands/help.c: Likewise.
28893 * partmap/pc.c: Likewise.
28894 * loader/efi/chainloader.c: Likewise.
28895 * loader/multiboot_loader.c: Likewise.
28896 * loader/i386/pc/multiboot2.c: Likewise.
28897 * term/efi/console.c: Likewise.
28898 * term/i386/pc/serial.c: Likewise.
28899 * util/lvm.c: Likewise.
28900 * util/console.c: Likewise.
28901 * util/i386/efi/grub-mkimage.c: Likewise.
28902 * util/raid.c: Likewise.
28903
7f02114b 289042009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28905
28906 * commands/videotest.c: Removed include to grub/machine/memory.h.
28907
28908 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28909 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28910 (video_mod_SOURCES): Removed.
28911 (video_mod_CFLAGS): Likewise.
28912 (video_mod_LDFLAGS): Likewise.
28913 (gfxterm_mod_SOURCES): Likewise.
28914 (gfxterm_mod_CFLAGS): Likewise.
28915 (gfxterm_mod_LDFLAGS): Likewise.
28916 (videotest_mod_SOURCES): Likewise.
28917 (videotest_mod_CFLAGS): Likewise.
28918 (videotest_mod_LDFLAGS): Likewise.
28919 (bitmap_mod_SOURCES): Likewise.
28920 (bitmap_mod_CFLAGS): Likewise.
28921 (bitmap_mod_LDFLAGS): Likewise.
28922 (tga_mod_SOURCES): Likewise.
28923 (tga_mod_CFLAGS): Likewise.
28924 (tga_mod_LDFLAGS): Likewise.
28925 (jpeg_mod_SOURCES): Likewise.
28926 (jpeg_mod_CFLAGS): Likewise.
28927 (jpeg_mod_LDFLAGS): Likewise.
28928 (png_mod_SOURCES): Likewise.
28929 (png_mod_CFLAGS): Likewise.
28930 (png_mod_LDFLAGS): Likewise.
28931
28932 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28933 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28934 (video_mod_SOURCES): Added.
28935 (video_mod_CFLAGS): Likewise.
28936 (video_mod_LDFLAGS): Likewise.
28937 (videotest_mod_SOURCES): Likewise.
28938 (videotest_mod_CFLAGS): Likewise.
28939 (videotest_mod_LDFLAGS): Likewise.
28940 (bitmap_mod_SOURCES): Likewise.
28941 (bitmap_mod_CFLAGS): Likewise.
28942 (bitmap_mod_LDFLAGS): Likewise.
28943 (tga_mod_SOURCES): Likewise.
28944 (tga_mod_CFLAGS): Likewise.
28945 (tga_mod_LDFLAGS): Likewise.
28946 (jpeg_mod_SOURCES): Likewise.
28947 (jpeg_mod_CFLAGS): Likewise.
28948 (jpeg_mod_LDFLAGS): Likewise.
28949 (png_mod_SOURCES): Likewise.
28950 (png_mod_CFLAGS): Likewise.
28951 (png_mod_LDFLAGS): Likewise.
28952 (gfxterm_mod_SOURCES): Likewise.
28953 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 28954 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 28955
28956 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28957 grub/machine/console.h.
28958
644fff97 289592009-01-04 Jerone Young <jerone@gmail.com>
28960
28961 Make on screen instructions clearer
28962
28963 Based on patch created by Jidanni <jidanni@jidanni.org>
28964
28965 * normal/menu.c: print clearer instructions on the screen
28966
1e901a75 289672009-01-02 Colin D Bennett <colin@gibibit.com>
28968
28969 New font engine.
34c44600 28970
1e901a75 28971 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28972 build system and fixed gfxterm.c to work with different sized fonts.
28973
28974 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 28975
1e901a75 28976 * configure: Re-generated.
34c44600 28977
1e901a75 28978 * DISTLIST: Removed font/manager.c.
28979 Added font/font.c.
28980 Added font/font_cmd.c.
34c44600 28981
1e901a75 28982 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28983 compilation.
34c44600 28984
1e901a75 28985 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 28986
28987 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 28988
28989 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 28990
1e901a75 28991 * normal/menu.c: Likewise.
34c44600 28992
1e901a75 28993 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28994 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 28995
1e901a75 28996 * include/grub/font.h: Replaced with new file.
34c44600 28997
1e901a75 28998 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28999 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
29000 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
29001 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
29002 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 29003 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 29004 fg_red, fg_green, fg_blue, fg_alpha.
29005 (grub_video_adapter): Removed blit_glyph.
34c44600 29006 (grub_video_blit_glyph): Removed.
29007
1e901a75 29008 * font/manager.c: Removed file.
34c44600 29009
29010 * font/font.c: New file.
29011
1e901a75 29012 * font/font_cmd.c: Likewise.
34c44600 29013
1e901a75 29014 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 29015
1e901a75 29016 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
29017 (grub_video_vbe_map_rgba): Likewise.
29018 (grub_video_vbe_unmap_color_int): Likewise.
29019 (grub_video_vbe_blit_glyph): Removed.
29020 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 29021
1e901a75 29022 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
29023 (get_pixel): Likewise.
34c44600 29024 (set_pixel): Likewise.
29025
1e901a75 29026 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 29027
1e901a75 29028 * term/gfxterm.c: Adapted to new font engine.
34c44600 29029
1e901a75 29030 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 29031
1e901a75 29032 * term/i386/pc/vga.c: Likewise.
34c44600 29033
1e901a75 29034 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 29035
1e901a75 29036 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 29037
1e901a75 29038 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29039
1e901a75 29040 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29041
1e901a75 29042 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 29043
1e901a75 29044 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 29045
1e901a75 29046 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 29047
1e901a75 29048 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 29049
1e901a75 29050 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29051
29052 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 29053
1e901a75 29054 * util/grub-mkconfig_lib.in: Changed font extension.
29055
278922e8 290562008-12-28 Felix Zielcke <fzielcke@z-51.de>
29057
29058 * util/getroot.c (grub_util_get_grub_dev): Add support for
29059 /dev/md/dNNpNN style partitionable mdraid devices.
29060
3ced05cf 290612008-12-12 Alex Smith <alex@alex-smith.me.uk>
29062
29063 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
29064 at a time limit of the PXE TFTP API correctly.
29065 (grub_pxefs_close): Likewise.
29066
7fd0ee30 290672008-11-29 Robert Millan <rmh@aybabtu.com>
29068
34c44600 29069 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 29070 grub_ata_device_initialize() calls.
29071
34c44600 290722008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 29073
29074 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
29075 iteration failed.
29076 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
29077
89313780 290782008-11-28 Robert Millan <rmh@aybabtu.com>
29079
29080 Fix build on powerpc-ieee1275. Based on patch created by
29081 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
29082 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29083 `kern/ieee1275/mmap.c'.
29084 * include/grub/powerpc/ieee1275/memory.h: New file.
29085
15257703 29086 Provide grub-install on coreboot.
29087 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
29088 (grub_install_SOURCES): New variable.
29089 * util/i386/pc/grub-install.in: Add a few condition checks to make it
29090 usable on coreboot.
29091
9fc5388a 290922008-11-25 Felix Zielcke <fzielcke@z-51.de>
29093
29094 * util/grub-fstest.c (grub_term_get_current_input): Change return type
29095 to `grub_term_input_t'.
29096 (grub_term_get_current_output): Change return type to
29097 `grub_term_output_t'.
29098
bc3a2f31 290992008-11-22 Robert Millan <rmh@aybabtu.com>
29100
34c44600 29101 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 29102 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
29103 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
29104 grub_vga_text_cls().
29105
80fc88f2 29106 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 29107 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 29108
cbf36fd3 29109 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
29110 to 0x200000 (avoids trouble with some OFW implementations, and matches
29111 with the one in Yaboot).
29112 Reported by Manoel Abranches
29113
73e8e268 291142008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 29115
29116 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
29117 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
29118
73e8e268 29119 * util/grub-mkconfig_lib.in (grub_warn): New function.
29120 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29121 warnings, to obtain consistent formatting.
29122 * util/grub.d/00_header.in: Likewise.
29123 * util/update-grub_lib.in: Likewise.
29124
e94045a1 29125 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 29126 Move comment text to `#error' stanza.
e94045a1 29127
79d29fd7 29128 Harmonize ieee1275's grub_available_iterate() with the generic
29129 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29130 build problem on i386-ieee1275):
29131 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29132 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29133 parameter `type'. Update all users of this function.
29134 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29135 `kern/ieee1275/mmap.c'.
29136 * kern/ieee1275/init.c
29137 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29138 with ...
29139 (grub_machine_mmap_iterate): ... this.
29140 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29141 return type to `grub_err_t'. Update all implementations of this
29142 function prototype.
29143 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29144 Likewise.
29145
60d6b16e 29146 Add `lsmmap' command (lists firmware-provided memory map):
29147 * commands/lsmmap.c: New file.
29148 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29149 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29150 variables.
29151 * conf/powerpc-ieee1275.rmk: Likewise.
29152 * conf/i386-coreboot.rmk: Likewise.
29153 * conf/i386-ieee1275.rmk: Likewise.
29154
ebaaf49b 291552008-11-19 Robert Millan <rmh@aybabtu.com>
29156
29157 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 29158 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29159 constraints to initrd allocation (based on code from
29160 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29161 for Linux to find it.
ebaaf49b 29162
dfab719f 291632008-11-14 Robert Millan <rmh@aybabtu.com>
29164
29165 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29166 order to cope with duplicate slashes.
29167
10fc3eb9 291682008-11-14 Robert Millan <rmh@aybabtu.com>
29169
29170 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29171 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29172 don't want to mess with lower memory, because it is used in the Linux
29173 loader.
29174
29175 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 29176 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 29177 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29178 is in our heap (probably as a result of it being corrupted during
2f2a3442 29179 decompression). Add #error instance with comment to explain why this
29180 loader isn't currently usable on PC/BIOS.
10fc3eb9 29181
e2e07847 291822008-11-14 Robert Millan <rmh@aybabtu.com>
29183
29184 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 29185 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 29186
fe8e8d69 291872008-11-12 Robert Millan <rmh@aybabtu.com>
29188
29189 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29190
29191 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29192 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29193 from here ...
29194 * include/grub/i386/pc/memory.h: ... to here.
29195
976b07d0 291962008-11-12 Robert Millan <rmh@aybabtu.com>
29197
29198 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29199 split).
29200
29201 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29202 (grub_console_cur_color, grub_console_real_putchar)
29203 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29204 (grub_console_setcolorstate, grub_console_setcolor)
29205 (grub_console_getcolor): Move from here ...
29206 * include/grub/i386/vga_common.h: ... to here (new file).
29207
29208 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29209 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29210 `<grub/i386/io.h>'.
29211 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29212 `<grub/i386/vga_common.h>'.
29213
76679cd3 292142008-11-12 Robert Millan <rmh@aybabtu.com>
29215
29216 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29217 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29218 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29219 variables.
29220 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29221 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29222
29223 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29224 grub_console_init() with call to grub_vga_text_init().
29225 (grub_machine_fini): Replace call to
29226 grub_console_fini() with call to grub_vga_text_fini() and
29227 grub_at_keyboard_fini().
29228
29229 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29230 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29231 (grub_console_setcolorstate, grub_console_setcolor)
29232 (grub_console_getcolor): New function prototypes.
29233
29234 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29235 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29236 (grub_vga_text_setcursor): Static-ize.
29237 (grub_vga_text_term): New structure.
29238 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29239
29240 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29241 (grub_console_cur_color, grub_console_standard_color)
29242 (grub_console_normal_color, grub_console_highlight_color)
29243 (map_char, grub_console_putchar, grub_console_getcharwidth)
29244 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29245 (grub_console_getcolor): Move from here ...
29246 * term/i386/vga_common.c: ... to here (same function names).
29247
95b841d3 292482008-11-12 Robert Millan <rmh@aybabtu.com>
29249
29250 Use newly-added Multiboot support in coreboot.
29251
29252 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29253 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29254
29255 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29256 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29257 (codestart): Store the MBI in `startup_multiboot_info' when we're
29258 being loaded using Multiboot.
29259
29260 * kern/i386/coreboot/init.c (grub_machine_init): Move
29261 grub_at_keyboard_init() call to beginning of function (useful for
29262 debugging). Call grub_machine_mmap_init() before attempting to use
29263 grub_machine_mmap_iterate().
29264 (grub_lower_mem, grub_upper_mem): Move from here ...
29265 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29266 here (new file).
29267
29268 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29269 function prototype.
29270
761ca975 292712008-11-12 Robert Millan <rmh@aybabtu.com>
29272
29273 Fix a regression introduced by the at_keyboard.mod split. Because
29274 some terminals are default on some platforms and non-default on
29275 others, the first terminal being registered determines which is
29276 going to be default.
29277
29278 * kern/term.c (grub_term_register_input): If this is the first
29279 terminal being registered, set it as the current one.
29280 (grub_term_register_output): Likewise.
29281
29282 * term/efi/console.c (grub_console_init): Do not call
29283 grub_term_set_current_output() or grub_term_set_current_input().
29284 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29285 * term/i386/pc/console.c (grub_console_init): Likewise.
29286 (grub_console_fini): Do not call grub_term_set_current_input()
29287 (but leave grub_term_set_current_output() to restore text mode).
29288
6c529df7 292892008-11-10 Robert Millan <rmh@aybabtu.com>
29290
29291 * util/grub.d/00_header.in: Add backward compatibility check for
29292 versions of terminal.mod that don't understand `terminal_input' or
29293 `terminal_output'.
29294
132e4113 292952008-11-09 Robert Millan <rmh@aybabtu.com>
29296
29297 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29298 `terminal_input' / `terminal_output', not `terminal'.
29299
ac293d50 293002008-11-08 Robert Millan <rmh@aybabtu.com>
29301
29302 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 29303 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 29304
0025933a 293052008-11-08 Robert Millan <rmh@aybabtu.com>
29306
29307 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 29308 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 29309 members. Update all users.
29310 * util/console.c (grub_ncurses_term): Split in ...
29311 (grub_ncurses_term_input): ... this, and ...
29312 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 29313 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 29314
37c86336 293152008-11-08 Robert Millan <rmh@aybabtu.com>
29316
29317 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29318 (PKGDATA): Add $(pkgdata_SRCDIR).
29319 (pkglib_BUILDDIR): New variable.
29320 (pkgdata_SRCDIR): New variable.
29321 (build_env.mk): New target.
29322 (include_DATA): New variable.
29323 (install-local): Install $(include_DATA) files in $(includedir).
29324
b6c15a2d 293252008-11-07 Pavel Roskin <proski@gnu.org>
29326
d99d46f1 29327 * gendistlist.sh: Use C locale for sorting to ensure consistent
29328 output on all systems.
29329
b6c15a2d 29330 * util/grub.d/00_header.in: Remove incorrect space before
29331 "serial".
29332
c32ee8c9 293332008-11-07 Robert Millan <rmh@aybabtu.com>
29334
29335 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29336 per specification.
29337 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29338 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29339 (based on find_multi_boot1_header).
29340 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29341 using find_multi_boot2_header(), and abort if neither Multiboot or
29342 Multiboot headers were found.
29343
651c29b7 293442008-11-07 Robert Millan <rmh@aybabtu.com>
29345
29346 Modularize at_keyboard.mod:
29347
29348 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29349 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29350 (at_keyboard_mod_LDFLAGS): New variables.
29351
29352 Actual terminal split:
29353
29354 * include/grub/term.h (struct grub_term): Split in ...
29355 (struct grub_term_input): ... this, and ...
29356 (struct grub_term_output): ... this. Update all users.
29357 (grub_term_set_current): Split in ...
29358 (grub_term_set_current_input): ... this, and ...
29359 (grub_term_set_current_output): ... this.
29360 (grub_term_get_current): Split in ...
29361 (grub_term_get_current_input): ... this, and ...
29362 (grub_term_get_current_output): ... this.
29363 (grub_term_register): Split in ...
29364 (grub_term_register_input): ... this, and ...
29365 (grub_term_register_output): ... this.
29366 (grub_term_unregister): Split in ...
29367 (grub_term_unregister_input): ... this, and ...
29368 (grub_term_unregister_output): ... this.
29369 (grub_term_iterate): Split in ...
29370 (grub_term_iterate_input): ... this, and ...
29371 (grub_term_iterate_output): ... this.
29372
29373 * kern/term.c (grub_term_list): Split in ...
29374 (grub_term_list_input): ... this, and ...
29375 (grub_term_list_output): ... this. Update all users.
29376 (grub_cur_term): Split in ...
29377 (grub_cur_term_input): ... this, and ...
29378 (grub_cur_term_output): ... this. Update all users.
29379 (grub_term_set_current): Split in ...
29380 (grub_term_set_current_input): ... this, and ...
29381 (grub_term_set_current_output): ... this.
29382 (grub_term_get_current): Split in ...
29383 (grub_term_get_current_input): ... this, and ...
29384 (grub_term_get_current_output): ... this.
29385 (grub_term_register): Split in ...
29386 (grub_term_register_input): ... this, and ...
29387 (grub_term_register_output): ... this.
29388 (grub_term_unregister): Split in ...
29389 (grub_term_unregister_input): ... this, and ...
29390 (grub_term_unregister_output): ... this.
29391 (grub_term_iterate): Split in ...
29392 (grub_term_iterate_input): ... this, and ...
29393 (grub_term_iterate_output): ... this.
29394
29395 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29396 a check for input and one for output (and only attempt to get keys
29397 from user when input works).
29398
29399 * util/grub-probe.c (grub_term_get_current): Split in ...
29400 (grub_term_get_current_input): ... this, and ...
29401 (grub_term_get_current_output): ... this.
29402 * util/grub-fstest.c: Likewise.
29403 * util/i386/pc/grub-setup.c: Likewise.
29404 * util/grub-editenv.c: Likewise.
29405
29406 Portability adjustments:
29407
29408 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29409 `term/i386/pc/at_keyboard.c'.
29410 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29411 grub_keyboard_controller_init() (now handled by terminal .init).
29412 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29413 grub_at_keyboard_init().
29414 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29415 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29416 at_keyboard.mod via input terminal interface).
29417 * include/grub/i386/coreboot/console.h: Convert into a stub for
29418 `<grub/i386/pc/console.h>'.
29419
29420 Migrate full terminals to new API:
29421
29422 * term/efi/console.c (grub_console_term): Split into ...
29423 (grub_console_term_input): ... this, and ...
29424 (grub_console_term_output): ... this. Update all users.
29425 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29426 (grub_ofconsole_init): Split into ...
29427 (grub_ofconsole_init_input): ... this, and ...
29428 (grub_ofconsole_init_output): ... this.
29429 (grub_ofconsole_term): Split into ...
29430 (grub_ofconsole_term_input): ... this, and ...
29431 (grub_ofconsole_term_output): ... this. Update all users.
29432 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29433 (grub_serial_term_input): ... this, and ...
29434 (grub_serial_term_output): ... this. Update all users.
29435 * term/i386/pc/console.c (grub_console_term): Split into ...
29436 (grub_console_term_input): ... this, and ...
29437 (grub_console_term_output): ... this. Update all users.
29438 (grub_console_term_input): Only enable it on PC/BIOS platform.
29439 (grub_console_init): Remove grub_keyboard_controller_init() call.
29440
29441 Migrate input terminals to new API:
29442
29443 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29444 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29445 i386-specific anyway).
29446 (grub_console_checkkey): Rename to ...
29447 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29448 users.
29449 (grub_keyboard_controller_orig): New variable.
29450 (grub_console_getkey): Rename to ...
29451 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29452 users.
29453 (grub_keyboard_controller_init): Static-ize. Save original
29454 controller value so that it can be restored ...
29455 (grub_keyboard_controller_fini): ... here (new function).
29456 (grub_at_keyboard_term): New structure.
29457 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29458 functions.
29459
29460 Migrate output terminals to new API:
29461
29462 * term/i386/pc/vga.c (grub_vga_term): Change type to
29463 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29464 members. Update all users.
29465 * term/gfxterm.c (grub_video_term): Change type to
29466 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29467 members. Update all users.
29468 * include/grub/i386/pc/console.h (grub_console_checkkey)
29469 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29470 etc).
29471
29472 Migrate `terminal' command and userland tools to new API:
29473
29474 * commands/terminal.c (grub_cmd_terminal): Split into ...
29475 (grub_cmd_terminal_input): ... this, and ...
29476 (grub_cmd_terminal_output): ... this.
29477 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29478 `terminal_input' and `terminal_output'.
29479 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29480 `terminal_input' / `terminal_output' API.
29481 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29482 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29483 provided ${GRUB_TERMINAL}, convert it).
29484
96e5d876 294852008-11-04 Robert Millan <rmh@aybabtu.com>
29486
29487 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29488 for FreeBSD.
29489 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29490
556f3775 294912008-11-03 Bean <bean123ch@gmail.com>
29492
29493 * kern/elf.c (grub_elf32_load): Revert to previous code.
29494 (grub_elf64_load): Likewise.
29495
29496 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29497
926b9823 294982008-11-01 Robert Millan <rmh@aybabtu.com>
29499
29500 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29501 (TARGET_CPPFLAGS): Likewise.
29502 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29503
1432e958 295042008-11-01 Carles Pina i Estany <carles@pina.cat>
29505
29506 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29507
dba3f844 295082008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 29509
29510 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29511 addition of objects until the code is not going to be able to fail.
29512
dba3f844 295132008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 29514
29515 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29516 (add a missing NULL check, and correct them by moving the pointer
29517 operations after the actual check).
29518
7ab28c21 295192008-10-29 Robert Millan <rmh@aybabtu.com>
29520
29521 * util/i386/pc/grub-install.in: Handle empty string as output from
29522 make_system_path_relative_to_its_root().
29523
1b7748eb 295242008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29525
29526 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29527 circular metadata worst case scenario. If the metadata is circular
29528 then copy the wrap in place.
29529 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29530 project lib/format_text/layout.h
29531 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29532
c9618ab2 295332008-10-03 Felix Zielcke <fzielcke@z-51.de>
29534
7a36edca 29535 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 29536
bf981c62 295372008-10-03 Felix Zielcke <fzielcke@z-51.de>
29538
29539 * util/update-grub_lib.in: Mention filename in warning message.
29540
6d994591 295412008-09-29 Felix Zielcke <fzielcke@z-51.de>
29542
29543 * NEWS: Update for rename of update-grub to grub-mkconfig.
29544
18ade780 295452008-09-29 Felix Zielcke <fzielcke@z-51.de>
29546
29547 * util/update-grub_lib.in: Copy to ...
29548 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 29549 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 29550 * util/update-grub.in: Rename to ...
29551 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29552 option. Add `--output' option to allow users to specify the generated
29553 configuration file. Default to stdout.
29554 (update_grub_dir): Rename to ...
29555 (grub_mkconfig_dir): ... this.
29556 (grub_cfg): Default to an empty string.
29557 * conf/common.rmk (update-grub): Rename to ...
29558 (grub-mkconfig): ... this.
29559 (update-grub_lib): Copy to ...
29560 (grub-mkconfig_lib): ... this.
29561 (update-grub_SCRIPTS): Copy to ...
29562 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29563 (update-grub_DATA): Rename to ...
29564 (grub-mkconfig_DATA): ... this.
29565
556ce6ac 295662008-09-28 Robert Millan <rmh@aybabtu.com>
29567
29568 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29569 to `modified'. Add the real `created' field.
29570 (grub_iso9660_uuid): Use `modified' rather than `created' for
29571 constructing the UUID.
29572
295732008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 29574
29575 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29576 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29577
92274e85 295782008-09-28 Bean <bean123ch@gmail.com>
29579
29580 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29581 Thanks to Christian Franke for finding this bug.
29582
add6f17a 295832008-09-25 Robert Millan <rmh@aybabtu.com>
29584
29585 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29586 instances of grub_util_get_disk_name() (see previous commit).
29587
d2a367b8 295882008-09-25 Robert Millan <rmh@aybabtu.com>
29589
29590 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29591 `util/i386/get_disk_name.c'.
29592 * conf/i386-efi.rmk: Likewise.
29593 * conf/x86_64-efi.rmk: Likewise.
29594 * conf/i386-coreboot.rmk: Likewise.
29595 * conf/i386-ieee1275.rmk: Likewise.
29596 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29597 `util/ieee1275/get_disk_name.c'.
29598 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29599 * util/ieee1275/get_disk_name.c: Remove file.
29600 * util/i386/get_disk_name.c: Remove file.
29601 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29602 "hd%d" for device.map entries, rather than using
29603 grub_util_get_disk_name().
29604
81a06771 296052008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 29606
29607 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29608 warning.
29609 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29610
5a004279 296112008-09-24 Carles Pina i Estany <carles@pina.cat>
29612
29613 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29614 Changed to 0x5100.
29615 (GRUB_TERM_PPAGE): Changed to 0x4900.
29616
397093d3 296172008-09-24 Robert Millan <rmh@aybabtu.com>
29618
29619 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29620 macros (they were i386-pc specific).
29621 * include/grub/sparc64/ieee1275/console.h: Likewise.
29622 * include/grub/efi/console.h: Likewise.
29623
a91b6c7c 296242008-09-22 Bean <bean123ch@gmail.com>
29625
29626 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29627 resident and in attribute list.
29628
29629 * include/grub/ntfs.h (BMP_LEN): Removed.
29630
c40fd116 296312008-09-22 Bean <bean123ch@gmail.com>
29632
81a06771 29633 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 29634 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29635
29636 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29637 error occurs, as grub_disk_open will call grub_disk_close, which will
29638 call p->close (scsi).
29639
81a06771 296402008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 29641
29642 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29643 (AC_PREREQ): Bumped to 2.59.
29644 (AC_TRY_COMPILE): Replace obsolete macro with ...
29645 (AC_COMPILE_IFELSE): ... this.
29646 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29647 (AC_LINK_IFELSE): ... this.
29648
5dc43410 296492008-09-21 Felix Zielcke <fzielcke@z-51.de>
29650
29651 * autogen.sh: Add a call to `gendistlist.sh'.
29652
9035dce4 296532008-09-19 Christian Franke <franke@computer.org>
29654
29655 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29656 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29657 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29658 Export __enable_execute_stack() to modules.
29659 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29660 New function.
29661
7fd75377 296622008-09-09 Felix Zielcke <fzielcke@z-51.de>
29663
040030b3 29664 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29665 Sort the list.
29666
296672008-09-09 Felix Zielcke <fzielcke@z-51.de>
29668
29669 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 29670 #include <grub/util/hostdisk.h>.
29671
89d5ffcf 296722008-09-08 Robert Millan <rmh@aybabtu.com>
29673
29674 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29675 segments when their filesz is zero (grub_file_read() interprets
81a06771 29676 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 29677 Use `lowest_segment' rather than 0 for calculating the current
29678 segment load address.
29679
40da438f 296802008-09-08 Robert Millan <rmh@aybabtu.com>
29681
29682 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29683 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29684 clobbered useful information.
29685
ddbf5556 296862008-09-08 Robert Millan <rmh@aybabtu.com>
29687
29688 * include/grub/util/biosdisk.h: Move to ...
29689 * include/grub/util/hostdisk.h: ... here. Update all users.
29690 * util/biosdisk.c: Move to ...
29691 * util/hostdisk.c: ... here. Update all users.
29692
783d0f48 296932008-09-07 Robert Millan <rmh@aybabtu.com>
29694
29695 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29696 variables.
29697 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29698 and length can be stored directly in the `mbi->mmap_addr' and
29699 `mbi->mmap_length' struct fields.
29700
548e2ea5 297012008-09-07 Robert Millan <rmh@aybabtu.com>
29702
29703 * conf/i386.rmk: New file. Provides declaration for building
29704 `cpuid.mod'.
29705 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29706 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29707 variables.
29708 Include `conf/i386.mk'.
29709 * conf/i386-efi.rmk: Likewise.
29710 * conf/x86_64-efi.rmk: Likewise.
29711 * conf/i386-coreboot.rmk: Likewise.
29712 * conf/i386-ieee1275.rmk: Likewise.
29713
0ea85a37 297142008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29715
29716 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29717 Adds optimization support for BGR based modes.
29718
29719 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29720 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29721 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29722 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29723 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29724 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29725 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29726 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29727 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29728 (grub_video_i386_vbeblit_index_index): Likewise.
29729 (grub_video_i386_vbeblit_replace_directN): Added.
29730 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29731 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29732 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29733 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29734 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29735 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 29736 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 29737 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29738 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29739 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29740 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29741 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29742 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29743
29744 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29745 (grub_video_i386_vbefill_R8G8B8): Likewise.
29746 (grub_video_i386_vbefill_index): Likewise.
29747 (grub_video_i386_vbefill_direct32): Added.
29748 (grub_video_i386_vbefill_direct24): Likewise.
29749 (grub_video_i386_vbefill_direct16): Likewise.
29750 (grub_video_i386_vbefill_direct8): Likewise.
29751
81a06771 29752 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 29753 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29754 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29755 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29756 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29757 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 29758
0ea85a37 29759 * video/video.c (grub_video_get_blit_format): Updated to use new
29760 blit formats. Added handling for 16 bit color modes.
81a06771 29761
29762 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 29763 fillers.
29764 (common_blitter): Updated to use new blitters.
29765
29766 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29767 Removed.
29768 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29769 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29770 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29771 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29772 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29773 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29774 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29775 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29776 (grub_video_i386_vbeblit_index_index): Likewise.
29777 (grub_video_i386_vbeblit_replace_directN): Added.
29778 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29779 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29780 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29781 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29782 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29783 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29784 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29785 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29786 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29787 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29788 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29789 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29790 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 29791
0ea85a37 29792 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29793 (grub_video_i386_vbefill_R8G8B8): Likewise.
29794 (grub_video_i386_vbefill_index): Likewise.
29795 (grub_video_i386_vbefill_direct32): Added.
29796 (grub_video_i386_vbefill_direct24): Likewise.
29797 (grub_video_i386_vbefill_direct16): Likewise.
29798 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 29799
0ea85a37 29800 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29801 types.
81a06771 29802
0ea85a37 29803 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29804 types.
81a06771 29805
0ea85a37 29806 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29807 blitter types.
81a06771 29808
0ea85a37 29809 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29810 types.
29811
e8a83df6 298122008-09-06 Felix Zielcke <fzielcke@z-51.de>
29813
29814 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29815 RAID level 1.
29816
6bcd8ee5 298172008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 29818
6bcd8ee5 29819 * fs/iso9660.c (grub_iso9660_date): New structure.
29820 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29821 (grub_iso9660_uuid): New function.
c375ae58 29822
59261157 298232008-09-05 Bean <bean123ch@gmail.com>
29824
29825 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29826
29827 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29828 insensitive bit for names in Win32 and Win32 & DOS namespace.
29829
29830 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29831
29832 * include/grub/types.h (LONG_MAX): Likewise.
29833
58b6645a 298342008-09-04 Felix Zielcke <fzielcke@z-51.de>
29835
4ee55921 29836 * util/getroot.c: Include <config.h>.
29837 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29838 add support for /dev/md/N devices and handle LVM double dash escaping.
29839
298402008-09-04 Felix Zielcke <fzielcke@z-51.de>
29841
29842 * config.guess: Update to latest version from config git.
29843 * config.sub: Likewise.
58b6645a 29844
9124f65d 298452008-09-03 Robert Millan <rmh@aybabtu.com>
29846
29847 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29848 `disk->total_sectors'.
29849
81a06771 298502008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 29851
29852 * include/grub/normal.h: Fixed incorrect comment for
29853 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29854
81a06771 298552008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 29856
29857 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29858 values with defines.
29859
29860 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29861 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29862 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29863 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29864 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29865 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29866 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29867 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29868 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29869 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29870 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29871 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29872 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29873 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29874 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29875 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29876 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29877 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29878 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29879
93d5cbf8 298802008-08-31 Robert Millan <rmh@aybabtu.com>
29881
29882 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29883 declaration.
29884 (grub_multiboot): Fix a few warnings.
29885
21751d50 298862008-08-31 Robert Millan <rmh@aybabtu.com>
29887
29888 * loader/i386/pc/multiboot.c: Update comment not to say that
29889 boot_device support is unimplemented.
29890
e27a75c5 298912008-08-31 Robert Millan <rmh@aybabtu.com>
29892
29893 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29894 or memory map support are unimplemented.
29895
81a06771 298962008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 29897
29898 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29899
81a06771 299002008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 29901
29902 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29903 total video memory in 'vbeinfo' output; show color format details for
29904 each video mode.
29905
7c5d8d95 299062008-08-30 Pavel Roskin <proski@gnu.org>
29907
29908 * util/genmoddep.c: Remove for real this time.
29909 * DISTLIST: Remove util/genmoddep.c.
29910
4cebd25a 299112008-08-30 Robert Millan <rmh@aybabtu.com>
29912
29913 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29914 as required by Multiboot spec (it was already 4-byte aligned, but
29915 only by chance).
29916
b497a269 299172008-08-29 Pavel Roskin <proski@gnu.org>
29918
e3925185 29919 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29920 * kern/powerpc/ieee1275/startup.S: ... this.
29921 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29922 * DISTLIST: Likewise.
29923
b497a269 29924 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29925 grub/cpu/kernel.h. Add start label for consistency with other
29926 platforms. Add grub_prefix immediately after start. Add jump
29927 to the code after grub_prefix.
29928 * include/grub/powerpc/kernel.h: Provide valid values for
29929 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29930
6e5a42fe 299312008-08-29 Bean <bean123ch@gmail.com>
29932
29933 * configure.ac: Change host_os to cygwin for mingw.
29934 (asprintf): New check for function.
29935
29936 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29937 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29938
29939 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 29940 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 29941 sync, sleep and grub_util_get_disk_size for mingw.
29942
29943 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29944 to get size in mingw.
29945 (open_device): Use flag O_BINARY if it's defined.
29946 (find_root_device): Add dummy code for mingw.
29947
29948 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29949 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29950 (get_scsi_disk_name): Return 0 for mingw.
29951
29952 * util/hostfs.c: #include <grub/util/misc.h>.
29953 (grub_hostfs_open): Use "rb" flag to open file, use
29954 grub_util_get_disk_size to get disk size for mingw.
29955
29956 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29957 (asprintf): New function if HAVE_ASPRINTF is not set.
29958 (sync): New function for mingw.
29959 (sleep): Likewise.
29960 (grub_util_get_disk_size): Likewise.
29961
ab3f2673 299622008-08-28 Pavel Roskin <proski@gnu.org>
29963
29964 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29965 kern/time.c.
29966
1c282483 299672008-08-28 Robert Millan <rmh@aybabtu.com>
29968
29969 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29970
678e849c 299712008-08-28 Robert Millan <rmh@aybabtu.com>
29972
29973 Change find_grub_drive() syntax so it doesn't prevent it from
29974 detecting NULL names as errors.
29975
29976 * util/biosdisk.c (find_grub_drive): Move free slot search code
29977 from here ...
29978 (find_free_slot): ... to here.
29979 (read_device_map): Use find_free_slot() to search for free slots.
29980
965c75ca 299812008-08-27 Marco Gerards <marco@gnu.org>
29982
29983 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29984 (scsi_mod_SOURCES): New variable.
29985 (scsi_mod_CFLAGS): Likewise
29986 (scsi_mod_LDFLAGS): Likewise.
29987
29988 * disk/scsi.c: New file.
29989
29990 * include/grub/scsi.h: Likewise.
29991
29992 * include/grub/scsicmd.h: Likewise.
29993
29994 * disk/ata.c: Include <grub/scsi.h>.
29995 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29996 instead.
29997 (grub_ata_iterate): Skip ATAPI devices.
29998 (grub_ata_open): Only handle ATAPI devices.
29999 (struct grub_atapi_read): Removed.
30000 (grub_atapi_readsector): Likewise.
30001 (grub_ata_read): No longer handle ATAPI devices.
30002 (grub_ata_write): Likewise.
30003 (grub_atapi_iterate): New function.
30004 (grub_atapi_read): Likewise.
30005 (grub_atapi_write): Likewise.
30006 (grub_atapi_open): Likewise.
30007 (grub_atapi_close): Likewise.
30008 (grub_atapi_dev): New variable.
30009 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
30010 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
30011
30012 * include/grub/disk.h (enum grub_disk_dev_id): Add
30013 `GRUB_DISK_DEVICE_SCSI_ID'.
30014
c07ae501 300152008-08-26 Robert Millan <rmh@aybabtu.com>
30016
30017 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
30018 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
30019 descriptive.
30020
5ed20adc 300212008-08-23 Bean <bean123ch@gmail.com>
30022
30023 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
30024 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30025 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
30026 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
30027 dm_nv.mod.
30028 (raid5rec_mod_SOURCES): New macro.
30029 (raid5rec_mod_CFLAGS): Likewise.
30030 (raid5rec_mod_LDFLAGS): Likewise.
30031 (raid6rec_mod_SOURCES): Likewise.
30032 (raid6rec_mod_CFLAGS): Likewise.
30033 (raid6rec_mod_LDFLAGS): Likewise.
30034 (mdraid_mod_SOURCES): Likewise.
30035 (mdraid_mod_CFLAGS): Likewise.
30036 (mdraid_mod_LDFLAGS): Likewise.
30037 (dm_nv_mod_SOURCES): Likewise.
30038 (dm_nv_mod_CFLAGS): Likewise.
30039 (dm_nv_mod_LDFLAGS): Likewise.
30040
30041 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
30042 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30043 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30044
30045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
30046 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30047
30048 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30049
30050 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30051
30052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30053
30054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30055
30056 * disk/raid5_recover.c: New file.
30057
30058 * disk/raid6_recover.c: Likewise.
30059
30060 * disk/mdraid_linux.c: Likewise.
30061
30062 * disk/dmraid_nvidia.c: Likewise.
30063
30064 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
30065 ULONG_MAX.
30066
30067 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
30068 calculate the size of raid device.
30069 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
30070 different layout of raid5.
30071 (grub_raid_scan_device): Remove code specific to mdraid.
30072 (grub_raid_list): New variable.
30073 (free_array): New function.
30074 (grub_raid_register): Likewise.
30075 (grub_raid_unregister): Likewise.
30076 (grub_raid_rescan): Likewise.
30077 (GRUB_MOD_INIT): Don't iterate device here.
30078 (GRUB_MOD_FINI): Use free_array to release resource.
30079
30080 * include/grub/raid.h: Remove macro and structure specific to mdraid.
30081 (grub_raid5_recover_func_t): New function variable type.
30082 (grub_raid6_recover_func_t): Likewise.
30083 (grub_raid5_recover_func): New variable.
30084 (grub_raid6_recover_func): Likewise.
30085 (grub_raid_register): New function.
30086 (grub_raid_unregister): Likewise.
30087 (grub_raid_rescan): Likewise.
30088 (grub_raid_block_xor): Likewise.
30089
30090 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
30091 (CMD_CRC): New macro.
30092 (part): Removed.
30093 (read_file): Handle device as well as file.
30094 (cmd_crc): New function.
30095 (fstest): Handle multiple disks.
30096 (options): Remove part, raw and long, add root and diskcount.
30097 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 30098 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 30099 add handling for the new options, support multiple disks.
30100
30101 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
30102
29c18915 301032008-08-23 Bean <bean123ch@gmail.com>
30104
30105 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
30106
30107 * genfslist.sh: Ignore kernel.mod.
30108
30109 * genpartmaplist.sh: Likewise.
30110
8415f261 301112008-08-23 Robert Millan <rmh@aybabtu.com>
30112
30113 * util/getroot.c (find_root_device): Skip anything that starts with
30114 a dot, not just directories. This avoids things like /dev/.tmp.md0.
30115
d5a7dc5b 301162008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 30117
d5a7dc5b 30118 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30119 * util/grub.d/00_header.in: Allow the administrator to change default
30120 gfxmode via ${GRUB_GFXMODE}.
30121
380cfbb4 301222008-08-21 Felix Zielcke <fzielcke@z-51.de>
30123
30124 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30125
c9baafe7 301262008-08-21 Robert Millan <rmh@aybabtu.com>
30127
30128 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30129 loader.
30130 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30131 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30132
e290bef2 301332008-08-20 Carles Pina i Estany <carles@pina.cat>
30134
30135 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30136 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30137
f9dbfc96 301382008-08-19 Robert Millan <rmh@aybabtu.com>
30139
30140 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30141 (struct grub_virtual_screen): Remove `cursor_color'.
30142 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30143 initialization.
30144 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30145
dd6bd6ab 301462008-08-18 Robert Millan <rmh@aybabtu.com>
30147
30148 Unify (identical) linux_normal.c files.
30149 * loader/i386/efi/linux_normal.c: Move from here ...
30150 * loader/linux_normal.c: ... to here. Update all users.
30151 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30152 * loader/i386/ieee1275/linux_normal.c: Likewise.
30153
7f42f83e 301542008-08-18 Robert Millan <rmh@aybabtu.com>
30155
30156 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30157 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30158 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30159 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30160 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30161 New macros.
30162 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30163 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30164 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30165 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30166 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30167 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30168 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30169 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30170 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30171 portably using grub_getxy().
30172 Replace `-EFI' with `-bzImage' in boot message.
30173
38487ddb 301742008-08-17 Robert Millan <rmh@aybabtu.com>
30175
30176 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30177
deceb3ec 301782008-08-17 Robert Millan <rmh@aybabtu.com>
30179
30180 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30181
30182 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30183 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30184 (grub_machine_mmap_iterate): New function declaration.
30185 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30186 structure.
30187 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30188 macros.
30189
30190 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30191 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30192 Move e820 parsing from here ...
30193 * kern/i386/pc/mmap.c: New file.
30194 (grub_machine_mmap_iterate): ... to here.
30195
30196 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30197 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30198 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30199 (grub_available_iterate): Redeclare to return `void', and redeclare
30200 its hook to use grub_uint64_t as addr and size parameters, and rename
30201 to ...
30202 (grub_machine_mmap_iterate): ... this. Update all users.
30203
30204 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30205 to make it more readable. Rename to ...
30206 (grub_machine_mmap_iterate): ... this.
30207
30208 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30209 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30210 (grub_multiboot): Allocate an extra region after the payload, and fill
30211 it with a Multiboot memory map. Adjust a.out loader to calculate size
30212 with the extra space.
30213 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30214 with the extra space.
30215
f8aa0f43 302162008-08-17 Carles Pina i Estany <carles@pina.cat>
30217
9807deb9 30218 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 30219
605f5bb6 302202008-08-17 Felix Zielcke <fzielcke@z-51.de>
30221
30222 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30223 mdate-sh to the list `find' searches for.
30224 * DISTLIST: Regenerated.
30225
210db6c6 302262008-08-16 Felix Zielcke <fzielcke@z-51.de>
30227
30228 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30229 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 30230 genmoddep.awk, gensymlist.sh.in.
30231 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 30232 * DISTLIST: Regenerated.
48cdbfd4 30233 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 30234
1082b929 302352008-08-16 Robert Millan <rmh@aybabtu.com>
30236
30237 * disk/raid.c (grub_raid_init): Handle/report errors set by
30238 grub_device_iterate().
30239 * disk/lvm.c (grub_lvm_init): Likewise.
30240
42ce5170 302412008-08-15 Bean <bean123ch@gmail.com>
30242
30243 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30244 and datehook.mod.
30245 (datetime_mod_SOURCES): New macro.
30246 (datetime_mod_CFLAGS): Likewise.
30247 (datetime_mod_LDFLAGS): Likewise.
30248 (date_mod_SOURCES): Likewise.
30249 (date_mod_CFLAGS): Likewise.
30250 (date_mod_LDFLAGS): Likewise.
30251 (datehook_mod_SOURCES): Likewise.
30252 (datehook_mod_CFLAGS): Likewise.
30253 (datehook_mod_LDFLAGS): Likewise.
30254
30255 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30256 and datehook.mod.
30257 (datetime_mod_SOURCES): New macro.
30258 (datetime_mod_CFLAGS): Likewise.
30259 (datetime_mod_LDFLAGS): Likewise.
30260 (date_mod_SOURCES): Likewise.
30261 (date_mod_CFLAGS): Likewise.
30262 (date_mod_LDFLAGS): Likewise.
30263 (datehook_mod_SOURCES): Likewise.
30264 (datehook_mod_CFLAGS): Likewise.
30265 (datehook_mod_LDFLAGS): Likewise.
30266
30267 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30268 and datehook.mod.
30269 (datetime_mod_SOURCES): New macro.
30270 (datetime_mod_CFLAGS): Likewise.
30271 (datetime_mod_LDFLAGS): Likewise.
30272 (date_mod_SOURCES): Likewise.
30273 (date_mod_CFLAGS): Likewise.
30274 (date_mod_LDFLAGS): Likewise.
30275 (datehook_mod_SOURCES): Likewise.
30276 (datehook_mod_CFLAGS): Likewise.
30277 (datehook_mod_LDFLAGS): Likewise.
30278
30279 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30280 and datehook.mod.
30281 (datetime_mod_SOURCES): New macro.
30282 (datetime_mod_CFLAGS): Likewise.
30283 (datetime_mod_LDFLAGS): Likewise.
30284 (date_mod_SOURCES): Likewise.
30285 (date_mod_CFLAGS): Likewise.
30286 (date_mod_LDFLAGS): Likewise.
30287 (datehook_mod_SOURCES): Likewise.
30288 (datehook_mod_CFLAGS): Likewise.
30289 (datehook_mod_LDFLAGS): Likewise.
30290
30291 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30292 and datehook.mod.
30293 (datetime_mod_SOURCES): New macro.
30294 (datetime_mod_CFLAGS): Likewise.
30295 (datetime_mod_LDFLAGS): Likewise.
30296 (date_mod_SOURCES): Likewise.
30297 (date_mod_CFLAGS): Likewise.
30298 (date_mod_LDFLAGS): Likewise.
30299 (datehook_mod_SOURCES): Likewise.
30300 (datehook_mod_CFLAGS): Likewise.
30301 (datehook_mod_LDFLAGS): Likewise.
30302
30303 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30304
30305 * commands/date.c: New file.
30306
30307 * hook/datehook.c: Likewise.
30308
30309 * include/grub/lib/datetime.h: Likewise.
30310
30311 * include/grub/i386/cmos.h: Likewise.
30312
30313 * lib/datetime.c: Likewise.
30314
30315 * lib/i386/datetime.c: Likewise.
30316
30317 * lib/efi/datetime.c: Likewise.
30318
0e9242da 303192008-08-14 Robert Millan <rmh@aybabtu.com>
30320
30321 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30322 (grub_mkelfimage_SOURCES): New variable.
30323 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30324
30325 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30326 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30327 * conf/powerpc-ieee1275.rmk: Likewise.
30328 * conf/i386-ieee1275.rmk: Likewise.
30329
30330 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30331 * kern/i386/coreboot/init.c: Likewise.
30332
30333 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30334 with `<grub/cpu/kernel.h>'.
30335 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30336 to ...
30337 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30338 * kern/i386/coreboot/startup.S: Likewise.
30339
30340 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30341 (GRUB_MOD_GAP): Remove.
30342 * include/grub/powerpc/kernel.h: New file.
30343 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30344 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30345 * include/grub/i386/kernel.h: New file.
30346 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30347 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30348 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30349
30350 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30351 `grub-mkelfimage'.
30352 Use --directory when invoking grub_mkimage.
30353
30354 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30355 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30356 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30357 and GRUB_KERNEL_CPU_PREFIX.
30358
b86408f8 303592008-08-14 Felix Zielcke <fzielcke@z-51.de>
30360
d5e619ca 30361 * include/grub/err.h (grub_err_printf): New function prototype.
30362 * util/misc.c (grub_err_printf): New function.
30363 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30364 grub_printf.
30365 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 30366
7161f0e0 303672008-08-13 Robert Millan <rmh@aybabtu.com>
30368
30369 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30370
a1967522 303712008-08-13 Robert Millan <rmh@aybabtu.com>
30372
30373 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30374 boot entry.
30375
371458b5 303762008-08-12 Robert Millan <rmh@aybabtu.com>
30377
30378 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30379 of the relocation code from here ...
30380 (grub_multiboot): ... to here.
30381 (forward_relocator, backward_relocator): Move from here ...
30382 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30383 (grub_multiboot_backward_relocator): ... to here.
30384 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30385 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30386 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30387 (grub_multiboot_forward_relocator_end)
30388 (grub_multiboot_backward_relocator)
30389 (grub_multiboot_backward_relocator_end): New variables.
30390
05f9452b 303912008-08-12 Bean <bean123ch@gmail.com>
30392
30393 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30394
20024ab0 303952008-08-11 Robert Millan <rmh@aybabtu.com>
30396
30397 * kern/i386/linuxbios/startup.S: Move from here ...
30398 * kern/i386/coreboot/startup.S: ... to here.
30399
30400 * kern/i386/linuxbios/init.c: Move from here ...
30401 * kern/i386/coreboot/init.c: ... to here.
30402
30403 * kern/i386/linuxbios/table.c: Move from here ...
30404 * kern/i386/coreboot/mmap.c: ... to here.
30405
30406 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30407
e352e9cd 304082008-08-11 Robert Millan <rmh@aybabtu.com>
30409
30410 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30411 errors. Leave it to the upper layer to handle them.
30412
2d05bc6a 304132008-08-09 Christian Franke <franke@computer.org>
30414
30415 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30416 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30417 Install `grub.d/10_windows' only on Cygwin.
30418 * configure.ac: Add subst of `target_os'.
30419 Check `target_os' also before setting TARGET_OBJ2ELF.
30420 Add `--enable-grub-pe2elf'.
30421
042bd419 304222008-08-08 Robert Millan <rmh@aybabtu.com>
30423
30424 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30425 (grub_last_time): Change type to grub_uint64_t.
30426 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30427 (grub_disk_close): Likewise.
30428
30429 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30430 (run_menu): Migrate code from to using grub_get_time_ms().
30431
30432 * util/misc.c (grub_get_time_ms): New function.
30433
7f280db5 304342008-08-08 Marco Gerards <marco@gnu.org>
30435
30436 * disk/ata.c (grub_ata_regget): Change return type to
30437 `grub_uint8_t'.
30438 (grub_ata_regget2): Likewise.
30439 (grub_ata_wait_status): New function.
30440 (grub_ata_wait_busy): Removed function, updated all users to use
30441 `grub_ata_wait_status'.
30442 (grub_ata_wait_drq): Likewise.
30443 (grub_ata_cmd): New function.
30444 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30445 error handling.
30446 (grub_ata_pio_write): Add error handling.
30447 (grub_atapi_identify): Likewise.
30448 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30449 handling.
30450 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30451 handling. Actually use the detected registers. Reorder the
30452 detection logic such that it is easier to read.
30453 (grub_ata_pciinit): Do not assign the same ID to each controller.
30454 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30455 handling.
30456 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30457
30458 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30459
1fbc5e66 304602008-08-08 Marco Gerards <marco@gnu.org>
30461
30462 * NEWS: Update.
30463
819ce6c0 304642008-08-07 Bean <bean123ch@gmail.com>
30465
30466 * include/grub/x86_64/pci.h: New file.
30467
5c41d44d 304682008-08-07 Christian Franke <franke@computer.org>
30469
30470 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30471 (TIMER2_GATE): Likewise.
30472 (grub_pit_wait): Add enable/disable of the timer2 gate
30473 bit of port 0x61. This fixes a possible infinite loop.
30474
5ebc275d 304752008-08-07 Bean <bean123ch@gmail.com>
30476
30477 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30478 kern/i386/tsc.c and kern/i386/pit.c.
30479
30480 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30481 x86_64 platform.
30482
30483 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30484 <grub/i386/tsc.h>.
30485
30486 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30487
e383b3d0 304882008-08-07 Bean <bean123ch@gmail.com>
30489
30490 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30491
30492 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30493
30494 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30495 multiple inclusion. Add #include <grub/types.h>.
30496
1cbb58ac 304972008-08-06 Christian Franke <franke@computer.org>
30498
30499 * conf/common.rmk: Build and install `10_windows'.
30500 * util/grub.d/10_windows.in: New script.
30501
337f5a1e 305022008-08-06 Pavel Roskin <proski@gnu.org>
30503
30504 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30505
057bc4ac 305062008-08-06 Robert Millan <rmh@aybabtu.com>
30507
30508 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30509 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30510
2b99f123 305112008-08-06 Bean <bean123ch@gmail.com>
30512
30513 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30514 (grub_pxefs_fs_int): Remove dummy definition.
30515 (grub_pxefs_open): Use data->block_size to store the current block
30516 size setting.
30517 (grub_pxefs_read): Use block size stored in data->block_size. As the
30518 value of grub_pxe_blksize can be changed after the file is opened.
30519
9f0234cb 305202008-08-06 Bean <bean123ch@gmail.com>
30521
30522 * fs/i386/pc/pxe.c (curr_file): new variable.
30523 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30524 require the dummy internal file system anymore.
30525 (grub_pxefs_read): Removed.
30526 (grub_pxefs_close): Likewise.
30527 (grub_pxefs_fs_int): Likewise.
30528 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30529 connection when we switch file.
30530 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30531
a55d42e0 305322008-08-06 Robert Millan <rmh@aybabtu.com>
30533
30534 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30535 `halt.mod'.
30536 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30537 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30538
30539 * kern/i386/halt.c: New file.
30540 * kern/i386/reboot.c: Likewise.
30541 * include/grub/i386/reboot.h: Likewise.
30542 * include/grub/i386/halt.h: Likewise.
30543
30544 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30545 Include `<grub/cpu/halt.h>'.
30546 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30547 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30548
30549 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30550 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30551 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30552 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30553 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30554 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30555 from here ...
30556 * include/grub/i386/at_keyboard.h: ... to here.
30557
24371d26 305582008-08-05 Robert Millan <rmh@aybabtu.com>
30559
30560 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30561 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30562 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30563 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30564 `kern/generic/millisleep.c'.
30565
30566 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30567 instead of grub_get_rtc().
30568 (grub_tsc_init): Initialize `tsc_boot_time'.
30569
30570 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30571 (grub_machine_init): Use grub_tsc_init() rather than
30572 installing an RTC-based handler via grub_install_get_time_ms().
30573
30574 * kern/i386/pit.c: New file.
30575 * include/grub/i386/pit.h: Likewise.
30576
9e7007b3 305772008-08-05 Bean <bean123ch@gmail.com>
30578
30579 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30580
30581 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30582 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30583 (pxe_mod_SOURCES): New macro.
30584 (pxe_mod_CFLAGS): Likewise.
30585 (pxe_mod_LDFLAGS): Likewise.
30586 (pxecmd_mod_SOURCES): Likewise.
30587 (pxecmd_mod_CFLAGS): Likewise.
30588 (pxecmd_mod_LDFLAGS): Likewise.
30589
30590 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30591 (grub_pxe_call): Likewise.
30592
30593 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30594
30595 * commands/i386/pc/pxecmd.c: New file.
30596
9f0234cb 30597 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 30598
30599 * include/grub/i386/pc/pxe.h: Likewise.
30600
6977d49f 306012008-08-05 Bean <bean123ch@gmail.com>
30602
30603 * util/console.c (grub_console_cur_color): New variable.
30604 (grub_console_standard_color): Likewise.
30605 (grub_console_normal_color): Likewise.
30606 (grub_console_highlight_color): Likewise.
30607 (color_map): Likewise.
30608 (use_color): Likewise.
30609 (NUM_COLORS): New macro.
30610 (grub_ncurses_setcolorstate): Handle color properly.
30611 (grub_ncurses_setcolor): Don't change color here, just remember the
30612 settings, color will be set in grub_ncurses_setcolorstate.
30613 (grub_ncurses_getcolor): New function.
30614 (grub_ncurses_init): Initialize color pairs.
30615 (grub_ncurses_term): New member grub_ncurses_getcolor.
30616
9c2ff3ee 306172008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 30618
9c2ff3ee 30619 High resolution timer support. Implemented for x86 CPUs using TSC.
30620 Extracted generic grub_millisleep() so it's linked in only as needed.
30621 This requires a Pentium compatible CPU; if the RDTSC instruction is
30622 not supported, then it falls back on the generic grub_get_time_ms()
30623 implementation that uses the machine's RTC.
30624
30625 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30626 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30627 `kern/generic/millisleep.c'.
30628
30629 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30630 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30631
30632 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30633 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30634
30635 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30636
30637 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30638 `kern/generic/millisleep.c'.
30639
30640 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30641
30642 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30643
30644 * kern/generic/rtc_get_time_ms.c: New file.
30645
30646 * kern/generic/millisleep.c: New file.
337f5a1e 30647
9c2ff3ee 30648 * kern/misc.c: Don't include
30649 <kern/time.h> anymore.
30650 (grub_millisleep_generic): Removed.
30651
30652 * commands/sleep.c (grub_interruptible_millisleep): Uses
30653 grub_get_time_ms() instead of grub_get_rtc().
30654
30655 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30656 function.
30657 (grub_cpu_is_cpuid_supported): New inline function.
30658 (grub_cpu_is_tsc_supported): New inline function.
30659 (grub_tsc_init): New function prototype.
30660 (grub_tsc_get_time_ms): New function prototype.
30661
30662 * kern/i386/tsc.c (grub_get_time_ms): New file.
30663
30664 * include/grub/time.h: Include <grub/types.h.
30665 (grub_millisleep_generic): Removed.
30666 (grub_get_time_ms): New prototype.
30667 (grub_install_get_time_ms): New prototype.
30668 (grub_rtc_get_time_ms): New prototype.
30669
30670 * kern/time.c (grub_get_time_ms): New function.
30671 (grub_install_get_time_ms): New function.
30672
30673 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30674 <grub/time.h> anymore.
30675 (grub_millisleep): Removed.
30676 (grub_machine_init): Call grub_tsc_init.
30677
30678 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30679 get_time_ms() implementation.
30680
30681 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30682 (ieee1275_get_time_ms): New function.
30683 (grub_machine_init): Install get_time_ms() implementation.
30684
30685 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30686 (grub_machine_init): Call grub_tsc_init().
30687 (grub_millisleep): Removed.
bf06a93f 30688
9c2ff3ee 30689 * kern/ieee1275/init.c (grub_millisleep): Removed.
30690 (grub_machine_init): Install ieee1275_get_time_ms()
30691 implementation.
30692 (ieee1275_get_time_ms): New function.
30693 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30694 real work.
30695
9ec92aaf 306962008-08-05 Marco Gerards <marco@gnu.org>
30697
30698 * disk/ata.c: Include <grub/pci.h>.
30699 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30700 (grub_ata_initialize): Rewritten.
30701 (grub_ata_device_initialize): New function.
30702
8d23f507 307032008-08-04 Pavel Roskin <proski@gnu.org>
30704
30705 * kern/main.c: Include grub/mm.h.
30706
5e15ee3d 307072008-08-04 Robert Millan <rmh@aybabtu.com>
30708
30709 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30710 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30711 corruption problem).
30712
a9053f8f 307132008-08-04 Robert Millan <rmh@aybabtu.com>
30714
30715 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30716 warnings introduced in my last commit.
30717
dd19c7d7 307182008-08-03 Robert Millan <rmh@aybabtu.com>
30719
30720 Make PCI available on all i386 architectures.
30721
30722 * include/grub/i386/pc/pci.h: Move from here ...
30723 * include/grub/i386/pci.h: ... to here.
30724
30725 * include/grub/i386/pc/pci.h: Remove.
30726 * include/grub/i386/efi/pci.h: Remove.
30727 * include/grub/x86_64/efi/pci.h: Remove.
30728
30729 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30730 `<grub/cpu/pci.h>'.
30731
30732 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30733 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30734 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30735
30736 * conf/i386-ieee1275.rmk: Likewise.
30737
e14a6184 307382008-08-03 Robert Millan <rmh@aybabtu.com>
30739
30740 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30741 (grub_console_setcursor): Make it possible to set cursor off.
30742
52768e37 307432008-08-03 Robert Millan <rmh@aybabtu.com>
30744
30745 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30746 of modules instead of assuming which platform provides what.
30747 * util/update-grub.in: Likewise.
30748
2d52f57f 307492008-08-03 Robert Millan <rmh@aybabtu.com>
30750
30751 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30752 instead of `grub_install_dos_part' to determine whether a drive needs
30753 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 30754 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 30755
2a5cd121 307562008-08-02 Robert Millan <rmh@aybabtu.com>
30757
30758 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30759
93808428 307602008-08-02 Robert Millan <rmh@aybabtu.com>
30761
30762 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30763 of informational grub_dprintf() calls.
30764
3bd0a12a 307652008-08-02 Robert Millan <rmh@aybabtu.com>
30766
30767 * disk/memdisk.c (memdisk_size): Don't initialize.
30768 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30769
30770 * include/grub/i386/pc/kernel.h
30771 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30772 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30773 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30774 (grub_arch_memdisk_size): Remove.
30775
30776 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30777 field (was only used to transfer a constant). Add `type' field to
30778 support multiple module types.
30779 (grub_module_iterate): New function.
30780
30781 * kern/device.c (grub_device_open): Do not hide error messages
30782 when grub_disk_open() fails. Use grub_print_error() instead.
30783
30784 * kern/i386/pc/init.c (grub_arch_modules_addr)
30785 (grub_arch_memdisk_size): Remove functions.
30786 (grub_arch_modules_addr): Return the module address in high memory
30787 (now that it isn't copied anymore).
30788
30789 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30790 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30791 decompression routine (grub_total_module_size already includes that
30792 now). Don't copy modules back to low memory.
30793
30794 * kern/main.c: Include `<grub/mm.h>'.
30795 (grub_load_modules): Split out (and use) ...
30796 (grub_module_iterate): ... this function, which iterates through
30797 module objects and runs a hook.
30798 Comment out grub_mm_init_region() call, as it would cause non-ELF
30799 modules to be overwritten.
30800
30801 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30802 the memdisk image in its own region, make it part of the module list.
30803 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30804 (main): Parse --memdisk|-m option, and pass user-provided path as
30805 parameter to generate_image().
30806 (add_segments): Pass `memdisk_path' down to load_modules().
30807 (load_modules): Embed memdisk image in module section when requested.
30808 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30809 `header.type' instead of `header.offset'.
30810
30811 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30812 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30813 (memdisk_mod_LDFLAGS): New variables.
30814 * conf/i386-coreboot.rmk: Likewise.
30815 * conf/i386-ieee1275.rmk: Likewise.
30816
a927cc73 308172008-08-02 Robert Millan <rmh@aybabtu.com>
30818
30819 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30820 (backward_relocator): New variables. Used to allocate and relocate
30821 the payload, respectively.
30822 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 30823 address, install the appropriate relocator code in each bound of
a927cc73 30824 the payload, and set the entry point such that
30825 grub_multiboot_real_boot() will jump to one of them.
30826
30827 * kern/i386/loader.S (grub_multiboot_payload_size)
30828 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30829 (grub_multiboot_payload_entry_offset): New variables.
30830 (grub_multiboot_real_boot): Set cpu context to what the relocator
30831 expects, and jump to the relocator instead of the payload.
30832
30833 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30834 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30835 (grub_multiboot_payload_entry_offset): Export.
30836
b15d8a0c 308372008-08-01 Bean <bean123ch@gmail.com>
30838
30839 * normal/menu_entry.c (editor_getline): Don't return the original
30840 string as result, as it will be released by lexer once it has done
30841 using it.
30842
cdfb3d22 308432008-08-01 Robert Millan <rmh@aybabtu.com>
30844
30845 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30846 within menuentries, not before them.
30847 util/grub.d/10_hurd.in: Likewise.
30848
9175e93d 308492008-08-01 Bean <bean123ch@gmail.com>
30850
30851 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30852 (bufio_mod_SOURCES): New macro.
30853 (bufio_mod_CFLAGS): Likewise.
30854 (bufio_mod_LDFLAGS): Likewise.
30855
30856 * include/grub/bufio.h: New file.
30857
30858 * io/bufio.c: Likewise.
30859
30860 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30861 (grub_video_reader_png): Use grub_buffile_open to open file.
30862
30863 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30864 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30865
30866 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30867 (grub_video_reader_tga): Use grub_buffile_open to open file.
30868
30869 * font/manager.c: Include <grub/bufio.h>.
30870 (add_font): Use grub_buffile_open to open file.
30871
3d8383e7 308722008-07-31 Robert Millan <rmh@aybabtu.com>
30873
30874 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30875 ELF segments, use a macro for arbitrarily accessing any of them instead
30876 of preparing a pointer that allows access to one at a time.
30877 (grub_multiboot_load_elf64): Likewise.
30878
16e641b6 308792008-07-31 Bean <bean123ch@gmail.com>
30880
30881 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30882 GRUB_KERNEL_MACHINE_DATA_END.
30883
59198b72 308842008-07-30 Robert Millan <rmh@aybabtu.com>
30885
30886 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30887 Increase from 0x50 to 0x60.
30888 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30889 use UUIDs to identify the root drive for them. If that's not
30890 possible, abort.
30891 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30892 check, for cross-disk installs.
30893
ae88bca3 308942008-07-30 Robert Millan <rmh@aybabtu.com>
30895
30896 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30897 is non-empty, use it to set the `prefix' environment variable instead
30898 of the usual approach.
30899 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30900 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30901 environment variable instead of dummy make_install_device().
30902
30903 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30904 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 30905 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 30906
30907 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30908 New variable reference.
30909 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30910 New macro. Defines offset of `grub_prefix' within startup.S (relative
30911 to `start').
30912 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30913 section within startup.S (relative to `start').
30914 * include/grub/i386/coreboot/kernel.h: Likewise.
30915
30916 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30917 Overwrite grub_prefix with its contents, at the beginning of the
30918 first segment.
30919 (main): Understand -p|--prefix.
30920
14f41dd1 309212008-07-30 Robert Millan <rmh@aybabtu.com>
30922
30923 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30924
4ca049a3 309252008-07-30 Robert Millan <rmh@aybabtu.com>
30926
30927 * term/i386/pc/vga_text.c (grub_console_cls): Use
30928 grub_console_gotoxy() to go back to beginning of the screen.
30929 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30930
2921d337 309312008-07-29 Christian Franke <franke@computer.org>
30932
30933 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30934 Add conversion of emulated mount points on Cygwin.
30935
b609876d 309362008-07-29 Christian Franke <franke@computer.org>
30937
30938 * util/update-grub.in: Add a check for admin
30939 group on Cygwin.
30940 Remove old `grub.cfg.new' before creation.
30941 Add `-f' to `mv' to handle the different filesystem
30942 semantics of Windows.
30943
e93e4679 309442008-07-29 Bean <bean123ch@gmail.com>
30945
30946 * normal/main.c (get_line): Fix buffer overflow bug.
30947
41694fd0 309482008-07-28 Robert Millan <rmh@aybabtu.com>
30949
30950 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30951 (struct grub_apple_header): New struct. Describes the layout of
30952 the partmap header.
30953 (apple_partition_map_iterate): Check the header magic as well as the
30954 partition magic (which was already being checked).
30955
cfd0b4e6 309562008-07-28 Pavel Roskin <proski@gnu.org>
30957
30958 * genmk.rb: Add a warning to the beginning of the output that
30959 it's a generated file and should not be edited.
30960
93cce016 309612008-07-28 Robert Millan <rmh@aybabtu.com>
30962
30963 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30964 with the same number are found, just use issue a warning with
30965 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 30966
cd1df915 309672008-07-27 Robert Millan <rmh@aybabtu.com>
30968
30969 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30970 information.
30971
b70a8427 309722008-07-27 Bean <bean123ch@gmail.com>
30973
30974 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30975 (grub_fat_find_dir): Ignore case when comparing filename.
30976
8f5e379f 309772008-07-27 Bean <bean123ch@gmail.com>
30978
30979 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30980 smallino, as it's more descriptive, and i8count can be confused with
30981 the other field count.
30982 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30983 inode type.
30984
a85cd5a0 309852008-07-27 Bean <bean123ch@gmail.com>
30986
30987 * commands/crc.c: New file.
30988
30989 * lib/crc.c: Likewise.
30990
30991 * include/grub/lib/crc.h: Likewise.
30992
30993 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30994
30995 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30996 (hexdump): Move this function to ...
30997
30998 * lib/hexdump.c: ... here.
30999
31000 * include/grub/hexdump.h: Renamed to ...
31001
31002 * include/grub/lib/hexdump.h: ... this.
31003
31004 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
31005
31006 * util/grub-editenv.c: Likewise.
31007
31008 * include/envblk.h: Renamed to ...
31009
31010 * include/lib/envblk.h: ... this.
31011
31012 * util/envblk.c: Renamed to ...
31013
31014 * lib/envblk.c: ... this.
31015
31016 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
31017 lib/hexdump.c.
31018 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
31019 (pkglib_MODULES): Add crc.mod.
31020 (hexdump_mod_SOURCES): Add lib/hexdump.c.
31021 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
31022 (crc_mod_SOURCES): New macro.
31023 (crc_mod_CFLAGS): Likewise.
31024 (crc_mod_LDFLAGS): Likewise.
31025
31026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
31027
31028 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31029
31030 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31031
31032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31033
31034 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31035
c298def0 310362008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 31037
31038 * commands/help.c: Include <grub/term.h>.
31039 (TERM_WIDTH): Removed. Updated all users.
31040
cc349fb3 310412008-07-27 Pavel Roskin <proski@gnu.org>
31042
31043 * util/getroot.c (find_root_device): Rephrase a comment to avoid
31044 spurious warnings about a comment within a comment.
31045
9051607e 310462008-07-25 Robert Millan <rmh@aybabtu.com>
31047
31048 * util/getroot.c (find_root_device): Skip devices that match
31049 /dev/dm-[0-9]. This lets the real device be found for any type of
31050 abstraction (LVM, EVMS, RAID..).
31051 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
31052 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
31053 device is found first, find_root_device() will now skip it.
31054
01453bfc 310552008-07-24 Pavel Roskin <proski@gnu.org>
31056
31057 * include/grub/types.h: Use __builtin_bswap32() and
31058 __builtin_bswap64() with gcc 4.3 and newer.
31059
6af9849f 310602008-07-24 Christian Franke <franke@computer.org>
31061
3a0fa256 31062 * util/i386/pc/grub-install.in: If `--debug' is specified,
31063 pass `--verbose' to grub-setup.
31064 Abort script if make_system_path_relative_to_its_root() fails.
31065
7810e747 310662008-07-24 Bean <bean123ch@gmail.com>
31067
31068 * configure.ac: Fixed a bug caused by the previous cygwin patch,
31069 variable `target_platform' should be `platform'.
31070
42290e17 310712008-07-24 Bean <bean123ch@gmail.com>
31072
51cc5193 31073 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 31074 (grub_png_init_fixed_block): New function.
31075 (grub_png_decode_image_data): Handle fixed huffman code compression.
31076
2a8a80e4 310772008-07-24 Bean <bean123ch@gmail.com>
31078
31079 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
31080 (grub_pe2elf_SOURCES): New macro.
31081 (CLEANFILES): Add grub-pe2elf.
31082
31083 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
31084 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
31085 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
31086 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
31087 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
31088 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
31089 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
31090 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
31091 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
31092 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
31093 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
31094 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
31095 (GRUB_PE32_DT_FUNCTION): Likewise.
31096 (GRUB_PE32_REL_I386_DIR32): Likewise.
31097 (GRUB_PE32_REL_I386_REL32): Likewise.
31098 (grub_pe32_symbol): New structure.
31099 (grub_pe32_reloc): Likewise.
31100
31101 * util/grub-pe2elf.c: New file.
31102
31103 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
31104 start symbol in non pc platform.
31105
31106 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
31107
31108 The following patches are from Christian Franke.
31109
31110 * include/grub/dl.h: Remove .previous, gas supports this only
31111 for ELF format.
31112
31113 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
31114 Remove .type, gas supports this only for ELF format.
31115
31116 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
31117 nullbytes in symbol table. This fixes an infinite loop if table is
31118 zero filled.
31119
31120 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31121 TARGET_IMG_LDFLAGS and EXEEXT.
31122
31123 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31124 TARGET_IMG_LDFLAGS_AC.
31125 (grub_CHECK_STACK_ARG_PROBE): New function.
31126
31127 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31128
31129 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31130
31131 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31132 to set TARGET_IMG_LD* accordingly.
31133 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31134 Add call to grub_CHECK_STACK_ARG_PROBE.
31135 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31136
31137 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31138
31139 * genmk.rb: Add EXEEXT to CLEANFILES.
31140
12ccdb75 311412008-07-23 Robert Millan <rmh@aybabtu.com>
31142
31143 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31144 define the codes for arrows and lines used for the menu).
31145 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31146 as well.
31147
31148 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31149 fonts, because the latter are too slow.
31150
18eeaf04 311512008-07-21 Bean <bean123ch@gmail.com>
31152
31153 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31154 a20. Run keyboard test last, as it will cause macbook to halt.
31155
b095e2ad 311562008-07-18 Pavel Roskin <proski@gnu.org>
31157
31158 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31159 load foreign architecture modules correctly anyway. Keep
31160 support for loading host architecture modules, whether we
31161 compile them or not.
31162
737feb35 311632008-07-17 Pavel Roskin <proski@gnu.org>
31164
3f4ce737 31165 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31166 change target_cpu. The compiler default can mismatch target_cpu
31167 in any case.
31168
4ad2d049 31169 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31170 * kern/efi/efi.c: Likewise.
31171
f6130a12 31172 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31173 target compiler is functional.
31174 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31175 are set up.
31176
58393a2d 31177 * configure.ac: Default to efi platform for x86_64-apple. Allow
31178 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31179 adjustments from the rest, only do them if target is not
31180 explicitly given. Merge other adjustments with the final sanity
31181 check. Remove an extraneous check for supported CPU. Be
31182 specific which CPU and which platform is not supported.
31183
737feb35 31184 * configure.ac: Default to pc platform for x86_64.
31185
546f966a 311862008-07-17 Robert Millan <rmh@aybabtu.com>
31187
31188 Partial LinuxBIOS -> Coreboot rename.
31189
31190 * conf/i386-linuxbios.rmk: Renamed to ...
31191 * conf/i386-coreboot.rmk: ... this.
31192 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31193 * configure.ac: Accept "coreboot" as input platform (but maintain
31194 compatibility with "linuxbios").
31195 * include/grub/i386/linuxbios: Renamed to ...
31196 * include/grub/i386/coreboot: ... this.
31197
20011694 311982008-07-17 Bean <bean123ch@gmail.com>
31199
31200 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 31201 (appleldr_mod_SOURCE): New variable.
20011694 31202 (appleldr_mod_CFLAGS): Likewise.
31203 (appleldr_mod_LDFLAGS): Likewise.
31204 (pci_mod_SOURCES): Likewise.
31205 (pci_mod_CFLAGS): Likewise.
31206 (pci_mod_LDFLAGS): Likewise.
31207 (lspci_mod_SOURCES): Likewise.
31208 (lspci_mod_CFLAGS): Likewise.
31209 (lspci_mod_LDFLAGS): Likewise.
31210
31211 * conf/x86_64-efi.rmk: New file.
31212
31213 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31214 macro.
31215 (grub_efidisk_write): Likewise.
31216
31217 * include/efi/api.h (efi_call_0): New macro.
31218 (efi_call_1): Likewise.
31219 (efi_call_2): Likewise.
31220 (efi_call_3): Likewise.
31221 (efi_call_4): Likewise.
31222 (efi_call_5): Likewise.
31223 (efi_call_6): Likewise.
31224
31225 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31226 grub_rescue_cmd_chainloader.
31227
31228 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31229 (grub_pe32_optional_header): Change some fields based on i386 or
31230 x86_64 platform.
31231 (GRUB_PE32_PE32_MAGIC): Likewise.
31232
31233 * include/grub/efi/uga_draw.h: New file.
31234
31235 * include/grub/elf.h (STN_ABS): New constant.
31236 (R_X86_64_NONE): Relocation constant for x86_64.
31237 (R_X86_64_64): Likewise.
31238 (R_X86_64_PC32): Likewise.
31239 (R_X86_64_GOT32): Likewise.
31240 (R_X86_64_PLT32): Likewise.
31241 (R_X86_64_COPY): Likewise.
31242 (R_X86_64_GLOB_DAT): Likewise.
31243 (R_X86_64_JUMP_SLOT): Likewise.
31244 (R_X86_64_RELATIVE): Likewise.
31245 (R_X86_64_GOTPCREL): Likewise.
31246 (R_X86_64_32): Likewise.
31247 (R_X86_64_32S): Likewise.
31248 (R_X86_64_16): Likewise.
31249 (R_X86_64_PC16): Likewise.
31250 (R_X86_64_8): Likewise.
31251 (R_X86_64_PC8): Likewise.
31252
31253 * include/grub/i386/efi/pci.h: New file.
31254
31255 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31256 Change it value based on platform.
31257 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31258 (GRUB_E820_RAM): Likewise.
31259 (GRUB_E820_RESERVED): Likewise.
31260 (GRUB_E820_ACPI): Likewise.
31261 (GRUB_E820_NVS): Likewise.
31262 (GRUB_E820_EXEC_CODE): Likewise.
31263 (GRUB_E820_MAX_ENTRY): Likewise.
31264 (grub_e820_mmap): New structure.
31265 (linux_kernel_header): Change the efi field according to different
31266 kernel version, also field from linux_kernel_header.
31267
31268 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31269
31270 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31271 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31272 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31273 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31274 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31275 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31276 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31277 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31278 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31279 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31280
31281 * include/grub/x86_64/efi/kernel.h: New file.
31282
31283 * include/grub/x86_64/efi/loader.h: Likewise.
31284
31285 * include/grub/x86_64/efi/machine.h: Likewise.
31286
31287 * include/grub/x86_64/efi/pci.h: Likewise.
31288
31289 * include/grub/x86_64/efi/time.h: Likewise.
31290
31291 * include/grub/x86_64/linux.h: Likewise.
31292
31293 * include/grub/x86_64/setjmp.h: Likewise.
31294
31295 * include/grub/x86_64/time.h: Likewise.
31296
31297 * include/grub/x86_64/types.h: Likewise.
31298
31299 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31300 GRUB_TARGET_SIZEOF_VOID_P.
31301
31302 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31303 (grub_efi_locate_handle): Likewise.
31304 (grub_efi_open_protocol): Likewise.
31305 (grub_efi_set_text_mode): Likewise.
31306 (grub_efi_stall): Likewise.
31307 (grub_exit): Likewise.
31308 (grub_reboot): Likewise.
31309 (grub_halt): Likewise.
31310 (grub_efi_exit_boot_services): Likewise.
31311 (grub_get_rtc): Likewise.
31312
31313 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31314 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31315 (grub_efi_allocate_pages): Wrap efi calls.
31316 (grub_efi_free_pages): Wrap efi calls.
31317 (grub_efi_get_memory_map): Wrap efi calls.
31318
31319 * kern/x86_64/dl.c: New file.
31320
31321 * kern/x86_64/efi/callwrap.S: Likewise.
31322
31323 * kern/x86_64/efi/startup.S: Likewise.
31324
31325 * loader/efi/appleloader.c: Likewise.
31326
31327 * loader/efi/chainloader.c (cmdline): New variable.
31328 (grub_chainloader_unload): Wrap efi calls.
31329 (grub_chainloader_boot): Likewise.
31330 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31331 command line.
31332
31333 * loader/efi/chainloader_normal.c (chainloader_command):
31334 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31335 command line.
31336
31337 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31338 method.
31339 (grub_e820_add_region): New function.
31340 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31341 booting.
31342 (grub_find_video_card): New function.
31343 (grub_linux_setup_video): New function.
31344 (grub_rescue_cmd_linux): Probe for video information.
31345
31346 * normal/x86_64/setjmp.S: New file.
31347
31348 * term/efi/console.c (map_char): New function.
31349 (grub_console_putchar): Map unicode char.
31350 (grub_console_checkkey): Wrap efi calls.
31351 (grub_console_getkey): Likewise.
31352 (grub_console_getwh): Likewise.
31353 (grub_console_gotoxy): Likewise.
31354 (grub_console_cls): Likewise.
31355 (grub_console_setcolorstate): Likewise.
31356 (grub_console_setcursor): Likewise.
31357
31358 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31359
59652a20 313602008-07-16 Pavel Roskin <proski@gnu.org>
31361
ef294055 31362 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31363 format strings.
31364
59652a20 31365 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31366 pointer, not an integer. This fixes a warning and prevents
31367 precision loss on 64-bit systems.
31368 (relocate_addresses): Remove unneeded cast.
31369
afc3b5d7 313702008-07-15 Pavel Roskin <proski@gnu.org>
31371
506b2b3e 31372 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31373
62ead89c 31374 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31375
c4cd51d7 31376 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31377 Fix comparison between signed and unsigned.
31378
0d3d8f28 31379 * include/grub/i386/ieee1275/console.h: Declare
31380 grub_console_init() and grub_console_fini().
31381
8804b286 31382 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31383 It's empty and unused.
31384
ee01cf35 31385 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31386 beginning to avoid warnings with some compilers.
31387
afc3b5d7 31388 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31389 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31390
e4e8eaa5 313912008-07-14 Pavel Roskin <proski@gnu.org>
31392
407aceb4 31393 * kern/env.c (grub_register_variable_hook): Don't copy empty
31394 string, it leaks memory. Pass "" to grub_env_set(), it should
31395 handle constant strings.
31396
e4e8eaa5 31397 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31398 * commands/cmp.c (grub_cmd_cmp): Likewise.
31399 * kern/dl.c (grub_dl_flush_cache): Likewise.
31400 (grub_dl_load_core): Likewise.
31401 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31402 (grub_elf64_load_phdrs): Likewise.
31403
d4e2dad3 314042008-07-13 Pavel Roskin <proski@gnu.org>
31405
31406 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31407 between signed and unsigned.
31408 (LzmaEnc_Finish): Fix warning about an unused parameter.
31409
aa24b516 314102008-07-13 Bean <bean123ch@gmail.com>
31411
31412 * Makefile.in (enable_lzo): New rule.
31413
31414 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31415
31416 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31417
31418 * boot/i386/pc/lnxboot.S: #include <config.h>.
31419
31420 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 31421 its value according to the compression algorithm used, lzo or lzma.
aa24b516 31422
31423 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31424 compression algorithm according to configure macro.
31425
31426 * kern/i386/pc/startup.S (codestart): Likewise.
31427
31428 * kern/i386/pc/lzma_decode.S: New file.
31429
31430 * include/grub/lib/LzFind.h: Likewise.
31431
31432 * include/grub/lib/LzHash.h: Likewise.
31433
31434 * include/grub/lib/LzmaDec.h: Likewise.
31435
31436 * include/grub/lib/LzmaEnc.h: Likewise.
31437
31438 * include/grub/lib/LzmaTypes.h: Likewise.
31439
31440 * lib/LzFind.c: Likewise.
31441
31442 * lib/LzmaDec.c: Likewise.
31443
31444 * lib/LzmaEnc.c: Likewise.
31445
4ae821ac 314462008-07-13 Bean <bean123ch@gmail.com>
31447
31448 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31449 (grub_ext4_extent_header): New structure.
31450 (grub_ext4_extent): Likewise.
31451 (grub_ext4_extent_idx): Likewise.
31452 (grub_ext4_find_leaf): New function.
31453 (grub_ext2_read_block): Handle extents.
31454
9a745147 314552008-07-12 Robert Millan <rmh@aybabtu.com>
31456
31457 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31458
d49a4cf6 314592008-07-11 Robert Millan <rmh@aybabtu.com>
31460
31461 * util/grub.d/40_custom.in: New file. Example on how to add custom
31462 entries to /etc/grub.d.
31463 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31464 40_custom (implicitly, by merging all the grub.d rules).
31465
947414b4 314662008-07-11 Pavel Roskin <proski@gnu.org>
31467
0059cf6f 31468 * commands/read.c (grub_getline): Fix invalid memory access.
31469 Don't add newline to the variable value.
31470
947414b4 31471 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31472 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31473 (serial_hw_get_port): Check validity of the port number.
31474 (grub_cmd_serial): Check return value of serial_hw_get_port().
31475
62a02d00 314762008-07-07 Pavel Roskin <proski@gnu.org>
31477
31478 * boot/i386/pc/diskboot.S (notification_string): Replace
31479 "Loading kernel" with just "loading". This is shorter, less
31480 confusing and saves a few bytes for possible future changes.
31481
3e5581b0 314822008-07-05 Pavel Roskin <proski@gnu.org>
31483
ea387a48 31484 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31485 size for ATAPI devices, they are undefined. Output sector
31486 number in decimal form.
31487
3e5581b0 31488 * disk/ata.c: Use named constants for status bits.
31489
fdecb8fd 314902008-07-04 Pavel Roskin <proski@gnu.org>
31491
bcd35b90 31492 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31493 grub_addr_t before casting it to the void pointer to fix a
31494 warning. Non-addressable regions are discarded earlier.
31495 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31496 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31497 (check_signature): Don't shadow table_header.
31498 (grub_linuxbios_table_iterate): Cast numeric constants to
31499 grub_linuxbios_table_header_t.
31500 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31501 grub_stop().
31502
af58ab3d 31503 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31504 prevent warnings.
31505
1759aa57 31506 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31507 pointer, which can cause warnings. Support 64-bit addresses.
31508
fdecb8fd 31509 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31510 of sizeof(long). This fixes PowerPC image generation on x86_64.
31511
8516d2a8 315122008-07-04 Robert Millan <rmh@aybabtu.com>
31513
31514 This fixes a performance issue when pc & gpt partmap iterators
31515 didn't abort iteration even after our hook found what it was
fe987087 31516 looking for (often causing expensive probes of non-existent drives).
8516d2a8 31517
31518 Some callers relied on previous buggy behaviour, since they would
34c44600 31519 raise an error when their own hooks caused early abortion of its
8516d2a8 31520 iteration.
31521
31522 * kern/device.c (grub_device_open): Improve error message.
31523 * disk/lvm.c (grub_lvm_open): Likewise.
31524 * disk/raid.c (grub_raid_open): Likewise.
31525
31526 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31527 when hook requests it, independently of grub_errno.
31528 (pc_partition_map_probe): Do not fail when find_func() caused
31529 early abortion of pc_partition_map_iterate().
31530
31531 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31532 when hook requests it, independently of grub_errno.
31533 (gpt_partition_map_probe): Do not fail when find_func() caused
31534 early abortion of gpt_partition_map_iterate().
31535
31536 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31537 when hook requests it, independently of grub_errno. Do not fail when
31538 part_map_iterate_hook() caused early abortion of p->iterate().
31539
31540 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31541 when grub_partition_iterate() returned with non-zero.
31542
277d0de9 315432008-07-03 Pavel Roskin <proski@gnu.org>
31544
31545 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31546 like we do in grub_ata_pio_read().
31547 (grub_ata_readwrite): Always write individual sectors. Fix the
31548 sector count for the remainder.
31549 (grub_ata_write): Enable writing to ATA devices. Correctly
31550 report error for ATAPI devices.
31551
d4c9b428 315522008-07-02 Pavel Roskin <proski@gnu.org>
31553
e43fc690 31554 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31555 warning.
31556
f707af42 31557 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31558 for every read sector, we already increment it for the whole
31559 batch. This fixes reading more than 256 sectors at once.
31560
11e16b15 31561 * util/grub-editenv.c (cmd_info): Cast argument to long
31562 explicitly. ptrdiff_t reduces to int on i386.
31563
cbabfdd4 31564 * util/grub-editenv.c (main): Be specific which parameter is
31565 missing.
31566
b8fbce0a 31567 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31568 (memdisk): Make memdisk_orig_addr a pointer.
31569
c9c8e606 31570 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31571 for file offsets, use grub_off_t instead. Fix printf format
31572 warnings.
31573
ca62e598 31574 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31575 there. Real unexpected warnings should not drown in the noise
31576 about known problems.
31577
ce8d1766 31578 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31579 grub_disk_addr_t for memory addresses.
31580
00c7a56a 31581 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31582 explicitly to fix a warning.
31583
08d3ef09 31584 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31585
cb71ba20 31586 * Makefile.in (MODULE_LDFLAGS): New variable.
31587 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31588 the linker accepts --build-id=none.
31589 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31590 MODULE_LDFLAGS.
31591 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31592
d4c9b428 31593 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31594 those in Linux XFS code. Provide a way to access 64-bit parent
31595 inode.
31596 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31597 the end of struct grub_xfs_dir_header.
31598
d4156eee 315992008-07-02 Bean <bean123ch@gmail.com>
31600
31601 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31602 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31603 and GRUB_IEEE1275_FLAG_NO_ANSI.
31604
31605 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31606 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31607 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31608
31609 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31610 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31611
31612 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31613 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31614
31615 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31616 esc sequence on non ANSI terminal.
31617 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31618
31619 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31620 beginning of file.
31621
2270f77b 316222008-07-02 Bean <bean123ch@gmail.com>
31623
31624 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31625 (grub_editenv_SOURCES): New variable.
31626 (pkglib_MODULES): Add loadenv.mod.
31627 (loadenv_mod_SOURCES): New variable.
31628 (loadenv_mod_CFLAGS): Likewise.
31629 (loadenv_mod_LDFLAGS): Likewise.
31630
31631 * include/grub/envblk.h: New file.
31632
31633 * util/envblk.c: New file.
31634
31635 * util/grub-editenv.c: New file.
31636
31637 * commands/loadenv.c: New file.
31638
0e9e51ec 316392008-07-01 Pavel Roskin <proski@gnu.org>
31640
d89b7634 31641 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31642 not unsigned char. This fixes warnings and is consistent with
31643 other tags.
31644
bf1835b1 31645 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31646
8222a04b 31647 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31648
6a42d99d 31649 * term/tparm.c (analyze): Always set *popcount.
31650
10b159d1 31651 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31652 cast to fix a warning.
31653
b8789f6c 31654 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31655 cast to suppress a warning.
31656
29d7e38a 31657 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31658 grub_fshelp_read_file() expects.
31659
f341f669 31660 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31661 write uuid as a 32-bit value in CPU byte order, so declare and
31662 use it as such.
31663
0e9e51ec 31664 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31665 long if the format specifier expects it.
31666 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31667 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31668 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31669 long to fix a warning.
31670 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31671 grub_dprintf() arguments to fix warnings.
31672
3aefa857 316732008-06-30 Pavel Roskin <proski@gnu.org>
31674
56c7668b 31675 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31676 install_bsd_part immediately before core.img is embedded or
31677 modified on disk. This fixes core.img verification if core.img
31678 cannot be embedded.
31679
3aefa857 31680 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31681 core_path to calculate the blocklist.
31682 Patch from Javier Martín <lordhabbit@gmail.com>
31683
5444088d 316842008-06-29 Robert Millan <rmh@aybabtu.com>
31685
31686 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31687 block to disk block.
31688 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31689 Patch from Niels Böhm <bitbucket@arcor.de>
31690
674835c8 316912008-06-29 Robert Millan <rmh@aybabtu.com>
31692
31693 * util/update-grub_lib.in (font_path): Search for fonts in
31694 /boot/grub first, which is more likely to be readable (we aren't
31695 deciding where fonts live, just looking for them).
31696
f527dbc8 316972008-06-26 Pavel Roskin <proski@gnu.org>
31698
6c2d8df6 31699 * util/biosdisk.c (read_device_map): Don't leave dead map
31700 entries for devices failing stat() check.
31701
f527dbc8 31702 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31703 core_path_dev for the core.img path on the target device.
31704
aebe3d13 317052008-06-26 Robert Millan <rmh@aybabtu.com>
31706
31707 * disk/fs_uuid.c: New file.
31708 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31709 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31710 (fs_uuid_mod_LDFLAGS): New variables.
31711 * include/grub/disk.h (grub_disk_dev_id): Add
31712 `GRUB_DISK_DEVICE_UUID_ID'.
31713 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31714 implement iterate().
31715
37aaf354 317162008-06-26 Robert Millan <rmh@aybabtu.com>
31717
31718 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31719 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31720 Linux image includes no initrd.
31721
25ff262a 317222008-06-21 Javier Martín <lordhabbit@gmail.com>
31723
31724 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31725 call to resolve the core image location that effectively appended the
31726 name twice.
31727
76a2bd44 317282008-06-21 Robert Millan <rmh@aybabtu.com>
31729
31730 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31731 call from here ...
31732
31733 * util/grub.d/10_hurd.in: ... to here ...
31734 * util/grub.d/10_linux.in: ... and here.
31735
650e1c79 317362008-06-19 Robert Millan <rmh@aybabtu.com>
31737
fe987087 31738 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 31739 after it has been set by grub_machine_set_prefix().
31740
6ce63911 317412008-06-19 Robert Millan <rmh@aybabtu.com>
31742
31743 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31744 search result when not saving to variable, not the other way around.
31745 When saving to variable, abort iteration as soon as a match is found.
31746
73940cec 317472008-06-19 Robert Millan <rmh@aybabtu.com>
31748
31749 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31750 check for partition that provides /boot/grub. Its logic is flawed,
31751 as it prevents prepare_grub_to_access_device() from being called
31752 multiple times.
31753
3c62a39d 317542008-06-19 Robert Millan <rmh@aybabtu.com>
31755
31756 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31757 "insmod" command directly when abstraction modules are needed,
fe987087 31758 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 31759 since it had already been processed).
31760
47395a42 317612008-06-19 Pavel Roskin <proski@gnu.org>
31762
31763 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31764 changed. This is needed in case GRUB_LIBDIR changes.
31765 * conf/i386-ieee1275.rmk: Likewise.
31766 * conf/i386-linuxbios.rmk: Likewise.
31767 * conf/i386-pc.rmk: Likewise.
31768 * conf/powerpc-ieee1275.rmk: Likewise.
31769
a145ac2d 317702008-06-18 Pavel Roskin <proski@gnu.org>
31771
31772 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31773 kernel_elf_symlist.c to symlist.c for consistency with other
31774 architectures. Update all users.
31775 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31776
7847c51e 317772008-06-18 Robert Millan <rmh@aybabtu.com>
31778
31779 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31780 it in prefix.
31781
31782 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31783 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31784 a RAID device, run setup() for all members independently on whether
31785 LVM abstraction is being used.
31786 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31787 If grub-mkimage has set `*install_dos_part == -2', don't override this
31788 value.
31789 Perform *install_dos_part adjustments independently on whether
31790 we're embedding or not.
31791 Clarify error message when image is too big for embedding.
31792 Remove duplicate *install_dos_part stanza.
31793
b23e5644 317942008-06-17 Robert Millan <rmh@aybabtu.com>
31795
31796 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31797 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31798 variables.
31799 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31800 values in grub_ofconsole_normal_color and
31801 grub_ofconsole_highlight_color (they're not directly related to
31802 background and foreground).
31803 (grub_ofconsole_setcolorstate): Extract background and foreground
31804 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31805
0aac2f79 318062008-06-17 Robert Millan <rmh@aybabtu.com>
31807
31808 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31809 /boot/grub for the check in last commit, not /boot (they could be
31810 different partitions).
31811
3cca7ef3 318122008-06-16 Robert Millan <rmh@aybabtu.com>
31813
31814 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31815 asked to setup access for the same partition that provides /boot,
31816 don't bother using UUIDs since our root already has the value we
31817 want.
31818
347396d8 318192008-06-16 Robert Millan <rmh@aybabtu.com>
31820
31821 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31822 I2O devices.
31823 Patch from Sven Mueller <sven@debian.org>.
31824
991477f8 318252008-06-16 Robert Millan <rmh@aybabtu.com>
31826
31827 * util/update-grub.in: Check for $EUID instead of $UID.
31828 Reported by Vincent Zweije.
31829
d31a32a1 318302008-06-16 Bean <bean123ch@gmail.com>
31831
fe987087 31832 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 31833 (grub_ext2_read_block): Likewise.
31834 (grub_ext2_read_inode): Likewise.
31835 (grub_ext2_mount): Likewise.
31836 (grub_ext2_close): Likewise.
31837 (grub_ext3_get_journal): Removed.
31838
fe987087 31839 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 31840 (grub_reiserfs_read_symlink): Likewise.
31841 (grub_reiserfs_mount): Likewise.
31842 (grub_reiserfs_open): Likewise.
31843 (grub_reiserfs_read): Likewise.
31844 (grub_reiserfs_close): Likewise.
31845 (grub_reiserfs_get_journal): Removed.
31846
31847 * fs/fshelp.c (grub_fshelp_read): Removed.
31848 (grub_fshelp_map_block): Likewise.
31849
31850 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31851 (grub_fshelp_journal): Likewise.
31852 (grub_fshelp_read): Likewise.
31853 (grub_fshelp_map_block): Likewise.
31854
3540a760 318552008-06-16 Pavel Roskin <proski@gnu.org>
31856
31857 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31858 floating point anymore.
31859 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31860
95614c84 318612008-06-15 Pavel Roskin <proski@gnu.org>
31862
31863 * commands/ls.c (grub_ls_list_files): Use integer calculations
31864 for human readable format, avoid floating point use.
31865 * kern/misc.c (grub_ftoa): Remove.
31866 (grub_vsprintf): Remove floating point support.
31867
50465dd6 318682008-06-15 Robert Millan <rmh@aybabtu.com>
31869
fe6b695a 31870 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 31871 devices.
31872 Reported by Max Vozeler.
31873
a9207284 318742008-06-15 Robert Millan <rmh@aybabtu.com>
31875
31876 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31877 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31878 skipped later.
31879 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31880 the beginning of the prefix.
31881
31882 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31883 It is assumed that if we have a memdisk, grub-mkimage has set
31884 grub_prefix to include the "(memdisk)" drive in it.
31885
a7cbd45a 318862008-06-15 Robert Millan <rmh@aybabtu.com>
31887
31888 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31889 Initialize keyboard controller after registering the terminal, so that
31890 grub_printf() can be called from grub_keyboard_controller_init().
31891
21cf716a 318922008-06-15 Robert Millan <rmh@aybabtu.com>
31893
31894 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31895 extent-btree which is written as big endian on disk.
31896 Reported by Alain Greppin <al@chilibi.org>.
31897
23a64d8e 318982008-06-14 Robert Millan <rmh@aybabtu.com>
31899
31900 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31901 * util/i386/pc/grub-install.in (modules): Likewise.
31902
d687651c 319032008-06-13 Pavel Roskin <proski@gnu.org>
31904
31905 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31906
dfe9ddd4 319072008-06-13 Bean <bean123ch@gmail.com>
31908
31909 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31910
31911 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31912
31913 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31914 to indicate sparse block.
31915
16ae7781 319162008-06-12 Pavel Roskin <proski@gnu.org>
31917
e6d1a308 31918 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31919 number, grub_fshelp_read() does it for us.
31920
16ae7781 31921 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31922 linear disk read with journal translation.
31923 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31924 * include/grub/fshelp.h: Declare grub_fshelp_read().
31925
40fd3a2b 319262008-06-09 Pavel Roskin <proski@gnu.org>
31927
31928 * fs/minix.c (grub_minix_mount): Handle error reading
31929 superblock.
31930
f5679726 319312008-06-08 Robert Millan <rmh@aybabtu.com>
31932
31933 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31934 don't append the RAID prefix afterwards.
31935 Reported by Clint Adams.
31936
ce525529 319372008-06-08 Robert Millan <rmh@aybabtu.com>
31938
31939 Based on description from Pavel:
31940 * kern/disk.c (grub_disk_check_range): Rename to ...
31941 (grub_disk_adjust_range): ... this. Add a comment explaining the
31942 tasks performed by this function.
31943
ad4936a0 319442008-06-08 Robert Millan <rmh@aybabtu.com>
31945
31946 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31947 `num_serial' (for consistency with other variables).
31948 (struct grub_ntfs_data): Add `uuid' member.
31949 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31950 (grub_ntfs_uuid): New function.
31951 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31952
dc20b0f9 319532008-06-07 Pavel Roskin <proski@gnu.org>
31954
31955 * util/biosdisk.c (open_device): Revert last change to the
31956 function, it broke installation. The sector needs to be
31957 different dependent on which device is opened.
31958
c5e3cfba 319592008-06-06 Robert Millan <rmh@aybabtu.com>
31960
31961 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31962 rest of GRUB, and breakage doesn't happen if its value were modified.
31963
31964 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31965 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31966 a constant (same value).
31967 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31968 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31969
26a1f8c4 319702008-06-06 Robert Millan <rmh@aybabtu.com>
31971
31972 * util/biosdisk.c (open_device): Do not modify sector offset when
31973 accessing a partition. kern/disk.c already handles this for us.
31974
25d6b327 319752008-06-06 Robert Millan <rmh@aybabtu.com>
31976
31977 * util/grub-emu.c (grub_machine_init): Move code in this function from
31978 here ...
31979 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31980 segfault in case grub_printf() is called).
31981
31982 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31983 grub_probe. Update all users not to explicitly add it again.
31984 (grub_device): New variable; contains corresponding device for grubdir.
31985 (fs_module, partmap_module, devabstraction_module): Pass
31986 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31987 every time.
31988
9ece62fb 319892008-06-05 Robert Millan <rmh@aybabtu.com>
31990
31991 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31992 is found, print it (same layout as with labels).
31993
1ad36d37 319942008-06-04 Robert Millan <rmh@aybabtu.com>
31995
31996 * util/biosdisk.c (get_drive): Rename to ...
31997 (find_grub_drive): ... this. Update all users.
31998
31999 (get_os_disk): Rename to ...
32000 (convert_system_partition_to_system_disk): ... this. Update all users.
32001
32002 (find_drive): Rename to ...
32003 (find_system_device): ... this. Update all users.
32004
e6a30859 320052008-06-04 Robert Millan <rmh@aybabtu.com>
32006
32007 * util/biosdisk.c (get_os_disk): Handle IDA devices.
32008 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32009 (make_device_map): Likewise.
32010
00c108a4 320112008-06-01 Robert Millan <rmh@aybabtu.com>
32012
32013 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
32014 before dereferencing it.
32015
32016 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
32017 union with fat12/fat16-specific ones. Add some new fields, including
32018 `num_serial' for both versions.
32019 (struct grub_fat_data): Add `uuid' member.
32020 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
32021 names. Initialize `data->uuid' using `num_serial'.
32022 (grub_fat_uuid): New function.
32023 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
32024
32025 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
32026 (grub_reiserfs_uuid): New function.
32027 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
32028 member.
32029
32030 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
32031 (grub_xfs_uuid): New function.
32032 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
32033
1385c5bb 320342008-06-01 Robert Millan <rmh@aybabtu.com>
32035
32036 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
32037 code that is backward compatible with pre-uuid search command.
32038
c682dfd7 320392008-05-31 Robert Millan <rmh@aybabtu.com>
32040
32041 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
32042 floppies after everything else, to ensure floppy drive isn't accessed
32043 unnecessarily (patch from Bean).
32044
b7db5d47 320452008-05-31 Robert Millan <rmh@aybabtu.com>
32046
32047 * commands/search.c (search_label, search_fs_uuid, search_file): Do
32048 not print device names when we were asked to set a variable.
32049
6e037aa9 320502008-05-31 Robert Millan <rmh@aybabtu.com>
32051
32052 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
32053 using "cursor-on" and "cursor-off" commands (understood at least by
32054 the Open Firmware flavour on OLPC).
32055
41305bc8 320562008-05-31 Michael Gorven <michael@gorven.za.net>
32057
32058 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
32059 on and off sequences.
32060
69ba137e 320612008-05-31 Robert Millan <rmh@aybabtu.com>
32062
32063 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
32064 * util/update-grub.in: Likewise.
32065
520ae21b 320662008-05-30 Pavel Roskin <proski@gnu.org>
32067
32068 * util/biosdisk.c (linux_find_partition): Simplify logic and
32069 make the code more universal. Keep special processing for
32070 devfs, but use a simple rule for all other devices. If the
32071 device ends with a number, append 'p' and the partition number.
32072 Otherwise, append only the partition number.
32073
5786569b 320742008-05-30 Robert Millan <rmh@aybabtu.com>
32075
32076 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
32077 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
32078 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
32079 the `root' parameter to Linux.
32080
51500452 320812008-05-30 Robert Millan <rmh@aybabtu.com>
32082
32083 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
32084 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
32085 --fs_uuid with --fs-uuid.
32086 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
32087 all filesystems support them).
32088
811d3878 320892008-05-30 Robert Millan <rmh@aybabtu.com>
32090
32091 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 32092 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 32093
cab63c95 320942008-05-30 Robert Millan <rmh@aybabtu.com>
32095
32096 * util/grub.d/00_header.in: Remove obsolete comment referencing
32097 convert_system_path_to_grub_path().
32098 * util/update-grub.in: Likewise.
32099 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
32100 (convert_system_path_to_grub_path): Add a warning message explaining
32101 that this function is deprecated. Rely on is_path_readable_by_grub()
32102 for the readability checks.
32103 (font_path): Use is_path_readable_by_grub() for the readability
32104 check rather than convert_system_path_to_grub_path().
32105
972e2f7a 321062008-05-30 Robert Millan <rmh@aybabtu.com>
32107
32108 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
32109 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
32110 converting it first.
32111 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
32112 grub.cfg for access to font file, and afterwards call it again to set
32113 the root device.
32114
62191274 321152008-05-30 Robert Millan <rmh@aybabtu.com>
32116
32117 * commands/search.c (options): Add --fs_uuid option.
32118 (search_fs_uuid): New function.
32119 (grub_cmd_search): Fix --set argument passing.
32120 Use search_fs_uuid() when requested via --fs_uuid.
32121 (grub_search_init): Update help message.
32122 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32123 and redeclare it as an array of 16-bit words.
32124 (grub_ext2_uuid): New function.
32125 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32126 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32127 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32128 (GRUB_DEVICE_BOOT_UUID): New variables.
32129 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32130 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32131 whenever possible.
32132 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32133 just assume `root' variable has the right value.
32134 * util/grub.d/10_linux.in: Likewise.
32135 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32136 via PRINT_FS_UUID.
32137 (main): Recognise `-t fs_uuid' argument.
32138
01b73ec8 321392008-05-30 Robert Millan <rmh@aybabtu.com>
32140
32141 * util/biosdisk.c (map): Redefine structure to hold information
32142 about GRUB drive name.
fe6b695a 32143 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 32144 drive names.
32145 (call_hook): Remove.
32146 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32147 member. Assume drive has partitions.
32148 (grub_util_biosdisk_open): Access device names via `.device' struct
32149 member.
32150 (open_device): Likewise.
32151 (find_drive): Likewise.
32152 (read_device_map): Adjust map[] usage to match the new struct
32153 definition. Don't check for duplicates (still possible, but not cheap
32154 anymore).
32155 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32156 (make_device_name): Remove assumption of BIOS-like drive names.
32157
22f16596 321582008-05-30 Pavel Roskin <proski@gnu.org>
32159
32160 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32161 compiling execute.c doesn't need grub_script.tab.h anymore.
32162 (normal/command.c_DEPENDENCIES): Likewise.
32163 (normal/function.c_DEPENDENCIES): Likewise.
32164 * conf/i386-ieee1275.rmk: Likewise.
32165 * conf/i386-linuxbios.rmk: Likewise.
32166 * conf/i386-pc.rmk: Likewise.
32167 * conf/powerpc-ieee1275.rmk: Likewise.
32168 * conf/sparc64-ieee1275.rmk: Likewise.
32169
528ad8f2 321702008-05-29 Pavel Roskin <proski@gnu.org>
32171
d1dff95d 32172 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32173 when scanning metadata for volume group name.
32174
528ad8f2 32175 * include/grub/script.h: Don't include grub_script.tab.h. It's
32176 a generated file, which may only be included from the files with
32177 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32178 use union YYSTYPE, as the later allows forward declaration.
32179 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32180
47248e08 321812008-05-29 Robert Millan <rmh@aybabtu.com>
32182
32183 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32184 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32185 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32186 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32187 scan codes.
32188
ee632529 321892008-05-29 Robert Millan <rmh@aybabtu.com>
32190
32191 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32192 control key combinations.
32193
eee96e08 321942008-05-29 Robert Millan <rmh@aybabtu.com>
32195
32196 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32197 * util/ieee1275/grub-install.in: ... to here.
32198 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32199 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32200 (grub_install_SOURCES): Likewise.
32201
da9a6a94 322022008-05-29 Robert Millan <rmh@aybabtu.com>
32203
32204 * fs/affs.c: Update copyright year.
32205 * fs/ext2.c: Likewise.
32206 * fs/fshelp.c: Likewise.
32207 * fs/hfsplus.c: Likewise.
32208 * fs/ntfs.c: Likewise.
32209 * fs/xfs.c: Likewise.
32210 * include/grub/fshelp.h: Likewise.
32211 * util/grub-mkdevicemap.c: Likewise.
32212
12e65f3a 322132008-05-28 Robert Millan <rmh@aybabtu.com>
32214
32215 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32216 might need to be fatfs to support some firmware implementations
32217 (e.g. OFW or EFI).
32218
23023641 322192008-05-28 Robert Millan <rmh@aybabtu.com>
32220
32221 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32222 devices.
32223 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32224 (make_device_map): Likewise.
32225
887d2619 322262008-05-20 Bean <bean123ch@gmail.com>
32227
32228 * fs/fshelp.c (grub_fshelp_map_block): New function.
32229 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32230 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32231
32232 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32233 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32234 (grub_fshelp_journal): New structure.
32235 (grub_fshelp_map_block): New function prototype.
32236 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32237 (grub_fshelp_map_block): Likewise.
32238
32239 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32240 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32241 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32242 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32243 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32244 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32245 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32246 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32247 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32248 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32249 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32250 (grub_ext2_sblock): New members for journal support.
32251 (grub_ext3_journal_header): New structure.
32252 (grub_ext3_journal_revoke_header): Likewise.
32253 (grub_ext3_journal_block_tag): Likewise.
32254 (grub_ext3_journal_sblock): Likewise.
32255 (grub_fshelp_node): New members logfile and journal.
32256 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32257 grub_fshelp_map_block to get real block number.
32258 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32259 number.
32260 (grub_ext2_read_inode): Likewise.
32261 (grub_ext3_get_journal): New function.
32262 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32263 (grub_ext2_close): Release memory used by journal.
32264
32265 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32266 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32267 (grub_reiserfs_transaction_header): Renamed to
32268 grub_reiserfs_description_block, replace field data with real_blocks.
32269 (grub_reiserfs_commit_block): New structure.
32270 (grub_reiserfs_data): New member journal.
32271 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32272 number.
32273 (grub_reiserfs_read_symlink): Likewise.
32274 (grub_reiserfs_iterate_dir): Likewise.
32275 (grub_reiserfs_open): Likewise.
32276 (grub_reiserfs_read): Likewise.
32277 (grub_reiserfs_get_journal): New function.
32278 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32279 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32280 using grub_reiserfs_get_journal.
32281 (grub_reiserfs_close): Release memory used by journal.
32282
32283 * fs/affs.c (grub_affs_read_block): Change block type to
32284 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32285
32286 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32287
32288 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32289
32290 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32291
32292 * fs/udf.c (grub_udf_read_block): Change block type to
32293 grub_disk_addr_t. Use type cast to avoid warning.
32294
32295 * fs/xfs.c (grub_xfs_read_block): Likewise.
32296
b7c6bed5 322972008-05-16 Christian Franke <franke@computer.org>
32298
32299 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32300 to ensure that break with ESC will always work.
32301 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32302 Remove ESC from keyboard queue.
32303
eedf167f 323042008-05-16 Christian Franke <franke@computer.org>
32305
32306 * util/biosdisk.c: [__CYGWIN__] Add includes.
32307 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32308 (get_os_disk): Move variable declarations to OS specific
32309 parts to avoid warning.
32310 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32311 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32312 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32313 Cygwin.
32314 * util/getroot.c: [__CYGWIN__] Add includes.
32315 (strip_extra_slashes): Fix "/" case.
32316 [__CYGWIN__] (get_win32_path): New function.
32317 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32318 [__CYGWIN__] (find_root_device): Disable.
32319 [__CYGWIN__] (get_bootsec_serial): New function.
32320 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32321 [__linux__] (grub_guess_root_device): Add early returns to simplify
32322 structure.
32323 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32324 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32325 check for Linux only.
32326
a079699e 323272008-05-15 Bean <bean123ch@gmail.com>
32328
32329 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32330 keyboard hang problem in apple's intel mac.
32331
1cf4059a 323322008-05-09 Robert Millan <rmh@aybabtu.com>
32333
32334 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32335 devices.
32336 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32337 (make_device_map): Likewise.
32338 Reported by Aurelien Jarno <aurel32@debian.org>
32339
ed759390 323402008-05-07 Ian Campbell <ijc@hellion.org.uk>
32341
32342 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32343 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32344 (make_device_map): Output entries for xvd type disks.
32345
b56c4eaa 323462008-05-07 Robert Millan <rmh@aybabtu.com>
32347
32348 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32349 devices.
32350 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32351 (make_device_map): Likewise.
32352 Reported by Roland Dreier <rdreier@cisco.com>
32353
7f8866ed 323542008-05-07 Robert Millan <rmh@aybabtu.com>
32355
32356 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32357 grub_strstr() call. Correct a few mistakes in failure path handling.
32358
b0346e0f 323592008-05-06 Robert Millan <rmh@aybabtu.com>
32360
32361 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32362 Do not print a trailing slash (therefore, the root directory is an
32363 empty string).
32364 (convert_system_path_to_grub_path): Do not remove trailing slash
32365 from make_system_path_relative_to_its_root() output.
32366
32367 * util/i386/pc/grub-install.in: Add trailing slash to output from
32368 make_system_path_relative_to_its_root().
32369
6cf12cbd 323702008-05-06 Robert Millan <rmh@aybabtu.com>
32371
32372 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32373 ensures that output lines aren't intermangled with those sent to
32374 stderr (via grub_util_info()).
32375 * util/grub-probe.c (grub_refresh): Likewise.
32376 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32377
0fbb3117 323782008-05-05 Christian Franke <franke@computer.org>
32379
32380 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32381 Add Cygwin device names.
32382 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32383 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32384 (check_device): Return error instead of success on empty name.
32385 (make_device_map): Move label inside linux specific code to
32386 prevent compiler warning.
32387
8124cdb7 323882008-04-30 Robert Millan <rmh@aybabtu.com>
32389
32390 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32391 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32392 first boot option.
32393 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32394
094c01d0 323952008-04-29 Robert Millan <rmh@aybabtu.com>
32396
32397 * docs/grub.cfg: New file (example GRUB configuration).
32398
f4b1fc02 323992008-04-26 Robert Millan <rmh@aybabtu.com>
32400
329ce2a5 32401 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32402 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32403 and `disk/ieee1275/nand.c'.
f4b1fc02 32404
25f16ec1 324052008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 32406
25f16ec1 32407 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32408 i386-linuxbios.
32409
32410 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32411 change the buffer size to 4096 for cdrom device.
32412
32413 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32414 and nand.mod.
32415 (_linux_mod_SOURCES): New variable.
32416 (_linux_mod_CFLAGS): Likewise.
32417 (_linux_mod_LDFLAGS): Likewise.
32418 (linux_mod_SOURCES): Likewise.
32419 (linux_mod_CFLAGS): Likewise.
32420 (linux_mod_LDFLAGS): Likewise.
32421 (nand_mod_SOURCES): Likewise.
32422 (nand_mod_CFLAGS): Likewise.
32423 (nand_mod_LDFLAGS): Likewise.
32424
32425 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32426 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32427 type property. (nand device in olpc don't have this property)
32428
32429 * include/grub/disk.h (grub_disk_dev_id): New macro
32430 GRUB_DISK_DEVICE_NAND_ID.
32431
32432 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32433 function prototype.
32434 (grub_rescue_cmd_initrd): Likewise.
32435
32436 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32437 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32438 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 32439
25f16ec1 32440 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32441 GRUB_MACHINE_IEEE1275 is defined.
32442
32443 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32444 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32445
32446 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32447 on nested function heap_init.
32448 (grub_upper_mem): New variable for i386-ieee1275.
32449 (grub_get_extended_memory): New function for i386-ieee1275.
32450 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32451
32452 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32453 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32454 property.
f19dbdb7 32455
25f16ec1 32456 * loader/i386/ieee1275/linux.c: New file.
32457
32458 * loader/i386/ieee1275/linux_normal.c: New file.
32459
32460 * disk/ieee1275/nand.c: New file.
32461
e89d61e9 324622008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32463
32464 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32465 value.
32466 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32467
602566f6 324682008-04-18 Robert Millan <rmh@aybabtu.com>
32469
32470 Restructures early code path on ieee1275 to unify grub_main() as
32471 the first C function that is executed in every platform.
32472
32473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32474 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32475 cmain().
32476 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32477 * kern/ieee1275/cmain.c (cmain): Rename to ...
32478 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32479 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32480 at the beginning.
32481
57490c2b 324822008-04-18 Robert Millan <rmh@aybabtu.com>
32483
32484 * util/update-grub.in: Fix syntax error when setting
32485 `GRUB_PRELOAD_MODULES'.
32486 Reported by Stephane Chazelas <stephane@artesyncp.com>
32487
1977517d 324882008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32489
32490 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32491 section into account, newer toolchains generate unique build ids
32492 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 32493 we want build ids to be preserved
1977517d 32494 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32495 far from other sections don't cause the raw binary images grow
32496 size
32497
bfb1f1a2 324982008-04-15 Robert Millan <rmh@aybabtu.com>
32499
32500 * disk/lvm.c: Update copyright year.
32501 * kern/misc.c: Likewise.
32502
01979850 325032008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32504
32505 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 32506 there is no memory left for physical volume name.
01979850 32507
0a1150e2 325082008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32509
32510 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32511 volume name mapping to support bigger than 9 character names properly.
32512
82ead3fe 325132008-04-13 Robert Millan <rmh@aybabtu.com>
32514
32515 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32516 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32517
e54a72f5 325182008-04-13 Christian Franke <franke@computer.org>
32519
32520 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32521 to create a floppy emulation boot CD when non emulation mode
32522 does not work.
32523 Enable Joliet CD filesystem extension.
32524
9fe86034 325252008-04-13 Robert Millan <rmh@aybabtu.com>
32526
32527 * kern/misc.c (grub_strncat): Fix off-by-one error.
32528 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32529
32530 * kern/env.c (grub_env_context_close): Clear current context, not
32531 previous one.
32532 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32533
32534 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32535
7ceeee39 325362008-04-13 Robert Millan <rmh@aybabtu.com>
32537
32538 Improve robustness when handling LVM.
32539
32540 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 32541 (and leave `*p' unmodified).
7ceeee39 32542 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32543 through it.
32544 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32545 iterating through it.
32546 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32547 through it.
fe6b695a 32548 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 32549 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32550 Don't assume `vg->pvs != NULL' when iterating through it.
32551
58cd3d85 325522008-04-13 Robert Millan <rmh@aybabtu.com>
32553
32554 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32555 * genmk.rb (partmap): New variable.
32556 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32557 (#{partmap}): New target rule.
32558 * genpartmaplist.sh: New file.
32559 * Makefile.in (pkglib_DATA): Add partmap.lst.
32560 (partmap.lst): New target rule.
32561 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32562 modules (including all partition maps), instead of preloading them.
32563
78b51059 325642007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32565
32566 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32567 `linux-boot-prober' (if installed) to detect other operating
32568 systems which are installed on the computer and add them to
32569 the boot menu.
32570 * conf/common.rmk: Build and install 30_os-prober.
32571
a91627b4 325722008-04-12 Robert Millan <rmh@aybabtu.com>
32573
32574 * kern/powerpc/ieee1275/init.c: Move from here ...
32575 * kern/ieee1275/init.c: ... to here. Update all users.
32576
32577 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32578 * kern/ieee1275/cmain.c: ... to here. Update all users.
32579
32580 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32581 * kern/ieee1275/openfw.c: ... to here. Update all users.
32582
32583 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32584 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32585
322562ea 325862008-04-10 Pavel Roskin <proski@gnu.org>
32587
32588 * configure.ac: Always use "_cv_" in cache variables for
32589 compatibility with Autoconf 2.62.
32590
a02a73c5 325912008-04-07 Robert Millan <rmh@aybabtu.com>
32592
32593 Revert grub/machine/init.h addition by Pavel (since it breaks on
32594 i386-ieee1275 and others):
32595 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32596 * util/powerpc/ieee1275/misc.c: Likewise.
32597
25c024b1 325982008-04-07 Robert Millan <rmh@aybabtu.com>
32599
32600 * util/grub-probe.c (probe): Improve error message.
32601
3cbd2f98 326022008-04-07 Robert Millan <rmh@aybabtu.com>
32603
32604 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32605 (this prevents the presence of a bogus entry from ruining the whole
32606 thing).
32607
87a297bf 326082008-04-06 Pavel Roskin <proski@gnu.org>
32609
36747a62 32610 * util/biosdisk.c: Include grub/util/biosdisk.h.
32611 * util/grub-fstest.c (execute_command): Make static.
32612 * util/grub-mkdevicemap.c (check_device): Likewise.
32613 * util/i386/pc/misc.c: Include grub/machine/init.h.
32614 * util/powerpc/ieee1275/misc.c: Likewise.
32615 * util/lvm.c: Include grub/util/lvm.h.
32616 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32617 grub/cache.h.
32618 * util/raid.c: Include grub/util/raid.h.
32619 (grub_util_getdiskname): Make static.
32620
87a297bf 32621 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32622 grub_hostfs_fini(), as they are called from grub_init_all() and
32623 grub_fini_all() respectively. This fixes an infinite loop in
32624 grub-fstest due to double registration of hostfs.
32625 Reported by Christian Franke <Christian.Franke@t-online.de>
32626
f6ce7629 326272008-04-05 Pavel Roskin <proski@gnu.org>
32628
32629 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32630 all 8 functions. Otherwise, probe function 0 only.
32631
070e49e4 326322008-04-04 Pavel Roskin <proski@gnu.org>
32633
8b088a4c 32634 * commands/lspci.c (grub_lspci_iter): Print the bus number
32635 correctly.
32636
4f657021 32637 * commands/lspci.c (grub_pci_classes): Fix typos.
32638 (grub_lspci_iter): Don't print func twice. Print vendor ID
32639 before device ID, as it's normally done.
32640
070e49e4 32641 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32642 Fix signedness warnings.
32643 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32644 Likewise.
32645 * util/ieee1275/get_disk_name.c: Include config.h so that
32646 _GNU_SOURCE is defined and getline() is declared. Mark an
32647 unused argument as such. Fix a signedness warning.
32648
ba7328dc 326492008-04-02 Pavel Roskin <proski@gnu.org>
32650
26887f22 32651 * genkernsyms.sh.in: Use more robust assignments for CC and
32652 srcdir. Quote srcdir.
32653 * gensymlist.sh.in: Likewise. Assert at the compile time that
32654 the symbol table is not empty.
32655
ba7328dc 32656 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32657 * fs/cpio.c (grub_cpio_read): Likewise.
32658
0f582c6b 326592008-04-01 Pavel Roskin <proski@gnu.org>
32660
4b6e1995 32661 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32662 * disk/host.c (grub_host_open): Likewise.
32663 * disk/loopback.c (grub_loopback_open): Likewise.
32664 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32665 disk->id as in disk/host.c, not a multi-character constant.
32666
828a2768 32667 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32668 later is obsolete, potentially dangerous and sets a bad example.
32669 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32670 * util/misc.c (grub_util_get_image_size): Likewise.
32671
2bb4fb47 32672 * disk/loopback.c (options): Improve help for "--partitions".
32673
0f582c6b 32674 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32675 options to align them with the short options, e.g. "echo -e".
32676
a33224e0 326772008-03-31 Bean <bean123ch@gmail.com>
32678
32679 * video/reader/png.c (grub_png_data): New member is_16bit and
32680 image_data.
32681 (grub_png_decode_image_header): Detect 16 bit png image.
32682 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32683 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32684 (grub_video_reader_png): Release memory occupied by image_data.
32685
32686 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32687 4096 bytes.
32688 (grub_nfs_mount): Skip the test for sector per cluster.
32689
32690 * include/grub/ntfs.h (MAX_SPC): Removed.
32691
86cb4f54 326922008-03-31 Bean <bean123ch@gmail.com>
32693
32694 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32695 (grub_probe_SOURCES): Add fs/afs.c.
32696 (grub_fstest_SOURCES): Likewise.
32697 (afs_mod_SOURCES): New variable.
32698 (afs_mod_CFLAGS): Likewise.
32699 (afs_mod_LDFLAGS): Likewise.
32700
32701 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32702 (grub_emu_SOURCES): Likewise.
32703
32704 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32705
32706 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32707
32708 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32709
32710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32711
32712 * fs/afs.c: New file.
32713
17c74c21 327142008-03-30 Pavel Roskin <proski@gnu.org>
32715
4cb68e89 32716 * disk/host.c: Include grub/misc.h to fix a warning.
32717 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32718 warnings about implicit declarations.
32719
8790bb04 32720 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32721 variable.
32722 * include/grub/i386/loader.h: Change declaration of
32723 grub_linux_boot() to match what grub_loader_set() expects.
32724 * util/getroot.c (grub_guess_root_device): Return const char* to
32725 fix a warning.
32726 * util/grub-probe.c (probe): Fix a warning about uninitialized
32727 abstraction_name variable.
32728 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32729 second argument as unused to fix a warning.
32730
9a3f3296 32731 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32732 missing grub_error() call.
32733
0ecef90d 32734 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32735 2.60 and newer uses it to define datadir.
32736
0bf6d401 32737 * commands/sleep.c: Fix warning about implicit declaration.
32738 * disk/memdisk.c: Likewise.
32739 * loader/aout.c: Likewise.
32740 * loader/i386/bsd_normal.c: Likewise.
32741 * util/grub-probe.c: Likewise.
32742
7cdacf97 32743 * commands/i386/cpuid.c (has_longmode): Make static.
32744 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32745 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32746
17c74c21 32747 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32748 GDT. This is more robust, as %ds can change.
32749 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32750 calling real_to_prot().
32751 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32752
80a3e68b 327532008-03-28 Pavel Roskin <proski@gnu.org>
32754
32755 * kern/i386/pc/startup.S: Assert that uncompressed functions
32756 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32757 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32758 code, as they push parts of the code (error handlers) beyond
32759 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32760 code as correctness and size.
32761
77bcd272 327622008-03-28 Pavel Roskin <proski@gnu.org>
32763
32764 * kern/i386/pc/startup.S
32765 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32766 data block address to the real mode, keep offset minimal. This
32767 works around a bug in AWARD BIOS on old Athlon systems, which
32768 makes CD detection hang.
32769
c5dfd43b 327702008-03-26 Pavel Roskin <proski@gnu.org>
32771
32772 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32773 const.
32774 * include/grub/normal.h: Add grub_parse_color_name_pair()
32775 declaration.
32776
bf962df2 327772008-03-24 Bean <bean123ch@gmail.com>
32778
32779 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32780 (cd_count): Removed.
32781 (cd_drive): New variable.
32782 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32783 (grub_biosdisk_call_hook): Likewise.
32784 (grub_biosdisk_iterate): Change cdrom detection method.
32785 (grub_biosdisk_open): Replace cd_start with cd_drive.
32786 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32787 detect cdrom device.
32788
32789 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32790 Removed.
32791 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32792 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32793 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32794 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32795 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32796 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32797 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32798 (grub_biosdisk_cdrp): New structure.
32799 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32800
32801 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32802
32803 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32804 device.
32805
32806 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32807 New function.
32808
68e7fc7a 328092008-03-20 Robert Millan <rmh@aybabtu.com>
32810
32811 Remove 2 TiB limit in ata.mod.
32812 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32813 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32814 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32815 grub_uint64_t instead of grub_uint32_t.
32816
38ad2cf5 328172008-03-05 Bean <bean123ch@gmail.com>
32818
32819 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32820 (grub_multiboot): Set boot device.
32821
32822 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32823
2b89344e 328242008-03-02 Bean <bean123ch@gmail.com>
32825
32826 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32827 symlink_buffer.
32828
87a95d1f 328292008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32830
32831 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32832 texinfo.tex.
32833
32834 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32835 modified.
32836
32837 * docs/fdl.texi: New file.
f19dbdb7 32838
87a95d1f 32839 * docs/mdate-sh: New file. Copied from gnulib.
32840 * docs/texinfo.tex: Likewise.
32841
32842 * config.guess: Updated from gnulib.
32843 * install-sh: Likewise.
32844
7dc15d8e 328452008-02-28 Robert Millan <rmh@aybabtu.com>
32846
32847 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32848 (aout_mod_SOURCES): New variable.
32849 (aout_mod_CFLAGS): Likewise.
32850 (aout_mod_LDFLAGS): Likewise.
32851
32852 * conf/i386-ieee1275.rmk: Likewise.
32853
b00ab696 328542008-02-28 Robert Millan <rmh@aybabtu.com>
32855
32856 * util/update-grub.in: Reorganise terminal validity check. Accept
32857 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32858 Based on suggestion by Franklin PIAT.
32859
79ca2d78 328602008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32861
32862 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32863 function.
32864 * util/getroot.c (grub_util_check_block_device): New function that
32865 returns the given argument if it is a block device and returns NULL else.
32866 * util/grub-probe.c (argument_is_device): New variable.
32867 (probe): Promote device_name from a variable to an argument. Receive
32868 device_name from grub_util_check_block_device() if path is NULL and from
32869 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 32870 (options): Introduce new parameter '-d, --device'.
79ca2d78 32871 (main): Add description of the new parameter to the help screen.
32872 Rename path variable to argument. Set argument_is_device if the '-d'
32873 option is given. Pass argument to probe() depending on
32874 argument_is_device.
32875
0d16e571 328762008-02-24 Bean <bean123ch@gmail.com>
32877
32878 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32879 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32880 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32881 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32882 (GRUB_ISO9660_VOLDESC_END): Likewise.
32883 (grub_iso9660_primary_voldesc): New member escape.
32884 (grub_iso9660_data): New member joliet.
32885 (grub_iso9660_convert_string): New function.
32886 (grub_iso9660_mount): Detect joliet extension.
32887 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32888 (grub_iso9660_iso9660_label): Likewise.
32889
32890 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32891 (grub_setup_SOURCES): Add fs/udf.c.
32892 (grub_fstest_SOURCES): Likewise.
32893 (udf_mod_SOURCES): New variable.
32894 (udf_mod_CFLAGS): Likewise.
32895 (udf_mod_LDFLAGS): Likewise.
32896
32897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32898 (grub_emu_SOURCES): Likewise.
32899
32900 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32901
32902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32903
32904 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32905
32906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32907
32908 * fs/udf.c: New file.
32909
8a594a17 329102008-02-24 Robert Millan <rmh@aybabtu.com>
32911
32912 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32913 (normal/lexer.c_DEPENDENCIES): New variables.
32914 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32915 (normal/lexer.c_DEPENDENCIES): Likewise.
32916 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32917 (normal/lexer.c_DEPENDENCIES): Likewise.
32918 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32919 (normal/lexer.c_DEPENDENCIES): Likewise.
32920 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32921 (normal/lexer.c_DEPENDENCIES): Likewise.
32922 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32923 (normal/lexer.c_DEPENDENCIES): Likewise.
32924
2dc33c03 329252008-02-23 Robert Millan <rmh@aybabtu.com>
32926
32927 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32928 since they were intended to be in hex. This didn't break previously
32929 because of a bug in gpt_partition_map_iterate() (see below).
32930
32931 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32932 when checking the validity of GPT header.
32933 Remove `partno', since it always provides the same information as `i'.
32934
f6f4cfb0 329352008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32936
32937 * include/grub/efi/time.h: Fix a wrong comment.
32938
79ff665f 329392008-02-19 Pavel Roskin <proski@gnu.org>
32940
32941 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32942 message.
32943
d38e24c2 329442008-02-19 Bean <bean123ch@gmail.com>
32945
32946 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32947 (aout_mod_SOURCES): New variable.
32948 (aout_mod_CFLAGS): Likewise.
32949 (aout_mod_LDFLAGS): Likewise.
32950 (_bsd_mod_SOURCES): New variable.
32951 (_bsd_mod_CFLAGS): Likewise.
32952 (_bsd_mod_LDFLAGS): Likewise.
32953 (bsd_mod_SOURCES): New variable.
32954 (bsd_mod_CFLAGS): Likewise.
32955 (bsd_mod_LDFLAGS): Likewise.
32956
32957 * include/grub/aout.h: New file.
32958
32959 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32960
32961 * include/grub/i386/bsd.h: New file.
32962
32963 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32964 to make it public.
32965
32966 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32967 function is called, so that it's possible to change it inside the hook.
32968 (grub_elf64_load): Likewise.
32969 (grub_elf_file): Don't close the file if elf header is not found.
32970 (grub_elf_close): Close the file if grub_elf_file fails (The new
32971 grub_elf_file won't close it).
32972 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32973 (grub_elf64_size): Likewise.
32974
32975 * kern/i386/loader.S (grub_unix_real_boot): New function.
32976
32977 * loader/aout.c: New file.
32978
32979 * loader/i386/bsd.c: New file.
32980
32981 * loader/i386/bsd_normal.c: New file.
32982
32983 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32984
32985 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 32986 can test other formats.
d38e24c2 32987
b93bdb0f 329882008-02-19 Robert Millan <rmh@aybabtu.com>
32989
32990 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32991 (grub_gpt_partition_type_empty): Redefine with macro from
32992 `<grub/gpt_partition.h>'.
32993 (gpt_partition_map_iterate): Adjust partition type comparison.
32994
32995 Export `entry' as partmap-specific `part.data' struct.
32996 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32997
32998 * include/grub/gpt_partition.h (grub_gpt_header)
32999 (grub_gpt_partentry): ... to here (new file).
33000
33001 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
33002
33003 (grub_gpt_partition_type_bios_boot): New const variable, defined
33004 with macro from `<grub/gpt_partition.h>'.
33005
33006 (setup): Replace `first_start' with `embed_region', which keeps
33007 track of the embed region (and is partmap-agnostic).
33008
33009 Replace find_first_partition_start() with find_usable_region(),
33010 which finds a usable region for embedding using partmap-specific
33011 knowledge (supports PC/MSDOS and GPT).
33012
33013 Fix all assumptions that the embed region start at sector 1, using
33014 `embed_region.start' from now on. Similarly, use `embed_region.end'
33015 rather than `first_start' to calculate available size.
33016
33017 In grub_util_info() message, replace "into after the MBR" with an
33018 indication of the specific sector our embed region starts at.
33019
66cb40f6 330202008-02-19 Robert Millan <rmh@aybabtu.com>
33021
33022 * DISTLIST: Replace `commands/ieee1275/halt.c' and
33023 `commands/ieee1275/reboot.c' with `commands/halt.c' and
33024 `commands/reboot.c'.
33025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33026 (halt_mod_SOURCES): Likewise.
33027 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33028 (halt_mod_SOURCES): Likewise.
33029
b7202015 330302008-02-17 Christian Franke <franke@computer.org>
33031
33032 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
33033
32b0fc49 330342008-02-17 Robert Millan <rmh@aybabtu.com>
33035
33036 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33037 set `first_start' to 0 for non-PC/MSDOS partition maps.
33038
aca63502 330392008-02-16 Robert Millan <rmh@aybabtu.com>
33040
33041 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33042 do not assume partition map is PC/MSDOS before performing checks that
33043 are specific to that layout.
33044
0de8be86 330452008-02-13 Robert Millan <rmh@aybabtu.com>
33046
33047 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
33048 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
33049 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
33050
c3db8364 330512008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
33052
33053 * configure.ac: Only a cosmetic change on the handling of
33054 -fno-stack-protector.
33055
f714229e 330562008-02-12 Alexandre Boeglin <alex@boeglin.org>
33057
c3db8364 33058 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
33059 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
33060 reboot.c.
f714229e 33061 (grub_install_SOURCES): Add halt.mod and reboot.mod.
33062 (halt_mod_SOURCES): New variable.
33063 (halt_mod_CFLAGS): Likewise.
33064 (halt_mod_LDFLAGS): Likewise.
33065 (reboot_mod_SOURCES): Likewise.
33066 (reboot_mod_CFLAGS): Likewise.
33067 (reboot_mod_LDFLAGS): Likewise.
33068
c3db8364 33069 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
33070 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
33071 reboot.c.
f714229e 33072 (halt_mod_SOURCES): Likewise.
33073 (reboot_mod_SOURCES): Likewise.
33074
c3db8364 33075 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
33076 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 33077 (reboot_mod_SOURCES): Likewise.
33078
33079 * commands/i386/pc/reboot.c: merge this file ...
33080
33081 * commands/ieee1275/reboot.c: ... and this file ...
33082
33083 * commands/reboot.c: ... to this file.
c3db8364 33084 Add some precompiler directive to include the correct header for
33085 each machine.
f714229e 33086
33087 * commands/ieee1275/halt.c: move this file ...
33088
33089 * commands/halt.c: ... to here.
c3db8364 33090 Add some precompiler directive to include the correct header for
33091 each machine.
f714229e 33092
33093 * include/grub/efi/efi.h (grub_reboot): New function declaration.
33094 (grub_halt): Likewise.
33095
33096 * kern/efi/efi.c (grub_reboot): New function.
33097 (grub_halt): Likewise.
33098
c74493e0 330992008-02-12 Robert Millan <rmh@aybabtu.com>
33100
33101 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
33102 /dev (like it is done for /dev/mapper). This doesn't provide support
33103 for EVMS, but at least it is now easy to identify the problem when it
33104 arises.
33105
d0db4b04 331062008-02-11 Robert Millan <rmh@aybabtu.com>
33107
33108 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
33109 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
33110 comparing it with -1, not 0.
33111
bf748642 331122008-02-10 Robert Millan <rmh@aybabtu.com>
33113
33114 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
33115 `disk/lvm.c'.
33116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33117 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33118
33119 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33120 `disk/lvm.c' to the end of the list.
33121 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33122 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33123
b5db202a 331242008-02-10 Robert Millan <rmh@aybabtu.com>
33125
33126 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33127 grub_print_error() instead. This will let user know why we're entering
33128 rescue mode.
33129 Based on suggestions from Sam Morris.
33130
83abee31 331312008-02-10 Alexandre Boeglin <alex@boeglin.org>
33132
33133 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33134 on remaining N args, instead of "--" arg N times.
33135
78d5a08b 331362008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33137
33138 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33139 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33140 pattern for unknown glyphs.
33141
68807e5f 331422008-02-09 Robert Millan <rmh@aybabtu.com>
33143
33144 * configure.ac: Probe for `help2man'.
33145 * Makefile.in (builddir): New variable.
33146 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33147 or otherwise add a few flags/options to it.
33148 (install-local): For every executable utility or script that is
33149 installed, invoke $(HELP2MAN) to install a manpage based on --help
33150 output.
33151
33152 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33153 that it doesn't prevent --help from working in build tree.
33154
33155 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33156 with `bug-grub@gnu.org'.
33157 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33158 * util/update-grub.in (usage): New function.
33159 Implement proper argument check, with support for --help and --version
33160 (as well as existing -y).
33161
331622008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 33163
33164 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33165 avoid overwriting previous output.
33166 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33167
c1962162 331682008-02-09 Robert Millan <rmh@aybabtu.com>
33169
33170 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33171 drawing the menu.
33172
3dac2e3f 331732008-02-09 Robert Millan <rmh@aybabtu.com>
33174
33175 * commands/sleep.c: New file.
33176 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33177 (sleep_mod_SOURCES): New variable.
33178 (sleep_mod_CFLAGS): Likewise.
33179 (sleep_mod_LDFLAGS): Likewise.
33180
7a634e08 331812008-02-09 Robert Millan <rmh@aybabtu.com>
33182
33183 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33184 situations in which we can deduce the RAID size and the superblock
33185 doesn't match it.
33186
b92f0c18 331872008-02-09 Robert Millan <rmh@aybabtu.com>
33188
33189 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33190 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33191 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33192
33193 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33194 and return a grub_diskmemberlist_t composed of physical array members.
33195 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33196
33197 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33198 prototype.
33199 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33200 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33201 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33202
33203 * util/grub-probe.c (probe): Move partmap probing code from here ...
33204 (probe_partmap): ... to here.
33205 (probe): Use probe_partmap() once for the disk we're probing, and
33206 additionally, when such disk contains a memberlist() struct member,
33207 once for each disk that is contained in the structure returned by
33208 memberlist().
33209
91a4bf68 332102008-02-09 Robert Millan <rmh@aybabtu.com>
33211
33212 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33213 environment variable to 'all' in order to obtain debug output from
33214 non-util/ code.
33215 * util/i386/pc/grub-setup.c (main): Likewise.
33216
a96f9caa 332172008-02-08 Robert Millan <rmh@aybabtu.com>
33218
33219 * disk/raid.c (grub_raid_scan_device): Check for
33220 `array->device[sb.this_disk.number]' rather than for
33221 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 33222 guaranteed to be accessible.
a96f9caa 33223
b37a9222 332242008-02-08 Robert Millan <rmh@aybabtu.com>
33225
33226 * disk/raid.c: Update copyright.
33227 * fs/cpio.c: Likewise.
33228 * include/grub/raid.h: Likewise.
33229 * loader/i386/pc/multiboot.c: Likewise.
33230 * util/hostfs.c: Likewise.
33231
5626aee1 332322008-02-08 Robert Millan <rmh@aybabtu.com>
33233
33234 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33235 to a grub_disk_t array.
33236 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33237 `device[x]'.
33238 (grub_raid_scan_device): Replace `device[x].name' accesses with
33239 `device[x]->name'. Simplify initialization of `array->device[x]'.
33240
554f0187 332412008-02-08 Robert Millan <rmh@aybabtu.com>
33242
33243 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33244 grub_dprintf() calls.
33245 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33246 error message.
33247
1ec8425d 332482008-02-07 Christian Franke <franke@computer.org>
33249
33250 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33251 instead of fseek and ftell to support large files.
33252 (grub_hostfs_read): Likewise.
33253
f2156fda 332542008-02-07 Robert Millan <rmh@aybabtu.com>
33255
33256 Patch from Jeroen Dekkers.
33257 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 33258 failure, since successfully reading all array members might not be
f2156fda 33259 required.
33260
9216e0e7 332612008-02-06 Robert Millan <rmh@aybabtu.com>
33262
33263 * util/grub-probe.c (probe): Simplify partmap probing (with the
33264 assumption that the first word up to the underscore equals to
33265 the module name).
33266
b0dfd29a 332672008-02-06 Christian Franke <franke@computer.org>
33268
33269 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33270 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33271 last block of a cpio or tar stream.
33272 Check for "TRAILER!!!" instead of any empty data
33273 block to detect last block of a cpio stream.
33274 (grub_cpio_dir): Fix constness of variable np.
33275 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33276 cpio or tar trailer is detected. This fixes a crash
33277 on open of a non existing file.
33278
c32865bf 332792008-02-05 Bean <bean123ch@gmail.com>
33280
33281 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33282 address of entry.
33283 (grub_multiboot_load_elf64): Likewise.
33284 (grub_multiboot): Initialize mbi structure.
33285
33286 * util/grub-fstest.c: Don't include unused header file script.h.
33287
fe6b695a 33288 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 33289 of file.
33290 (grub_fstest_SOURCES): Likewise.
33291
409480b7 332922008-02-05 Robert Millan <rmh@aybabtu.com>
33293
33294 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33295 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33296 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33297 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33298
33299 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33300 (translation_table): Replace hardcoded values with macros
33301 provided by `<grub/term.h>'.
33302
33303 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33304 (keyboard_map): Correct/add a few values, with macros provided
33305 by `<grub/term.h>'.
33306 (keyboard_map_shift): Zero values that don't differ from their
33307 `keyboard_map' equivalents.
33308 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33309 Discard the second scan code that is always sent by Caps lock.
33310 Only use `keyboard_map_shift' when it provides a non-zero value,
33311 otherwise fallback to `keyboard_map'.
33312
99fadbaa 333132008-02-04 Bean <bean123ch@gmail.com>
33314
33315 * Makefile.in (enable_grub_fstest): New variable.
33316
33317 * conf/common.rmk (grub_fstest_init.lst): New rule.
33318 (grub_fstest_init.h): Likewise.
33319 (grub_fstest_init.c): Likewise.
33320 (util/grub-fstest.c_DEPENDENCIES): New variable.
33321 (grub_fstest_SOURCES): Likewise.
33322
33323 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33324
33325 * util/grub-fstest.c: New file.
33326
bf567c50 333272008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33328
33329 Make grub-setup handle a separate root device.
f19dbdb7 33330
bf567c50 33331 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33332 so that the root device can be compared with the destination
33333 device.
33334 When embedding the core image, if the root and destination devices
33335 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33336 0xFF.
33337 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 33338
9be6b98b 333392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33340
33341 Add support for having a grub directory in a different drive. This
33342 is still only the data handling part.
f19dbdb7 33343
9be6b98b 33344 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33345 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33346 (grub_root_drive): New variable.
33347
33348 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33349 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33350 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33351 as it was.
33352
33353 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33354
33355 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33356 macro.
33357 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33358
33359 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33360 is bogus, because PXE booting does not specify any drive
33361 correctly.
33362
33363 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33364 am not sure if this is really correct.
33365
33366 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33367 is always identical to the boot drive when booting from a CD.
33368
33369 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33370 longer.
33371 (root_drive): New variable.
33372 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33373 (setup_sectors): Push %dx right after popping it, because %dh will
33374 be modified later.
33375 (copy_buffer): Restore %dx.
33376
e0ca0677 333772008-02-03 Robert Millan <rmh@aybabtu.com>
33378
33379 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33380 use `cdboot.img' for cdrom images.
33381
3b3f6629 333822008-02-03 Robert Millan <rmh@aybabtu.com>
33383
33384 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33385 only setup gfxterm when `font' command has succeeded.
33386
d42b3672 333872008-02-03 Robert Millan <rmh@aybabtu.com>
33388
33389 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33390 (grub_rescue_cmd_multiboot_loader)
33391 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33392
fa370ea6 333932008-02-03 Pavel Roskin <proski@gnu.org>
33394
e0c5dacb 33395 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 33396 %edx and %esi from stack only after grub_gate_a20() is called.
33397 grub_gate_a20() clobbers %edx.
33398
f2a76e1d 333992008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33400
33401 * configure.ac (AC_INIT): Bumped to 1.96.
33402
33403 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33404 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33405 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33406 video/readers/png.c.
33407
90fd32d1 334082008-02-03 Bean <bean123ch@gmail.com>
9be665dd 33409
33410 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33411 (cdboot_img_SOURCES): New variable.
33412 (cdboot_img_ASFLAGS): New variable.
33413 (cdboot_img_LDFLAGS): New variable.
33414
33415 * boot/i386/pc/cdboot.S: New file.
33416
33417 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33418 (cd_count): Likewise.
33419 (grub_biosdisk_get_drive): Add support for cd device.
33420 (grub_biosdisk_call_hook): Likewise.
33421 (grub_biosdisk_iterate): Likewise.
33422 (grub_biosdisk_open): Likewise.
33423 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33424 (grub_biosdisk_rw): Support reading from cd device.
33425 (GRUB_MOD_INIT): Iterate cd devices.
33426
33427 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33428 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33429 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33430
33431 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33432
4020aa53 334332008-02-02 Robert Millan <rmh@aybabtu.com>
33434
33435 * commands/read.c: New file.
33436 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33437 (read_mod_SOURCES): New variable.
33438 (read_mod_CFLAGS): Likewise.
33439 (read_mod_LDFLAGS): Likewise.
33440
e03a1132 334412008-02-02 Robert Millan <rmh@aybabtu.com>
33442
33443 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33444 determining whether menu has to be displayed.
33445
58c69220 334462008-02-02 Marco Gerards <marco@gnu.org>
33447
33448 * bus/pci.c: New file.
33449
33450 * include/grub/pci.h: Likewise.
33451
33452 * include/grub/i386/pc/pci.h: Likewise.
33453
33454 * commands/lspci.c: Likewise.
33455
33456 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33457 `lspci.mod'.
33458 (pci_mod_SOURCES): New variable.
33459 (pci_mod_CFLAGS): Likewise.
33460 (pci_mod_LDFLAGS): Likewise.
33461 (lspci_mod_SOURCES): Likewise.
33462 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 33463 (lspci_mod_LDFLAGS): Likewise.
58c69220 33464
c004e1b4 334652008-02-02 Bean <bean123ch@gmail.com>
33466
33467 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33468 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33469
33470 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33471 (grub_xfs_btree_node): New structure.
33472 (grub_xfs_btree_root): New structure.
33473 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33474 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33475 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33476 (GRUB_XFS_EXTENT_SIZE): Likewise.
33477 (grub_xfs_read_block): Support btree format type.
33478 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33479 Use directory block as basic unit.
33480
33481 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33482
33483 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33484 __attribute__ ((__regparm__ (1))).
33485
f95562bf 334862008-02-01 Robert Millan <rmh@aybabtu.com>
33487
33488 Correct a mistake in previous commit.
33489
33490 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33491 top.
33492 (normal/command.c_DEPENDENCIES): New variable.
33493
7d31f41f 334942008-02-01 Robert Millan <rmh@aybabtu.com>
33495
33496 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33497 top.
33498 (normal/command.c_DEPENDENCIES): New variable.
33499 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33500 * conf/i386-ieee1275.rmk: Likewise.
33501 * conf/i386-linuxbios.rmk: Likewise.
33502 * conf/i386-pc.rmk: Likewise.
33503 * conf/sparc64-ieee1275.rmk: Likewise.
33504 * conf/powerpc-ieee1275.rmk: Likewise.
33505 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33506
33507 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33508
60b6be74 335092008-02-01 Robert Millan <rmh@aybabtu.com>
33510
33511 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33512 call at beginning of function.
33513
078522ab 335142008-01-31 Pavel Roskin <proski@gnu.org>
33515
33516 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 33517 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33518 (grub_mkrescue_SOURCES): Likewise.
078522ab 33519 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33520
ccaa8a5f 335212008-01-30 Robert Millan <rmh@aybabtu.com>
33522
33523 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33524 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33525 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33526 (grub_probe_SOURCES): ... to here.
33527
33528 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33529 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33530 * conf/i386-ieee1275.rmk: Likewise.
33531 * conf/i386-linuxbios.rmk: Likewise.
33532 * conf/powerpc-ieee1275.rmk: Likewise.
33533
ae5a9cd7 335342008-01-30 Tristan Gingold <gingold@free.fr>
33535
33536 * kern/rescue.c: Silently accept empty lines.
33537
70bc2ef2 335382008-01-29 Bean <bean123ch@gmail.com>
33539
33540 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33541 (real_code_2): Code cleanup and change comment style.
33542 (move_memory): Avoid using 32-bit address mode.
33543
6a4d50ea 335442008-01-29 Bean <bean123ch@gmail.com>
33545
33546 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33547 (png_mod_SOURCES): New variable.
33548 (png_mod_CFLAGS): Likewise.
33549 (png_mod_LDFLAGS): Likewise.
33550
33551 * video/readers/png.c: New file.
33552
11cc30ac 335532008-01-28 Robert Millan <rmh@aybabtu.com>
33554
33555 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33556 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33557 `ifndef GRUB_MOD_GAP' hack.
33558 * util/elf/grub-mkimage.c (add_segments): Likewise.
33559
3abc589f 335602008-01-27 Robert Millan <rmh@aybabtu.com>
33561
33562 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33563 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 33564 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 33565
e1907778 335662008-01-27 Robert Millan <rmh@aybabtu.com>
33567
33568 Get grub-emu to build again (including parallel builds).
33569
33570 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33571 Split into ...
33572 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33573 (normal/execute.c_DEPENDENCIES): ... this, ...
33574 (grub-emu_DEPENDENCIES): ... and this.
33575
33576 * conf/i386-efi.rmk: Likewise.
33577 * conf/i386-linuxbios.rmk: Likewise.
33578 * conf/i386-ieee1275.rmk: Likewise.
33579 * conf/powerpc-ieee1275.rmk: Likewise.
33580 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33581
2216b101 335822008-01-27 Robert Millan <rmh@aybabtu.com>
33583
33584 * NEWS: Add a few items.
33585
f75172d9 335862008-01-27 Robert Millan <rmh@aybabtu.com>
33587
33588 Fix parallel builds with grub-emu. Based on earlier commit for
33589 grub-probe and grub-setup.
33590
33591 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33592 (util/grub-emu.c_DEPENDENCIES): ... this.
33593 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33594 (util/grub-emu.c_DEPENDENCIES): ... this.
33595 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33596 (util/grub-emu.c_DEPENDENCIES): ... this.
33597 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33598 (util/grub-emu.c_DEPENDENCIES): ... this.
33599 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33600 (util/grub-emu.c_DEPENDENCIES): ... this.
33601
3f51de77 336022008-01-27 Pavel Roskin <proski@gnu.org>
33603
33604 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33605 to create a gap between _end and the modules added to the image
33606 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33607 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33608 * util/elf/grub-mkimage.c (add_segments): Likewise.
33609
2033f53e 336102008-01-26 Pavel Roskin <proski@gnu.org>
33611
33612 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33613 just return an error.
33614
22da1f6f 336152008-01-26 Bean <bean123ch@gmail.com>
33616
33617 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33618 (grub_reiserfs_get_item): Save offset of the next item.
33619 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33620
2a9525e6 336212008-01-25 Robert Millan <rmh@aybabtu.com>
33622
33623 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33624 make all filesystem sources appear together (possibly fixing omissions
33625 while at it).
33626 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33628 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33630
33631 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33632 add `kern/file.c'.
33633 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33634 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33635 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33636 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33637
33638 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33639 (probe): Add a sanity check to make sure of our ability to read
33640 requested files when probing for filesystem type.
33641
33642 * genmk.rb: Update copyright year (2007).
33643
33644 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33645 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33646 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33647 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33648 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33649 : Remove function prototypes.
33650
b95f71b5 336512008-01-25 Robert Millan <rmh@aybabtu.com>
33652
33653 Revert my previous commits (based on wrong assumption of how grub_errno
33654 works).
33655
fe6b695a 33656 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 33657 * kern/file.c (grub_file_open): Likewise.
33658
d08bbb49 336592008-01-24 Pavel Roskin <proski@gnu.org>
33660
33661 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33662 that hang if GRUB tries to setup colors.
33663 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33664 colors for firmwares that don't support it.
33665 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33666 Recognize Open Hack'Ware, set flags to work around its
33667 limitations.
33668
605e36ed 336692008-01-24 Robert Millan <rmh@aybabtu.com>
33670
33671 * kern/file.c (grub_file_open): Do not account previous failures of
33672 unrelated functions when grub_errno is checked for.
33673 Reported by Oleg Strikov.
33674
bac332a1 336752008-01-24 Bean <bean123ch@gmail.com>
33676
33677 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33678 (grub_ufs_sblock): New member volume name.
33679 (grub_ufs_find_file): Fix string copy bug.
33680 (grub_ufs_label): Implement this function properly.
33681
33682 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33683 (grub_hfs_iterate_records): Use the correct file number for extents
33684 and catalog file. Fix problem in next index calculation.
33685 (grub_hfs_find_node): Replace recursive function call with loop.
33686 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33687
15c80c09 336882008-01-23 Robert Millan <rmh@aybabtu.com>
33689
33690 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33691 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33692 (grub_multiboot2_real_boot): New function prototype.
33693
33694 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33695 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33696
33697 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33698 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33699
305338fd 337002008-01-23 Robert Millan <rmh@aybabtu.com>
33701
33702 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33703 #ifdef'ed out grub_printf().
33704
3ea52685 337052008-01-23 Robert Millan <rmh@aybabtu.com>
33706
33707 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33708 grub_dprintf calls, since they make "debug=all" mode unusable.
33709 (grub_console_checkkey): Likewise.
33710
5882ae4b 337112008-01-23 Robert Millan <rmh@aybabtu.com>
33712
33713 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33714 `term/i386/pc/at_keyboard.c'.
33715 (pkglib_MODULES): Add `serial.mod'.
33716 (serial_mod_SOURCES): New variable.
33717 (serial_mod_CFLAGS): Likewise.
33718 (serial_mod_LDFLAGS): Likewise.
33719
33720 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33721 `<grub/powerpc/ieee1275/console.h>'.
33722 (grub_keyboard_controller_init): New function prototype.
33723 (grub_console_checkkey): Likewise.
33724 (grub_console_getkey): Likewise.
33725
33726 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33727 keyboard on i386.
33728
33729 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33730 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33731
06ab5303 337322008-01-23 Robert Millan <rmh@aybabtu.com>
33733
33734 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33735 present, "(memdisk)/boot/grub" becomes the default prefix.
33736
33737 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33738 a memdisk tarball with all the modules. Add --overlay=DIR option that
33739 allows users to overlay additional files into the image.
33740
dbb475a4 337412008-01-23 Robert Millan <rmh@aybabtu.com>
33742
33743 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33744 and `machine/memory.h'.
33745 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33746 (_multiboot_mod_SOURCES): New variable.
33747 (_multiboot_mod_CFLAGS): Likewise.
33748 (_multiboot_mod_LDFLAGS): Likewise.
33749 (multiboot_mod_SOURCES): Likewise.
33750 (multiboot_mod_CFLAGS): Likewise.
33751 (multiboot_mod_LDFLAGS): Likewise.
33752
33753 * include/grub/i386/ieee1275/loader.h: New file.
33754
33755 * include/grub/i386/ieee1275/machine.h: Likewise.
33756
33757 * include/grub/i386/ieee1275/memory.h: Likewise.
33758
33759 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33760 variable declaration.
33761 (grub_os_area_size): Likewise.
33762
33763 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33764 (grub_lower_mem, grub_upper_mem): New variables.
33765 (grub_stop_floppy): New function (just to make
33766 grub_multiboot2_real_boot() happy).
33767
33768 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33769 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33770 (grub_stop): New function.
33771 Include `"../realmode.S"' and `"../loader.S"'.
33772
33773 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33774 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33775
33776 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33777 rely on grub_multiboot2_real_boot() for final boot.
33778
25638629 337792008-01-22 Robert Millan <rmh@aybabtu.com>
33780
33781 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33782 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33783 device that doesn't look like an SD card.
33784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33785 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33786 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33787 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33788 found.
33789
9dad816d 337902008-01-22 Robert Millan <rmh@aybabtu.com>
33791
33792 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33793 avoid claiming over our own code.
33794
34842f2d 337952008-01-22 Bean <bean123ch@gmail.com>
33796
33797 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33798 (jpeg_mod_SOURCES): New variable.
33799 (jpeg_mod_CFLAGS): Likewise.
33800 (jpeg_mod_LDFLAGS): Likewise.
33801
33802 * video/readers/jpeg.c : New file.
33803
44023a28 338042008-01-22 Bean <bean123ch@gmail.com>
33805
33806 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33807 there are no more items.
33808
bc2d8ac6 338092008-01-21 Robert Millan <rmh@aybabtu.com>
33810
33811 * kern/mm.c (grub_mm_init_region): Improve debug message.
33812
261bd4bc 338132008-01-21 Robert Millan <rmh@aybabtu.com>
33814
33815 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33816 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33817 address.
33818 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33819 a C macro.
33820 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33821 Indicates start of upper memory.
33822 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33823 (generate_image): Abort when image size is big enough to corrupt
33824 upper memory.
33825
33826 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33827 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33828 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33829 instead of hardcoding 0xA0000.
33830 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33831 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33832 instead of hardcoding 0xA0000.
33833
f970b55e 338342008-01-21 Robert Millan <rmh@aybabtu.com>
33835
33836 * disk/memdisk.c (memdisk_size): New variable.
33837 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33838 `memdisk_size'.
33839 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33840 image to dynamic memory.
33841 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33842 `memdisk_size'. Free memdisk block.
33843
1a8b0526 338442008-01-21 Robert Millan <rmh@aybabtu.com>
33845
33846 Fix detection of very small filesystems (like tar).
33847
33848 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33849 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33850 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33851 a problem with this disk).
33852
6e9b4aab 338532008-01-21 Robert Millan <rmh@aybabtu.com>
33854
33855 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33856 on grub_biosdisk_rw_standard() error.
33857
0d8837b2 338582008-01-21 Robert Millan <rmh@aybabtu.com>
33859
33860 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33861 recent changes.
33862 * kern/elf.c: Likewise.
33863 * kern/ieee1275/ieee1275.c: Likewise.
33864 * kern/powerpc/ieee1275/openfw.c: Likewise.
33865 * term/ieee1275/ofconsole.c: Likewise.
33866
ffd36e34 338672008-01-21 Robert Millan <rmh@aybabtu.com>
33868
33869 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33870
3f0093d0 33871 * include/grub/kernel.h (grub_arch_memdisk_addr)
33872 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 33873
3f0093d0 33874 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33875 (grub_arch_memdisk_size): ... to here.
ffd36e34 33876
6c391b21 338772008-01-21 Robert Millan <rmh@aybabtu.com>
33878
33879 Mostly based on bugfix from Bean.
33880
33881 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33882 attribute with hook() parameter.
33883 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33884 declaration.
33885 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33886 attribute with hook() parameter.
33887 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33888 declaration.
33889
55a581dc 338902008-01-21 Robert Millan <rmh@aybabtu.com>
33891
33892 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33893 (pkglib_MODULES): Add `memdisk.mod'.
33894 (memdisk_mod_SOURCES): New variable.
33895 (memdisk_mod_CFLAGS): Likewise.
33896 (memdisk_mod_LDFLAGS): Likewise.
33897
33898 * disk/memdisk.c: New file.
33899
33900 * include/grub/disk.h (grub_disk_dev_id): Add
33901 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33902
33903 * include/grub/i386/pc/kernel.h
33904 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33905 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33906 (grub_kernel_image_size): New variable declaration.
33907 (grub_total_module_size): Likewise.
33908 (grub_memdisk_image_size): Likewise.
33909
33910 * include/grub/i386/pc/memory.h
33911 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33912
33913 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33914 (grub_arch_memdisk_addr): New variable declaration.
33915 (grub_arch_memdisk_size): Likewise.
33916
33917 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33918 (grub_arch_memdisk_size): Likewise.
33919
33920 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33921 (codestart): Replace hardcoded `0x100000' with
33922 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33923
33924 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33925 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33926 not NULL, append the contents of the file it refers to, at the end of
33927 the compressed kernel image. Initialize `grub_memdisk_image_size'
33928 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33929 (options): Add "memdisk"|'m' option.
33930 (main): Parse --memdisk|-m option, and pass user-provided path as
33931 parameter to generate_image().
33932
3d7f54c9 339332008-01-20 Robert Millan <rmh@aybabtu.com>
33934
33935 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33936 grub_dprintf() calls from here ...
33937 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33938
0bf74728 339392008-01-20 Robert Millan <rmh@aybabtu.com>
33940
33941 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33942
33943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33944 declaration.
33945 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33946 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33947 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 33948 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 33949 property).
33950 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33951 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33952
33bf70a7 339532008-01-19 Robert Millan <rmh@aybabtu.com>
33954
fe6b695a 33955 Get rid of confusing function (superseded by
33bf70a7 33956 `grub_ieee1275_get_integer_property')
33957 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33958 prototype.
33959 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33960 function.
33961 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33962 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 33963 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 33964
e2da7d26 339652008-01-19 Robert Millan <rmh@aybabtu.com>
33966
33967 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33968 command after "shut-down", since implementations differ on which
33969 the command for halt is.
33970
59f1fd8d 339712008-01-19 Robert Millan <rmh@aybabtu.com>
33972
33973 * include/grub/i386/linuxbios/console.h: Add header protection.
33974 (grub_keyboard_controller_init): New function prototype.
33975 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33976 (KEYBOARD_COMMAND_READ): Likewise.
33977 (KEYBOARD_COMMAND_WRITE): Likewise.
33978 (KEYBOARD_SCANCODE_SET1): Likewise.
33979 (grub_keyboard_controller_write): New function.
33980 (grub_keyboard_controller_read): Likewise.
33981 (grub_keyboard_controller_init): Likewise.
33982
33983 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33984 (grub_console_init): On coreboot/LinuxBIOS, call
33985 grub_keyboard_controller_init().
33986
5f5a7c15 339872008-01-19 Robert Millan <rmh@aybabtu.com>
33988
33989 PowerPC changes provided by Pavel Roskin.
33990
33991 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33992 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33993 don't rely on cmain() doing it.
33994 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33995 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33996
1210e168 339972008-01-16 Robert Millan <rmh@aybabtu.com>
33998
33999 * include/grub/i386/linuxbios/memory.h
34000 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
34001 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
34002 receive `table_header' as argument. Instead, probe for it in the
34003 known memory ranges where it can be present.
34004 (grub_available_iterate): Do not pass a fixed `table_header' address
34005 to grub_linuxbios_table_iterate().
34006
3d04eab8 340072008-01-15 Robert Millan <rmh@aybabtu.com>
34008
34009 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
34010 * conf/i386-ieee1275.rmk: New file.
34011 * include/grub/i386/ieee1275/console.h: Likewise.
34012 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
34013 * include/grub/i386/ieee1275/kernel.h: Likewise.
34014 * include/grub/i386/ieee1275/time.h: Likewise.
34015 * kern/i386/ieee1275/init.c: Likewise.
34016 * kern/i386/ieee1275/startup.S: Likewise.
34017
d1bc1b73 340182008-01-15 Robert Millan <rmh@aybabtu.com>
34019
34020 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
34021 when pointers are 32-bit (but still do set it to one when they are
34022 64-bit).
34023
66a65807 340242008-01-15 Robert Millan <rmh@aybabtu.com>
34025
34026 * include/grub/ieee1275/ieee1275.h
34027 (grub_ieee1275_get_integer_property): New function prototype.
34028
34029 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
34030 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 34031 grub_ieee1275_get_property() to handle endianness.
66a65807 34032
34033 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
34034 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 34035 where appropriate.
66a65807 34036 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
34037 (grub_map): Likewise.
34038 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
34039
a83ccafd 340402008-01-15 Bean <bean123ch@gmail.com>
34041
34042 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
34043 (grub_script_execute_cmdline): Reset grub_errno.
34044
34045 * normal/main.c (read_config_file): Reset grub_errno.
34046
34047 * normal/parse.y (script_init): New.
34048 (script): Move function and menuentry here.
34049 (delimiter): New.
34050 (command): Add delimiter at the end of command.
34051 (commands): Adjust to match the new command.
34052 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 34053 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 34054 (if): Use the new commands.
34055
34056 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
34057
df6ecfc6 340582008-01-15 Robert Millan <rmh@aybabtu.com>
34059
34060 * normal/menu.c (run_menu): Move timeout message from here ...
34061 (print_timeout): ... to here.
34062 (run_menu): Use print_timeout() once during initial draw to print
34063 the whole message, and again in every clock tick to update only
34064 the number of seconds.
34065
87ae25eb 340662008-01-15 Robert Millan <rmh@aybabtu.com>
34067
34068 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
34069 actual size of `available' from grub_ieee1275_get_property(), and
34070 restrict parsing to that bound.
34071
47bf09a4 340722008-01-15 Christian Franke <franke@computer.org>
34073
34074 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
34075 (argp_program_version): Remove variable.
34076 (argp_program_bug_address): Likewise.
34077 (options): Convert from struct argp_option to struct option.
34078 (struct arguments): Remove.
34079 (parse_opt): Remove.
34080 (usage): New function.
34081 (main): Replace struct args members by simple variables.
34082 Replace argp_parse() by getopt_long().
34083 Add switch to evaluate options.
34084 Add missing "(...)" around root_dev in prefix string.
34085
c86f1469 340862008-01-14 Robert Millan <rmh@aybabtu.com>
34087
34088 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
34089 for grub_ieee1275_exit(), in order to improve portability.
34090
e622c559 340912008-01-14 Robert Millan <rmh@aybabtu.com>
34092
34093 * util/grub.d/10_linux.in (prefix): Define.
34094 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
34095
44cb1ec8 340962008-01-13 Pavel Roskin <proski@gnu.org>
34097
34098 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
34099 grub_errno if no errors have been detected.
34100
1eb8c802 341012008-01-12 Robert Millan <rmh@aybabtu.com>
34102
34103 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
34104 (grub_util_get_dev_abstraction): New function prototype.
34105
34106 * util/getroot.c: Include `<grub/util/getroot.h>'
34107 (grub_util_get_grub_dev): Move detection of abstraction type to ...
34108 (grub_util_get_dev_abstraction): ... here (new function).
34109
34110 * util/grub-probe.c: Convert PRINT_* to an enum. Add
34111 `PRINT_ABSTRACTION'.
34112 (probe): Probe for abstraction type when requested.
34113 (main): Understand `--target=abstraction'.
34114
34115 * util/i386/efi/grub-install.in: Add abstraction module to core
34116 image when it is found to be necessary.
34117 * util/i386/pc/grub-install.in: Likewise.
34118 * util/powerpc/ieee1275/grub-install.in: Likewise.
34119
34120 * util/update-grub_lib.in (font_path): Return system path without
34121 converting to GRUB path.
34122 * util/update-grub.in: Convert system path returned by font_path()
34123 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34124 abstraction module is needed for loading fonts (if any). Export
34125 that as `GRUB_PRELOAD_MODULES'.
34126 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34127 insmod commands).
34128
52bd3de9 341292008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34130
34131 Remove some unused code from reiserfs.
f19dbdb7 34132
52bd3de9 34133 * fs/reiserfs.c (struct grub_reiserfs_key)
34134 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34135 (struct grub_reiserfs_node_body): Removed.
34136 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34137 Likewise.
34138 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34139 Likewise.
34140 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34141 Likewise.
34142 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34143 Likewise.
34144 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34145 Likewise.
34146 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34147 Likewise.
34148 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34149 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34150 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34151
2f80039d 341522008-01-10 Robert Millan <rmh@aybabtu.com>
34153
34154 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34155 Determines if a file is garbage left by packaging systems, etc.
34156 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34157 for processing /etc/grub.d scripts.
34158 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34159 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34160 as a condition for processing Linux images.
34161
87888032 341622008-01-10 Pavel Roskin <proski@gnu.org>
34163
34164 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34165 to compile reiserfs.c on PowerPC.
34166
7e54fced 341672008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 34168
34169 * kern/device.c (grub_device_iterate): Do not abort device iteration
34170 when one of the devices cannot be opened.
34171 * kern/disk.c (grub_disk_open): Do not account previous failures of
34172 unrelated functions when grub_errno is checked for.
34173
5aa541e6 341742008-01-08 Robert Millan <rmh@aybabtu.com>
34175
34176 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34177 `! grub_linux_is_bzimage', change order of address comparison to make
34178 it more intuitive, and improve "too big zImage" error message.
34179
7076340d 341802008-01-08 Robert Millan <rmh@aybabtu.com>
34181
34182 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34183 `$(update-grub_DATA)'.
34184 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34185 targets.
34186
9ca70333 341872008-01-07 Robert Millan <rmh@aybabtu.com>
34188
34189 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34190 which instruction is modified by grub-setup during installation
34191 (since it wasn't obvious by only looking at this file).
34192
38ccf575 341932008-01-07 Robert Millan <rmh@aybabtu.com>
34194
34195 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34196 listing actual TODO items.
34197
f5db4291 341982008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34199
868967cf 34200 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34201 correctly.
34202 (grub_reiserfs_get_key_offset): Likewise.
34203 (grub_reiserfs_set_key_offset): Likewise.
34204 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 34205 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 34206
34207 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34208 better to remove the bitfield version completely.
f19dbdb7 34209
868967cf 342102008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34211
f5db4291 34212 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34213 allocated from the heap, due to the fshelp implementation.
34214 (grub_reiserfs_dir): Free NODE, due to the same reason.
34215
492e6d9d 342162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34217
34218 Mostly from Vincent Pelletier:
f19dbdb7 34219
492e6d9d 34220 * fs/reiserfs.c: New file.
f19dbdb7 34221
492e6d9d 34222 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34223 (reiserfs_mod_SOURCES): New variable.
34224 (reiserfs_mod_CFLAGS): Likewise.
34225 (reiserfs_mod_LDFLAGS): Likewise.
34226
34227 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34228 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34229 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34230 normal/color.c.
34231
9ce3e7c1 342322008-01-06 Robert Millan <rmh@aybabtu.com>
34233
34234 * normal/color.c: Remove `<grub/env.h>'.
34235
f3b58148 342362008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34237
34238 * include/grub/normal.h: Include <grub/env.h>.
34239
7ac3bcfa 342402008-01-05 Robert Millan <rmh@aybabtu.com>
34241
34242 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34243 usage example with `(hd0,1)'.
fb358190 34244 Reported by Samuel Thibault.
7ac3bcfa 34245
c8ee99d7 342462008-01-05 Robert Millan <rmh@aybabtu.com>
34247
34248 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34249 (grub_linux_boot_zimage): Rename to ...
34250 (grub_linux_boot): ... this.
34251 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34252 (grub_linux_boot_zimage): Conditionalize zImage copy.
34253
34254 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34255 (grub_linux_boot_bzimage): Remove prototype.
34256 (grub_linux_boot_zimage): Rename to ...
34257 (grub_linux_boot): ... this.
34258
34259 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34260 (grub_linux_boot): Remove function.
34261
0ece25b1 342622008-01-05 Robert Millan <rmh@aybabtu.com>
34263
34264 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34265 (grub_env_write_color_highlight): Likewise.
34266 (grub_wait_after_message): Likewise.
34267
34268 * normal/color.c: New file.
34269
34270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34271 (normal_mod_DEPENDENCIES): Likewise.
34272
34273 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34274 (normal_mod_DEPENDENCIES): Likewise.
34275
34276 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34277 (normal_mod_DEPENDENCIES): Likewise.
34278
34279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34280 (normal_mod_DEPENDENCIES): Likewise.
34281
34282 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34283 for waiting after a message is printed.
34284 * normal/main.c (read_config_file): Likewise.
34285 (grub_normal_init): Register grub_env_write_color_normal() and
34286 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34287 `color_highlight' variables as global.
34288
34289 * normal/menu.c (grub_wait_after_message): New function.
34290 (grub_color_menu_normal): New variable. Replaces ...
34291 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34292 (grub_color_menu_highlight): New variable. Replaces ...
34293 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34294 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34295 `GRUB_TERM_COLOR_STANDARD'.
34296 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34297 `normal_code' and `highlight_code' to `old_color_normal' and
34298 `old_color_highlight', respectively.
34299 (grub_menu_init_page): Update colors when drawing the menu, based on
34300 `menu_color_normal' and `menu_color_highlight' variables.
34301 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34302 a message is printed.
34303
182dd4e5 343042008-01-05 Robert Millan <rmh@aybabtu.com>
34305
34306 * kern/env.c (grub_env_context_open): Propagate hooks for global
34307 variables to new context.
34308
34309 * kern/main.c (grub_set_root_dev): Export `root' variable.
34310
ddf8f6ad 343112008-01-05 Robert Millan <rmh@aybabtu.com>
34312
34313 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 34314 discs unconditionally, since udev and others have options to provide
ddf8f6ad 34315 them.
34316
d8b43d9b 343172008-01-05 Robert Millan <rmh@aybabtu.com>
34318
34319 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34320
2bff2de3 343212008-01-04 Christian Franke <franke@computer.org>
34322
34323 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34324 of eisa_mmap.
34325
97eab917 343262008-01-03 Pavel Roskin <proski@gnu.org>
34327
34328 * kern/i386/linuxbios/init.c: Put "void" to all function
34329 declarations with no arguments.
34330 * kern/powerpc/ieee1275/init.c: Likewise.
34331 * term/i386/pc/at_keyboard.c: Likewise.
34332 * term/i386/pc/vga_text.c: Likewise.
34333 * util/grub-mkdevicemap.c: Likewise.
34334
b9416d00 343352008-01-02 Robert Millan <rmh@aybabtu.com>
34336
34337 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34338 message when loaded image is out of bounds.
34339 (grub_multiboot_load_elf64): Likewise.
34340
92695df9 343412008-01-02 Pavel Roskin <proski@gnu.org>
34342
34343 * util/grub.d/10_linux.in: Try version without ".old" when
34344 looking for initrd. It's better to use initrd from the newer
34345 kernel of the same version than no initrd at all.
34346
d98d9cad 343472008-01-01 Robert Millan <rmh@aybabtu.com>
34348
34349 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34350
dbfdce36 343512008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34352
f19dbdb7 34353 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 34354 grub_video_get_active_render_target.
34355 (grub_video_adapter): Added unmap_color and get_active_render_target.
34356
f19dbdb7 34357 * video/video.c: Added grub_video_unmap_color and
dbfdce36 34358 grub_video_get_active_render_target.
34359 (grub_video_get_info): Changed method to accept NULL pointer as an
34360 argument to allow detection of active video adapter.
34361
34362 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34363 grub_video_vbe_unmap_color_int.
34364 Added grub_video_vbe_unmap_color and
34365 grub_video_vbe_get_active_render_target.
34366 (grub_video_vbe_adapter): Added unmap_color and
34367 get_active_render_target.
34368
f19dbdb7 34369 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 34370 with grub_video_vbe_unmap_color_int.
34371
34372 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34373 (DEFAULT_NORMAL_COLOR): Likewise.
34374 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34375 (DEFAULT_FG_COLOR): Removed.
34376 (DEFAULT_BG_COLOR): Likewise.
34377 (DEFAULT_CURSOR_COLOR): Changed value.
34378 (grub_virtual_screen): Added standard_color_setting,
34379 normal_color_setting, highlight_color_setting and term_color.
34380 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34381 (bitmap_width): Added.
34382 (bitmap_height): Likewise.
34383 (bitmap): Likewise.
34384 (set_term_color): Likewise.
34385 (grub_virtual_screen_setup): Changed to use new terminal coloring
34386 settings.
34387 (grub_gfxterm_init): Added init for bitmap.
34388 (grub_gfxterm_fini): Added destroy for bitmap.
34389 (redraw_screen_rect): Updated to use background bitmap and new
34390 terminal coloring.
34391 (scroll_up): Added optimization for case when there is no bitmap.
34392 (grub_gfxterm_cls): Fixed to use correct background color.
34393 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34394 coloring.
34395 (grub_virtual_screen_setcolor): Likewise.
34396 (grub_virtual_screen_getcolor): Added.
34397 (grub_gfxterm_background_image_cmd): Likewise.
34398 (grub_video_term): Added setcolor and getcolor.
34399 (MOD_INIT): Added registration of background_image command.
34400 (MOD_TERM): Added unregistration for background_image command.
34401
c3c20931 344022007-12-30 Pavel Roskin <proski@gnu.org>
34403
34404 * loader/multiboot_loader.c: Fix multiboot command
34405 unregistration. Fix all typos in the word "multiboot".
34406
df266716 344072007-12-29 Pavel Roskin <proski@gnu.org>
94239199 34408
34409 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34410 support for initrd names used in Fedora.
34411
fc6e896c 344122007-12-26 Bean <bean123ch@gmail.com>
34413
34414 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34415 (cpio_mod_SOURCES): New variable.
34416 (cpio_mod_CFLAGS): Likewise.
34417 (cpio_mod_LDFLAGS): Likewise.
34418
34419 * fs/cpio.c: New file.
34420
34421 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34422
34423 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34424
34425 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34426
34427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34428
533110ad 344292007-12-25 Robert Millan <rmh@aybabtu.com>
34430
34431 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34432 (grub_getcolor): New function.
34433
34434 * kern/term.c (grub_getcolor): New function.
34435 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34436 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34437 (print_entry): Set normal and highlight colors to
34438 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34439 respectively, before printing and restore them to old
34440 values afterwards.
34441 (grub_menu_init_page): Likewise. Fill an additional colored space
34442 that would otherwise be left blank.
34443
34444 * term/efi/console.c (grub_console_getcolor): New function.
34445 (struct grub_console_term.getcolor): New variable.
34446 * term/i386/pc/console.c (grub_console_getcolor): New function.
34447 (struct grub_console_term.getcolor): New variable.
34448 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34449 (struct grub_console_term.getcolor): New variable.
34450
34451 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34452 (struct grub_console_term.setcolor): Remove variable.
34453 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34454 (struct grub_console_term.setcolor): Remove variable.
34455 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34456 (struct grub_console_term.setcolor): Remove variable.
34457 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34458 (struct grub_console_term.setcolor): Remove variable.
34459
4931827f 344602007-12-25 Robert Millan <rmh@aybabtu.com>
34461
34462 * configure.ac: Search for possible unifont.hex locations, and
34463 define UNIFONT_HEX if found.
34464
34465 * Makefile.in (UNIFONT_HEX): Define variable.
34466 (DATA): Rename to ...
34467 (PKGLIB): ... this. Update all users.
34468 (PKGDATA): New variable.
34469 (pkgdata_IMAGES): Rename to ...
34470 (pkglib_IMAGES): ... this. Update all users.
34471 (pkgdata_MODULES): Rename to ...
34472 (pkglib_MODULES): ... this. Update all users.
34473 (pkgdata_PROGRAMS): Rename to ...
34474 (pkglib_PROGRAMS): ... this. Update all users.
34475 (pkgdata_DATA): Rename to ...
34476 (pkglib_DATA): ... this. Update all users.
34477 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34478 (unicode.pff, ascii.pff): New rules.
34479 (all-local): Add `$(PKGDATA)' dependency.
34480 (install-local): Process `$(PKGDATA)'.
34481
34482 * util/update-grub_lib.in (font_path): Search for *.pff files in
34483 a few more locations, including `${pkgdata}'.
34484
57e57e31 344852007-12-23 Robert Millan <rmh@aybabtu.com>
34486
34487 Patch from Bean <bean123ch@gmail.com>:
34488 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34489 `size'.
34490
4bc72aa9 344912007-12-21 Bean <bean123ch@gmail.com>
34492
34493 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34494 (ntfscomp_mod_SOURCES): New variable.
34495 (ntfscomp_mod_CFLAGS): Likewise.
34496 (ntfscomp_mod_LDFLAGS): Likewise.
34497
34498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34499 (grub_probe_SOURCES): Likewise.
34500 (grub_emu_SOURCES): Likewise.
34501
34502 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34503 (grub_emu_SOURCES): Likewise.
34504
34505 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34506 (grub_emu_SOURCES): Likewise.
34507
34508 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34509 (grub_emu_SOURCES): Likewise.
34510
34511 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34512 (read_run_list): Renamed to grub_ntfs_read_run_list.
34513 (decomp_nextvcn): Moved to ntfscomp.c.
34514 (decomp_getch): Likewise.
34515 (decomp_get16): Likewise.
34516 (decomp_block): Likewise.
34517 (read_block): Likewise.
34518 (read_data): Partially moved to ntfscomp.c.
34519 (fixup): Change unsigned to grub_uint16_t.
34520 (read_mft): Change unsigned long to grub_uint32_t.
34521 (read_attr): Likewise.
34522 (read_data): Likewise.
34523 (read_run_data): Likewise.
34524 (read_run_list): Likewise.
34525 (read_mft): Likewise.
34526
34527 * fs/ntfscomp.c: New file.
34528
34529 * include/grub/ntfs.h: New file.
34530
af680a87 345312007-12-16 Robert Millan <rmh@aybabtu.com>
34532
34533 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34534 IDE disk check, since Linux is known to support 20 IDE disks.
34535 Reported by Colin Watson.
34536
84be7599 345372007-12-15 Bean <bean123ch@gmail.com>
34538
34539 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34540 (lnxboot_img_SOURCES): New variable.
34541 (lnxboot_img_ASFLAGS): Likewise.
34542 (lnxboot_img_LDFLAGS): Likewise.
34543
34544 * boot/i386/pc/lnxboot.S: New file.
34545
6af9db01 345462007-11-24 Pavel Roskin <proski@gnu.org>
34547
34548 * configure.ac: Test if '--build-id=none' is supported by the
34549 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34550 objcopy to generate incorrect binary files (binutils
34551 2.17.50.0.18-1 as shipped by Fedora 8).
34552 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34553 linking, so that build ID doesn't break the test.
34554
7361cfe6 345552007-11-24 Pavel Roskin <proski@gnu.org>
34556
34557 * include/grub/i386/time.h: use "void" in the argument list
34558 of grub_cpu_idle().
34559 * include/grub/powerpc/time.h: Likewise.
34560 * include/grub/sparc64/time.h: Likewise.
34561
1593e10c 345622007-11-18 Christian Franke <franke@computer.org>
34563
34564 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34565 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34566 This fixes the problem that function keys did not work in grub-emu.
34567
3b8db1a8 345682007-11-18 Christian Franke <franke@computer.org>
34569
34570 * disk/host.c (grub_host_open): Remove attribute unused from
34571 name parameter. Add check for "host". This fixes the problem
34572 that grub-emu does not find partitions.
34573
2e29408d 345742007-11-18 Christian Franke <franke@computer.org>
34575
34576 * util/hostfs.c (is_dir): New function.
34577 (grub_hostfs_dir): Handle missing dirent.d_type case.
34578 (grub_hostfs_read): Add missing fseek().
34579 (grub_hostfs_label): Clear label pointer. This fixes a crash
34580 of grub-emu on "ls (host)".
34581
398cd047 345822007-11-18 Christian Franke <franke@computer.org>
34583
34584 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34585 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34586 to 64 bit boundary by default.
34587
c405c391 345882007-11-18 Bean <bean123ch@gmail.com>
34589
34590 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34591 (hexdump_mod_SOURCES): New variable.
34592 (hexdump_mod_CFLAGS): Likewise.
34593 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 34594
c405c391 34595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34596
34597 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34598
34599 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34600
34601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34602
34603 * include/grub/hexdump.h: New file.
34604
34605 * commands/hexdump.c: New file.
34606
5cced7fd 346072007-11-10 Robert Millan <rmh@aybabtu.com>
34608
34609 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34610 in grub_outb() calls.
34611 (beep_on): Likewise.
34612
8b714eb0 346132007-11-10 Christian Franke <franke@computer.org>
34614
34615 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34616 (grub_menu_run): Likewise.
34617
ce0f1839 346182007-11-10 Robert Millan <rmh@aybabtu.com>
34619
34620 * include/grub/i386/efi/machine.h: New file.
34621 * include/grub/i386/linuxbios/machine.h: Likewise.
34622 * include/grub/i386/pc/machine.h: Likewise.
34623 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34624 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34625
34626 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34627 (serial_hw_io_addr): New variable.
34628 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34629 instead of `(unsigned short *) 0x400'.
34630
270c237d 346312007-11-10 Bean <bean123ch@gmail.com>
34632
34633 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34634
a87783bf 346352007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34636
34637 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34638 (vga_mod_SOURCES): Added.
34639 (vga_mod_CFLAGS): Likewise.
34640 (vga_mod_LDFLAGS): Likewise.
34641
34642 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34643 grub_outb() calls.
34644 (set_map_mask): Likewise.
34645 (set_read_map): Likewise.
34646 (set_read_address): Likewise.
34647 (vga_font): Removed variable.
34648 (get_vga_glyph): Removed function.
34649 (invalidate_char): Likewise.
34650 (write_char): Changed to use grub_font_get_glyph() for font
34651 information.
34652 (grub_vga_putchar): Likewise.
34653 (grub_vga_getcharwidth): Likewise.
34654
6433b448 346552007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34656
34657 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34658 flags.
34659 (pxeboot_img_LDFLAGS): Likewise.
34660 (diskboot_img_LDFLAGS): Likewise.
34661 (kernel_img_LDFLAGS): Likewise.
34662
49178511 346632007-11-06 Robert Millan <rmh@aybabtu.com>
34664
34665 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34666 in grub_outb() calls.
34667 (serial_hw_init): Likewise.
34668
53b052de 346692007-11-05 Robert Millan <rmh@aybabtu.com>
34670
34671 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34672 spaces. Skip non-regular files.
34673
5ab33bba 346742007-11-05 Robert Millan <rmh@aybabtu.com>
34675
34676 * kern/disk.c (grub_disk_firmware_fini)
34677 (grub_disk_firmware_is_tainted): New variables.
34678
34679 * include/grub/disk.h (grub_disk_firmware_fini)
34680 (grub_disk_firmware_is_tainted): Likewise.
34681
34682 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34683 (grub_disk_biosdisk_fini): ... to here.
34684 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34685 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34686 is set. Register grub_disk_biosdisk_fini() in
34687 `grub_disk_firmware_fini'.
34688
34689 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34690 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34691 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34692 to finish existing firmware disk interface.
34693
34694 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34695 (ata_mod_SOURCES): New variable.
34696 (ata_mod_CFLAGS): Likewise.
34697 (ata_mod_LDFLAGS): Likewise.
34698
0149ab7c 346992007-11-05 Robert Millan <rmh@aybabtu.com>
34700
34701 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34702 (grub_ata_wait): Reimplement using grub_millisleep().
34703
34704 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34705 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34706
be7ac41e 347072007-11-03 Marco Gerards <marco@gnu.org>
34708
34709 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34710 (CRTC_ADDR_PORT): New macro.
34711 (CRTC_DATA_PORT): Likewise.
34712 (CRTC_CURSOR): Likewise.
34713 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34714 (CRTC_CURSOR_ADDR_LOW): Likewise.
34715 (update_cursor): New function.
34716 (grub_console_real_putchar): Call `update_cursor'.
34717 (grub_console_gotoxy): Likewise.
34718 (grub_console_cls): Set the default color when clearing the
34719 screen.
34720 (grub_console_setcursor): Implemented.
34721
bb06ab2e 347222007-11-03 Marco Gerards <marco@gnu.org>
34723
34724 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34725 become activate.
34726 (grub_ata_pio_write): Likewise.
34727
34728 (grub_atapi_identify): Wait after issuing an ATA command.
34729 (grub_atapi_packet): Likewise.
34730 (grub_ata_identify): Likewise.
34731 (grub_ata_readwrite): Likewise.
34732
cf8f780b 347332007-11-03 Marco Gerards <marco@gnu.org>
34734
34735 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34736 (grub_ata_pio_write): Likewise.
34737 (grub_ata_readwrite): Use `grub_error', instead of
34738 returning `grub_errno'.
34739
ed649e54 347402007-11-03 Marco Gerards <marco@gnu.org>
34741
34742 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34743 grub_ata_pio_write once for every single sector, instead of for
34744 multiple sectors.
34745
ca25d8f0 347462007-10-31 Robert Millan <rmh@aybabtu.com>
34747
34748 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34749
34750 * conf/i386-linuxbios.rmk: New file.
34751
34752 * kern/i386/pc/hardware.c: Likewise.
34753 * term/i386/pc/at_keyboard.c: Likewise.
34754 * term/i386/pc/vga_text.c: Likewise.
34755
34756 * include/grub/i386/linuxbios/boot.h: Likewise.
34757 * include/grub/i386/linuxbios/console.h: Likewise.
34758 * include/grub/i386/linuxbios/init.h: Likewise.
34759 * include/grub/i386/linuxbios/kernel.h: Likewise.
34760 * include/grub/i386/linuxbios/loader.h: Likewise.
34761 * include/grub/i386/linuxbios/memory.h: Likewise.
34762 * include/grub/i386/linuxbios/serial.h: Likewise.
34763 * include/grub/i386/linuxbios/time.h: Likewise.
34764
34765 * kern/i386/linuxbios/init.c: Likewise.
34766 * kern/i386/linuxbios/startup.S: Likewise.
34767 * kern/i386/linuxbios/table.c: Likewise.
34768
e911ecc1 347692007-10-31 Marco Gerards <marco@gnu.org>
34770
34771 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34772 (ata_mod_SOURCES): New variable.
34773 (ata_mod_CFLAGS): Likewise.
34774 (ata_mod_LDFLAGS): Likewise.
34775
34776 * disk/ata.c: New file.
34777
34778 * include/grub/disk.h (grub_disk_dev_id): Add
34779 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 34780
7f66d0e0 347812007-10-31 Robert Millan <rmh@aybabtu.com>
34782
34783 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34784 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34785
34786 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34787 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34788
34789 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34790 `<grub/types.h>'.
34791
34792 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34793
5cd7dd46 347942007-10-27 Robert Millan <rmh@aybabtu.com>
34795
3236ca65 34796 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 34797
2ebfc90f 347982007-10-22 Robert Millan <rmh@aybabtu.com>
34799
34800 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34801 `"../realmode.S"'.
34802 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34803
73fcb0f3 348042007-10-22 Robert Millan <rmh@aybabtu.com>
34805
34806 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34807 (pkgdata_MODULES): Add `biosdisk.mod'.
34808 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34809 variables.
34810
34811 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34812 (grub_biosdisk_init): Replace with ...
34813 (GRUB_MOD_INIT(biosdisk)): ... this.
34814 (grub_biosdisk_fini): Replace with ...
34815 (GRUB_MOD_FINI(biosdisk)): ... this.
34816
34817 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34818 (grub_machine_init): Remove call to grub_biosdisk_init().
34819 (grub_machine_fini): Remove call to grub_machine_fini().
34820
34821 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34822
3381d274 348232007-10-22 Robert Millan <rmh@aybabtu.com>
34824
34825 * include/grub/time.h: New file.
34826 * include/grub/i386/time.h: Likewise.
34827 * include/grub/powerpc/time.h: Likewise.
34828 * include/grub/sparc64/time.h: Likewise.
34829
34830 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34831 instances to ...
34832 (KERNEL_MACHINE_TIME_HEADER): ... this.
34833 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34834 instances to ...
34835 (KERNEL_MACHINE_TIME_HEADER): ... this.
34836 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34837 instances to ...
34838 (KERNEL_MACHINE_TIME_HEADER): ... this.
34839
34840 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34841 (grub_millisleep): New function.
34842 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34843 (grub_millisleep): New function.
34844 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34845 Remove `grub/machine/time.h' include.
34846 (grub_millisleep): New function.
34847 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34848 Remove `grub/machine/time.h' include.
34849 (grub_millisleep): New function.
34850
34851 * include/grub/misc.h (grub_div_roundup): New function.
34852
34853 * kern/misc.c: Include `<grub/time.h>'.
34854 (grub_millisleep_generic): New function.
34855
34856 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34857 Add `time.h'.
34858 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34859 Add `time.h'.
34860 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34861 `machine/time.h'. Add `time.h'.
34862 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34863
a39a0312 348642007-10-21 Robert Millan <rmh@aybabtu.com>
34865
34866 * include/grub/misc.h (grub_max): New function.
34867
2aad70e2 348682007-10-21 Robert Millan <rmh@aybabtu.com>
34869
34870 * util/misc.c (grub_util_info): Call fflush() before returning.
34871
54b71c4b 348722007-10-20 Robert Millan <rmh@aybabtu.com>
34873
34874 * genmk.rb (Image): Copy `extra_flags' from here ...
34875 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34876
34877 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34878 to `argc' and `args' arguments.
34879
a979f513 348802007-10-17 Robert Millan <rmh@aybabtu.com>
34881
34882 * kern/i386/loader.S: New file.
34883
34884 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34885 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34886 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34887 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34888 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34889 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34890 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34891 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34892 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34893 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34894 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34895 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34896 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34897 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34898
34899 * kern/i386/realmode.S: New file.
34900
34901 * kern/i386/pc/startup.S (protstack): Moved from here ...
34902 * kern/i386/realmode.S (protstack)... to here.
34903 * kern/i386/pc/startup.S (gdt): Moved from here ...
34904 * kern/i386/realmode.S (gdt)... to here.
34905 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34906 * kern/i386/realmode.S (prot_to_real)... to here.
34907
34908 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34909 `kern/i386/realmode.S'.
34910
825fc8fd 349112007-10-17 Robert Millan <rmh@aybabtu.com>
34912
34913 * include/grub/i386/loader.h: New file.
34914
34915 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34916 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34917 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34918 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34919 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34920 * include/grub/i386/loader.h (grub_linux_prot_size)
34921 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34922 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34923 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34924 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34925
34926 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34927
e179b2f4 349282007-10-15 Robert Millan <rmh@aybabtu.com>
34929
34930 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34931 filesystem when dev->disk is unset.
34932 Do probe for filesystem even when dev->disk->has_partitions is set.
34933 In case a filesystem is found, always report it.
34934 In case it isn't, if dev->disk->has_partitions is set, report that
34935 a partition table was found instead of reporting that no filesystem
34936 could be identified.
34937
5db82af6 349382007-10-12 Robert Millan <rmh@aybabtu.com>
34939
34940 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34941 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34942
68f6ac74 34943 * include/grub/types.h (grub_host_to_target16): New macro.
34944 (grub_host_to_target32): Likewise.
34945 (grub_host_to_target64): Likewise.
34946 (grub_target_to_host16): Likewise.
34947 (grub_target_to_host32): Likewise.
34948 (grub_target_to_host64): Likewise.
5db82af6 34949
34950 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34951 Renamed from to ...
34952 (GRUB_MOD_ALIGN): ...this. Update all users.
34953
68f6ac74 34954 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34955 grub_host_to_target32.
34956 Replace grub_be_to_cpu32 with grub_target_to_host32.
34957 (load_modules): Likewise.
34958 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34959 Replace grub_be_to_cpu32 with grub_target_to_host32.
34960 Replace grub_cpu_to_be16 with grub_host_to_target16.
34961 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 34962
3cf497cc 349632007-10-12 Robert Millan <rmh@aybabtu.com>
34964
34965 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34966 * util/elf/grub-mkimage.c: ... here.
34967
34968 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34969 `util/powerpc/ieee1275/grub-mkimage.c'.
34970
c8cc3692 349712007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 34972
c8cc3692 34973 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34974 and make it easier to figure out.
34975 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34976 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34977 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34978 leave us with less than HEAP_MIN_SIZE total heap.
34979 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 34980
5c58b791 349812007-10-03 Robert Millan <rmh@aybabtu.com>
34982
34983 * include/grub/i386/io.h: New file.
34984 * commands/i386/pc/play.c (inb): Removed.
34985 (outb): Removed.
34986 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34987 with grub_outb().
afcd2ef8 34988 * term/i386/pc/serial.c (inb): Removed.
34989 (outb): Removed.
34990 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34991 with grub_outb().
34992 * term/i386/pc/vga.c (inb): Removed.
34993 (outb): Removed.
34994 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34995 with grub_outb().
5c58b791 34996
1a477ed6 349972007-10-02 Robert Millan <rmh@aybabtu.com>
34998
34999 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
35000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35001 Reported by Marcin Kurek.
35002
6b5d80fa 350032007-09-07 Robert Millan <rmh@aybabtu.com>
35004
35005 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
35006 SmartFirmware version updates (as released by Sven Luther), and avoid
35007 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
35008 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
35009 known broken.
35010
5618afbf 350112007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35012
35013 From Hitoshi Ozeki:
35014 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
35015 when merging two regions.
35016
6139dcd9 350172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35018
508e39ee 35019 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
35020 * normal/completion.c (grub_normal_do_completion): Likewise.
35021 Reported by Hitoshi Ozeki.
35022
350232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35024
6139dcd9 35025 Do not use devices at boot in chainloading.
f19dbdb7 35026
6139dcd9 35027 * loader/i386/pc/chainloader.c (boot_drive): New variable.
35028 (boot_part_addr): Likewise.
35029 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
35030 with BOOT_DRIVE and BOOT_PART_ADDR.
35031 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
35032 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
35033
38da6516 350342007-08-29 Robert Millan <rmh@aybabtu.com>
35035
35036 Patch from Simon Peter <dn.tlp@gmx.net>:
35037 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
35038 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
35039 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
35040 util/i386/pc/grub-setup.c_DEPENDENCIES.
35041 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
35042 util/grub-probe.c_DEPENDENCIES.
35043 * conf/powerpc-ieee1275.rmk: Likewise.
35044
29d0928c 350452007-08-28 Robert Millan <rmh@aybabtu.com>
35046
35047 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
35048 to tell grub-mkdevicemap how to name devices.
35049 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
35050 feature).
35051
35052 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
35053 util/i386/get_disk_name.c.
35054 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
35055 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
35056 util/ieee1275/get_disk_name.c.
35057
35058 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
35059
35060 * DISTLIST: Add util/i386/get_disk_name.c and
35061 util/ieee1275/get_disk_name.c.
35062
35063 * util/grub-mkdevicemap.c: Replace device naming logic with
35064 grub_util_get_disk_name() calls.
35065
5a0d3cca 350662007-08-20 Robert Millan <rmh@aybabtu.com>
35067
35068 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
35069 (so that it works for both plural and singular quantities).
35070
8b72db2f 350712007-08-05 Robert Millan <rmh@aybabtu.com>
35072
35073 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
35074 so that [xz] isn't taken into account when determining order.
35075
352466bf 350762007-08-02 Marco Gerards <marco@gnu.org>
35077
35078 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
35079 `include/multiboot2.h', `include/grub/elfload.h',
35080 `include/multiboot.h', `include/grub/multiboot.h',
35081 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
35082 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
35083 `kern/elf.c', `loader/multiboot_loader.c',
35084 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
35085 `loader/i386/pc/multiboot2.c',
35086 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
35087 `util/i386/pc/grub-mkrescue.in'. Remove
35088 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
35089 `include/grub/i386/pc/util/biosdisk.h' and
35090 `include/grub/powerpc/ieee1275/multiboot.h'.
35091
8f096014 350922007-08-02 Bean <bean123ch@gmail.com>
35093
35094 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
35095 (ntfs_mod_SOURCES): New variable.
35096 (ntfs_mod_CFLAGS): Likewise.
35097 (ntfs_mod_LDFLAGS): Likewise.
35098
35099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
35100 (grub_probe_SOURCES): Likewise.
35101 (grub_emu_SOURCES): Likewise.
35102
35103 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35104 (grub_emu_SOURCES): Likewise.
35105
35106 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35107 (grub_emu_SOURCES): Likewise.
f19dbdb7 35108
8f096014 35109 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
35110
35111 * fs/ntfs.c: New file.
35112
9959f7db 351132007-08-02 Bean <bean123ch@gmail.com>
35114
35115 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
35116
35117 * file.h (grub_file): Likewise.
35118
35119 * fshelp.h (grub_fshelp_read_file): Likewise.
35120
35121 * util/i386/pc/grub-setup.c (setup): Likewise.
35122 (save_first_sector): Likewise.
35123 (save_blocklists): Likewise.
f19dbdb7 35124
9959f7db 35125 * fs/affs.c (grub_affs_read_file): Likewise.
35126
35127 * fs/ext2.c (grub_ext2_read_file): Likewise.
35128
35129 * fs/fat.c (grub_fat_read_data): Likewise.
35130
35131 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35132
35133 * fs/hfs.c (grub_hfs_read_file): Likewise.
35134
35135 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35136
35137 * fs/jfs.c (grub_jfs_read_file): Likewise.
35138
35139 * fs/minix.c (grub_minix_read_file): Likewise.
35140
35141 * fs/sfs.c (grub_sfs_read_file): Likewise.
35142
35143 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 35144
9959f7db 35145 * fs/xfs.c (grub_xfs_read_file): Likewise.
35146
35147 * command/blocklist.c (read_blocklist): Likewise.
35148 (print_blocklist): Likewise.
35149
0a203f83 351502007-08-02 Marco Gerards <marco@gnu.org>
35151
35152 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35153 `util/hostfs.c'.
35154
35155 * disk/host.c: New file.
35156
35157 * util/hostfs.c: Likewise.
35158
35159 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35160 return `GRUB_ERR_BAD_FS'.
35161 * fs/sfs.c (grub_sfs_mount): Likewise.
35162 * fs/xfs.c (grub_xfs_mount): Likewise.
35163
35164 * include/grub/disk.h (enum grub_disk_dev_id): Add
35165 `GRUB_DISK_DEVICE_HOST_ID'.
35166
35167 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35168
e5dfe777 351692007-07-24 Jerone Young <jerone@gmail.com>
35170
f19dbdb7 35171 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 35172 modules for compilation.
35173 * conf/powerpc-ieee1275.rmk: Likewise.
35174
35175 * include/multiboot.h: Move multiboot definitions to one file. Rename
35176 many definitions to not get grub specific.
35177 * include/multiboot2.h: Create header with multiboot 2 definitions.
35178 * include/grub/multiboot.h: Header for grub specific function
35179 prototypes and definitions.
35180 * include/grub/multiboot2.h: Likewise.
35181 * include/grub/multiboot_loader.h: Likewise.
35182 * include/grub/i386/pc/multiboot.h: Removed.
35183 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35184
35185 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35186 and 2 to allow for one multiboot and module commands.
35187 * loader/multiboot2.c: Add multiboot2 functionality.
35188 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35189 and definition names.
35190 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35191 2 functions.
35192 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35193 ieee1275 specific multiboot2 code.
35194
35195 * kern/i386/pc/startup.S: Change headers and definition names for
35196 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35197
daf0f0ba 351982007-07-22 Robert Millan <rmh@aybabtu.com>
35199
35200 * geninitheader.sh: Process file specified in first parameter rather
35201 than hardcoding grub_modules_init.lst.
fe6b695a 35202 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 35203 than hardcoding grub_modules_init.h.
35204
35205 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35206 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35207 grub_probe_init.[ch] and grub_setup_init.[ch].
35208
35209 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35210 grub_modules_init.h with grub_emu_init.h.
35211 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35212 grub_probe_init.[ch] files.
35213 * conf/i386-efi.rmk: Likewise.
35214 * conf/i386-pc.rmk: Likewise.
35215 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35216 grub_setup_init.[ch] files.
35217
35218 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35219 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35220 to initialize modules rather than a list of hardcoded functions.
35221 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35222 grub_init_all() to initialize modules rather than a list of hardcoded
35223 functions.
35224
54cdc1cc 352252007-07-22 Robert Millan <rmh@aybabtu.com>
35226
35227 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35228 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35229
ad0686cc 352302007-07-22 Robert Millan <rmh@aybabtu.com>
35231
35232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35233 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35234 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35235 flag when running on SmartFirmware.
35236 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35237 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35238 was set.
35239
35240 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35241 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35242 rather than decreasing it.
35243
35244 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35245 there's not enough space to do it, fail in the same way as when it
35246 can't be done because there are no partitions.
35247
35248 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35249 when nvsetenv failed.
35250
969c02ec 352512007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35252
35253 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35254 because this rule is automatically generated.
35255 (grub-mkrescue): Removed for the same reason as above.
35256
5a79f472 352572007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35258
35259 Migrate to GNU General Public License Version 3.
f19dbdb7 35260
5a79f472 35261 * COPYING: Replaced with the plain text version of GPLv3.
35262
35263 * config.guess: Updated from gnulib.
35264 * config.sub: Likewise.
35265
35266 * geninit.sh: Output a GPLv3 copyright notice.
35267 * geninitheader.sh: Likewise.
35268 * genmodsrc.sh: Likewise.
35269 * gensymlist.sh.in: Likewise.
35270
35271 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35272 * boot/i386/pc/diskboot.S: Likewise.
35273 * boot/i386/pc/pxeboot.S: Likewise.
35274 * commands/blocklist.c: Likewise.
35275 * commands/boot.c: Likewise.
35276 * commands/cat.c: Likewise.
35277 * commands/cmp.c: Likewise.
35278 * commands/configfile.c: Likewise.
35279 * commands/echo.c: Likewise.
35280 * commands/help.c: Likewise.
35281 * commands/ls.c: Likewise.
35282 * commands/search.c: Likewise.
35283 * commands/terminal.c: Likewise.
35284 * commands/test.c: Likewise.
35285 * commands/videotest.c: Likewise.
35286 * commands/i386/cpuid.c: Likewise.
35287 * commands/i386/pc/halt.c: Likewise.
35288 * commands/i386/pc/play.c: Likewise.
35289 * commands/i386/pc/reboot.c: Likewise.
35290 * commands/i386/pc/vbeinfo.c: Likewise.
35291 * commands/i386/pc/vbetest.c: Likewise.
35292 * commands/ieee1275/halt.c: Likewise.
35293 * commands/ieee1275/reboot.c: Likewise.
35294 * commands/ieee1275/suspend.c: Likewise.
35295 * disk/loopback.c: Likewise.
35296 * disk/lvm.c: Likewise.
35297 * disk/raid.c: Likewise.
35298 * disk/efi/efidisk.c: Likewise.
35299 * disk/i386/pc/biosdisk.c: Likewise.
35300 * disk/ieee1275/ofdisk.c: Likewise.
35301 * font/manager.c: Likewise.
35302 * fs/affs.c: Likewise.
35303 * fs/ext2.c: Likewise.
35304 * fs/fat.c: Likewise.
35305 * fs/fshelp.c: Likewise.
35306 * fs/hfs.c: Likewise.
35307 * fs/hfsplus.c: Likewise.
35308 * fs/iso9660.c: Likewise.
35309 * fs/jfs.c: Likewise.
35310 * fs/minix.c: Likewise.
35311 * fs/sfs.c: Likewise.
35312 * fs/ufs.c: Likewise.
35313 * fs/xfs.c: Likewise.
35314 * hello/hello.c: Likewise.
35315 * include/grub/acorn_filecore.h: Likewise.
35316 * include/grub/arg.h: Likewise.
35317 * include/grub/bitmap.h: Likewise.
35318 * include/grub/boot.h: Likewise.
35319 * include/grub/cache.h: Likewise.
35320 * include/grub/device.h: Likewise.
35321 * include/grub/disk.h: Likewise.
35322 * include/grub/dl.h: Likewise.
35323 * include/grub/elfload.h: Likewise.
35324 * include/grub/env.h: Likewise.
35325 * include/grub/err.h: Likewise.
35326 * include/grub/file.h: Likewise.
35327 * include/grub/font.h: Likewise.
35328 * include/grub/fs.h: Likewise.
35329 * include/grub/fshelp.h: Likewise.
35330 * include/grub/gzio.h: Likewise.
35331 * include/grub/hfs.h: Likewise.
35332 * include/grub/kernel.h: Likewise.
35333 * include/grub/loader.h: Likewise.
35334 * include/grub/lvm.h: Likewise.
35335 * include/grub/misc.h: Likewise.
35336 * include/grub/mm.h: Likewise.
35337 * include/grub/net.h: Likewise.
35338 * include/grub/normal.h: Likewise.
35339 * include/grub/parser.h: Likewise.
35340 * include/grub/partition.h: Likewise.
35341 * include/grub/pc_partition.h: Likewise.
35342 * include/grub/raid.h: Likewise.
35343 * include/grub/rescue.h: Likewise.
35344 * include/grub/script.h: Likewise.
35345 * include/grub/setjmp.h: Likewise.
35346 * include/grub/symbol.h: Likewise.
35347 * include/grub/term.h: Likewise.
35348 * include/grub/terminfo.h: Likewise.
35349 * include/grub/tparm.h: Likewise.
35350 * include/grub/types.h: Likewise.
35351 * include/grub/video.h: Likewise.
35352 * include/grub/efi/api.h: Likewise.
35353 * include/grub/efi/chainloader.h: Likewise.
35354 * include/grub/efi/console.h: Likewise.
35355 * include/grub/efi/console_control.h: Likewise.
35356 * include/grub/efi/disk.h: Likewise.
35357 * include/grub/efi/efi.h: Likewise.
35358 * include/grub/efi/pe32.h: Likewise.
35359 * include/grub/efi/time.h: Likewise.
35360 * include/grub/i386/linux.h: Likewise.
35361 * include/grub/i386/setjmp.h: Likewise.
35362 * include/grub/i386/types.h: Likewise.
35363 * include/grub/i386/efi/kernel.h: Likewise.
35364 * include/grub/i386/efi/loader.h: Likewise.
35365 * include/grub/i386/efi/time.h: Likewise.
35366 * include/grub/i386/pc/biosdisk.h: Likewise.
35367 * include/grub/i386/pc/boot.h: Likewise.
35368 * include/grub/i386/pc/chainloader.h: Likewise.
35369 * include/grub/i386/pc/console.h: Likewise.
35370 * include/grub/i386/pc/init.h: Likewise.
35371 * include/grub/i386/pc/kernel.h: Likewise.
35372 * include/grub/i386/pc/loader.h: Likewise.
35373 * include/grub/i386/pc/memory.h: Likewise.
35374 * include/grub/i386/pc/multiboot.h: Likewise.
35375 * include/grub/i386/pc/serial.h: Likewise.
35376 * include/grub/i386/pc/time.h: Likewise.
35377 * include/grub/i386/pc/vbe.h: Likewise.
35378 * include/grub/i386/pc/vbeblit.h: Likewise.
35379 * include/grub/i386/pc/vbefill.h: Likewise.
35380 * include/grub/i386/pc/vbeutil.h: Likewise.
35381 * include/grub/i386/pc/vga.h: Likewise.
35382 * include/grub/ieee1275/ieee1275.h: Likewise.
35383 * include/grub/ieee1275/ofdisk.h: Likewise.
35384 * include/grub/powerpc/libgcc.h: Likewise.
35385 * include/grub/powerpc/setjmp.h: Likewise.
35386 * include/grub/powerpc/types.h: Likewise.
35387 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35388 * include/grub/powerpc/ieee1275/console.h: Likewise.
35389 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35390 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35391 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35392 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35393 * include/grub/powerpc/ieee1275/time.h: Likewise.
35394 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35395 * include/grub/sparc64/libgcc.h: Likewise.
35396 * include/grub/sparc64/setjmp.h: Likewise.
35397 * include/grub/sparc64/types.h: Likewise.
35398 * include/grub/sparc64/ieee1275/console.h: Likewise.
35399 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35400 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35401 * include/grub/sparc64/ieee1275/time.h: Likewise.
35402 * include/grub/util/biosdisk.h: Likewise.
35403 * include/grub/util/getroot.h: Likewise.
35404 * include/grub/util/lvm.h: Likewise.
35405 * include/grub/util/misc.h: Likewise.
35406 * include/grub/util/raid.h: Likewise.
35407 * include/grub/util/resolve.h: Likewise.
35408 * io/gzio.c: Likewise.
35409 * kern/device.c: Likewise.
35410 * kern/disk.c: Likewise.
35411 * kern/dl.c: Likewise.
35412 * kern/elf.c: Likewise.
35413 * kern/env.c: Likewise.
35414 * kern/err.c: Likewise.
35415 * kern/file.c: Likewise.
35416 * kern/fs.c: Likewise.
35417 * kern/loader.c: Likewise.
35418 * kern/main.c: Likewise.
35419 * kern/misc.c: Likewise.
35420 * kern/mm.c: Likewise.
35421 * kern/parser.c: Likewise.
35422 * kern/partition.c: Likewise.
35423 * kern/rescue.c: Likewise.
35424 * kern/term.c: Likewise.
35425 * kern/efi/efi.c: Likewise.
35426 * kern/efi/init.c: Likewise.
35427 * kern/efi/mm.c: Likewise.
35428 * kern/i386/dl.c: Likewise.
35429 * kern/i386/efi/init.c: Likewise.
35430 * kern/i386/efi/startup.S: Likewise.
35431 * kern/i386/pc/init.c: Likewise.
35432 * kern/i386/pc/lzo1x.S: Likewise.
35433 * kern/i386/pc/startup.S: Likewise.
35434 * kern/ieee1275/ieee1275.c: Likewise.
35435 * kern/powerpc/cache.S: Likewise.
35436 * kern/powerpc/dl.c: Likewise.
35437 * kern/powerpc/ieee1275/cmain.c: Likewise.
35438 * kern/powerpc/ieee1275/crt0.S: Likewise.
35439 * kern/powerpc/ieee1275/init.c: Likewise.
35440 * kern/powerpc/ieee1275/openfw.c: Likewise.
35441 * kern/sparc64/cache.S: Likewise.
35442 * kern/sparc64/dl.c: Likewise.
35443 * kern/sparc64/ieee1275/init.c: Likewise.
35444 * kern/sparc64/ieee1275/openfw.c: Likewise.
35445 * loader/efi/chainloader.c: Likewise.
35446 * loader/efi/chainloader_normal.c: Likewise.
35447 * loader/i386/efi/linux.c: Likewise.
35448 * loader/i386/efi/linux_normal.c: Likewise.
35449 * loader/i386/pc/chainloader.c: Likewise.
35450 * loader/i386/pc/chainloader_normal.c: Likewise.
35451 * loader/i386/pc/linux.c: Likewise.
35452 * loader/i386/pc/linux_normal.c: Likewise.
35453 * loader/i386/pc/multiboot.c: Likewise.
35454 * loader/i386/pc/multiboot_normal.c: Likewise.
35455 * loader/powerpc/ieee1275/linux.c: Likewise.
35456 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35457 * normal/arg.c: Likewise.
35458 * normal/cmdline.c: Likewise.
35459 * normal/command.c: Likewise.
35460 * normal/completion.c: Likewise.
35461 * normal/execute.c: Likewise.
35462 * normal/function.c: Likewise.
35463 * normal/lexer.c: Likewise.
35464 * normal/main.c: Likewise.
35465 * normal/menu.c: Likewise.
35466 * normal/menu_entry.c: Likewise.
35467 * normal/misc.c: Likewise.
35468 * normal/parser.y: Likewise.
35469 * normal/script.c: Likewise.
35470 * normal/i386/setjmp.S: Likewise.
35471 * normal/powerpc/setjmp.S: Likewise.
35472 * normal/sparc64/setjmp.S: Likewise.
35473 * partmap/acorn.c: Likewise.
35474 * partmap/amiga.c: Likewise.
35475 * partmap/apple.c: Likewise.
35476 * partmap/gpt.c: Likewise.
35477 * partmap/pc.c: Likewise.
35478 * partmap/sun.c: Likewise.
35479 * term/gfxterm.c: Likewise.
35480 * term/terminfo.c: Likewise.
35481 * term/efi/console.c: Likewise.
35482 * term/i386/pc/console.c: Likewise.
35483 * term/i386/pc/serial.c: Likewise.
35484 * term/i386/pc/vesafb.c: Likewise.
35485 * term/i386/pc/vga.c: Likewise.
35486 * term/ieee1275/ofconsole.c: Likewise.
35487 * util/biosdisk.c: Likewise.
35488 * util/console.c: Likewise.
35489 * util/genmoddep.c: Likewise.
35490 * util/getroot.c: Likewise.
35491 * util/grub-emu.c: Likewise.
35492 * util/grub-mkdevicemap.c: Likewise.
35493 * util/grub-probe.c: Likewise.
35494 * util/lvm.c: Likewise.
35495 * util/misc.c: Likewise.
35496 * util/raid.c: Likewise.
35497 * util/resolve.c: Likewise.
35498 * util/update-grub.in: Likewise.
35499 * util/update-grub_lib.in: Likewise.
35500 * util/grub.d/00_header.in: Likewise.
35501 * util/grub.d/10_hurd.in: Likewise.
35502 * util/grub.d/10_linux.in: Likewise.
35503 * util/i386/efi/grub-install.in: Likewise.
35504 * util/i386/efi/grub-mkimage.c: Likewise.
35505 * util/i386/pc/grub-install.in: Likewise.
35506 * util/i386/pc/grub-mkimage.c: Likewise.
35507 * util/i386/pc/grub-mkrescue.in: Likewise.
35508 * util/i386/pc/grub-setup.c: Likewise.
35509 * util/i386/pc/misc.c: Likewise.
35510 * util/powerpc/ieee1275/grub-install.in: Likewise.
35511 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35512 * util/powerpc/ieee1275/misc.c: Likewise.
35513 * video/bitmap.c: Likewise.
35514 * video/video.c: Likewise.
35515 * video/i386/pc/vbe.c: Likewise.
35516 * video/i386/pc/vbeblit.c: Likewise.
35517 * video/i386/pc/vbefill.c: Likewise.
35518 * video/i386/pc/vbeutil.c: Likewise.
35519 * video/readers/tga.c: Likewise.
35520
3572d015 355212007-07-02 Robert Millan <rmh@aybabtu.com>
35522
35523 * conf/i386-efi.rmk: Replace obsolete reference to
35524 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35525 with util/getroot.c.
35526 * conf/powerpc-ieee1275.rmk: Likewise.
35527 * conf/sparc64-ieee1275.rmk: Likewise.
35528
35529 * util/grub-emu.c (main): Fix unchecked pointer handling.
35530
2c2a681b 355312007-07-02 Robert Millan <rmh@aybabtu.com>
35532
35533 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35534 invocation to fail, in order to support partition-less media.
35535
35536 * util/i386/pc/grub-install.in: Likewise.
35537
35538 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35539 which fs or partmap modules are needed (akin to its sister scripts).
35540
35541 Also use grub-probe to get rid of unportable /proc/mounts check.
35542
35543 Print the same informational message that the other scripts do, before
fe6b695a 35544 exiting.
2c2a681b 35545
6193defe 355462007-06-23 Robert Millan <rmh@aybabtu.com>
35547
fe6b695a 35548 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 35549 a font file can be found and, if so, echo the GRUB path to it.
35550
35551 * util/update-grub.in: Handle multiple terminals depending on user
35552 input, platform availability and font file presence. Propagate
35553 variables of our findings to /etc/grub.d/ children.
35554
35555 * util/grub.d/00_header.in: Handle multiple terminals, based on
35556 environment setup by update-grub.
35557
eface1dc 355582007-06-23 Robert Millan <rmh@aybabtu.com>
35559
ba50d28f 35560 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 35561
bf697e28 355622007-06-21 Robert Millan <rmh@aybabtu.com>
35563
35564 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35565 indicate end of data section in kernel image.
35566 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35567 GRUB_KERNEL_MACHINE_DATA_END.
35568
35569 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35570 space for it.
35571 * kern/i386/efi/startup.S: Likewise.
35572
35573 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35574 during image generation. Implement --prefix option to override this
35575 patch.
35576 * util/i386/efi/grub-mkimage.c: Likewise.
35577
35578 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35579 code to make path relative to its root into a separate function.
35580
35581 * util/i386/pc/grub-install.in: Use newly provided
35582 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35583 pass the result to grub-install --prefix.
35584
baa574b4 355852007-06-13 Robert Millan <rmh@aybabtu.com>
35586
35587 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35588 DEFAULT_DEVICE_MAP.
35589 * util/grub-emu.c: Use above definitions from misc.h instead of
35590 defining them.
35591 * util/grub-mkdevicemap.c: Likewise.
35592 * util/i386/pc/grub-setup.c: Likewise.
35593 * util/grub-probe.c: Likewise.
35594 (probe): Abort with grub_util_error() when either
35595 grub_guess_root_device or grub_util_get_grub_dev fails.
35596
0215dcbf 355972007-06-12 Robert Millan <rmh@aybabtu.com>
35598
35599 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35600 "pager" assignment.
35601 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35602 "pcdata".
35603 * util/grub-probe.c (probe): Likewise for "drive_name".
35604
8af2ab7b 356052007-06-11 Robert Millan <rmh@aybabtu.com>
35606
35607 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35608 not just the cdrom one.
35609
59d31694 356102007-06-11 Robert Millan <rmh@aybabtu.com>
35611
35612 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35613 Add --pkglibdir=DIR option to override pkglibdir.
35614 Mention --image-type=TYPE in help output.
35615 Fix --grub-mkimage (it was a no-op).
fe6b695a 35616 Abort gracefully when no parameter is given.
59d31694 35617
7ee367e4 356182007-06-11 Robert Millan <rmh@aybabtu.com>
35619
35620 * util/i386/pc/grub-mkrescue.in: New file.
35621 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35622 * Makefile.in: Handle bin_SCRIPTS.
35623
29b0ed46 356242007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35625
35626 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35627 list of video modes.
35628
c0f90770 356292007-06-06 Robert Millan <rmh@aybabtu.com>
35630
35631 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35632 file doesn't exist, or if it is in a filesystem grub can't read.
35633
35634 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35635 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35636 header comment to fit in 80 columns when the variables are resolved.
35637
35638 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35639 could be identified by update-grub. Remove redundant check for
fe6b695a 35640 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 35641 handles that).
35642
fb36dc26 356432007-06-04 Robert Millan <rmh@aybabtu.com>
35644
35645 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35646
35647 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35648
35649 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35650
0c68c93e 356512007-06-04 Robert Millan <rmh@aybabtu.com>
35652
35653 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35654
35655 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35656 grub_apple_partition_map_fini.
35657
35658 * util/biosdisk.c
35659 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35660 to access >2 TiB disks).
35661
35662 Print disk->total_sectors with %llu instead of %lu, since this
35663 variable is always 64-bit (prevents wrong disk size from being displayed
35664 on either >2 TiB disk or big-endian CPU).
35665
35666 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35667 into a generic case that supports all (sane) partition maps.
35668
35669 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35670 breaks big-endian.
35671
35672 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35673 and grub_apple_partition_map_fini() after that.
35674
0f23eb74 356752007-06-01 Robert Millan <rmh@aybabtu.com>
35676
35677 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35678
35679 * util/grub.d/00_header.in: Only enable gfxterm when
35680 convert_system_path_to_grub_path() succeeds.
35681
42c71976 356822007-05-20 Robert Millan <rmh@aybabtu.com>
35683
35684 * util/update-grub_lib.in: New file.
35685 * DISTLIST: Add update-grub_lib.in.
35686 * conf/common.rmk: Generate update-grub_lib and install it in
35687 $(lib_DATA).
35688 * Makefile.in: Add install routine for $(lib_DATA).
35689
35690 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35691 function provided by update-grub_lib to support arbitrary paths of
35692 unifont.pff.
35693 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35694 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35695
5beb2291 356962007-05-19 Robert Millan <rmh@aybabtu.com>
35697
35698 * commands/i386/cpuid.c: New module.
35699 * DISTLIST: Add it.
35700 * conf/i386-efi.rmk: Enable cpuid.mod.
35701 * conf/i386-pc.rmk: Likewise.
35702
7262eca1 357032007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35704
35705 * kern/disk.c (grub_disk_read): Check return value of
35706 grub_realloc().
35707
260ba823 357082007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35709
35710 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35711 arrays.
35712 * disk/raid.c (grub_raid_open): Likewise.
35713
1ecb6cf2 357142007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35715
35716 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35717 stack instead of on the heap.
35718
35719 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35720 before doing a read on it.
35721
35722 * configure.ac: Only use -fno-stack-protector for the target
35723 environment.
f19dbdb7 35724
21c8cbb1 357252007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35726
35727 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35728 __attribute_ ((unused)) to mode_type argument.
35729
35730 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 35731
21c8cbb1 35732 * kern/misc.c (memcmp): Fix prototype.
35733
35734 * include/grub/partition.h [GRUB_UTIL]
35735 (grub_gpt_partition_map_init): Add prototype.
35736 (grub_gpt_partition_map_fini): Likewise.
35737
35738 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35739 at the right place.
35740
35741 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35742 (grub_fat_read_data): Likewise.
35743 (grub_fat_find_dir): Likewise.
35744
35745 * font/manager.c (find_glyph): Make table a const.
35746 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 35747
849d55d3 357482007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35749
35750 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35751 code, first search for device in /dev/mapper, then in /dev.
35752 (grub_util_get_grub_dev): New function.
35753 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35754 prototype.
35755 * util/grub-probe.c (probe): Remove check for RAID, call
35756 grub_util_get_grub_dev() instead of
35757 grub_util_biosdisk_get_grub_dev().
35758 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35759 grub_util_biosdisk_get_grub_dev().
35760 * util/i386/pc/grub-setup.c (main): Likewise.
35761
8fff7c2f 357622007-05-16 Robert Millan <rmh@aybabtu.com>
35763
35764 * DISTLIST: Update for the latest changes.
35765 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35766 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35767 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35768 grub/util/biosdisk.h.
35769 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35770 grub/util/biosdisk.h.
35771
48e12b52 357722007-05-16 Robert Millan <rmh@aybabtu.com>
35773
35774 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35775
46b9d128 357762007-05-16 Robert Millan <rmh@aybabtu.com>
35777
35778 * util/i386/efi/grub-install.in: New.
35779 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35780 newly added grub-install.
35781 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35782 include.
35783 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35784 grub/util/biosdisk.h.
35785 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35786 grub/util/biosdisk.h.
35787
2d1a40a9 357882007-05-16 Robert Millan <rmh@aybabtu.com>
35789
35790 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35791 * include/grub/util/biosdisk.h: ... here.
35792 * util/i386/pc/biosdisk.c: Moved to ...
35793 * util/biosdisk.c: ... here.
35794 * util/i386/pc/getroot.c: Moved to ...
35795 * util/getroot.c: ... here.
35796 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35797 * util/grub-mkdevicemap.c: ... here.
35798 * util/i386/pc/grub-probe.c: Moved to ...
35799 * util/grub-probe.c: ... here.
35800
9e26e3bc 358012007-05-15 Robert Millan <rmh@aybabtu.com>
35802
35803 * util/update-grub.in: Remove duplicated line in grub.cfg header
35804 message.
35805
57f96397 358062007-05-13 Robert Millan <rmh@aybabtu.com>
35807
35808 * util/update-grub.in: Fix a few assumptions about the devices holding
35809 /, /boot and /boot/grub being the same.
35810 * util/grub.d/00_header.in: Likewise.
35811 * util/grub.d/10_hurd.in: Likewise.
35812 * util/grub.d/10_linux.in: Likewise.
35813
35814 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35815 patterns. Use that to define the `.old' suffix as older than `'.
35816
35817 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35818
35819 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35820 the grub.cfg header message.
35821
2e610d62 358222007-05-11 Robert Millan <rmh@aybabtu.com>
35823
35824 * util/update-grub.in: Create device.map if it doesn't already exist,
35825 before attempting to run grub-probe.
35826 Check for grub-probe and grub-mkdevicemap with the same code
35827 grub-install is using.
35828 Remove test mode.
35829
3f6a10ef 358302007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35831
35832 * Makefile.in: Add the datarootdir autoconf variable.
35833
02e7b75e 358342007-05-09 Robert Millan <rmh@aybabtu.com>
35835
35836 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 35837 fail gracefully if dev->disk->partition == NULL.
02e7b75e 35838
75f396cc 358392007-05-07 Robert Millan <rmh@aybabtu.com>
35840
35841 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35842 determine partition map module.
35843 * util/i386/pc/grub-install.in: Use this feature to decide which
35844 partition module to load, instead of hardcoding pc and gpt.
35845
da65cb36 358462007-05-07 Robert Millan <rmh@aybabtu.com>
35847
35848 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35849 source directory differs from build directory.
35850
b57d6a91 358512007-05-05 Robert Millan <rmh@aybabtu.com>
35852
35853 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35854 initialisation.
35855
509d00f1 358562007-05-05 Robert Millan <rmh@aybabtu.com>
35857
35858 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35859
c48f23ef 358602007-05-05 Robert Millan <rmh@aybabtu.com>
35861
35862 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35863 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35864
20b97658 358652007-05-05 Robert Millan <rmh@aybabtu.com>
35866
35867 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35868 (grub_probe_SOURCES): Likewise.
35869 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35870 GPT and initialize dos_part and bsd_part accordingly.
35871 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35872 install_bsd_part.
35873 (main): Activate gpt module for use during partition identification,
35874 and deactivate it afterwards.
35875 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35876 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35877 partition identification, and deactivate it afterwards.
35878
99123174 358792007-05-05 Robert Millan <rmh@aybabtu.com>
35880
35881 * term/i386/pc/console.c (grub_console_fini): Call
35882 grub_term_set_current() before grub_term_unregister().
35883
ebd97f6e 358842007-05-04 Robert Millan <rmh@aybabtu.com>
35885
35886 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35887 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35888 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35889 and update-grub_DATA.
35890 * conf/common.rmk: Build and install update-grub components.
35891 * conf/common.mk: Regenerate.
35892 * util/update-grub.in: New. Core of update-grub.
35893 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35894 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35895 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35896 * util/grub.d/README: New. Document grub.d directory layout.
35897
b06a264d 358982007-05-01 Robert Millan <rmh@aybabtu.com>
35899
35900 * util/grub-emu.c: Move initialization functions
35901 grub_util_biosdisk_init() and grub_init_all() before
35902 grub_util_biosdisk_get_grub_dev(), which relies on them.
35903
41f0050e 359042007-04-19 Robert Millan <rmh@aybabtu.com>
35905
35906 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35907 it is used later.
35908
04582bb3 359092007-04-18 Jerone Young <jerone@gmail.com>
35910
f19dbdb7 35911 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 35912 stanza.
35913
08db4632 359142007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 35915
08db4632 35916 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35917 continue on and look for device node with real device name.
35918
801b76be 359192007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 35920
fe6b695a 35921 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 35922 ability.
35923 * Makefile.in: Add autoconf package transformation code.
35924 * util/i386/pc/grub-install.in: Likewise.
35925 * util/powerpc/ieee1275/grub-install.in: Likewise.
35926
6795c4e1 359272007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35928
35929 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35930 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35931 (EXT2_REVISION): Likewise.
35932 (EXT2_INODE_SIZE): Likewise.
35933 (struct grub_ext2_block_group): Added a missing member
35934 "used_dirs".
35935 (grub_ext2_read_inode): Divide by the inode size in a superblock
35936 instead of 128 to obtain INODES_PER_BLOCK.
35937 Use the macro EXT2_INODE_SIZE instead of directly using
35938 SBLOCK->INODE_SIZE.
35939
d70af616 359402007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35941
35942 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35943 superblock instead of the structure size to compute an
35944 offset. This fixes the problem that GRUB could not read a
35945 filesystem when inode size is different from 128-byte.
35946
3b801603 359472007-03-05 Marco Gerards <marco@gnu.org>
35948
35949 * normal/main.c (read_config_file): When "menu" is not set, create
35950 an initial context.
35951
4785bfe4 359522007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35953
35954 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35955 (HEAP_LIMIT): New macro.
35956 (grub_claim_heap): Claim memory up to `heaplimit'.
35957
a0cbb023 359582007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35959
35960 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35961 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35962 (_start): Likewise.
35963 (grub_arch_modules_addr): Return address after `_end'.
35964 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35965 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35966 (add_segments): Calculate `_end' from phdr size and location.
35967 (ALIGN_UP): Moved to ...
35968 * include/grub/misc.h: here.
35969 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35970 New macro.
35971 (GRUB_IEEE1275_MODULE_BASE): Removed.
35972
fd7d8eba 359732007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35974
35975 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35976 loop boundary.
35977
9b09e6fc 359782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35979
35980 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35981 All users updated.
35982 (grub_elf64_load_hook_t): Likewise.
35983 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35984 debug output.
35985
3ce27299 359862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35987
35988 * kern/mm.c: Update copyright.
35989 (grub_mm_debug): Correct syntax error.
35990 (grub_mm_dump_free): New function.
35991 (grub_debug_free): Call `grub_free'.
35992 * include/grub/mm.h: Update copyright.
35993 (grub_mm_dump_free): Add declaration.
35994
077d5fee 359952007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35996
35997 * include/grub/ieee1275/ieee1275.h: Update copyright.
35998 * kern/powerpc/ieee1275/init.c: Likewise.
35999 * kern/powerpc/ieee1275/openfw.c: Likewise.
36000
36001 * loader/powerpc/ieee1275/linux.c: Likewise.
36002 * include/grub/elfload.h: Likewise.
36003 * kern/elf.c: Likewise.
36004 (grub_elf32_load): Pass `base' and `size' parameters. Update all
36005 callers.
36006 (grub_elf64_load): Likewise.
36007 (grub_elf32_load_segment): Move to a nested function.
36008 (grub_elf64_load_segment): Likewise.
36009
dc946850 360102007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36011
36012 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
36013 prototype.
36014 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
36015 (grub_heap_len): Likewise.
36016 (HEAP_SIZE): New macro.
36017 (grub_claim_heap): New function.
36018 (grub_machine_init): Don't claim heap directly. Call
36019 `grub_claim_heap'.
36020 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
36021 (grub_available_iterate): New function.
36022
baa2a121 360232007-02-03 Thomas Schwinge <tschwinge@gnu.org>
36024
36025 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
36026 * configure.ac: Use it for testing the HOST and TARGET compilers.
36027
4fe9862e 360282006-12-13 Thomas Schwinge <tschwinge@gnu.org>
36029
36030 * Makefile.in (enable_grub_emu): New variable.
36031 * configure.ac (--enable-grub-emu): New option.
36032 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
36033 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
36034 * conf/i386-pc.rmk: Likewise.
36035 * conf/powerpc-ieee1275.rmk: Likewise.
36036 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
36037
a8aa5762 360382006-12-12 Marco Gerards <marco@gnu.org>
36039
36040 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
36041
36042 * kern/env.c (grub_env_unset): Don't free the member `value' when
36043 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
36044 pointer.
36045
36046 * normal/main.c (current_menu): Removed.
36047 (free_menu): Unset the `menu' environment variable.
36048 (grub_normal_menu_addentry): Make use of the environment variable
36049 `menu', instead of using the global `current_menu'. Allocate
36050 memory for the sourcecode of this entry.
36051 (read_config_file): New argument `nested', changed all callers.
36052 Only in the case of a new context, initialize a new menu. Set the
36053 `menu' environment variable.
36054 (grub_normal_execute): Don't set and unset the environment
36055 variable `menu' here anymore. Only free the menu when leaving the
36056 context.
36057
36058 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
36059 leak.
36060
957b3a3e 360612006-12-11 Marco Gerards <marco@gnu.org>
36062
36063 * normal/menu_entry.c (run): Fix off by one bug so the last line
36064 is executed. Move the loader check to outside the loop.
36065
ef875714 360662006-12-08 Hollis Blanchard <hollis@penguinppc.org>
36067
36068 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
36069
4e739985 360702006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
36071
36072 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
36073 the number of sectors. Reported by Andrey Shuvikov
36074 <mr_hyro@yahoo.com>.
f19dbdb7 36075
790707f2 360762006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
36077
36078 * kern/disk.c (grub_disk_read): When there is a read error, always
36079 try to read only the necessary data.
f19dbdb7 36080
790707f2 36081 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
36082 disk/raid.c.
36083 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
36084 prototype.
36085 [GRUB_UTIL] (grub_raid_fini): Likewise.
36086 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 36087 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 36088 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
36089 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
36090 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
36091 and grub_raid_fini().
f19dbdb7 36092
03e58196 360932006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36094
36095 * include/grub/types.h (__unused): Rename to UNUSED.
36096 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
36097 (grub_elf64_size): Likewise.
f19dbdb7 36098
ae4f23bf 360992006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36100
36101 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
36102 grub_error_push and grub_error_pop in the error-handling path.
36103 (grub_elf32_load_segment): Only call grub_file_read with non-zero
36104 length.
36105
2166cc83 361062006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36107
36108 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
36109 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36111 (kernel_elf_SOURCES): Likewise.
36112 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
36113 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
36114 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36115 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36116 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
36117 (elf_mod_SOURCES): New variable.
36118 (elf_mod_CFLAGS): Likewise.
36119 (elf_mod_LDFLAGS): Likewise.
36120 * include/grub/types.h (__unused): New macro.
36121 * include/grub/elfload.h: New file.
36122 * kern/elf.c: Likewise.
36123 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36124 (ELF32_LOADMASK): New macro.
36125 (ELF64_LOADMASK): Likewise.
36126 (vmlinux): Removed.
36127 (grub_linux_load32): New function.
36128 (grub_linux_load64): Likewise.
36129 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36130 Use grub_elf_t instead of grub_file_t.
36131
a09d5aa5 361322006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36133
36134 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36135 `catch_result' to struct set_color_args.
36136
d976fc51 361372006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36138
36139 * normal/menu.c: Include grub/script.h.
36140 * normal/menu_entry.c: Likewise.
36141 * include/grub/normal.h: Do not include grub/script.h.
36142
67507549 361432006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36144
36145 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36146
69203a99 361472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36148
36149 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36150 disk.
36151 (grub_disk_close): Print debug messages when closing a disk.
36152 (grub_disk_read): Print debug messages when disk read fails.
36153 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36154 filesystem type.
36155 * kern/partition.c: Include misc.h.
36156 (grub_partition_iterate): Print debug messages when detecting
36157 partition type.
36158
e2b8278c 361592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36160
36161 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36162 is negative.
36163 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36164
97b2f2ff 361652006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36166
36167 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36168 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36169
6555d655 361702006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36171
36172 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36173 instead of sizeof(lv). Patch by Michael Guntsche.
36174
4d42b77f 361752006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36176
36177 * disk/lvm.c: Rename VGS to VG_LIST.
36178 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36179 (grub_lvm_open): Likewise.
36180 Thanks to Michael Guntsche for finding this bug.
36181
5d74d927 361822006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36183
36184 * configure.ac (AC_INIT): Bumped to 1.95.
36185
a1bb27e4 361862006-10-14 Robert Millan <rmh@aybabtu.com>
36187
36188 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36189 with "/dev/.static/dev/md".
36190
e0994b8b 361912006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36192
36193 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36194 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36195 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36196 DRIVE_NAME are always freed.
36197
36198 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36199 DOS_PART, as a DOS partition is counted from one instead of zero
36200 now. Reported by Robert Millan.
36201
ddd5cee9 362022006-10-14 Robert Millan <rmh@aybabtu.com>
36203
36204 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36205 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36206 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36207 string returned by grub_guess_root_device.
36208 * util/i386/pc/grub-setup.c: Likewise.
36209 * util/i386/pc/grub-probefs.c: Likewise.
36210
36211 * util/i386/pc/grub-probefs.c: Rename to ...
36212 * util/i386/pc/grub-probe.c: ... this.
36213 * DISTLIST: Remove grub-probefs, add grub-probe.
36214 * conf/i386-efi.rmk: Likewise.
36215 * conf/i386-pc.rmk: Likewise.
36216 * util/i386/pc/grub-install.in: Likewise.
36217
36218 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36219 choose which information we want to print.
36220
2b002173 362212006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36222
36223 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36224 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36225 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36226 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36227 video/readers/tga.c and video/i386/pc/vbeutil.c.
36228
362292006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36230
36231 Added support for RAID and LVM.
f19dbdb7 36232
2b002173 36233 * disk/lvm.c: New file.
36234 * disk/raid.c: Likewise.
36235 * include/grub/lvm.h: Likewise.
f19dbdb7 36236 * include/grub/raid.h: Likewise.
2b002173 36237 * include/grub/util/lvm.h: Likewise.
36238 * include/grub/util/raid.h: Likewise.
36239 * util/lvm.c: Likewise.
36240 * util/raid.c: Likewise.
36241
36242 * include/grub/disk.h (grub_disk_dev_id): Add
36243 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36244 (grub_disk_get_size): New prototype.
36245 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36246 returns a partition.
36247 (grub_disk_get_size): New function.
f19dbdb7 36248
2b002173 36249 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36250 verbatim if grub_install_dos_part is -2.
36251
36252 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36253 and LVM devices.
36254
36255 * util/i386/pc/grub-setup.c (setup): New argument
36256 MUST_EMBED. Force embedding of GRUB when the argument is
36257 true. Close FILE before returning.
36258 (main): Add support for RAID and LVM.
f19dbdb7 36259
2b002173 36260 * conf/common.rmk: Add RAID and LVM modules.
36261 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36262 util/lvm.c.
36263 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36264
36265 * kern/misc.c (grub_strstr): New function.
36266 * include/grub/misc.h (grub_strstr): New prototype.
36267
050548d0 362682006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36269
36270 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36271
da849d2d 362722006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36273
36274 * kern/misc.c (grub_strtoull): Guess the base only if not
36275 specified.
36276
97b2f2ff 362772006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 36278
36279 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36280 PowerMac support.
36281
97b2f2ff 362822006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 36283
36284 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36285
36286 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36287 Remove `flags' argument. All callers changed.
36288 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36289 (IEEE1275_IHANDLE_INVALID): New variable.
36290 (IEEE1275_CELL_INVALID): New variable.
36291 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36292 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36293 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36294 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36295 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36296 codes from Open Firmware. All callers updated.
36297 (grub_ieee1275_next_property): Directly return Open Firmware return
36298 code.
36299 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36300 Standardize error checking from `grub_ieee1275_get_property'.
36301 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36302 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36303
97b2f2ff 363042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 36305
36306 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36307 `instance_to_package_args' to `instance_to_path_args'.
36308
36309 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36310 `grub_ieee1275_chosen'.
36311
36312 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36313 `grub_ieee1275_interpret'.
36314
97b2f2ff 363152006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 36316
36317 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36318
97b2f2ff 363192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 36320
36321 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36322 (__cmpdi): Likewise.
36323
36324 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36325 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36326 `grub_ssize_t'.
36327
02bb8acc 36328 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 36329
36330 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36331 to type `grub_ssize_t'.
36332 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36333
7f9a8531 363342006-09-22 Marco Gerards <marco@gnu.org>
36335
36336 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36337 newlines.
36338
b5ef1102 363392006-09-22 Marco Gerards <marco@gnu.org>
36340
36341 * commands/echo.c: New file.
36342
36343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36344
36345 * conf/common.rmk (echo_mod_SOURCES): New variable.
36346 (echo_mod_CFLAGS): Likewise.
36347 (echo_mod_LDFLAGS): Likewise.
36348
2cff3677 363492006-09-22 Marco Gerards <marco@gnu.org>
36350
36351 * normal/main.c (get_line): Malloc memory instead of using
36352 preallocated memory. Removed the arguments `cmdline' and
36353 `max_len'. Updated all callers.
36354
6ba4688b 363552006-09-22 Marco Gerards <marco@gnu.org>
36356
36357 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36358 (normal_mod_DEPENDENCIES): Likewise.
36359
36360 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36361 (normal_mod_DEPENDENCIES): Likewise.
36362
36363 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36364
e02ac02c 363652006-09-22 Johan Rydberg <jrydberg@gnu.org>
36366
36367 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36368 programs.
36369 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36370 (normal_mod_DEPENDENCIES): Likewise.
36371 * conf/i386-pc.mk: Regenerate.
36372 * conf/i386-efi.mk: Likewise
36373 * conf/common.mk: Likewise.
36374 * conf/powerpc-ieee1275.mk: Likewise.
36375 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36376
8d252e44 363772006-09-22 Robert Millan <rmh@aybabtu.com>
36378
36379 Sync with i386 version.
36380 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36381 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36382
209bf7ac 363832006-09-21 Robert Millan <rmh@aybabtu.com>
36384
36385 Import from GRUB Legacy (lib/device.c):
36386 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36387 (init_device_map) [__linux__]: Add support for I2O devices.
36388
6b146090 363892006-09-14 Marco Gerards <marco@gnu.org>
36390
36391 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36392 `-melf_i386'.
36393
e38600a8 363942006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 36395
36396 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36397 /boot/grub/*.lst.
78fa1790 36398
2952da5d 36399 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 36400
2952da5d 36401 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36402 before adding it to device.map.
36403
01b82a64 364042006-08-15 Johan Rydberg <jrydberg@gnu.org>
36405
fe6b695a 36406 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 36407 compiles a file; using the -MD option.
36408 * conf/common.mk: Regenerate.
36409 * conf/i386-pc.mk: Likewise.
36410 * conf/i386-efi.mk: Likewise.
36411 * conf/powerpc-ieee1275.mk: Likewise.
36412 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36413
1064790d 364142006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36415
36416 Move the prototypes of grub_setjmp and grub_longjmp to
36417 cpu/setjmp.h, so that each architecture may specify different
36418 attributes.
f19dbdb7 36419
1064790d 36420 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36421 (grub_longjmp): Likewise.
36422 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36423 (grub_longjmp): Likewise.
36424 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36425 (grub_longjmp): Likewise.
36426
36427 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36428 [!GRUB_UTIL] (grub_longjmp): Removed.
36429
29dda3ed 364302006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36431
36432 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36433 "color!" method does not return any value.
36434
ad2a06ed 364352006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36436
36437 * include/grub/bitmap.h: New file.
36438
36439 * include/grub/i386/pc/vbeutil.h: Likewise.
36440
36441 * video/bitmap.c: Likewise.
36442
36443 * video/readers/tga.c: Likewise.
36444
36445 * video/i386/pc/vbeutil.c: Likewise.
36446
36447 * commands/videotest.c: Code cleanup and updated to reflect to new
36448 video API.
36449
36450 * term/gfxterm.c: Likewise.
36451
36452 * video/video.c: Likewise.
36453
36454 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36455 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36456 (bitmap_mod_SOURCES): New entry.
36457 (bitmap_mod_CFLAGS): Likewise.
36458 (bitmap_mod_LDFLAGS): Likewise.
36459 (tga_mod_SOURCES): Likewise.
36460 (tga_mod_CFLAGS): Likewise.
36461 (tga_mod_LDFLAGS): Likewise.
36462
36463 * include/grub/video.h (grub_video_blit_operators): New enum type.
36464 (grub_video_render_target): Changed as forward declaration and moved
36465 actual definition to be video driver specific.
36466 (grub_video_adapter.blit_bitmap): Added blitting operator.
36467 (grub_video_adapter.blit_render_target): Likewise.
36468 (grub_video_blit_bitmap): Likewise.
36469 (grub_video_blit_render_target): Likewise.
36470
36471 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36472 driver specific render target definition.
36473 (grub_video_vbe_map_rgba): Added driver internal helper.
36474 (grub_video_vbe_unmap_color): Updated to use
36475 grub_video_i386_vbeblit_info.
36476 (grub_video_vbe_get_video_ptr): Likewise.
36477
36478 * include/grub/i386/pc/vbeblit.h
36479 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36480 grub_video_i386_vbeblit_info.
36481 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36482 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36483 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36484 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36485 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36486 (grub_video_i386_vbeblit_index_index): Likewise.
36487 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36488 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36489 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36490 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36491 operator.
36492 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36493 operator.
36494
36495 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36496 include/grub/i386/pc/vbeblit.h.
36497
36498 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36499 Updated to use grub_video_i386_vbeblit_info.
36500 (grub_video_i386_vbefill_R8G8B8): Likewise.
36501 (grub_video_i386_vbefill_index): Likewise.
36502 (grub_video_i386_vbefill): Added generic filler.
36503
36504 * video/i386/pc/vbefill.c: Updated to reflect changes on
36505 include/grub/i386/pc/vbefill.h.
36506
36507 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36508 grub_video_i386_vbeblit_info.
36509 (grub_video_vbe_unmap_color): Likewise.
36510 (grub_video_vbe_blit_glyph): Likewise.
36511 (grub_video_vbe_scroll): Likewise.
36512 (grub_video_vbe_draw_pixel): Removed function.
36513 (grub_video_vbe_get_pixel): Likewise.
36514 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36515 updated code to use it.
36516 (common_blitter): Added common blitter for render target and bitmap.
36517 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36518 (grub_video_vbe_blit_render_target): Likewise.
36519
bc8c036d 365202006-07-30 Johan Rydberg <jrydberg@gnu.org>
36521
36522 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36523 is in text mode if there is no console control protocol instance
36524 available.
36525
684a8eff 365262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36527
36528 * include/grub/video.h: Code cleanup.
36529
36530 * include/grub/i386/pc/vbe.h: Likewise.
36531
36532 * video/i386/pc/vbe.c: Likewise.
36533
36534 * video/i386/pc/vbeblit.c: Likewise.
36535
36536 * video/i386/pc/vbefill.c: Likewise.
36537
36538 * video/video.c: Likewise. Also added more comments.
36539
5915059b 365402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36541
36542 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36543 (struct grub_biosdisk_dap): Likewise.
36544
36545 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36546 linkage settings for all functions.
36547
90ce5d56 365482006-07-12 Marco Gerards <marco@gnu.org>
36549
36550 * configure.ac (--enable-mm-debug): Fix typo.
36551
36552 * genkernsyms.sh.in: Use proper quoting for `CC'.
36553
43e7f879 365542006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36555
36556 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36557 (normal_mod_ASFLAGS): Remove "-m32".
36558
4889bdec 365592006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36560
36561 * util/misc.c: Include config.h.
36562 [!HAVE_MEMALIGN]: Do not include malloc.h.
36563 (grub_memalign): Use posix_memalign, if present. Then, use
36564 memalign, if present. Otherwise, emit an error.
36565
36566 * util/grub-emu.c: Do not include malloc.h.
36567
36568 * include/grub/util/misc.h: Include unistd.h. This is required for
36569 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36570 D. Eades III <hde@foobar-qux.org>.
36571
36572 * configure.ac (AC_GNU_SOURCE): Added.
36573 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36574 type.
36575
fd39d4da 365762006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36577
36578 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36579 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36580
b786f3b5 365812006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36582
36583 * include/grub/types.h (grub_host_addr_t): Rename to
36584 grub_target_addr_t.
36585 (grub_host_off_t): Rename to grub_target_off_t.
36586 (grub_host_size_t): Rename to grub_target_size_t.
36587 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36588 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36589
36590 * include/grub/kernel.h (struct grub_module_header): Change type
36591 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36592 (grub_module_info): Likewise.
f19dbdb7 36593
051988bb 365942006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36595
36596 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36597 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36598 Velazquez <jesus.velazquez@gmail.com>.
36599
deae281b 366002006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36601
36602 Count partitions from 1 instead of 0 in the string representation
36603 of partitions. Still use 0-based internally.
f19dbdb7 36604
deae281b 36605 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36606 (sun_partition_map_iterate): Use grub_partition_t instead of
36607 struct grub_partition *. Cast DESC->START_CYLINDER to
36608 grub_uint64_t after converting the endian.
36609 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36610 (sun_partition_map_get_name): Add 1 to P->INDEX.
36611
36612 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36613 PCDATA->DOS_PART.
36614 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36615
36616 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36617 zero instead of one.
36618 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36619 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36620
36621 * partmap/apple.c (apple_partition_map_iterate): Change the type
36622 of POS to unsigned.
36623 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36624 (apple_partition_map_get_name): Add 1 into P->INDEX.
36625
36626 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36627 of POS to unsigned.
36628 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36629 calculate the offset of a partition.
36630 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36631 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36632
36633 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36634 SECTOR to grub_disk_addr_t.
36635 (acorn_partition_map_iterate): Likewise.
36636 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36637 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36638 top.
36639 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36640
36641 * kern/i386/pc/init.c (make_install_device): Add 1 into
36642 GRUB_INSTALL_DOS_PART.
36643
36644 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36645 conditional.
36646
524a1e6a 366472006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36648
36649 Clean up the code to support 64-bit addressing in disks and
36650 files. This change is not enough for filesystems yet.
f19dbdb7 36651
524a1e6a 36652 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36653 type of "start" to grub_uint64_t.
36654 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36655 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36656 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36657 convert addresses.
36658
36659 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36660 to grub_disk_addr_t.
36661
36662 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36663 string.
36664
36665 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36666
36667 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36668 to char *.
36669
36670 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36671
36672 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36673
36674 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36675
36676 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36677 to grub_off_t, to detect an error from grub_file_seek.
36678 (grub_multiboot_load_elf32): Likewise.
36679
36680 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36681 maximum unsigned long value when an overflow is detected.
36682 (grub_strtoull): New function.
36683 (grub_divmod64): Likewise.
36684 (grub_lltoa): use grub_divmod64.
36685
36686 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36687 grub_disk_addr_t.
36688 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36689 the pointer to next character. Use grub_strtoull instead of
36690 grub_strtoul.
36691 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36692 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36693 respectively.
36694
fe6b695a 36695 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 36696 return value is signed.
36697 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36698 test if OFFSET is less than zero, as OFFSET is unsigned now.
36699
36700 * kern/disk.c (struct grub_disk_cache): Change the type of
36701 "sector" to grub_disk_addr_t.
36702 (grub_disk_cache_get_index): Change the type of SECTOR to
36703 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36704 unsigned after shifting.
36705 (grub_disk_cache_invalidate): Change the type of SECTOR to
36706 grub_disk_addr_t.
36707 (grub_disk_cache_unlock): Likewise.
36708 (grub_disk_cache_store): Likewise.
36709 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36710 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36711 grub_disk_addr_t and grub_uint64_t, respectively.
36712 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36713 body, as the value of OFFSET is tweaked by
36714 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36715 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36716 respectively.
36717 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36718 body, as the value of OFFSET is tweaked by
36719 grub_disk_check_range. Change the types of LEN and N to
36720 grub_size_t.
36721
36722 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36723 and "saved_offset" to grub_off_t.
36724 (test_header): Cast BUF to char *.
36725 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36726 to char *.
36727 (grub_gzio_read): Change the types of OFFSET and SIZE to
36728 grub_off_t and grub_size_t, respectively.
36729
36730 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36731 Removed.
36732 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36733 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36734 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36735 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36736 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36737
36738 * include/grub/types.h (grub_off_t): Unconditionally set to
36739 grub_uint64_t.
36740 (grub_disk_addr_t): Changed to grub_uint64_t.
36741
36742 * include/grub/partition.h (struct grub_partition): Change the
36743 types of "start", "len" and "offset" to grub_disk_addr_t,
36744 grub_uint64_t and grub_disk_addr_t, respectively.
36745 (grub_partition_get_start): Return grub_disk_addr_t.
36746 (grub_partition_get_len): Return grub_uint64_t.
36747
36748 * include/grub/misc.h (grub_strtoull): New prototype.
36749 (grub_divmod64): Likewise.
36750
36751 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36752 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36753 grub_off_t, respectively.
36754 All callers and references changed.
36755
36756 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36757 grub_size_t in "read".
36758 All callers and references changed.
36759
36760 * include/grub/file.h (struct grub_file): Change the types of
36761 "offset" and "size" to grub_off_t and grub_off_t,
36762 respectively. Change the type of SECTOR to grub_disk_addr_t in
36763 "read_hook".
36764 (grub_file_read): Change the type of LEN to grub_size_t.
36765 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36766 grub_off_t.
36767 (grub_file_size): Return grub_off_t.
36768 (grub_file_tell): Likewise.
36769 All callers and references changed.
36770
36771 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36772 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36773 "write".
36774 (struct grub_disk): Change the type of "total_sectors" to
36775 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 36776 "read_hook".
524a1e6a 36777 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36778 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36779 (grub_disk_write): Likewise.
36780 All callers and references changed.
36781
36782 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36783 char * for grub_strncmp to silence gcc.
36784 (grub_iso9660_mount): Likewise.
36785 (grub_iso9660_mount): Likewise.
36786 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36787 return statement.
36788 (grub_iso9660_iterate_dir): Likewise.
36789 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36790
36791 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36792 LEN to grub_disk_addr_t and grub_size_t, respectively.
36793
36794 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36795
36796 * fs/jfs.c (grub_jfs_read_file): Likewise.
36797
36798 * fs/minix.c (grub_jfs_read_file): Likewise.
36799
36800 * fs/sfs.c (grub_jfs_read_file): Likewise.
36801
36802 * fs/ufs.c (grub_jfs_read_file): Likewise.
36803
36804 * fs/xfs.c (grub_jfs_read_file): Likewise.
36805
36806 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36807 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36808 respectively.
36809
36810 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36811 BLKNR to -1 instead of returning GRUB_ERRNO.
36812 (grub_ext2_read_file): Change the types of SECTOR and
36813 LEN to grub_disk_addr_t and grub_size_t, respectively.
36814
36815 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36816 LEN to grub_disk_addr_t and grub_size_t, respectively.
36817
36818 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36819 grub_file_read.
36820
36821 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36822 string. Do not cast SECTOR explicitly.
36823
36824 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36825 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36826 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36827 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36828 over 2TB and LBA mode is not supported, raise an error.
36829 (get_safe_sectors): New function.
36830 (grub_biosdisk_read): Use get_safe_sectors.
36831 (grub_biosdisk_write): Likewise.
36832
36833 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36834 (grub_efidisk_write): Likewise.
36835
36836 * disk/loopback.c (delete_loopback): Cosmetic changes.
36837 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36838 correctly.
36839 (grub_loopback_open): Likewise.
36840 (grub_loopback_read): Likewise. Also, change the type of POS to
36841 grub_off_t, and fix the usage of grub_memset.
36842
36843 * commands/i386/pc/play.c: Include grub/machine/time.h.
36844
36845 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36846 print FILE->SIZE.
36847
36848 * commands/configfile.c: Include grub/env.h.
36849
36850 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36851 GRUB_ERRNO directly instead. Change the type of POS to
36852 grub_off_t. Follow the coding standard.
36853
36854 * commands/blocklist.c: Include grub/partition.h.
36855 (grub_cmd_blocklist): Return an error if the underlying device is
36856 not a disk. Take the starting sector of a partition into account,
36857 if a partition is used.
36858
36859 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36860 a length field.
36861 (lba_mode): Support 64-bit addresses.
36862 (chs_mode): Likewise.
36863 (copy_buffer): Adapted to the new offsets of a length field and a
36864 segment field.
36865 (blocklist_default_start): Allocate 64-bit space.
36866
36867 * boot/i386/pc/boot.S (force_lba): Removed.
36868 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 36869 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 36870 space.
36871 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36872 is useless.
36873 (lba_mode): Refactored to support a 64-bit address. More size
36874 optimization.
36875 (setup_sectors): Likewise.
36876
53af98ad 368772006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36878
36879 * DISTLIST: Added include/grub/i386/linux.h. Removed
36880 include/grub/i386/pc/linux.h
36881
36882 * configure.ac (AC_INIT): Bumped to 1.94.
36883
36884 * config.guess: Updated from gnulib.
36885 * config.sub: Likewise.
36886 * install-sh: Likewise.
36887 * mkinstalldirs: Likewise.
36888
b4c1940a 368892006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36890
36891 * conf/common.rmk (grub_modules_init.lst): Depended on
36892 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36893 MODSRCFILES.
36894
36895 * genmk.rb (PModule::rule): Reverted the previous change.
36896
cfca1cfd 368972006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36898
36899 * conf/common.rmk (grub_modules_init.lst): Depends on
36900 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36901 that the target does not exist before producing.
36902 (grub_modules_init.h): Remove the target before generating.
36903 (grub_emu_init.c): Likewise.
36904
36905 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36906
aa6d7826 369072006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36908
36909 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36910 for the target-specific tests. Make sure that we also have the
36911 up-to-date target variables for those tests.
36912
26c607b9 369132006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36914
36915 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36916 (PModule::rule): Likewise.
36917
0162321a 369182006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36919
36920 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36921 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36922 target-specific flags should be prefixed.
36923 (PModule::rule): Likewise.
36924
6c826348 369252006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36926
36927 * configure.ac (CMP): Check if cmp is available explicitly.
36928
b977bf01 369292006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36930
36931 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36932 (target_cpu): New variable.
36933 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 36934
b977bf01 36935 * util/i386/pc/grub-install.in (host_cpu): Removed.
36936 (target_cpu): New variable.
36937 (pkglibdir): Use target_cpu instead of host_cpu.
36938
36939 * util/genmoddep.c: Removed.
f19dbdb7 36940
b977bf01 36941 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36942 instead of GRUB_HOST_SIZEOF_VOID_P.
36943 * kern/dl.c: Likewise.
36944
36945 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36946 ...
36947 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36948 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36949 (GRUB_TARGET_SIZEOF_LONG): ... this.
36950 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36951 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36952 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36953 to ...
36954 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36955 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36956 (GRUB_TARGET_SIZEOF_LONG): ... this.
36957 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36958 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36959 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36960 to ...
36961 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36962 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36963 (GRUB_TARGET_SIZEOF_LONG): ... this.
36964 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36965 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36966
36967 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36968 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36969 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36970 instead of GRUB_HOST_SIZEOF_LONG.
36971 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36972 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36973 GRUB_CPU_WORDS_BIGENDIAN.
36974 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36975 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36976 grub_host_ssize_t.
36977
36978 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36979 (genmoddep_SOURCES): Likewise.
36980 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36981 (genmoddep_SOURCES): Likewise.
36982 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36983 (genmoddep_SOURCES): Likewise.
36984 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36985 Likewise.
36986 (genmoddep_SOURCES): Likewise.
36987
36988 * genmoddep.awk: New file.
36989
36990 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36991 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36992 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36993 (PModule::rule): Likewise.
36994 (Program::rule): Likewise.
36995 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36996 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36997 respectively.
36998
36999 * configure.ac: Rewritten intensively to use host and target
37000 instead of build and host, respectively.
37001
37002 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
37003 (host_cpu): Removed.
37004 (target_cpu): New variable.
37005 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
37006 (BUILD_CC): Removed.
37007 (BUILD_CFLAGS): Likewise.
37008 (BUILD_CPPFLAGS): Likewise.
37009 (TARGET_CC): New variable.
37010 (TARGET_CFLAGS): Likewise.
37011 (TARGET_CPPFLAGS): Likewise.
37012 (TARGET_LDFLAGS): Likewise.
37013 (AWK): Likewise.
37014 (include): Use target_cpu instead of host_cpu.
37015 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 37016
b977bf01 37017 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
37018
f09771a1 370192006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
37020
37021 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
37022 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
37023 field 'false' to 'exec_on_false'.
37024 (grub_script_create_cmdif): Renamed argument names to reflect above
37025 changes.
37026
37027 * normal/execute.c (grub_script_execute_cmdif): Likewise.
37028
37029 * normal/script.c (grub_script_create_cmdif): Likewise.
37030
118f4fb3 370312006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
37032
37033 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
37034 top.
37035 (grub_hfsplus_btree_recptr): Likewise.
37036 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
37037 FILEBLOCK both to pass a block number and store next block
37038 number.
37039 (grub_hfsplus_read_block): Rewritten heavily to support an extent
37040 overflow file correctly. Specify errors appropriately, because
37041 fshelp expects that GRUB_ERRNO is set when fails. Reuse
37042 grub_hfsplus_btree_recptr to get the pointer to a found key.
37043 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
37044 is found.
37045
37046 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
37047 linux.mod.
37048 (_linux_mod_SOURCES): New variable.
37049 (_linux_mod_CFLAGS): Likewise.
37050 (_linux_mod_LDFLAGS): Likewise.
37051 (linux_mod_SOURCES): Likewise.
37052 (linux_mod_CFLAGS): Likewise.
37053 (linux_mod_LDFLAGS): Likewise.
37054
37055 * DISTLIST: Added loader/i386/efi/linux.c,
37056 loader/i386/efi/linux_normal.c and
37057 include/grub/i386/efi/loader.h.
37058
37059 * loader/i386/efi/linux.c: New file.
37060 * loader/i386/efi/linux_normal.c: Likewise.
37061 * include/grub/i386/efi/loader.h: Likewise.
37062
89a7d726 370632006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
37064
37065 * commands/blocklist.c: New file.
37066
37067 * DISTLIST: Added commands/blocklist.c.
37068
37069 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 37070 color for the background, and a darker color for the foreground.
89a7d726 37071 (grub_console_checkkey): Return READ_KEY.
37072 (grub_console_cls): Set the background to
37073 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
37074
37075 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
37076
37077 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
37078 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
37079
37080 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
37081 prototype.
37082
37083 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
37084 BG. The spec is wrong again.
37085
37086 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
37087 prototype.
37088 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
37089
37090 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37091 commands/blocklist.c.
37092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 37093
89a7d726 37094 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
37095 (blocklist_mod_SOURCES): New variable.
37096 (blocklist_mod_CFLAGS): Likewise.
37097 (blocklist_mod_LDFLAGS): Likewise.
37098
75c8f258 370992006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
37100
37101 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
37102 duplication.
37103 (lba_mode): Use %eax more intensively to reduce the code size.
37104
da2eb181 371052006-05-20 Marco Gerards <marco@gnu.org>
37106
37107 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
37108
37109 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
37110 for `menuentry'.
37111 (script): Accept leading newlines.
37112 (newlines): New rule to describe 0 or more newlines.
37113 (commands): Accept `command' with trailing newline. Fixed the
37114 order in which arguments were passed to `grub_script_add_cmd'.
37115 Accept commands separated by newlines.
37116 (function): Changed to accept newlines.
37117 (menuentry) Rewritten.
37118
37119 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37120 front of the list, instead of to the end.
37121
577b4050 371222006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37123
37124 * util/i386/pc/grub-install.in (bindir): New variable.
37125 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37126 Shaver <lbgwjl@gmail.com>.
37127
0d6e1189 371282006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37129
37130 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37131 grub/machine/linux.h
37132 * loader/i386/pc/linux.c: Likewise.
37133
37134 * include/grub/i386/pc/linux.h: Moved to ...
37135 * include/grub/i386/linux.h: ... here.
37136
37137 * include/grub/i386/linux.h (struct linux_kernel_params): New
37138 struct.
f19dbdb7 37139
31b86e9f 371402006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37141
37142 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37143 checking.
37144 (grub_video_vbe_blit_glyph): Likewise.
37145 (grub_video_vbe_blit_bitmap): Likewise.
37146 (grub_video_vbe_blit_render_target): Likewise.
37147
83b984de 371482006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37149
37150 * configure.ac (--with-platform): Properly quote the square
37151 brackets.
37152
5f0413bd 371532006-05-08 Marco Gerards <marco@gnu.org>
37154
37155 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
37156 this...
37157 (kernel_elf_HEADERS): ...to this. Updated all users.
37158 (grubof_symlist.c): Renamed from this...
37159 (kernel_elf_symlist.c): ...to this. Updated all users.
37160 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37161 (grubof_SOURCES): Renamed from this...
37162 (kernel_elf_SOURCES): ...to this.
37163 (grubof_HEADERS): Renamed from this...
37164 (kernel_elf_HEADERS): ...to this.
37165 (grubof_CFLAGS): Renamed from this...
37166 (kernel_elf_CFLAGS): ...to this.
37167 (grubof_ASFLAGS): Renamed from this...
37168 (kernel_elf_ASFLAGS): ...to this.
37169 (grubof_LDFLAGS): Renamed from this...
37170 (kernel_elf_LDFLAGS): ...to this.
37171
37172 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37173 this...
37174 (kernel_elf_HEADERS): ...to this. Updated all users.
37175 (grubof_symlist.c): Renamed from this...
37176 (kernel_elf_symlist.c): ...to this. Updated all users.
37177 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37178 (grubof_SOURCES): Renamed from this...
37179 (kernel_elf_SOURCES): ...to this.
37180 (grubof_HEADERS): Renamed from this...
37181 (kernel_elf_HEADERS): ...to this.
37182 (grubof_CFLAGS): Renamed from this...
37183 (kernel_elf_CFLAGS): ...to this.
37184 (grubof_ASFLAGS): Renamed from this...
37185 (kernel_elf_ASFLAGS): ...to this.
37186 (grubof_LDFLAGS): Renamed from this...
37187 (kernel_elf_LDFLAGS): ...to this.
37188
37189 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37190 `kernel.elf' instead of `grubof'.
37191
05568c2e 371922006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37193
37194 Add --with-platform to configure. Use pkglibdir instead of
37195 pkgdatadir. This is reported by Roger Leigh.
37196
37197 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37198 (host_vendor): Likewise.
37199 (host_os): Likewise.
37200 (pkgdatadir): Likewise.
37201 (platform): New variable.
37202 (pkglibdir): Likewise.
37203 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 37204
05568c2e 37205 * util/i386/pc/grub-install.in (datadir): Removed.
37206 (host_vendor): Likewise.
37207 (host_os): Likewise.
37208 (pkgdatadir): Likewise.
37209 (platform): New variable.
37210 (pkglibdir): Likewise.
37211 Use PKGLIBDIR instead of PKGDATADIR.
37212
37213 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37214 instead of GRUB_DATADIR.
37215 (main): Likewise.
37216 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37217 (main): Likewise.
37218 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37219 (main): Likewise.
37220
37221 * configure.ac (--with-platform): New option.
37222 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37223
37224 * Makefile.in: Include a makefile based on PLATFORM instead of
37225 HOST_VENDOR.
37226 (pkgdatadir): Not appended by the machine type.
37227 (pkglibdir): Appended by the machine type.
37228 (host_vendor): Removed.
37229 (platform): New variable.
37230 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37231 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37232 (uninstall): Likewise.
37233
4e93851c 372342006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37235
37236 Use the environment context in the menu. Remove the commands
37237 "default" and "timeout", and use variables instead.
f19dbdb7 37238
4e93851c 37239 * normal/menu.c: Include grub/env.h.
37240 (print_entry): Cast TITLE to silence gcc.
37241 (get_timeout): New function.
37242 (set_timeout): Likewise.
37243 (get_entry_number): Likewise.
37244 (run_menu): Use a default entry, a fallback entry and a timeout
37245 in the environment variables "default", "fallback" and
37246 "timeout". Also, tweak the default entry if it is not within the
37247 current menu entries.
37248 (grub_menu_run): Use a fallback entry in the environment variable
37249 "fallback".
37250
37251 * normal/main.c (read_config_file): Do not initialize
37252 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37253 NEWMENU->TIMEOUT.
37254 (grub_normal_execute): Use a data slot to store the menu.
37255
37256 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37257 fallback_entry and timeout.
37258 (struct grub_menu_list): Removed.
37259 (grub_menu_list_t): Likewise.
37260 (struct grub_context): Likewise.
37261 (grub_context_t): Likewise.
37262 (grub_context_get): Likewise.
37263 (grub_context_get_current_menu): Likewise.
37264 (grub_context_push_menu): Likewise.
37265 (grub_context_pop_menu): Likewise.
37266 (grub_default_init): Likewise.
37267 (grub_default_fini): Likewise.
37268 (grub_timeout_init): Likewise.
37269 (grub_timeout_fini): Likewise.
37270
37271 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37272 and timeout.mod.
37273 (normal_mod_SOURCES): Removed normal/context.c.
37274
37275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37276 commands/default.c, commands/timeout.c and normal/context.c.
37277 (normal_mod_SOURCES): Removed normal/context.c.
37278
37279 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37280 commands/timeout.c and normal/context.c.
37281 (normal_mod_SOURCES): Removed normal/context.c.
37282
37283 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37284 commands/default.c, commands/timeout.c and normal/context.c.
37285 (normal_mod_SOURCES): Removed normal/context.c.
37286
37287 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37288 timeout.mod.
37289 (default_mod_SOURCES): Removed.
37290 (default_mod_CFLAGS): Likewise.
37291 (default_mod_LDFLAGS): Likewise.
37292 (timeout_mod_SOURCES): Removed.
37293 (timeout_mod_CFLAGS): Likewise.
37294 (timeout_mod_LDFLAGS): Likewise.
37295
37296 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37297 normal/context.c.
37298
37299 * commands/default.c: Removed.
37300 * commands/timeout.c: Likewise.
37301 * normal/context.c: Likewise.
37302
1eb9cc1d 373032006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37304
37305 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37306
385bd9c1 373072006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37308
37309 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37310 "next" to "prev" for readability.
37311 (struct grub_env_sorted_var): New struct.
37312 (grub_env_context): Renamed to ...
37313 (initial_context): ... this.
37314 (grub_env_var_context): Renamed to ...
37315 (current_context): ... this.
37316 (grub_env_find): Look only at CURRENT_CONTEXT.
37317 (grub_env_context_open): Rewritten to copy exported variables from
37318 previous context.
37319 (grub_env_context_close): Rewritten according to the new
37320 scheme. Also, add an assertion to prevent the initial context from
37321 removed.
37322 (grub_env_insert): Removed the code for the sorted list.
37323 (grub_env_remove): Likewise.
37324 (grub_env_export): Simply mark the variable with
37325 GRUB_ENV_VAR_GLOBAL.
37326 (grub_env_set): A cosmetic change for naming consistency.
37327 (grub_env_get): Likewise.
37328 (grub_env_unset): Likewise.
37329 (grub_env_iterate): Rewritten to sort variables within this
37330 function.
37331 (grub_register_variable_hook): Fixed for naming consistency. Call
37332 grub_env_find again, only if NAME is not found at the first time.
37333 (mangle_data_slot_name): New function.
37334 (grub_env_set_data_slot): Likewise.
37335 (grub_env_get_data_slot): Likewise.
37336 (grub_env_unset_data_slot): Likewise.
37337
37338 * include/grub/env.h (grub_env_var_type): New enum.
37339 (GRUB_ENV_VAR_LOCAL): New constant.
37340 (GRUB_ENV_VAR_GLOBAL): Likewise.
37341 (GRUB_ENV_VAR_DATA): Likewise.
37342 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37343 "type".
37344 (grub_env_set): Replace VAR with NAME for consistency.
37345 (grub_register_variable_hook): Likewise.
37346 (grub_env_export): Specify the name of the argument.
37347 (grub_env_set_data_slot): New prototype.
37348 (grub_env_get_data_slot): Likewise.
37349 (grub_env_unset_data_slot): Likewise.
37350
7f362539 373512006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37352
37353 Extend the loader so that GRUB can accept a loader which comes
37354 back to GRUB when a loaded image exits. Also, this change adds
37355 support for a chainloader on EFI.
f19dbdb7 37356
7f362539 37357 * term/efi/console.c: Include grub/misc.h.
37358 (grub_console_checkkey): Display a scan code on the top for
37359 debugging. This will be removed once the EFI port gets stable.
37360 Correct the scan code mapping.
37361
37362 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37363 allocate memory from larger regions, in order to reduce the number
37364 of allocated regions. Otherwise, the MacOSX loader panics.
37365 (filter_memory_map): Avoid less than 1MB for compatibility with
37366 other loaders.
37367 (add_memory_regions): Allocate from the tail of a region, if
37368 possible, to avoid allocating a region near to 1MB, for the MacOSX
37369 loader.
37370
37371 * kern/efi/init.c (grub_efi_set_prefix): Specify
37372 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37373
37374 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37375 argument IMAGE_HANDLE and specify it to get a loaded image.
37376 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37377 grub_efi_get_loaded_image.
fe6b695a 37378 (grub_efi_get_filename): Divide the length by the size of
7f362539 37379 grub_efi_char16_t.
37380 (grub_efi_get_device_path): New function.
37381 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37382 the length by the size of grub_efi_char16_t for a file path device
37383 path node.
37384
37385 * kern/loader.c (grub_loader_noreturn): New variable.
37386 (grub_loader_set): Accept a new argument NORETURN. Set
37387 GRUB_LOADER_NORETURN to NORETURN.
37388 All callers changed.
37389 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37390 grub_machine_fini.
37391
37392 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37393 prototype.
37394 (grub_efi_get_loaded_image): Take an argument to specify an image
37395 handle.
37396
37397 * include/grub/loader.h (grub_loader_set): Added one more argument
37398 NORETURN.
37399
37400 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37401 instead of grub_efi_open_protocol.
37402 (grub_efidisk_get_device_name): Likewise.
37403 (grub_efidisk_close): Print a newline.
37404 (grub_efidisk_get_device_handle): Fixed to use
37405 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37406 GRUB_EFI_DEVICE_PATH_TYPE.
37407
37408 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37409 * kern/efi/efi.c (device_path_guid): ... here.
37410
37411 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37412 chain.mod.
37413 (kernel_mod_HEADERS): Added efi/disk.h.
37414 (_chain_mod_SOURCES): New variable.
37415 (_chain_mod_CFLAGS): Likewise.
37416 (_chain_mod_LDFLAGS): Likewise.
37417 (chain_mod_SOURCES): Likewise.
37418 (chain_mod_CFLAGS): Likewise.
37419 (chain_mod_LDFLAGS): Likewise.
37420
37421 * DISTLIST: Added include/grub/efi/chainloader.h,
37422 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37423
37424 * include/grub/efi/chainloader.h: New file.
37425 * loader/efi/chainloader.c: Likewise.
37426 * loader/efi/chainloader_normal.c: Likewise.
37427
c0111d6e 374282006-04-30 Marco Gerards <marco@gnu.org>
37429
37430 * commands/configfile.c (grub_cmd_source): New function.
37431 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37432 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37433
df5341da 374342006-04-30 Marco Gerards <marco@gnu.org>
37435
37436 * normal/execute.c (grub_script_execute_cmd): Change the return
37437 type to `grub_err_t'. Correctly return the error.
37438 (grub_script_execute_cmdline): In case a command line is not a
37439 command or a function, try to interpret it as an assignment.
37440
f85934bd 374412006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37442
37443 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37444 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37445 skip a node whose name is obviously invalid as UTF-16,
37446 i.e. contains a NUL character. Stop the iteration when the last
37447 directory entry is found. Instead of using the return value of
37448 grub_hfsplus_btree_iterate_node, store the value in RET and use
37449 it, because the iterator can be stopped by the last directory
37450 entry.
37451
8f8a2cf8 374522006-04-30 Marco Gerards <marco@gnu.org>
37453
37454 * include/grub/env.h (grub_env_export): New prototype. Reported
37455 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37456
a27e84ce 374572006-04-30 Marco Gerards <marco@gnu.org>
37458
37459 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37460 size of the extents in a catalog file record.
37461
eaef0553 374622006-04-29 Marco Gerards <marco@gnu.org>
37463
37464 * commands/configfile.c (grub_cmd_configfile): Execute the
37465 configfile within its own context.
37466
37467 * include/grub/env.h (grub_env_context_open): New prototype.
37468 (grub_env_context_close): Likewise.
37469
37470 * kern/env.c (grub_env): Removed.
37471 (grub_env_sorted): Likewise.
37472 (grub_env_context): New variable.
37473 (grub_env_var_context): Likewise.
37474 (grub_env_find): Search both the active context and the global
37475 context.
37476 (grub_env_context_open): New function.
37477 (grub_env_context_close): Likewise.
37478 (grub_env_insert): Likewise.
37479 (grub_env_remove): Likewise.
37480 (grub_env_export): Likewise.
37481 (grub_env_set): Changed to use helper functions to avoid code
37482 duplication.
37483 (grub_env_iterate): Rewritten so both the current context and the
37484 global context are being used.
37485
37486 * normal/command.c (export_command): New function.
37487 (grub_command_init): Register the `export' function.
37488
7b455f4d 374892006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37490
37491 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37492 explicitly to suppress gcc's warnings.
37493 * fs/fat.c (grub_fat_find_dir): Likewise.
37494 (grub_fat_label): Likewise.
37495 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37496 (grub_xfs_mount): Likewise.
37497 (grub_xfs_label): Likewise.
37498 * fs/affs.c (grub_affs_mount): Likewise.
37499 (grub_affs_label): Likewise.
37500 (grub_affs_iterate_dir): Likewise.
37501 * fs/sfs.c (grub_sfs_mount): Likewise.
37502 (grub_sfs_iterate_dir): Likewise.
37503 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37504 * fs/hfs.c (grub_hfs_mount): Likewise.
37505 (grub_hfs_cmp_catkeys): Likewise.
37506 (grub_hfs_find_dir): Likewise.
37507 (grub_hfs_dir): Likewise.
37508 (grub_hfs_label): Likewise.
37509 * fs/jfs.c (grub_jfs_mount): Likewise.
37510 (grub_jfs_opendir): Likewise.
37511 (grub_jfs_getent): Likewise.
37512 (grub_jfs_lookup_symlink): Likewise.
37513 (grub_jfs_label): Likewise.
37514 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37515 (grub_hfsplus_iterate_dir): Likewise.
37516 (grub_hfsplus_btree_iterate_node): Made static.
37517
37518 * util/grub-emu.c (prefix): New variable.
37519 (grub_machine_set_prefix): New function.
37520 (main): Do not set the environment variable "prefix" here. Only
37521 set PREFIX, which is used later by grub_machine_set_prefix.
37522
37523 * include/grub/video.h: Do not include grub/symbol.h.
37524 (grub_video_register): Not exported. This symbol is not defined in
37525 the kernel.
37526 (grub_video_unregister): Likewise.
37527 (grub_video_iterate): Likewise.
37528 (grub_video_setup): Likewise.
37529 (grub_video_restore): Likewise.
37530 (grub_video_get_info): Likewise.
37531 (grub_video_get_blit_format): Likewise.
37532 (grub_video_set_palette): Likewise.
37533 (grub_video_get_palette): Likewise.
37534 (grub_video_set_viewport): Likewise.
37535 (grub_video_get_viewport): Likewise.
37536 (grub_video_map_color): Likewise.
37537 (grub_video_map_rgb): Likewise.
37538 (grub_video_map_rgba): Likewise.
37539 (grub_video_fill_rect): Likewise.
37540 (grub_video_blit_glyph): Likewise.
37541 (grub_video_blit_bitmap): Likewise.
37542 (grub_video_blit_render_target): Likewise.
37543 (grub_video_scroll): Likewise.
37544 (grub_video_swap_buffers): Likewise.
37545 (grub_video_create_render_target): Likewise.
37546 (grub_video_delete_render_target): Likewise.
37547 (grub_video_set_active_render_target): Likewise.
37548
37549 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37550 Undefined.
37551 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37552
37553 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37554 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37555 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37556 instead of $(srcdir)/genkernsyms.sh.
37557
37558 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37559 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37560 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37561 instead of $(srcdir)/genkernsyms.sh.
37562
37563 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37564 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37565 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37566 instead of $(srcdir)/genkernsyms.sh.
37567
37568 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37569 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37570 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37571 instead of $(srcdir)/genkernsyms.sh.
37572
37573 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37574 genkernsyms.sh.
37575
37576 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37577 genkernsyms.sh.
37578 (gensymlist.sh): New target.
37579 (genkernsyms.sh): Likewise.
37580
37581 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37582 genkernsyms.sh.in and gensymlist.sh.in.
37583
37584 * genkernsyms.sh: Removed.
37585 * gensymlist.sh: Likewise.
f19dbdb7 37586
7b455f4d 37587 * genkernsyms.sh.in: New file.
37588 * gensymlist.sh.in: Likewise.
37589
1885bb27 375902006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37591
37592 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37593 clobber "prefix", since we may have already set it manually.
37594
71538dff 375952006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37596
37597 * kern/misc.c (abort): New alias for grub_abort.
37598
2965c7cc 375992006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37600
37601 A new machine-specific function "grub_machine_set_prefix" is
37602 defined. This is called after loading modules, so that a prefix
37603 initialization can use modules. Also, this change adds an
37604 intensive debugging feature for the memory manager via the
37605 configure option "--enable-mm-debug".
f19dbdb7 37606
2965c7cc 37607 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37608 PART.LEN.
37609
37610 * kern/sparc64/ieee1275/init.c (abort): Removed.
37611 (grub_stop): Likewise.
37612 (grub_exit): New function.
37613 (grub_set_prefix): Renamed to ...
37614 (grub_machine_set_prefix): ... this.
37615 (grub_machine_init): Do not call grub_set_prefix.
37616
37617 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37618 (grub_machine_set_prefix): ... this.
37619 (grub_machine_init): Do not call grub_set_prefix.
37620
37621 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37622 (grub_machine_init): Do not set the prefix here.
37623
37624 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37625
37626 * kern/efi/init.c: Include grub/mm.h.
37627 (grub_efi_set_prefix): New function.
37628
37629 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37630 (grub_efi_get_filename): New function.
37631 (grub_print_device_path): Renamed to ...
37632 (grub_efi_print_device_path): ... this.
37633
37634 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37635 [MM_DEBUG] (grub_realloc): Likewise.
37636 [MM_DEBUG] (grub_free): Likewise.
37637 [MM_DEBUG] (grub_memalign): Likewise.
37638 [MM_DEBUG] (grub_mm_debug): New variable.
37639 [MM_DEBUG] (grub_debug_malloc): New function.
37640 [MM_DEBUG] (grub_debug_free): New function.
37641 [MM_DEBUG] (grub_debug_realloc): New function.
37642 [MM_DEBUG] (grub_debug_memalign): New function.
37643
37644 * kern/misc.c (grub_abort): Print a newline to distinguish
37645 the message.
37646
37647 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37648 grub_set_root_dev after loading modules. This is necessary when
37649 setting a prefix depends on modules.
37650
37651 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37652 (grub_efi_print_device_path): ... this.
37653 (grub_efi_get_filename): New prototype.
37654 (grub_efi_set_prefix): Likewise.
37655
37656 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37657 and grub/disk.h.
37658 (grub_efidisk_get_device_handle): New prototype.
37659 (grub_efidisk_get_device_name): Likewise.
37660
37661 * include/grub/mm.h: Include config.h.
37662 (MM_DEBUG): Removed.
37663 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37664 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37665 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37666 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37667 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37668 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37669 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37670 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37671 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37672
37673 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37674
37675 * disk/efi/efidisk.c: Include grub/partition.h.
37676 (iterate_child_devices): New function.
37677 (add_device): First, compare only last device path nodes, so that
37678 devices are sorted by the types.
37679 (grub_efidisk_get_device_handle): New function.
37680 (grub_efidisk_get_device_name): Likewise.
37681
37682 * configure.ac (--enable-mm-debug): New option to enable the
37683 memory manager debugging feature. This makes the binary much
37684 bigger, so is disabled by default.
37685
9cacaa17 376862006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37687
37688 Use grub_abort instead of grub_stop, and grub_exit must be
37689 define in each architecture now. Also, this change adds support
37690 for EFI disks.
f19dbdb7 37691
9cacaa17 37692 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37693 (grub_getkey): New function.
37694 (grub_term_get_current): Likewise.
37695
37696 * util/i386/pc/grub-setup.c: Include grub/term.h.
37697 (grub_getkey): New function.
37698 (grub_term_get_current): Likewise.
37699
37700 * util/misc.c (grub_stop): Renamed to ...
37701 (grub_exit): ... this.
37702
37703 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37704 (grub_exit): ... this.
37705 (grub_machine_init): Use grub_abort instead of abort.
37706 (grub_stop): Removed.
37707
37708 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37709 abort.
37710
37711 * kern/i386/pc/startup.S (grub_exit): New function.
37712 (cold_reboot): New label.
37713
37714 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37715 (grub_efi_init): Call grub_efidisk_init.
37716 (grub_efi_fini): Call grub_efidisk_fini.
37717
37718 * kern/efi/efi.c: Include grub/mm.h.
37719 (grub_efi_console_control_guid): Renamed to ...
37720 (console_control_guid): ... this.
37721 (grub_efi_loaded_image_guid): Renamed to ...
37722 (loaded_image_guid): ... this.
37723 (grub_efi_locate_handle): New function.
37724 (grub_efi_open_protocol): Likewise.
37725 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37726 GRUB_EFI_CONSOLE_CONTROL_GUID.
37727 (grub_efi_exit): Removed.
37728 (grub_stop): Likewise.
37729 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37730 (grub_exit): New function.
37731 (grub_print_device_path): Likewise.
37732
37733 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37734 (grub_enter_rescue_mode): Register "exit".
37735
37736 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37737 (grub_abort): New function.
37738
37739 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37740
37741 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37742
37743 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37744
37745 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37746 (grub_print_device_path): New prototype.
37747 (grub_efi_locate_handle): Likewise.
37748 (grub_efi_open_protocol): Likewise.
37749
37750 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37751 * disk/efi/efidisk.c: Likewise.
37752
37753 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37754
37755 * include/grub/efi/console_control.h
37756 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37757
37758 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37759 last 8 bytes as an array.
37760 (GRUB_EFI_DISK_IO_GUID): New macro.
37761 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37762 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37763 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37764 grub_uint8_t.
37765 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37766 (struct grub_efi_device_path): Rename the member "sub_type" to
37767 "subtype".
37768 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37769 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37770 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37771 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37772 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37773 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37774 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37775 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37776 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37777 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37778 (struct grub_efi_pci_device_path): New structure.
37779 (grub_efi_pci_device_path_t): New type.
37780 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37781 (struct grub_efi_pccard_device_path): New structure.
37782 (grub_efi_pccard_device_path_t): New type.
37783 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37784 (struct grub_efi_memory_mapped_device_path): New structure.
37785 (grub_efi_memory_mapped_device_path_t): New type.
37786 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37787 (struct grub_efi_vendor_device_path): New structure.
37788 (grub_efi_vendor_device_path_t): New type.
37789 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37790 (struct grub_efi_controller_device_path): New structure.
37791 (grub_efi_controller_device_path_t): New type.
37792 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37793 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37794 (struct grub_efi_acpi_device_path): New structure.
37795 (grub_efi_acpi_device_path_t): New type.
37796 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37797 (struct grub_efi_expanded_acpi_device_path): New structure.
37798 (grub_efi_expanded_acpi_device_path_t): New type.
37799 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37800 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37801 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37802 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37803 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37804 (struct grub_efi_atapi_device_path): New structure.
37805 (grub_efi_atapi_device_path_t): New type.
37806 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37807 (struct grub_efi_fibre_channel_device_path): New structure.
37808 (grub_efi_fibre_channel_device_path_t): New type.
37809 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37810 (struct grub_efi_1394_device_path): New structure.
37811 (grub_efi_1394_device_path_t): New type.
37812 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37813 (struct grub_efi_usb_device_path): New structure.
37814 (grub_efi_usb_device_path_t): New type.
37815 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37816 (struct grub_efi_usb_class_device_path): New structure.
37817 (grub_efi_usb_class_device_path_t): New type.
37818 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37819 (struct grub_efi_i2o_device_path): New structure.
37820 (grub_efi_i2o_device_path_t): New type.
37821 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37822 (struct grub_efi_mac_address_device_path): New structure.
37823 (grub_efi_mac_address_device_path_t): New type.
37824 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37825 (struct grub_efi_ipv4_device_path): New structure.
37826 (grub_efi_ipv4_device_path_t): New type.
37827 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37828 (struct grub_efi_ipv6_device_path): New structure.
37829 (grub_efi_ipv6_device_path_t): New type.
37830 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37831 (struct grub_efi_infiniband_device_path): New structure.
37832 (grub_efi_infiniband_device_path_t): New type.
37833 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37834 (struct grub_efi_uart_device_path): New structure.
37835 (grub_efi_uart_device_path_t): New type.
37836 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37837 (struct grub_efi_vendor_messaging_device_path): New structure.
37838 (grub_efi_vendor_messaging_device_path_t): New type.
37839 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37840 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37841 (struct grub_efi_hard_drive_device_path): New structure.
37842 (grub_efi_hard_drive_device_path_t): New type.
37843 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37844 (struct grub_efi_cdrom_device_path): New structure.
37845 (grub_efi_cdrom_device_path_t): New type.
37846 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37847 (struct grub_efi_vendor_media_device_path): New structure.
37848 (grub_efi_vendor_media_device_path_t): New type.
37849 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37850 (struct grub_efi_file_path_device_path): New structure.
37851 (grub_efi_file_path_device_path_t): New type.
37852 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37853 (struct grub_efi_protocol_device_path): New structure.
37854 (grub_efi_protocol_device_path_t): New type.
37855 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37856 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37857 (struct grub_efi_bios_device_path): New structure.
37858 (grub_efi_bios_device_path_t): New type.
37859 (struct grub_efi_disk_io): New structure.
37860 (grub_efi_disk_io_t): New type.
37861 (struct grub_efi_block_io_media): New structure.
37862 (grub_efi_block_io_media_t): New type.
37863 (struct grub_efi_block_io): New structure.
37864 (grub_efi_block_io_t): New type.
37865
37866 * include/grub/misc.h (grub_stop): Removed.
37867 (grub_exit): New prototype.
37868 (grub_abort): Likewise.
37869
37870 * include/grub/disk.h (enum grub_disk_dev_id): Added
37871 GRUB_DISK_DEVICE_EFIDISK_ID.
37872
37873 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37874 disk/efi/efidisk.c.
37875 (kernel_syms.lst): Remove the target if an error occurs.
37876
49986a9f 378772006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37878
37879 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37880 as it was simply too buggy.
37881
970d3b8a 378822006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37883
37884 * kern/misc.c (grub_lltoa): New function.
37885 (grub_vsprintf): Added support for the long long suffix,
37886 i.e. "ll".
37887
ff04ec24 378882006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37889
37890 * Makefile.in (LDFLAGS): Add variable.
37891 (LD): Remove variable.
37892 * configure.ac: Add -m32 to LDFLAGS.
37893 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37894 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37895 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37896 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37897 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37898 variables.
37899 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37900 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37901 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37902
37e5e1a4 379032006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37904
37905 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37906 length for unknown glyph.
37907
c352d8dd 379082006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37909
2eab1c0d 37910 Add support for pre-loaded modules into the EFI port.
f19dbdb7 37911
2eab1c0d 37912 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37913 completely. Accept one more argument DIR. The caller has changed.
37914
37915 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37916
37917 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37918 (grub_efi_loaded_image_guid): New variable.
37919 (grub_efi_get_loaded_image): New function.
37920 (grub_arch_modules_addr): Likewise.
37921
37922 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37923 prototype.
37924
37925 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37926 (struct grub_efi_loaded_image): New structure.
37927 (grub_efi_loaded_image_t): New type.
37928
379292006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37930
c352d8dd 37931 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37932 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37933 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37934
6d01d6b4 379352006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37936
37937 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37938
976a4ea0 379392006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37940
37941 * DISTLIST: Added include/grub/efi/console.h,
37942 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37943 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37944
37945 * include/grub/efi/console.h: New file.
37946 * include/grub/efi/time.h: Likewise.
37947 * include/grub/i386/efi/kernel.h: Likewise.
37948 * kern/efi/init.c: Likewise.
37949 * kern/efi/mm.c: Likewise.
37950 * term/efi/console.c: Likewise.
f19dbdb7 37951
976a4ea0 37952 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37953 (grub_stop): Removed.
37954 (grub_get_rtc): Likewise.
37955 (grub_machine_init): Simply call grub_efi_init.
37956 (grub_machine_fini): Call grub_efi_fini.
37957
37958 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37959 (grub_efi_output_string): Removed.
37960 (grub_efi_stall): New function.
37961 (grub_stop): Likewise.
37962 (grub_get_rtc): Likewise.
37963
37964 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37965 (grub_efi_stall): New prototype.
37966 (grub_efi_allocate_pages): Likewise.
37967 (grub_efi_free_pages): Likewise.
37968 (grub_efi_get_memory_map): Likewise.
37969 (grub_efi_mm_init): Likewise.
37970 (grub_efi_mm_fini): Likewise.
37971 (grub_efi_init): Likewise.
37972 (grub_efi_fini): Likewise.
37973
37974 * include/grub/i386/efi/time.h: Do not include
37975 grub/symbol.h. Include grub/efi/time.h.
37976 (GRUB_TICKS_PER_SECOND): Removed.
37977 (grub_get_rtc): Likewise.
37978
37979 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37980 Added padding. The EFI spec is buggy.
37981 (GRUB_EFI_BLACK): New macro.
37982 (GRUB_EFI_BLUE): Likewise.
37983 (GRUB_EFI_GREEN): Likewise.
37984 (GRUB_EFI_CYAN): Likewise.
37985 (GRUB_EFI_RED): Likewise.
37986 (GRUB_EFI_MAGENTA): Likewise.
37987 (GRUB_EFI_BROWN): Likewise.
37988 (GRUB_EFI_LIGHTGRAY): Likewise.
37989 (GRUB_EFI_BRIGHT): Likewise.
37990 (GRUB_EFI_DARKGRAY): Likewise.
37991 (GRUB_EFI_LIGHTBLUE): Likewise.
37992 (GRUB_EFI_LIGHTGREEN): Likewise.
37993 (GRUB_EFI_LIGHTCYAN): Likewise.
37994 (GRUB_EFI_LIGHTRED): Likewise.
37995 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37996 (GRUB_EFI_YELLOW): Likewise.
37997 (GRUB_EFI_WHITE): Likewise.
37998 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37999 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
38000 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
38001 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
38002 (GRUB_EFI_BACKGROUND_RED): Likewise.
38003 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
38004 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
38005 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
38006 (GRUB_EFI_TEXT_ATTR): Likewise.
38007
38008 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
38009 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38010 (kernel_mod_HEADERS): Added efi/time.h.
38011
83709125 380122006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
38013
38014 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
38015 include/grub/efi/api.h, include/grub/efi/console_control.h,
38016 include/grub/efi/efi.h, include/grub/efi/pe32.h,
38017 include/grub/i386/efi/time.h, kern/efi/efi.c,
38018 kern/i386/efi/init.c, kern/i386/efi/startup.S,
38019 and util/i386/efi/grub-mkimage.c.
38020
38021 * Makefile.in (RMKFILES): Added i386-efi.rmk.
38022
38023 * genmk.rb (PModule#rule): Do not export symbols if
38024 #{prefix}_EXPORTS is set to "no".
38025
38026 * conf/i386-efi.mk: New file.
38027 * conf/i386-efi.rmk: Likewise.
38028 * include/grub/efi/api.h: Likewise.
38029 * include/grub/efi/console_control.h: Likewise.
38030 * include/grub/efi/efi.h: Likewise.
38031 * include/grub/efi/pe32.h: Likewise.
38032 * include/grub/i386/efi/time.h: Likewise.
38033 * kern/efi/efi.c: Likewise.
38034 * kern/i386/efi/init.c: Likewise.
38035 * kern/i386/efi/startup.S: Likewise.
38036 * util/i386/efi/grub-mkimage.c: Likewise.
38037
380382006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 38039
38040 * include/grub/script.h: Include <grub/parser.h> and
38041 "grub_script.tab.h".
38042 (struct grub_lexer_param): New struct.
38043 (struct grub_parser_param): Likewise.
38044 (grub_script_create_arglist): Pass the state in an argument.
38045 (grub_script_add_arglist): Likewise.
38046 (grub_script_create_cmdline): Likewise.
38047 (grub_script_create_cmdblock): Likewise.
38048 (grub_script_create_cmdif): Likewise.
38049 (grub_script_create_cmdmenu): Likewise.
38050 (grub_script_add_cmd): Likewise.
38051 (grub_script_arg_add): Likewise.
38052 (grub_script_lexer_ref): Likewise.
38053 (grub_script_lexer_deref): Likewise.
38054 (grub_script_lexer_record_start): Likewise.
38055 (grub_script_lexer_record_stop): Likewise.
38056 (grub_script_mem_record): Likewise.
38057 (grub_script_mem_record_stop): Likewise.
38058 (grub_script_malloc): Likewise.
38059 (grub_script_yylex): Likewise.
38060 (grub_script_yyparse): Likewise.
38061 (grub_script_yyerror): Likewise.
38062 (grub_script_yylex): Likewise.
38063 (grub_script_lexer_init): Return the state.
38064
38065 * normal/lexer.c (grub_script_lexer_state): Removed variable.
38066 (grub_script_lexer_done): Likewise.
38067 (grub_script_lexer_getline): Likewise.
38068 (grub_script_lexer_refs): Likewise.
38069 (script): Likewise.
38070 (newscript): Likewise.
38071 (record): Likewise.
38072 (recording): Likewise.
38073 (recordpos): Likewise.
38074 (recordlen): Likewise.
38075 (grub_script_lexer_init): Return the state instead of setting
38076 global variables.
38077 (grub_script_lexer_ref): Use the newly added argument for state
38078 instead of globals.
38079 (grub_script_lexer_deref): Likewise.
38080 (grub_script_lexer_record_start): Likewise.
38081 (grub_script_lexer_record_stop): Likewise.
38082 (recordchar): Likewise.
38083 (nextchar): Likewise.
38084 (grub_script_yylex2): Likewise.
38085 (grub_script_yylex): Likewise.
38086 (grub_script_yyerror): Likewise.
38087
38088 * normal/parser.y (func_mem): Removed variable.
38089 (menu_entry): Likewise.
38090 (err): Likewise.
38091 (%lex-param): New parser option.
38092 (%parse-param): Likewise.
38093 (script): Always return the AST.
38094 (argument): Pass the state around.
38095 (arguments): Likewise.
38096 (grubcmd): Likewise.
38097 (commands): Likewise.
38098 (function): Likewise.
38099 (menuentry): Likewise.
38100 (if_statement): Likewise.
38101 (if): Likewise.
38102
38103 * normal/script.c (grub_script_memused): Removed variable.
38104 (grub_script_parsed): Likewise.
38105 (grub_script_malloc): Added a state argument. Use that instead of
38106 global variables.
38107 (grub_script_mem_record): Likewise.
38108 (grub_script_mem_record_stop): Likewise.
38109 (grub_script_arg_add): Likewise.
38110 (grub_script_add_arglist): Likewise.
38111 (grub_script_create_cmdline): Likewise.
38112 (grub_script_create_cmdif): Likewise.
38113 (grub_script_create_cmdmenu): Likewise.
38114 (grub_script_add_cmd): Likewise.
38115 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 38116
e2a8c904 381172006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 38118
38119 * normal/command.c (grub_command_init): Remove the title command.
38120
38121 * normal/lexer.c (grub_script_yylex): Renamed from this...
38122 (grub_script_yylex2): ... to this.
38123 (grub_script_yylex): New function. Temporary
38124 introduced to filter some tokens.
38125 (grub_script_yyerror): Print a newline.
38126
38127 * normal/main.c (read_config_file): Output information about the
38128 lines that contain errors. Wait for a key after all lines have
38129 been processed. Don't return an empty menu.
38130
38131 * normal/parser.y (func_mem): Don't initialize.
38132 (menu_entry): Likewise.
38133 (err): New variable.
38134 (script): Don't return anything when an error was encountered.
38135 (ws, returns): Removed rules.
38136 (argument): Disabled concatenated variable support.
38137 (arguments): Remove explicit separators.
38138 (grubcmd): Likewise.
38139 (function): Likewise.
38140 (menuentry): Likewise.
38141 (if): Likewise.
38142 (commands): Likewise. Add error handling.
38143
38144 * normal/script.c (grub_script_create_cmdline): If
38145 `grub_script_parsed' is 0, assume the parser encountered an error.
38146
c9a86192 381472006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38148
38149 * configure.ac: Add support for EFI. Fix the typo
38150 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38151
70f3b243 381522006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38153
38154 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38155 foreign multibyte characters should be shown correctly.
38156
65f201ad 381572006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38158
38159 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38160 calculation.
38161 (read_config_file): Made it to close file before returning.
38162
b4b93674 381632006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38164
38165 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38166 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38167 video/i386/pc/vbefill.c.
38168
38169 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38170 video/i386/pc/vbefill.c.
38171
38172 * include/grub/video.h (grub_video_blit_format): New enum.
38173 (grub_video_mode_info): Added new member blit_format.
38174 (grub_video_get_blit_format): New function prototype.
38175
38176 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38177 function prototype.
38178 (grub_video_vbe_map_rgb): Likewise.
38179 (grub_video_vbe_unmap_color): Likewise.
38180
38181 * include/grub/i386/pc/vbeblit.h: New file.
38182
38183 * include/grub/i386/pc/vbefill.h: New file.
38184
38185 * video/video.c (grub_video_get_blit_format): New function.
38186 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38187 (grub_video_vbe_map_rgb): Likewise.
38188 (grub_video_vbe_unmap_color): Likewise.
38189
38190 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38191 optimized fills.
38192 (grub_video_vbe_blit_render_target): Changed to use more optimized
38193 blits.
38194 (grub_video_vbe_setup): Added detection for optimized settings.
38195 (grub_video_vbe_create_render_target): Likewise.
38196
38197 * video/i386/pc/vbeblit.c: New file.
38198
38199 * video/i386/pc/vbefill.c: New file.
38200
c2379b9c 382012006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38202
38203 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38204 here...
38205
38206 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38207 parsing to support both hex and dec ranges. If filename was missing
38208 show usage information.
38209
bd0d7896 382102006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38211
38212 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38213 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38214
38215 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38216 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38217 (video_mod_SOURCES): Added.
38218 (video_mod_CFLAGS): Likewise.
38219 (video_mod_LDFLAGS): Likewise.
38220 (gfxterm_mod_SOURCES): Likewise.
38221 (gfxterm_mod_CFLAGS): Likewise.
38222 (gfxterm_mod_LDFLAGS): Likewise.
38223 (videotest_mod_SOURCES): Likewise.
38224 (videotest_mod_CFLAGS): Likewise.
38225 (videotest_mod_LDFLAGS): Likewise.
38226 (vesafb_mod_SOURCES): Removed.
38227 (vesafb_mod_CFLAGS): Likewise.
38228 (vesafb_mod_LDFLAGS): Likewise.
38229 (vga_mod_SOURCES): Likewise.
38230 (vga_mod_CFLAGS): Likewise.
38231 (vga_mod_LDFLAGS): Likewise.
38232
38233 * commands/videotest.c: New file.
38234
38235 * font/manager.c (fill_with_default_glyph): Modified to use
38236 grub_font_glyph.
38237 (grub_font_get_glyph): Likewise.
38238 (fontmanager): Renamed from this...
38239 (font_manager): ... to this.
38240
38241 * include/grub/font.h (grub_font_glyph): Added new structure.
38242 (grub_font_get_glyph): Modified to use grub_font_glyph.
38243
38244 * include/grub/misc.h (grub_abs): Added as inline function.
38245
38246 * include/grub/video.h: New file.
38247
38248 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38249 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38250 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38251 (grub_vbe_get_controller_info): Renamed from this...
38252 (grub_vbe_bios_get_controller_info): ... to this.
38253 (grub_vbe_get_mode_info): Renamed from this...
38254 (grub_vbe_bios_get_mode_info): ... to this.
38255 (grub_vbe_set_mode): Renamed from this...
38256 (grub_vbe_bios_set_mode): ... to this.
38257 (grub_vbe_get_mode): Renamed from this...
38258 (grub_vbe_bios_get_mode): ... to this.
38259 (grub_vbe_set_memory_window): Renamed from this...
38260 (grub_vbe_bios_set_memory_window): ... to this.
38261 (grub_vbe_get_memory_window): Renamed from this...
38262 (grub_vbe_bios_get_memory_window): ... to this.
38263 (grub_vbe_set_scanline_length): Renamed from this...
38264 (grub_vbe_set_scanline_length): ... to this.
38265 (grub_vbe_get_scanline_length): Renamed from this...
38266 (grub_vbe_bios_get_scanline_length): ... to this.
38267 (grub_vbe_set_display_start): Renamed from this...
38268 (grub_vbe_bios_set_display_start): ... to this.
38269 (grub_vbe_get_display_start): Renamed from this...
38270 (grub_vbe_bios_get_display_start): ... to this.
38271 (grub_vbe_set_palette_data): Renamed from this...
38272 (grub_vbe_bios_set_palette_data): ... to this.
38273 (grub_vbe_set_pixel_rgb): Removed.
38274 (grub_vbe_set_pixel_index): Likewise.
38275
38276 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38277 from this...
38278 (grub_vbe_bios_get_controller_info): ... to this.
38279 (grub_vbe_get_mode_info): Renamed from this...
38280 (grub_vbe_bios_get_mode_info): ... to this.
38281 (grub_vbe_set_mode): Renamed from this...
38282 (grub_vbe_bios_set_mode): ... to this.
38283 (grub_vbe_get_mode): Renamed from this...
38284 (grub_vbe_bios_get_mode): ... to this.
38285 (grub_vbe_set_memory_window): Renamed from this...
38286 (grub_vbe_bios_set_memory_window): ... to this.
38287 (grub_vbe_get_memory_window): Renamed from this...
38288 (grub_vbe_bios_get_memory_window): ... to this.
38289 (grub_vbe_set_scanline_length): Renamed from this...
38290 (grub_vbe_set_scanline_length): ... to this.
38291 (grub_vbe_get_scanline_length): Renamed from this...
38292 (grub_vbe_bios_get_scanline_length): ... to this.
38293 (grub_vbe_set_display_start): Renamed from this...
38294 (grub_vbe_bios_set_display_start): ... to this.
38295 (grub_vbe_get_display_start): Renamed from this...
38296 (grub_vbe_bios_get_display_start): ... to this.
38297 (grub_vbe_set_palette_data): Renamed from this...
38298 (grub_vbe_bios_set_palette_data): ... to this.
38299 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38300 getting corrupted after calling it. Added more pushes and pops.
38301 (grub_vbe_bios_set_mode): Likewise.
38302 (grub_vbe_bios_get_mode): Likewise.
38303 (grub_vbe_bios_get_memory_window): Likewise.
38304 (grub_vbe_bios_set_scanline_length): Likewise.
38305 (grub_vbe_bios_get_scanline_length): Likewise.
38306 (grub_vbe_bios_get_display_start): Likewise.
38307 (grub_vbe_bios_set_palette_data): Likewise.
38308
38309 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38310 (cl_insert): Likewise.
38311 (cl_delete): Likewise.
38312
38313 * term/gfxterm.c: New file.
38314
38315 * term/i386/pc/vesafb.c: Removed file.
38316
38317 * video/video.c: New file.
38318
38319 * video/i386/pc/vbe.c (real2pm): Added new function.
38320 (grub_video_vbe_draw_pixel): Likewise.
38321 (grub_video_vbe_get_video_ptr): Likewise.
38322 (grub_video_vbe_get_pixel): Likewise
38323 (grub_video_vbe_init): Likewise.
38324 (grub_video_vbe_fini): Likewise.
38325 (grub_video_vbe_setup): Likewise.
38326 (grub_video_vbe_get_info): Likewise.
38327 (grub_video_vbe_set_palette): Likewise.
38328 (grub_video_vbe_get_palette): Likewise.
38329 (grub_video_vbe_set_viewport): Likewise.
38330 (grub_video_vbe_get_viewport): Likewise.
38331 (grub_video_vbe_map_color): Likewise.
38332 (grub_video_vbe_map_rgb): Likewise.
38333 (grub_video_vbe_map_rgba): Likewise.
38334 (grub_video_vbe_unmap_color): Likewise.
38335 (grub_video_vbe_fill_rect): Likewise.
38336 (grub_video_vbe_blit_glyph): Likewise.
38337 (grub_video_vbe_blit_bitmap): Likewise.
38338 (grub_video_vbe_blit_render_target): Likewise.
38339 (grub_video_vbe_scroll): Likewise.
38340 (grub_video_vbe_swap_buffers): Likewise.
38341 (grub_video_vbe_create_render_target): Likewise.
38342 (grub_video_vbe_delete_render_target): Likewise.
38343 (grub_video_vbe_set_active_render_target): Likewise.
38344 (grub_vbe_set_pixel_rgb): Remove function.
38345 (grub_vbe_set_pixel_index): Likewise.
38346 (index_color_mode): Remove static variable.
38347 (active_mode): Likewise.
38348 (framebuffer): Likewise.
38349 (bytes_per_scan_line): Likewise.
38350 (grub_video_vbe_adapter): Added new static variable.
38351 (framebuffer): Likewise.
38352 (render_target): Likewise.
38353 (initial_mode): Likewise.
38354 (mode_in_use): Likewise.
38355 (mode_list): Likewise.
38356
5f97350b 383572006-03-10 Marco Gerards <marco@gnu.org>
38358
38359 * configure.ac (AC_INIT): Bumped to 1.93.
38360
38361 * DISTLIST: Added `include/grub/hfs.h'.
38362
a3c5c6f8 383632006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38364
38365 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38366 18H, which might help the BIOS falling back to next boot media.
38367
6de53d26 383682006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38369
38370 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38371 Poe Chen <poe.poechen@gmail.com>.
38372
77c4a393 383732006-01-17 Marco Gerards <marco@gnu.org>
38374
38375 * include/grub/normal.h: Include <grub/script.h>.
38376 (grub_command_list): Removed struct.
38377 (grub_command_list_t): Removed type.
38378 (grub_menu_entry): Remove members `num' and `command_list'. Add
38379 members `commands' and `sourcecode'.
38380 * include/grub/script.h: Add inclusion guards.
38381 (grub_script_cmd_menuentry): New struct.
38382 (grub_script_execute_menuentry): New prototype.
38383 (grub_script_lexer_record_start): Likewise.
38384 (grub_script_lexer_record_stop): Likewise.
38385 * normal/execute.c (grub_script_execute_menuentry): New function.
38386 * normal/lexer.c (record, recording, recordpos, recordlen): New
38387 variables.
38388 (grub_script_lexer_record_start): New function.
38389 (grub_script_lexer_record_stop): Likewise.
38390 (recordchar): Likewise.
38391 (nextchar): Likewise.
38392 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38393 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38394 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38395 (current_menu): New variable.
38396 (free_menu): Mainly rewritten.
38397 (grub_normal_menu_addentry): New function.
38398 (read_config_file): Rewritten.
38399 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 38400 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 38401 the menu entry.
38402 (run): Mainly rewritten.
38403 * normal/parser.y (menu_entry): New variable.
38404 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38405 (menuentry): New rule.
38406 (command): Add `menuentry'.
38407 (if_statement): Allow additional returns before `fi'.
38408 * normal/script.c (grub_script_create_cmdmenu): New function.
38409
144f1f98 384102006-01-03 Marco Gerards <marco@gnu.org>
38411
38412 * INSTALL: GNU Bison is required.
38413 * configure.ac: Rewritten the test to detect Bison.
38414 * Makefile.in (YACC): New variable. Reported by Xun Sun
38415 <xun.sun.cn@gmail.com>.
38416
af4b2d89 384172006-01-03 Marco Gerards <marco@gnu.org>
38418
38419 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38420 the HFS+ filesystem to filesystem blocks.
38421 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38422 GCC warning is silenced.
38423
15643b71 384242006-01-03 Marco Gerards <marco@gnu.org>
38425
38426 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38427 read from disk from big endian to host byte order.
38428
00905879 384292006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38430
38431 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38432 documentation.
38433 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38434 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38435 embedded HFS+ filesystem.
38436 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38437 (grub_hfs_sblock): Move from here...
38438 * include/grub/hfs.h: To here... New file.
38439 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38440 documentation.
38441 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38442 New macros.
38443 (grub_hfsplus_volheader): Change type of member `magic' to
38444 `grub_uint16_t'.
38445 (grub_hfsplus_data): Add new member `embedded_offset'.
38446 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38447 returned block.
38448 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38449 Calculate the offset.
38450
8899bc3e 384512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38452
38453 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38454 Removed.
38455 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38456
ae8c0277 384572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38458
38459 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38460 ENV->NAME is NULL after allocating ENV->VALUE.
38461
07084456 384622005-12-25 Marco Gerards <marco@gnu.org>
38463
38464 * kern/env.c (grub_env_set): Rewritten the error handling code.
38465
4750f5f1 384662005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38467
38468 * geninit.sh: Made more robust, and more portable.
38469
50214199 384702005-12-25 Marco Gerards <marco@gnu.org>
38471
38472 Add support for Apple HFS+ filesystems.
f19dbdb7 38473
50214199 38474 * fs/hfsplus.c: New file.
38475
38476 * DISTLIST: Added `fs/hfsplus.c'.
38477
38478 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38479 (hfsplus_mod_SOURCES): New variable.
38480 (hfsplus_mod_CFLAGS): Likewise.
38481 (hfsplus_mod_LDFLAGS): Likewise.
38482 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38483 (grub_setup_SOURCES): Likewise.
38484 (grub_mkdevicemap_SOURCES): Likewise.
38485 (grub_emu_SOURCES): Likewise.
38486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38487
38488 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38489
38490 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38491
befaed6c 384922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38493
38494 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38495 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38496 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38497 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38498 normal/lexer.c, normal/parser.y, normal/script.c, and
38499 partmap/gpt.c.
38500 Removed kern/sparc64/cache.c.
38501
38502 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38503 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38504 grub_emu_init.c.
38505
38506 * configure.ac (AC_INIT): Bumped to 1.92.
38507
6a124103 385082005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38509
38510 * kern/err.c (grub_error_push): Added new function to support error
38511 stacks.
38512 (grub_error_pop): Likewise.
38513 (grub_error_stack_items): New local variable to support error stacks.
38514 (grub_error_stack_pos): Likewise.
38515 (grub_error_stack_assert): Likewise.
38516 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38517 stack depth.
38518 (grub_print_error): Added support to print errors from error stack.
38519
38520 * include/grub/err.h (grub_error_push): Added function prototype.
38521 (grub_error_pop): Likewise.
38522
be973c1b 385232005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38524
38525 * configure.ac: Accept `powerpc64' as host_cpu.
38526 (amd64): Rename to `biarch32'.
38527
38528 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38529 non-cacheline-aligned addresses.
38530
38531 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38532 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38533 if `size' is non-zero.
38534
b04216ab 385352005-12-03 Marco Gerards <mgerards@xs4all.nl>
38536
38537 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38538 and `cd' to make sure the filename is not prefixed with a
38539 directory name.
38540 (pkgdata_MODULES): Add `gpt.mod'.
38541 (gpt_mod_SOURCES): New variable.
38542 (gpt_mod_CFLAGS): Likewise.
38543 (gpt_mod_LDFLAGS): Likewise.
38544
38545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38546
38547 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38548 New macro.
38549
38550 * partmap/gpt.c: New file.
38551
38552 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38553 GPT partition map is detected.
38554
41730ed9 385552005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38556
38557 * commands/i386/pc/play.c: New file.
38558 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38559 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38560 macros.
f19dbdb7 38561
95dc3643 385622005-11-27 Marco Gerards <mgerards@xs4all.nl>
38563
38564 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38565 ((unused))' to silence gcc warning.
38566
1569ec51 385672005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38568
38569 * configure.ac: Correct `AC_PROG_YACC' test.
38570
9abde152 385712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38572
38573 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38574 check before installing files.
38575
44b83271 385762005-11-22 Mike Small <smallm@panix.com>
38577
38578 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38579 number regex so multidigit numbers are recognized correctly.
38580
385812005-11-22 Mike Small <smallm@panix.com>
38582
38583 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38584 debugging message before attempting to claim memory.
38585 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38586 multiple addresses in case of failure.
38587
9c12956b 385882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38589
38590 * term/tparm.c (get_space): Remove empty `if' statement.
38591
38592 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38593
38594 * kern/parser.c (check_varstate): Rename `state' to 's'.
38595
aeaf81d9 385962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38597
38598 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38599 variable definitions to the beginning of each function. Sort stack
38600 variables by size.
38601 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38602 `buf' argument to `char *'.
38603
79bbb63f 386042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38605
38606 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38607 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38608 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 38609 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38610 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38611 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38612 configfile.mod, search.mod, gzio.mod and test.mod.
38613 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38614 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38615 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38616 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38617 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38618 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38619 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38620 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38621 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38622 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38623 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38624 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38625 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38626 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38627 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38628 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38629 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38630 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38631 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38632 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38633 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38634 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38635 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38636
38637 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38638 `grep --include'.
38639 (pkgdata_MODULES): Add test.mod.
38640
233b1628 386412005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38642
38643 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38644 appending to variables with "+=".
38645 (PModule): Use full pathname to generate *.lst filenames.
38646
38647 * Makefile.in: Fixed list rules moved from genmk.rb.
38648 (.DELETE_ON_ERROR): New special target.
38649 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38650
38651 * conf/i386-pc.rmk: Include conf/common.mk.
38652 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 38653 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 38654 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38655 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38656 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38657 configfile.mod, search.mod, gzio.mod and test.mod.
38658 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38659 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38660 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38661 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38662 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38663 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38664 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38665 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38666 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38667 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38668 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38669 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38670 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38671 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38672 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38673 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38674 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38675 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38676 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38677 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38678 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38679 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38680 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38681 here...
38682 * conf/common.rmk: ... to here. New file.
38683
38684 * conf/common.mk: New file.
38685
16f820c8 386862005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38687
38688 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38689 (grub_script.tab.c): ... here.
38690
38691 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38692 (grub_script.tab.c): ... here.
38693
38694 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38695 (grub_script.tab.c): ... here.
38696
38697 * normal/command.c (grub_command_find): Fixed a memory leak of
38698 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38699
63ba1554 387002005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38701
38702 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38703 "@" which marks the start of a comment on ARM.
38704 (VARIABLE): Likewise.
38705
7f67dc13 387062005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38707
79bbb63f 38708 Add support for Linux/ADFS partition tables.
7f67dc13 38709
38710 * partmap/acorn.c: New file.
38711
38712 * include/grub/acorn_filecore.h: Likewise.
38713
38714 * DISTLIST: Added `partmap/acorn.c' and
38715 `include/grub/acorn_filecore.h'.
f19dbdb7 38716
7f67dc13 38717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38718 `partmap/acorn.c'.
38719 (pkgdata_MODULES): Add `acorn.mod'.
38720 (acorn_mod_SOURCES): New variable.
38721 (acorn_mod_CFLAGS): Likewise.
38722
38723 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38724 `partmap/acorn.c'.
38725 (pkgdata_MODULES): Add `acorn.mod'.
38726 (acorn_mod_SOURCES): New variable.
38727 (acorn_mod_CFLAGS): Likewise.
38728
38729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38730 (pkgdata_MODULES): Add `acorn.mod'.
38731 (acorn_mod_SOURCES): New variable.
38732 (acorn_mod_CFLAGS): Likewise.
38733 (acorn_mod_LDFLAGS): Likewise.
38734
38735 * include/types.h (grub_disk_addr_t): New typedef.
38736
6d099807 387372005-11-13 Marco Gerards <mgerards@xs4all.nl>
38738
38739 * geninit.sh: New file.
38740
38741 * geninitheader.sh: Likewise.
38742
38743 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38744 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38745 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38746 * commands/configfile.c (grub_configfile_init)
38747 (grub_configfile_fini): Likewise.
38748 * commands/default.c (grub_default_init, grub_default_fini):
38749 Likewise.
38750 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38751 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38752 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38753 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38754 Likewise.
38755 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38756 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38757 Likewise.
38758 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 38759 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 38760 Likewise.
38761 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38762 Likewise.
fe6b695a 38763 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 38764 Likewise.
38765 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38766 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38767 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38768 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38769 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38770 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38771 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38772 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38773 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38774 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38775 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38776 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38777 * partmap/amiga.c (grub_amiga_partition_map_init)
38778 (grub_amiga_partition_map_fini): Likewise.
38779 * partmap/apple.c (grub_apple_partition_map_init)
38780 (grub_apple_partition_map_fini): Likewise.
38781 * partmap/pc.c (grub_pc_partition_map_init)
38782 (grub_pc_partition_map_fini): Likewise.
38783 * partmap/sun.c (grub_sun_partition_map_init,
38784 grub_sun_partition_map_fini): Likewise.
38785 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38786 Likewise.
38787
38788 * util/grub-emu.c: Include <grub_modules_init.h>.
38789 (main): Don't initialize and de-initialize any modules directly,
38790 use `grub_init_all' and `grub_fini_all' instead.
38791
38792 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38793 `grub_vesafb_mod_init'.
38794 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38795 all users.
38796 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38797 `grub_vga_mod_init'. Updated all users.
38798 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 38799
6d099807 38800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38801 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38802 rules.
38803
38804 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38805 Generate a function to initialize the module in utilities.
38806 Updated all callers.
38807 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38808 initialize the module in utilities. Updated all callers.
38809
9046bcf0 388102005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38811
38812 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38813 escape sequence and a literal ^L to clear the screen.
38814
38815 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38816 when returning from Open Firmware.
38817
d13ea639 388182005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38819
38820 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38821 (grub_ofconsole_height): Likewise.
38822 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38823 manually insert a '\n'.
38824 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38825 `grub_ofconsole_height'. Return early if these are already set.
38826
a8fcf206 388272005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38828
38829 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38830 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38831 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38832 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38833 and `normal/script.c'.
38834 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38835 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38836 (test_mod_SOURCES): New variable.
38837 (test_mod_CFLAGS): Likewise.
38838 (test_mod_LDFLAGS): Likewise.
38839 (pkgdata_MODULES): Add `test.mod'.
38840 (grub_script.tab.c): New rule.
38841 (grub_script.tab.h): Likewise.
38842
b6b32745 388432005-11-07 Marco Gerards <mgerards@xs4all.nl>
38844
38845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38846 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38847 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38848 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38849 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38850 (test_mod_SOURCES): New variable.
38851 (test_mod_CFLAGS): Likewise.
38852 (pkgdata_MODULES): Add `test.mod'.
38853 (grub_script.tab.c): New rule.
38854 (grub_script.tab.h): Likewise.
38855
daac212a 388562005-11-06 Marco Gerards <mgerards@xs4all.nl>
38857
38858 Add initial scripting support.
38859
38860 * commands/test.c: New file.
38861 * include/grub/script.h: Likewise.
38862 * normal/execute.c: Likewise.
38863 * normal/function.c: Likewise.
38864 * normal/lexer.c: Likewise.
38865 * normal/parser.y: Likewise.
38866 * normal/script.c: Likewise.
38867
38868 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 38869
daac212a 38870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38871 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38872 `normal/function.c' and `normal/script.c'.
38873 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38874 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 38875 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38876 variables.
daac212a 38877 (pkgdata_MODULES): Add `test.mod'.
38878 (grub_script.tab.c): New rule.
38879 (grub_script.tab.h): Likewise.
38880
38881 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38882
38883 * include/grub/normal.h (grub_test_init): New prototype.
38884 (grub_test_fini): Likewise.
f19dbdb7 38885
daac212a 38886 * normal/command.c: Include <grub/script.h>.
38887 (grub_command_execute): Rewritten.
f19dbdb7 38888
daac212a 38889 * util/grub-emu.c (main): Call `grub_test_init' and
38890 `grub_test_fini'.
38891
77500b2b 388922005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38893
38894 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38895 to 0.
38896 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38897 there are no pending characters.
38898
e45deb9e 388992005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38900
38901 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38902 `grub_strndup' to drop device arguments. Replace unnecessary
38903 `grub_strndup' with `grub_strdup'.
38904
4ce32619 389052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38906
38907 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38908 `debug' environment variable has been set.
38909
389102005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38911
4ce32619 38912 * Makefile.in (install-local): Use $(DATA).
38913 (uninstall): Likewise.
38914 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38915 (sbin_UTILITIES): ... to here.
38916 (sbin_SCRIPTS): New variable.
38917 (grub_install_SOURCES): New variable.
38918 * util/powerpc/ieee1275/grub-install.in: New file.
38919 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38920 variable.
38921 (add_segments): Call `grub_util_get_path'.
38922
25fe6f03 389232005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38924
38925 From Timothy Baldwin:
38926 * commands/ls.c (grub_ls_list_files): Close FILE with
38927 grub_file_close.
38928 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38929
04ccf3ec 389302005-10-24 Marco Gerards <mgerards@xs4all.nl>
38931
38932 * include/grub/parser.h: New file.
38933
38934 * kern/parser.c: Likewise.
38935
38936 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38937 (grub_setup_SOURCES): Likewise.
38938 (grub_probefs_SOURCES): Likewise.
38939 (grub_emu_SOURCES): Likewise.
38940 (kernel_img_HEADERS): Add `parser.h'.
38941
38942 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38943 (grub_emu_SOURCES): Add `kern/parser.c'.
38944 (grubof_SOURCES): Likewise.
38945
38946 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38947 (grubof_SOURCES): Add `kern/parser.c'.
38948
38949 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38950
38951 * kern/misc.c (grub_split_cmdline): Removed function.
38952
38953 * kern/rescue.c: Include <grub/parser.h>.
38954 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38955 of `grub_split_cmdline'.
38956
38957 * normal/command.c: Include <grub/parser.h>.
38958 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38959 of `grub_split_cmdline'.
38960
38961 * normal/completion.c: Include <grub/parser.h>.
38962 (cmdline_state): New variable.
38963 (iterate_dir): End the filename with a quote depending on the
38964 command line state.
38965 (get_state): new function.
38966 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38967 split the arguments and determine the current argument. When the
38968 argument string is not quoted, escape all spaces.
38969
6d8f4b0e 389702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38971
38972 * normal/sparc64/setjmp.S: New file.
38973
15cf03ed 389742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38975
38976 * include/grub/sparc64/libgcc.h: New file.
38977 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38978 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38979 normal/sparc64/setjmp.c.
38980
03e8661a 389812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38982
38983 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38984 * kern/sparc64/cache.S: New file.
38985 * kern/sparc64/cache.c: Removed.
38986 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38987 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38988 -mtune=ultrasparc.
38989 (COMMON_LDFLAGS): Add -melf64_sparc.
38990 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38991 (grubof_SOURCES): Use cache.S instead of cache.c.
38992 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38993 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38994 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38995 commented though.
38996 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38997 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38998 (linux_mod_CFLAGS): Commented out.
38999 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
39000 out because module isn't built.
39001 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
39002 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
39003 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
39004 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
39005 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
39006 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39007 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39008 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
39009 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
39010 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
39011 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39012 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39013 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
39014 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
39015
34eeec8a 390162005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
39017
39018 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
39019 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
39020 longer, because HFS should not be used on PC.
39021
708367a3 390222005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39023
39024 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
39025 consistently within the loop.
39026
6fa1251a 390272005-10-15 Marco Gerards <mgerards@xs4all.nl>
39028
39029 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
39030 directory can not be read.
39031
4801580b 390322005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39033
39034 * configure.ac (AC_INIT): Increase the version number to 1.91.
39035
39036 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
39037 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
39038 term/i386/pc/serial.c.
39039
219ad426 390402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39041
39042 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
39043 file size must be permitted.
39044
39045 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
39046 between %ah and %al.
39047
688e5699 390482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39049
39050 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
39051 grub_uint64_t.
39052 Call the hook with a NUL-terminated filename.
39053 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
39054 grub_cpu_to_be32.
39055
39056 * kern/term.c (cursor_state): New variable.
39057 (grub_term_set_current): Reset the cursor state on a new
39058 terminal.
39059 (grub_setcursor): Rewritten to use CURSOR_STATE.
39060 (grub_getcursor): New function.
39061
39062 * include/grub/term.h (grub_getcursor): New prototype.
39063
39064 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
39065 integers on ARM. Reported by Timothy Baldwin
39066 <T.E.Baldwin99@members.leeds.ac.uk>.
39067
bb34586c 390682005-10-11 Marco Gerards <mgerards@xs4all.nl>
39069
39070 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
39071 allocated.
39072 (grub_sfs_dir): Likewise.
39073
9a909877 390742005-10-09 Marco Gerards <mgerards@xs4all.nl>
39075
39076 Add support for the SFS filesystem.
39077
39078 * fs/sfs.c: New file.
39079
39080 * DISTLIST: Added `fs/sfs.c'.
39081
39082 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
39083 (grub_probefs_SOURCES): Likewise.
39084 (grub_emu_SOURCES): Likewise.
39085 (pkgdata_MODULES): Add `sfs.mod'.
39086 (sfs_mod_SOURCES): New variable.
39087 (sfs_mod_CFLAGS): Likewise.
39088 (sfs_mod_LDFLAGS): Likewise.
39089
39090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
39091 (pkgdata_MODULES): Add `sfs.mod'.
39092 (sfs_mod_SOURCES): New variable.
39093 (sfs_mod_CFLAGS): Likewise.
39094
39095 * util/grub-emu.c (main): Call `grub_sfs_init' and
39096 `grub_sfs_fini'.
39097
39098 * include/grub/fs.h (grub_sfs_init): New prototype.
39099 (grub_sfs_fini): Likewise.
39100
57bdbde3 391012005-10-07 Marco Gerards <mgerards@xs4all.nl>
39102
39103 Add support for the AFFS filesystem.
39104
39105 * fs/affs.c: New file.
39106
39107 * DISTLIST: Added `fs/affs.c'.
39108
39109 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
39110 (grub_probefs_SOURCES): Likewise.
39111 (grub_emu_SOURCES): Likewise.
39112 (pkgdata_MODULES): Add `affs.mod'.
39113 (affs_mod_SOURCES): New variable.
39114 (affs_mod_CFLAGS): Likewise.
39115 (affs_mod_LDFLAGS): Likewise.
39116
39117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
39118 (pkgdata_MODULES): Add `affs.mod'.
39119 (affs_mod_SOURCES): New variable.
39120 (affs_mod_CFLAGS): Likewise.
39121
39122 * util/grub-emu.c (main): Call `grub_affs_init' and
39123 `grub_affs_fini'.
39124
39125 * include/grub/fs.h (grub_affs_init): New prototype.
39126 (grub_affs_fini): Likewise.
39127
047b67e0 391282005-10-01 Marco Gerards <mgerards@xs4all.nl>
39129
39130 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39131
59b8208a 391322005-10-01 Marco Gerards <mgerards@xs4all.nl>
39133
39134 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39135 `-m32' to CFLAGS.
39136
39137 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39138 linking.
f19dbdb7 39139
59b8208a 39140 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39141 (COMMON_LDFLAGS): New variable.
39142 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39143 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39144 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39145 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39146 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39147 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39148 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39149 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39150 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39151 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39152 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39153 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39154 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39155 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39156 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39157 variables.
39158 (normal_mod_ASFLAGS): Add `-m32'.
39159
39160 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39161 (grub_host_size_t, grub_host_ssize_t): New types.
39162 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 39163 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 39164 `GRUB_HOST_SIZEOF_VOID_P'.
39165
39166 * include/grub/kernel.h (struct grub_module_header): Type of
39167 member offset changed to `grub_host_off_t'. Type of member size
39168 changed to `grub_host_size_t'.
39169 (struct grub_module_info): Type of member offset changed to
39170 `grub_host_off_t'. Type of member size changed to
39171 `grub_host_size_t'.
39172
b4093103 391732005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39174
39175 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 39176
b4093103 39177 * kern/i386/pc/startup.S (multiboot_header): New label.
39178 (multiboot_entry): Likewise.
39179 (multiboot_trampoline): Likewise.
39180
39181 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39182 Increased to 0x4A0.
39183
39184 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39185 put parentheses after a question mark.
39186 [!GRUB_UTIL] (my_mod): New variable.
39187
39188 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39189
b2499b29 391902005-09-28 Marco Gerards <mgerards@xs4all.nl>
39191
39192 Adds support for the XFS filesystem. Btrees are not supported
39193 yet.
39194
39195 * fs/xfs.c: New file.
39196
39197 * DISTLIST: Added `fs/xfs.c'.
39198
39199 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39200 (grub_probefs_SOURCES): Likewise.
39201 (grub_emu_SOURCES): Likewise.
39202 (pkgdata_MODULES): Add `xfs.mod'.
39203 (xfs_mod_SOURCES): New variable.
39204 (xfs_mod_CFLAGS): Likewise.
39205
39206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39207 (pkgdata_MODULES): Add `xfs.mod'.
39208 (xfs_mod_SOURCES): New variable.
39209 (xfs_mod_CFLAGS): Likewise.
39210
39211 * util/grub-emu.c (main): Call `grub_xfs_init' and
39212 `grub_xfs_fini'.
39213
39214 * include/grub/fs.h (grub_xfs_init): New prototype.
39215 (grub_xfs_fini): Likewise.
39216
f19dbdb7 39217
83d37a62 392182005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39219
39220 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39221 color modes, allow greater than 16 colors to be configured as
39222 a default palette.
39223
47d2d65e 392242005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39225
39226 * normal/completion.c (complete_arguments): Add the qualifier
39227 const into OPTIONS.
39228
39229 From Omniflux <omniflux+lists@omniflux.com>:
39230 * include/grub/terminfo.h: New file.
39231 * include/grub/tparm.h: Likewise.
39232 * include/grub/i386/pc/serial.h: Likewise.
39233 * term/terminfo.c: Likewise.
39234 * term/tparm.c: Likewise.
39235 * term/i386/pc/serial.c: Likewise.
39236 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39237 serial.mod.
39238 (terminfo_mod_SOURCES): New variable.
39239 (terminfo_mod_CFLAGS): Likewise.
39240 (serial_mod_SOURCES): Likewise.
39241 (serial_mod_CFLAGS): Likewise.
39242
48b671ff 392432005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39244
39245 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39246 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39247 and kern/powerpc/ieee1275/cmain.c, respectively.
39248
39249 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39250 * kern/powerpc/ieee1275/crt0.S: ... here.
39251
39252 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39253 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 39254
48b671ff 39255 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39256 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39257 instead of boot/powerpc/ieee1275/crt0.S and
39258 boot/powerpc/ieee1275/cmain.c, respectively.
39259
39260 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39261 sectors. It was not used anyway.
39262
09fc77a7 392632005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39264
39265 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39266 `unused parameter' warning.
39267
003789c7 392682005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39269
39270 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39271 function.
39272 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39273 getcharwidth.
39274
67f44c86 392752005-08-28 Marco Gerards <metgerards@student.han.nl>
39276
39277 * include/grub/normal.h (enum grub_completion_type): Added
39278 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39279
39280 * normal/cmdline.c (print_completion): Handle
39281 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39282 * normal/menu_entry.c (store_completion): Likewise.
39283
39284 * normal/completion.c (complete_arguments): New function.
39285 (grub_normal_do_completion): Call `complete_arguments' when the
39286 current words start with a dash.
39287
0b5abe02 392882005-08-27 Marco Gerards <metgerards@student.han.nl>
39289
39290 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39291 `gzio.mod' instead of `io.mod').
39292
d9864ee1 392932005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39294
39295 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39296 (DISTDIRS): Added io and video.
39297 Rewrite the search routine to make an output consistently.
39298
39299 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39300 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39301 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39302 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39303 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39304 util/powerpc/ieee1275/misc.c.
f19dbdb7 39305
d9864ee1 39306 * include/grub/gzio.h: New file.
39307 * io/gzio.c: Likewise.
f19dbdb7 39308
d9864ee1 39309 * kern/file.c (grub_file_close): Call grub_device_close only if
39310 FILE->DEVICE is not NULL.
39311
39312 * include/grub/mm.h [!NULL] (NULL): New macro.
39313
39314 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39315
39316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39317 (pkgdata_MODULES): Added gzio.mod.
39318 (gzio_mod_SOURCES): New variable.
39319 (gzio_mod_CFLAGS): Likewise.
39320
39321 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39322 (pkgdata_MODULES): Added gzio.mod.
39323 (gzio_mod_SOURCES): New variable.
39324 (gzio_mod_CFLAGS): Likewise.
39325
39326 * commands/cat.c: Include grub/gzio.h.
39327 (grub_cmd_cat): Use grub_gzfile_open instead of
39328 grub_file_open.
f19dbdb7 39329
d9864ee1 39330 * commands/cmp.c: Include grub/gzio.h.
39331 (grub_cmd_cmp): Use grub_gzfile_open instead of
39332 grub_file_open.
39333
39334 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39335 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39336 grub_file_open.
39337 (grub_rescue_cmd_module): Likewise.
39338
fa46f4b5 393392005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39340
39341 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39342 kern/sparc64/ieee1275/init.c because it contains _start.
39343 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39344
e9211b5d 393452005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39346
39347 * configure.ac: Add support for sparc64 host with ieee1275
39348 firmware.
39349 * configure: Generated from configure.ac.
39350 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39351 instead of int.
39352 (grub_ofdisk_read): Likewise.
39353 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39354 pointers as (void *) to remove a warning.
39355 (grub_ofdisk_close): Likewise.
39356 (grub_ofdisk_read): Likewise.
39357 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39358 returns, so make it return void to remove a warning.
39359 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39360 Corresponding prototype change.
39361 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39362 values, and cast the pointers as (void *) to remove a warning.
39363 (grub_mm_dump): Likewise.
39364 * conf/sparc64-ieee1275.mk: New file.
39365 * conf/sparc64-ieee1275.rmk: Likewise.
39366 * include/grub/sparc64/setjmp.h: Likewise.
39367 * include/grub/sparc64/types.h: Likewise.
39368 * include/grub/sparc64/ieee1275/console.h: Likewise.
39369 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39370 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39371 * include/grub/sparc64/ieee1275/time.h: Likewise.
39372 * kern/sparc64/cache.c: Likewise.
39373 * kern/sparc64/dl.c: Likewise.
39374 * kern/sparc64/ieee1275/init.c: Likewise.
39375 * kern/sparc64/ieee1275/openfw.c: Likewise.
39376
385c6a92 393772005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39378
39379 * util/console.c (grub_ncurses_putchar): If C is greater than
39380 0x7f, set C to a question mark.
39381 (grub_ncurses_getcharwidth): New function.
39382 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39383 getcharwidth.
39384
39385 * normal/menu.c (print_entry): Made aware of Unicode. First,
39386 convert TITLE to UCS-4, and predict the cursor position by
39387 grub_getcharwidth.
39388
39389 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39390 const to SRC.
39391 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39392
16ccb8b1 393932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39394
39395 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39396 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39397 grub_strcat.
39398
39399 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39400 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39401 grub_strcpy and grub_strlen. Take it into account that a space
39402 character is inserted as a delimiter.
39403
6a85ce79 394042005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39405
39406 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 39407 invalid magic in the error.
6a85ce79 39408
39409 * commands/search.c: New file.
f19dbdb7 39410
6a85ce79 39411 * util/grub-emu.c (main): Call grub_search_init and
39412 grub_search_fini.
39413
39414 * kern/rescue.c (grub_rescue_print_disks): Removed.
39415 (grub_rescue_print_devices): New function.
39416 (grub_rescue_cmd_ls): Use grub_device_iterate with
39417 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39418 grub_rescue_print_disks.
39419
39420 * kern/partition.c (grub_partition_iterate): Return the result of
39421 PARTMAP->ITERATE instead of GRUB_ERRNO.
39422
39423 * kern/device.c: Include grub/partition.h.
39424 (grub_device_iterate): New function.
39425
39426 * include/grub/partition.h (grub_partition_iterate): Return int
39427 instead of grub_err_t.
39428
39429 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39430 prototype.
39431 [GRUB_UTIL] (grub_search_fini): Likewise.
39432
39433 * include/grub/device.h (grub_device_iterate): New prototype.
39434
39435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39436 commands/search.c.
39437 (pkgdata_MODULES): Added search.mod.
39438 (search_mod_SOURCES): New variable.
39439 (search_mod_CFLAGS): Likewise.
39440
39441 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39442 (pkgdata_MODULES): Added search.mod.
39443 (search_mod_SOURCES): New variable.
39444 (search_mod_CFLAGS): Likewise.
39445
39446 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39447 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39448 All callers changed.
39449
39450 * DISTLIST: Added commands/search.c.
39451
ef095434 394522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39453
39454 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39455 conversion.
39456 (grub_getcharwidth): New function.
39457
39458 * kern/misc.c (grub_utf8_to_ucs4): New function.
39459
39460 * include/grub/term.h (struct grub_term): Added a new member
39461 "getcharwidth".
39462 (grub_getcharwidth): New prototype.
39463
39464 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39465
39466 * term/i386/pc/console.c (map_char): New function. Segregated from
39467 grub_console_putchar.
39468 (grub_console_putchar): Use map_char.
39469 (grub_console_getcharwidth): New function.
39470 (grub_console_term): Specified grub_console_getcharwidth as
39471 getcharwidth.
39472
39473 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39474 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39475
39476 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39477 GRUB_ERRNO.
39478 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39479 on grub_strtoul completely.
39480 (write_char): Declare local variables in the beginning of the
39481 function.
39482 (grub_vesafb_getcharwidth): New function.
39483 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39484 getcharwidth.
39485
1f0a95e4 394862005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39487
39488 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39489 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39490 commands/i386/pc/vbetest.c.
39491
39492 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39493 call grub_vbe_get_controller_info again, because the returned
39494 information is volatile.
39495 (grub_vbe_set_video_mode): Mostly rewritten.
39496 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39497 grub_vbe_status_t correctly.
39498 (grub_vbe_get_video_mode_info): Likewise.
39499 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39500 several if statements.
39501
39502 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39503 * commands/i386/pc/vbeinfo.c: ... this.
39504
39505 * commands/i386/pc/vbe_test.c: Renamed to ...
39506 * commands/i386/pc/vbetest.c: ... this.
39507
39508 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39509 ...
39510 (grub_cmd_vbeinfo): ... this. Save video modes before
39511 iterating. Skip a video mode, if it is not available, not enough
39512 information is given or it is monochrome. Show the memory
39513 model. Leave the interpretation of MODEVAR to grub_strtoul
39514 completely.
39515 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39516 (GRUB_MOD_FINI): Likewise.
39517
39518 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39519 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39520 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39521 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39522 grub_strtoul completely.
39523 (real2pm): Removed.
39524 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39525 (GRUB_MOD_FINI): Likewise.
39526
39527 * normal/misc.c: Include grub/mm.h.
39528
39529 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39530 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39531 (vbe_list_modes_mod_SOURCES): Removed.
39532 (vbe_list_modes_mod_CFLAGS): Likewise.
39533 (vbe_test_mod_SOURCES): Likewise.
39534 (vbe_test_mod_CFLAGS): Likewise.
39535 (vbeinfo_mod_SOURCES): New variable.
39536 (vbeinfo_mod_CFLAGS): Likewise.
39537 (vbetest_mod_SOURCES): Likewise.
39538 (vbetest_mod_CFLAGS): Likewise.
39539
992ffbbe 395402005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39541
39542 * normal/misc.c: New file.
39543
39544 * DISTLIST: Added normal/misc.c.
f19dbdb7 39545
992ffbbe 39546 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39547 DISK to HOOK. Call HOOK with DISK.
39548 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39549 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39550 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39551
39552 * normal/menu_entry.c (struct screen): Added a new member
39553 "completion_shown".
39554 (completion_buffer): New global variable.
39555 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39556 (store_completion): New function.
39557 (complete): Likewise.
39558 (clear_completions): Likewise.
39559 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39560 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39561 a tab, call complete.
39562
39563 * normal/completion.c (disk_dev): Removed.
39564 (print_simple_completion): Likewise.
39565 (print_partition_completion): Likewise.
39566 (print_func): New global variable.
39567 (add_completion): Do not take the arguments WHAT or PRINT any
39568 longer. Added a new argument TYPE. Instead of printing directly,
39569 call PRINT_FUNC if not NULL.
39570 All callers changed.
39571 (complete_device): Use a local variable DEV instead of
39572 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39573 (grub_normal_do_completion): Take a new argument HOOK. Do not
39574 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39575 empty string, return NULL instead.
39576 All callers changed.
39577
39578 * normal/cmdline.c (print_completion): New function.
39579
39580 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39581 to HOOK.
39582 All callers changed.
39583
39584 * kern/disk.c (grub_print_partinfo): Removed.
39585
39586 * include/grub/partition.h (struct grub_partition_map): Add a new
39587 argument DISK into HOOK of ITERATE.
39588 (grub_partition_iterate): Add a new argument DISK to HOOK.
39589
39590 * include/grub/normal.h (enum grub_completion_type): New enum.
39591 (grub_completion_type_t): New type.
39592 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39593 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39594 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39595 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39596 (grub_normal_do_completion): Added a new argument HOOK.
39597 (grub_normal_print_device_info): New prototype.
39598
39599 * include/grub/disk.h (grub_print_partinfo): Removed.
39600
39601 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39602 (normal_mod_SOURCES): Likewise.
39603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39604 (normal_mod_SOURCES): Likewise.
39605
39606 * commands/ls.c (grub_ls_list_disks): Use
39607 grub_normal_print_device_info instead of grub_print_partinfo. Free
39608 PNAME.
39609 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39610 duplicating the code.
39611
0bd41162 396122005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39613
39614 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 39615 follow GCS more precisely.
39616 * commands/i386/pc/vbe_test.c: Likewise.
39617 * include/grub/i386/pc/vbe.h: Likewise.
39618 * term/i386/pc/vesafb.c: Likewise.
39619 * video/i386/pc/vbe.c: Likewise.
0bd41162 39620
6323696a 396212005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39622
39623 * DISTLIST: Added term/i386/pc/vesafb.c
39624 DISTLIST: Added video/i386/pc/vbe.c
39625 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39626 DISTLIST: Added commands/i386/pc/vbe_test.c.
39627 * commands/i386/pc/vbe_list_modes.c: New file.
39628 * commands/i386/pc/vbe_test.c: Likewise.
39629 * term/i386/pc/vesafb.c: Likewise.
39630 * video/i386/pc/vbe.c: Likewise.
39631 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39632 (grub_vbe_probe) Added prototype.
39633 (grub_vbe_set_video_mode) Likewise.
39634 (grub_vbe_get_video_mode) Likewise.
39635 (grub_vbe_get_video_mode_info) Likewise.
39636 (grub_vbe_set_pixel_rgb) Likewise.
39637 (grub_vbe_set_pixel_index) Likewise.
39638 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39639 (pkgdata_MODULES): Added vesafb.mod.
39640 (pkgdata_MODULES): Added vbe_list_modes.mod.
39641 (pkgdata_MODULES): Added vbe_test.mod.
39642 (vbe_mod_SOURCES): Added.
39643 (vbe_mod_CFLAGS): Likewise.
39644 (vesafb_mod_SOURCES): Likewise.
39645 (vesafb_mod_CFLAGS): Likewise.
39646 (vbe_list_modes_mod_SOURCES): Likewise.
39647 (vbe_list_modes_mod_CFLAGS): Likewise.
39648 (vbe_test_mod_SOURCES): Likewise.
39649 (vbe_test_mod_CFLAGS): Likewise.
39650
0a74e62f 396512005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39652
0a74e62f 39653 * normal/command.c (grub_command_execute): If INTERACTIVE is
39654 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39655 CMDLINE. Disable the pager if INTERACTIVE is true.
39656 All callers are changed.
39657
39658 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39659 before reading a config file.
39660 * normal/main.c (read_config_file): Even if a command is not
39661 found, register it if it is within an entry.
39662
39663 * util/grub-emu.c: Include sys/types.h and unistd.h.
39664 (options): Added --hold.
39665 (struct arguments): Added a new member "hold".
39666 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39667 missing.
39668 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39669 cleared by a debugger, if it is not zero.
39670
39671 * include/grub/normal.h (grub_command_execute): Add an argument
39672 INTERACTIVE.
39673
e51f85ae 396742005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39675
39676 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39677
e9c6f39b 396782005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39679
39680 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39681 program with another one, because the old one didn't detect a bug
39682 in gcc-3.4. Always use regparm 2, because the new test is still
39683 not enough for gcc-4.0. Someone must investigate a simple test
39684 case which detects a bug in gcc-4.0.
39685
8de3495c 396862005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39687
39688 * DISTLIST: Added normal/completion.c.
39689
39690 * normal/completion.c: New file.
f19dbdb7 39691
8de3495c 39692 * term/i386/pc/console.c (grub_console_getwh): New function.
39693 (grub_console_term): Assign grub_console_getwh to getwh.
39694
39695 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39696 function is defined in normal/completion.c as
39697 grub_normal_do_completion.
39698 (grub_cmdline_get): Use grub_normal_do_completion instead of
39699 grub_tab_complete.
39700
39701 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39702 returns non-zero, otherwise return 0.
39703 (grub_partition_iterate): First, probe the partition map. Then,
39704 call ITERATE only for this partition map.
39705
39706 * kern/misc.c (grub_strncmp): Rewritten.
39707
39708 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39709 returns non-zero. Otherwise return 0.
39710
39711 * include/grub/partition.h (grub_partition_map_iterate): Return
39712 int instead of void.
39713
39714 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39715
39716 * include/grub/misc.h (grub_strncmp): Change the type of N to
39717 grub_size_t.
39718
39719 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39720 of void.
39721
39722 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 39723 unsigned explicitly before comparing it with I.
8de3495c 39724
39725 * kern/main.c (grub_env_write_root): Add the attribute unused into
39726 VAR.
39727
39728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39729 normal/completion.c.
39730 (normal_mod_SOURCES): Likewise.
39731 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39732 (normal_mod_SOURCES): Likewise.
39733
39734 * normal/command.c (grub_iterate_commands): If ITERATE returns
39735 non-zero, return one immediately.
39736
e85e144b 397372005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39738
39739 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39740 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39741 descriptions.
39742 (grub_vbe_get_controller_info): New function.
39743 (grub_vbe_get_mode_info): Likewise.
39744 (grub_vbe_set_mode): Likewise.
39745 (grub_vbe_get_mode): Likewise.
39746 (grub_vbe_set_memory_window): Likewise.
39747 (grub_vbe_get_memory_window): Likewise.
39748 (grub_vbe_set_scanline_length): Likewise.
39749 (grub_vbe_get_scanline_length): Likewise.
39750 (grub_vbe_set_display_start): Likewise.
39751 (grub_vbe_get_display_start): Likewise.
39752 (grub_vbe_set_palette_data): Likewise.
39753 * include/grub/i386/pc/vbe.h: New file.
39754
c46153d2 397552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39756
39757 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39758 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39759 * DISTLIST: Likewise.
39760 * kern/ieee1275/of.c: Moved to ...
39761 * kern/ieee1275/ieee1275.c: ... here.
39762
0cb90c45 397632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39764
39765 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39766 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39767 Pass 0 as `end' parameter to grub_strtoul().
39768
a19fb360 397692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39770
39771 * include/grub/powerpc/ieee1275/console.h: Do not include
39772 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39773 ifdef.
39774 (grub_console_cur_color): Remove i386-specific prototype.
39775 (grub_console_real_putchar): Likewise.
39776 (grub_console_checkkey): Likewise.
39777 (grub_console_getkey): Likewise.
39778 (grub_console_getxy): Likewise.
39779 (grub_console_gotoxy): Likewise.
39780 (grub_console_cls): Likewise.
39781 (grub_console_setcursor): Likewise.
39782 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39783 Include <grub/machine/console.h>.
39784 * term/ieee1275/ofconsole.c: Likewise.
39785
4ac9bd04 397862005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39787
39788 * Makefile.in (LIBLZO): New variable.
39789
39790 * configure.ac: Check for LZO version 2.
39791
39792 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39793 lzo/lzo1x.h instead of lzo1x.h.
39794
39795 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39796 of -llzo.
39797
39798 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39799 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39800
39801 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39802 copying the data from PARTITION to P.
39803
f4917dfd 398042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39805
39806 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39807 negative, unload the module.
39808
39809 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39810 map is "pc_partition_map" but not "pc".
39811 (usage): Fix the description. The options are --boot-image and
39812 --core-image but not --boot-file or --core-file.
39813 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39814 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39815 DEFAULT_DIRECTORY.
39816
39817 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39818 --core-file. Specify INSTALL_DEVICE as an argument.
39819
39820 * util/console.c: Include config.h.
39821 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39822 [HAVE_NCURSES_H]: Include ncurses.h.
39823 [HAVE_CURSES_H]: Include curses.h.
39824 [!A_NORMAL] (A_NORMAL): Defined as zero.
39825 [!A_STANDOUT] (A_STANDOUT): Likewise.
39826
39827 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39828 -lncurses.
39829 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39830
39831 * configure.ac: Check for curses libraries and headers.
39832
39833 * Makefile.in (LIBCURSES): New variable.
39834
39835 * genmk.rb (Script::rule): Set the executable bits.
39836
39837 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39838 name of the PC partition map is "pc_partition_map" but not "pc".
39839
0e143073 398402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39841
39842 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39843 (modules): Likewise.
39844 (usage): Added descriptions for --modules and --grub-probefs.
39845 Handle --modules and --grub-probefs. Save the arguments in MODULES
39846 and GRUB_PROBEFS, respectively.
39847 Auto-detect a filesystem module against GRUBDIR. If the result is
39848 empty and modules are not specified explicitly, abort the
39849 installation. Add the result to MODULES.
39850
39851 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39852 disk/powerpc/ieee1275/ofdisk.c,
39853 include/grub/powerpc/ieee1275/init.h and
39854 term/powerpc/ieee1275/ofconsole.c.
39855 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39856 term/ieee1275/ofconsole.c.
39857
39858 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39859
39860 * COPYING: Upgraded to the latest version. Only the address of the
39861 FSF office has changed.
f19dbdb7 39862
efd6e6d5 398632005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39864
39865 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39866 kern/ieee1275.c with kern/ieee1275/of.c.
39867
39868 * kern/ieee1275.c: Moved to ...
39869 * kern/ieee1275/of.c: ... here.
39870
8ceafda2 398712005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39872
39873 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 39874 readability.
8ceafda2 39875
39876 * config.guess: Updated to the latest version from gnulib.
39877 * config.sub: Likewise.
39878 * install.sh: Likewise.
39879 * mkinstalldirs: Likewise.
39880
39881 * include/grub/console.h: Removed. This file is arch-specific. Do
39882 not put this in include/grub.
39883
39884 * include/grub/i386/pc/console.h: Resurrected.
39885
39886 * util/console.c: Include grub/machine/console.h instead of
39887 grub/console.h.
39888 * util/grub-emu.c: Likewise.
39889
267f6cd9 398902005-08-04 Marco Gerards <metgerards@student.han.nl>
39891
39892 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39893 hardcoded value.
f19dbdb7 39894
267f6cd9 39895 From Vincent Pelletier <subdino2004@yahoo.fr>
39896 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39897 Redefined to use grub_getwh.
39898 (grub_term): New member named getwh.
39899 (grub_getwh): New prototype.
39900 * kern/term.c (grub_getwh): New function.
39901 * term/i386/pc/console.c (grub_console_getwh): New function.
39902 (grub_console_term): New member `getwh'.
39903 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39904 (grub_vga_term): New member `getwh'.
0b5abe02 39905 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 39906 grub_ssize_t.
39907 (grub_ofconsole_getw): New function.
39908 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39909 (grub_ofconsole_term): New field named getwh and new initial
39910 value.
39911
3be7266d 399122005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39913
39914 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39915 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39916 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39917 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39918 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39919 of <grub/machine/ieee1275.h>.
39920 * commands/ieee1275/reboot.c: Likewise.
39921 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39922 * kern/ieee1275.c: ... to here. All users updated. Change all
39923 parameter structs to use new type `grub_ieee1275_cell_t'.
39924 * term/powerpc/ieee1275/ofconsole.c: Move ...
39925 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39926 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39927 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39928 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39929 to return int.
39930 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39931 Remove unused prototypes. All users updated.
39932 * include/grub/powerpc/ieee1275/console.h: Removed.
39933 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39934 `grub_ieee1275_cell_t'.
39935 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39936 Cast comparisons with -1 to the correct type.
39937 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39938 type to match `grub_ieee1275_entry_fn'.
39939
8b5f3938 399402005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39941
39942 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39943
39944 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39945 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39946 partmap/sun.c.
39947 (grub_probefs_SOURCES): New variable.
39948
39949 * util/i386/pc/grub-probefs.c: New file.
39950
39951 * util/i386/pc/grub-setup.c (main): Call
39952 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39953 grub_hfs_init and grub_jfs_init to initialize the system. Call
39954 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39955 grub_pc_partition_map_fini to finish the system.
39956
ea409713 399572005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39958
39959 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39960 function.
39961 (grub_multiboot_load_elf32): Likewise.
39962 (grub_multiboot_is_elf64): Likewise.
39963 (grub_multiboot_load_elf64): Likewise.
39964 (grub_multiboot_load_elf): Likewise.
39965 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39966 an ELF32 or ELF64 file.
39967 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39968
39969 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39970 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39971 NULL before calling FS->LABEL.
39972 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39973 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39974 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39975 before calling FS->LABEL.
39976
141a288b 399772005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39978
39979 * util/i386/pc/grub-install.in (datadir): New variable.
39980 (libdir): Removed.
39981 (pkgdatadir): New variable.
39982 (pkglibdir): Removed.
39983
0d5f8a54 399842005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39985
39986 * DISTLIST: Added util/i386/pc/grub-install.in.
39987
39988 * util/i386/pc/grub-install.in: New file.
39989
39990 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39991 (grub_install_SOURCES): Likewise.
39992
39993 * genmk.rb: Added support for scripts.
39994 (Script): New class.
39995 (scripts): New variable.
39996
39997 * Makefile.in (install-local): Install sbin_SCRIPTS by
39998 INSTALL_SCRIPT.
39999 (uninstall): Remove sbin_SCRIPTS.
40000
40001 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
40002 device, try to get a GRUB device by
40003 grub_util_biosdisk_get_grub_dev.
40004 Free DEST_DEV.
40005
40006 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
40007 description for --device-map.
40008
5f968e1e 400092005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40010
40011 Change the semantics of variable hooks. They now return strings
40012 instead of error values.
f19dbdb7 40013
5f968e1e 40014 * util/i386/pc/grub-setup.c: Include grub/env.h.
40015 (setup): Use grub_device_set_root instead of grub_env_set.
40016
40017 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
40018 grub_env_get instead of grub_device_set_root and
40019 grub_device_get_root, respectively.
40020
40021 * kern/main.c (grub_env_write_root): New function.
40022 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
40023 grub_env_set instead of grub_device_set_root.
40024
40025 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
40026 many variables.
40027 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
40028 rather than calling ENV->WRITE_HOOK afterwards.
40029 (grub_env_get): Return the result of ENV->READ_HOOK rather than
40030 passing a pointer of a pointer.
40031 (grub_register_variable_hook): Change the types of "read_hook" and
40032 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
40033 respectively.
40034 Allocate the default empty string on the heap, because this string
40035 may be freed later.
40036
40037 * kern/device.c: Include grub/env.h.
40038 (grub_device_set_root): Removed.
40039 (grub_device_get_root): Likewise.
40040 (grub_device_open): Use grub_env_get instead of
40041 grub_device_get_root.
40042
40043 * include/grub/env.h (grub_env_read_hook_t): New type.
40044 (grub_env_write_hook_t): Likewise.
40045 (grub_env_var): Change the types of "read_hook" and "write_hook"
40046 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
40047 (grub_register_variable_hook): Likewise.
40048
40049 * include/grub/device.h (grub_device_set_root): Removed.
40050 (grub_device_set_root): Likewise.
40051
40052 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
40053 make sure that DIRNAME terminates with '/', so that
40054 grub_fat_find_dir will fail if PATH is not a directory.
40055
40056 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
40057 from DIRNAME.
40058 Use the qualifier auto for print_files and print_files_long.
40059 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
40060 as a regular file.
40061 Put a newline only if there is no error.
40062 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
40063 used.
40064
896f0afd 400652005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40066
40067 * kern/partition.c (grub_partition_probe): Initialize PART to
40068 NULL. Otherwise, when no partition map is registered, this returns
40069 a garbage.
40070
b28b81b2 400712005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
40072
40073 * partmap/apple.c (apple_partition_map_iterate): Check if POS
40074 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
40075 valid.
40076
5f3607e0 400772005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
40078
40079 * commands/ls.c (grub_ls_list_disks): Print the filesystem
40080 information on each device, if it does not have partitions. Print
40081 "Device" instead of "Disk", because this function is not specific
40082 to disk devices.
40083
40084 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
40085 static to ensure that it is put on the memory rather than a
40086 register.
40087
502c87e8 400882005-07-17 Yoshinori Okuji <okuji@enbug.org>
40089
40090 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
40091 (grub_cat_init): Likewise.
40092 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
40093 (options): Likewise.
40094 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
40095 (grub_configfile_init): Likewise.
40096 * font/manager.c (GRUB_MOD_INIT): Likewise.
40097 * commands/help.c (GRUB_MOD_INIT): Likewise.
40098 (grub_help_init): Likewise.
40099 * normal/command.c (grub_command_init): Likewise.
40100 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
40101 * disk/loopback.c (grub_loop_init): Likewise.
40102 (GRUB_MOD_INIT): Likewise.
40103 * commands/ls.c (grub_ls_init): Likewise.
40104 (GRUB_MOD_INIT): Likewise.
40105 (options): Likewise.
40106 * commands/boot.c (grub_boot_init): Likewise.
40107 (GRUB_MOD_INIT): Likewise.
40108 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
40109 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
40110 (GRUB_MOD_INIT): Likewise.
40111 * commands/cmp.c (grub_cmp_init): Likewise.
40112 (GRUB_MOD_INIT): Likewise.
40113
40114 * normal/arg.c: Use <> instead of "" to include header files.
40115 (SHORT_ARG_HELP): New macro.
40116 (SHORT_ARG_USAGE): Likewise.
40117 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
40118 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40119 descriptions.
40120 (find_short): Check if C is 'h' or 'u' explicitly.
40121 (grub_arg_show_help): Use space characters instead of tabs. Treat
40122 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40123 are shown with --help and --usage only if they are not used for
40124 the command itself.
40125 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40126 'h' and 'u'.
40127
40128 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40129 const into "longarg". Change the type of "shortarg" to int.
40130
f806d18e 401312005-07-17 Yoshinori Okuji <okuji@enbug.org>
40132
40133 * boot/i386/pc/boot.S (boot_drive_check): New label.
40134
40135 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40136 macro.
40137
40138 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40139 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40140
e293232b 401412005-07-17 Yoshinori Okuji <okuji@enbug.org>
40142
40143 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40144 When turning off Gate A20, skip the check and return immediately,
40145 because this is not fatal usually.
40146
ebedfd00 401472005-07-17 Yoshinori Okuji <okuji@enbug.org>
40148
40149 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40150 be 0x7C00 instead of 0x8000.
40151
40152 * boot/i386/pc/pxeboot.S: Rewritten.
40153
40154 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40155 EXT_C.
40156 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40157 result.
40158
654fc59f 401592005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40160
40161 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40162 robustness. This routine now supports a BIOS call and System
40163 Control Port A to modify the gate A20.
40164
40165 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40166 Increased to 0x440.
40167
09f9923f 401682005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40169
40170 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40171 device path and resulting ihandle.
40172 (grub_ofdisk_close): dprintf the ihandle being closed.
40173 (grub_ofdisk_read): dprintf function parameters.
40174 * kern/mm.c (grub_mm_init_region): Likewise.
40175 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40176 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40177 size, and boot arguments.
40178 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40179 before loading into memory.
40180 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40181 before loading into memory.
40182
7ef504d8 401832005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40184
40185 * kern/mm.c: Added much documentation.
40186 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40187 8, set to 5 instead of 8.
40188
e0f050c2 401892005-07-10 Yoshinori Okuji <okuji@enbug.org>
40190
40191 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40192
40193 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40194 (grub_mkdevicemap_SOURCES): New variable.
40195
40196 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40197 lib/device.c of GRUB Legacy.
40198
7224189a 401992005-07-10 Yoshinori Okuji <okuji@enbug.org>
40200
40201 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40202 instead of PATH is NULL.
40203
68c864eb 402042005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40205
40206 * commands/cmp.c (BUFFER_SIZE): New macro.
40207 (grub_cmd_cmp): Close the right file at the right time. Compare
40208 only data just read. Don't report files of different size as
40209 identical. Dynamically allocate buffers. Move variable
40210 declarations at the beginning of function.
40211
e6f3e614 402122005-07-09 Yoshinori Okuji <okuji@enbug.org>
40213
40214 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40215 reverse.
40216
f8f1559a 402172004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40218
40219 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40220 when backspace is pressed at beginning of line.
40221
39c9d41d 402222005-07-03 Yoshinori Okuji <okuji@enbug.org>
40223
40224 * DISTLIST: Added genfslist.sh.
40225
40226 * normal/main.c (fs_module_list): New variable.
40227 (autoload_fs_module): New function.
40228 (read_fs_list): Likewise.
40229 (grub_normal_execute): Call read_fs_list.
40230
40231 * kern/fs.c (grub_fs_autoload_hook): New variable.
40232 (grub_fs_probe): Added support for auto-loading.
40233
40234 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40235 (grub_fs_module_list_t): New type.
40236
40237 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40238 (grub_fs_autoload_hook): New prototype.
40239
40240 * genfslist.sh: New file.
f19dbdb7 40241
39c9d41d 40242 * genmk.rb: Added a rule to generate a filesystem list.
40243
121c1d83 402442005-06-30 Marco Gerards <metgerards@student.han.nl>
40245
40246 * configure.ac: Fix the test for cross-compiling.
40247
40248 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40249 define GRUB_UTIL anymore.
40250
40251 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40252 so this function works on other systems than just big endian.
40253 (load_modules): Likewise.
40254 (add_segments): Likewise.
40255
e75d76e1 402562005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40257
40258 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40259 contains `l' modifier, get a long from va_arg().
40260
50b5a0a7 402612005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40262
40263 * kern/mm.c (grub_free): If the next free block which is being
40264 merged is the first free block, set the first block to the block
40265 being freed.
40266 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40267
89371b20 402682005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40269
40270 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40271 `grub_ieee1275_chosen'.
40272
168d6e58 402732005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40274
40275 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40276 (grub_ieee1275_chosen): New variable.
40277 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40278 `chosen'.
40279 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40280 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40281 Rename first argument to `phandle' for consistency.
40282 (grub_ieee1275_get_property_length): Likewise.
40283 (grub_ieee1275_next_property): Likewise. Change type of first argument
40284 to grub_ieee1275_phandle_t.
40285 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40286 Move export next to declaration.
40287 (grub_ieee1275_chosen): New variable.
40288 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40289 Correct cosmetic typo.
40290 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40291 `grub_ieee1275_chosen'.
40292 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40293 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40294 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40295 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40296 `grub_ieee1275_chosen'.
40297
ca5baa3f 402982005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40299
40300 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40301 /chosen/bootargs.
40302 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40303 /chosen/bootargs as "variable=value" pairs.
40304
708b345f 403052005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40306
40307 * include/grub/misc.h (grub_dprintf): New macro.
40308 (grub_real_dprintf): New prototype.
40309 (grub_strword): Likewise.
40310 (grub_iswordseparator): Likewise.
40311 * kern/misc.c (grub_real_dprintf): New function.
40312 (grub_strword): Likewise.
40313 (grub_iswordseparator): Likewise.
40314
f4c5e67c 403152005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40316
40317 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40318 (roundup): Remove macro.
40319 (grub_ieee1275_flags): Make static.
40320 (grub_ieee1275_realmode): Remove.
40321 (grub_ieee1275_test_flag): New function.
40322 (grub_ieee1275_set_flag): Likewise.
40323 (find_options): Rename to `grub_ieee1275_find_options'; update
40324 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40325 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40326 (cmain): New prototype.
40327 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40328 `grub_ieee1275_flags' directly.
40329 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40330 machine/biosdisk.h.
40331 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40332 Don't include grub/machine/init.h.
40333 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40334 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40335 Remove prototype.
40336 (grub_ieee1275_realmode): Likewise.
40337 (grub_ieee1275_flag): New enum.
40338 (grub_ieee1275_test_flag): New prototype.
40339 (grub_ieee1275_set_flag): New prototype.
40340 * include/grub/powerpc/ieee1275/init.h: Remove file.
40341 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40342 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40343 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40344 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40345 comment.
40346 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40347 `grub_ieee1275_test_flag'.
40348 (grub_ieee1275_encode_devname): Likewise.
40349
ed16607e 403502005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40351
40352 * include/grub/powerpc/ieee1275/ieee1275.h
40353 (grub_ieee1275_encode_devname): New prototype.
40354 (grub_ieee1275_get_filename): Likewise.
40355 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40356 function.
40357 (grub_set_prefix): Likewise.
40358 (grub_machine_init): Call grub_set_prefix.
40359 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40360 (grub_parse_type): New enum.
40361 (grub_ieee1275_get_devargs): New function.
40362 (grub_ieee1275_get_devname): Likewise.
40363 (grub_ieee1275_parse_args): Likewise.
40364 (grub_ieee1275_get_filename): Likewise.
40365 (grub_ieee1275_encode_devname): Likewise.
40366
be369920 403672005-03-30 Marco Gerards <metgerards@student.han.nl>
40368
40369 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40370 `grub_loader_unset'.
40371
a5ce3a4a 403722005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40373
40374 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40375 instead of grub_ieee1275_interpret.
40376 (grub_halt_init): New function.
40377 (grub_halt_fini): Likewise.
40378 (GRUB_MOD_INIT): Correct message grammar.
40379 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40380 instead of grub_ieee1275_interpret.
40381 (grub_reboot_init): New function.
40382 (grub_reboot_fini): Likewise.
40383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40384 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40385 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40386 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40387 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40388 function.
40389 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40390 Add prototype.
40391 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40392 prototype.
40393 (grub_halt): Likewise.
40394 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40395 (cmain): Remove __attribute__((unused)).
40396 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40397 (grub_heap_len): Likewise.
40398 (grub_machine_fini): New function.
40399 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40400 (grub_halt): Likewise.
40401 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40402 function.
40403 * util/powerpc/ieee1275/misc.c: New file.
40404
0058f771 404052005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40406
40407 * DISTLIST: New file.
40408 * gendistlist.sh: Likewise.
f19dbdb7 40409
0058f771 40410 * Makefile.in (COMMON_DISTFILES): Removed.
40411 (BOOT_DISTFILES): Likewise.
40412 (CONF_DISTFILES): Likewise.
40413 (DISK_DISTFILES): Likewise.
40414 (FS_DISTFILES): Likewise.
40415 (INCLUDE_DISTFILES): Likewise.
40416 (KERN_DISTFILES): Likewise.
40417 (LOADER_DISTFILES): Likewise.
40418 (TERM_DISTFILES): Likewise.
40419 (UTIL_DISTFILES): Likewise.
40420 (DISTFILES): Likewise.
40421 (uninstall): Uninstall files in $(pkgdata_DATA).
40422 (DISTLIST): New target.
40423 (distdir): Use the contents of the file DISTLIST to get a list of
40424 distributed files.
40425
46b3b8a5 404262005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40427
40428 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40429 descriptor. This is ported from GRUB Legacy.
40430
40431 * gencmdlist.sh: Added an extra semicolon to make it work with
40432 old sed versions. Reported by Robert Bihlmeyer
40433 <robbe@orcus.priv.at>.
40434
5822ff87 404352005-03-08 Yoshinori Okuji <okuji@enbug.org>
40436
40437 Automatic loading of commands is supported.
f19dbdb7 40438
5822ff87 40439 * normal/main.c (read_command_list): New function.
40440 (grub_normal_execute): Call read_command_list.
40441
40442 * normal/command.c (grub_register_command): Return zero or CMD.
40443 Allocate CMD->NAME from the heap.
40444 Initialize CMD->MODULE_NAME to zero.
40445 Find the same name as well. If the same command is found and it is
40446 a dummy command, overwrite members. If it is not a dummy command,
40447 return zero.
40448 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40449 (grub_command_find): If a dummy command is found, load a module
40450 and retry to find a command only once.
40451
40452 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40453 make sure that each command is loaded.
40454
40455 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40456 macro.
40457 (struct grub_command): Remove const from the member `name'.
40458 Add a new member `module_name'.
40459 (grub_register_command): Return grub_command_t.
40460
40461 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40462 sure that each command is loaded.
40463
40464 * genmk.rb (PModule::rule): Specify a module name without the
40465 suffix ".mod" to gencmdlist.sh.
40466
7b1f4b57 404672005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40468
40469 * gencmdlist.sh: New file.
f19dbdb7 40470
7b1f4b57 40471 * genmk.rb (PModule::rule): Generate a rule for a command list.
40472 Clean command.lst.
40473 Generate command.lst from $(COMMANDFILES).
40474
40475 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40476 (DATA): Added $(pkgdata_DATA).
40477 (install-local): Install files in $(pkgdata_DATA).
40478
062aaf39 404792005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40480
40481 * term/i386/pc/vga.c (debug_command): Removed.
40482 (GRUB_MOD_INIT): Do not register the command "debug".
40483
40484 From Hollis Blanchard:
40485 * commands/configfile.c: New file.
40486 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40487 commands/configfile.c.
40488 (pkgdata_MODULES): Added configfile.mod.
40489 (configfile_mod_SOURCES): New variable.
40490 (configfile_mod_CFLAGS): Likewise.
40491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40492 commands/configfile.c.
40493 (pkgdata_MODULES): Added configfile.mod.
40494 (configfile_mod_SOURCES): New variable.
40495 (configfile_mod_CFLAGS): Likewise.
40496 * util/grub-emu.c (main): Call grub_configfile_init and
40497 grub_configfile_fini.
40498 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40499 prototype.
40500 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 40501
cee01aa6 405022005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40503
40504 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40505 address.
40506
40507 * commands/help.c (grub_cmd_help): Do not print newlines after
40508 the last command in print_command_help.
40509
93f3a1d8 405102005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40511
40512 * commands/default.h: New file.
40513 * commands/timeout.h: Likewise.
40514 * normal/context.c: Likewise.
f19dbdb7 40515
93f3a1d8 40516 * util/misc.c: Do not include sys/times.h.
40517 Include sys/time.h and grub/machine/time.h.
40518 (grub_get_rtc): Rewritten with gettimeofday.
40519
40520 * util/grub-emu.c (main): Call grub_default_init and
40521 grub_timeout_init before grub_normal_init, and call
40522 grub_timeout_fini and grub_default_fini after grub_main.
40523
40524 * util/console.c (grub_ncurses_checkkey): Return the read
40525 character or -1.
40526
40527 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40528 timeouts.
40529
40530 * normal/main.c (read_config_file): Push MENU. If this fails,
40531 print an error and wait for a user input.
40532 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40533 If a menu is empty or an error occurs, pop MENU.
40534 (grub_normal_execute): Pop and free MENU after grub_menu_run
40535 returns.
40536
40537 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40538
40539 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40540 include time.h.
40541 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40542 without GRUB_UTIL.
40543 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40544 time.h.
40545 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40546 without GRUB_UTIL.
40547
40548 * include/grub/normal.h (struct grub_menu_list): New struct.
40549 (grub_menu_list_t): New type.
40550 (struct grub_context): New struct.
40551 (grub_context_t): New type.
40552 (grub_register_command): Got rid of EXPORT_FUNC.
40553 (grub_unregister_command): Likewise.
40554 (grub_context_get): New prototype.
40555 (grub_context_get_current_menu): Likewise.
40556 (grub_context_push_menu): Likewise.
40557 (grub_context_pop_menu): Likewise.
40558 [GRUB_UTIL] (grub_default_init): Likewise.
40559 [GRUB_UTIL] (grub_default_fini): Likewise.
40560 [GRUB_UTIL] (grub_timeout_init): Likewise.
40561 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40562
40563 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40564 commands/timeout.c and normal/context.c.
40565 (pkgdata_MODULES): Added default.mod and timeout.mod.
40566 (normal_mod_SOURCES): Added normal/context.c.
40567 (default_mod_SOURCES): New variable.
40568 (default_mod_CFLAGS): Likewise.
40569 (timeout_mod_SOURCES): Likewise.
40570 (timeout_mod_CFLAGS): Likewise.
40571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40572 conf/i386-pc.rmk.
40573 (pkgdata_MODULES): Added default.mod and timeout.mod.
40574 (normal_mod_SOURCES): Added normal/context.c.
40575 (default_mod_SOURCES): New variable.
40576 (default_mod_CFLAGS): Likewise.
40577 (timeout_mod_SOURCES): Likewise.
40578 (timeout_mod_CFLAGS): Likewise.
40579
40580 * Makefile.in (all-local): Added $(MKFILES).
40581
4ed2e1dd 405822005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40583
40584 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40585 (grub_emu_SOURCES): Likewise.
40586 (pkgdata_MODULES): Add `sun.mod'.
40587 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40589 `partmap/sun.c'.
40590 (pkgdata_MODULES): Add `sun.mod'.
40591 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40592 * include/grub/partition.h (grub_sun_partition_map_init): New
40593 prototype.
40594 (grub_sun_partition_map_fini): Likewise.
40595 * partmap/sun.c: New file.
40596 * util/grub-emu.c (main): Initialize and de-initialize the sun
40597 partitionmap support.
40598
4d4e372e 405992005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40600
40601 This implements an Emacs-like menu entry editor.
f19dbdb7 40602
4d4e372e 40603 * normal/menu_entry.c: New file.
f19dbdb7 40604
4d4e372e 40605 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40606 characters to ASCII.
40607 (saved_char): New variable.
40608 (grub_ncurses_checkkey): Rewritten completely.
40609 (grub_ncurses_getkey): Likewise.
40610 (grub_ncurses_init): Call raw instead of cbreak.
40611
40612 * normal/menu.c (print_entry): Do not put a space.
40613 (init_page): Renamed to ...
40614 (grub_menu_init_page): ... this. All callers changed.
40615 (edit_menu_entry): Removed.
40616 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40617
40618 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40619
40620 * kern/misc.c (grub_vprintf): Call grub_refresh.
40621
40622 * normal/menu.c (DISP_LEFT): Renamed to ...
40623 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40624 * normal/menu.c (DISP_UP): Renamed to ...
40625 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40626 * normal/menu.c (DISP_RIGHT): Renamed to ...
40627 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40628 * normal/menu.c (DISP_DOWN): Renamed to ...
40629 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40630 * normal/menu.c (DISP_HLINE): Renamed to ...
40631 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40632 * normal/menu.c (DISP_VLINE): Renamed to ...
40633 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40634 * normal/menu.c (DISP_UL): Renamed to ...
40635 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40636 * normal/menu.c (DISP_UR): Renamed to ...
40637 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40638 * normal/menu.c (DISP_LL): Renamed to ...
40639 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40640 * normal/menu.c (DISP_LR): Renamed to ...
40641 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40642 * normal/menu.c (TERM_WIDTH): Renamed to ...
40643 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40644 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40645 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40646 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40647 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40648 * normal/menu.c (TERM_MARGIN): Renamed to ...
40649 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40650 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40651 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40652 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40653 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40654 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40655 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40656 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40657 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40658 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40659 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40660 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40661 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40662 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40663 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40664 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40665 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40666 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40667 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40668 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40669 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40670 All callers changed.
40671
40672 * include/grub/normal.h: New prototype.
40673
40674 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40675 normal/menu_entry.c.
40676 (normal_mod_SOURCES): Likewise.
40677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40678 (normal_mod_SOURCES): Likewise.
40679
e6b92c8a 406802005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40681
40682 * include/grub/normal.h (grub_halt_init): New prototype.
40683 (grub_halt_fini): Likewise.
40684 (grub_reboot_init): Likewise.
40685 (grub_reboot_fini): Likewise.
40686
40687 * util/grub-emu.c: Include signal.h.
40688 (main_env): New global variable.
40689 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40690 catch C-c.
40691 (grub_machine_fini): New function.
40692 (main): Call grub_halt_init and grub_reboot_init before
40693 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40694 Call setjmp with MAIN_ENV to go back afterwards.
40695 Call grub_machine_fini right before return.
40696
40697 * include/grub/util/misc.h: Include setjmp.h.
40698 (main_env): New prototype.
40699
40700 * include/grub/kernel.h (grub_machine_fini): New prototype.
40701 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40702 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40703
40704 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40705 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40706 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 40707
e6b92c8a 40708 * util/i386/pc/misc.c: New file.
f19dbdb7 40709
e6b92c8a 40710 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40711 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40712 commands/i386/pc/reboot.c.
40713
c642636f 407142005-02-14 Guillem Jover <guillem@hadrons.org>
40715
40716 * include/grub/dl.h (grub_dl_check_header): New prototype.
40717 (grub_arch_dl_check_header): Change return type to grub_err_t,
40718 remove size parameter and export function. Update all callers.
40719 * kern/dl.c (grub_dl_check_header): New function.
40720 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40721 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40722 are inside the core.
40723 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40724 independent ELF header checks.
40725 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40726 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40727 `grub_dl_check_header' instead of explicit checks. Check for the
40728 ELF type.
40729 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40730 `grub_dl_check_header' instead of explicit checks. Remove arch
40731 specific ELF header checks.
40732
e6b92c8a 40733 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40734 argument SIZE.
40735
5eabe94b 407362005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40737
40738 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40739 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40740
1b14a681 407412005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40742
40743 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 40744 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 40745 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 40746 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 40747 * partmap/amiga.c (amiga_partition_map_iterate): Return
40748 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40749 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40750
aca108aa 407512005-02-01 Guillem Jover <guillem@hadrons.org>
40752
40753 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40754 help info.
40755
c9f9c556 407562005-01-31 Marco Gerards <metgerards@student.han.nl>
40757
40758 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40759 Removed prototype.
40760 (grub_rescue_cmd_linux): New prototype.
40761 (grub_rescue_cmd_initrd): Likewise.
40762 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40763 `bi_rec'.
40764 (grub_linux_release_mem): Release the memory for the initrd.
40765 (grub_load_linux): Renamed from this...
40766 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40767 Changed `entry' not to be static. Loop over memory regions to
40768 find another one when the default fails.
40769 (grub_rescue_cmd_initrd): New function.
40770 (grub_linux_init): Remove function.
40771 (grub_linux_fini): Likewise.
40772 (GRUB_MOD_INIT): Register `initrd'.
40773 (GRUB_MOD_FINI): Unregister `initrd'.
40774 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40775 Function removed.
40776 (grub_linux_normal_fini): Likewise.
40777 (GRUB_MOD_INIT): Register `initrd'.
40778 (GRUB_MOD_FINI): Unregister `initrd'.
40779
990cf3aa 407802005-01-31 Marco Gerards <metgerards@student.han.nl>
40781
40782 * commands/help.c: New file.
40783 * normal/arg.c (show_help): Renamed to...
40784 (grub_arg_show_help): ... this.
40785 * commands/i386/pc/halt.c: New file.
40786 * commands/i386/pc/reboot.c: Likewise.
40787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40788 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40789 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40790 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40791 variables.
40792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40793 `commands/help.c'.
40794 (pkgdata_MODULES): Add `help.mod'.
40795 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40796 * grub/i386/pc/init.h (grub_reboot): New prototype.
40797 (grub_halt): Likewise.
40798 * include/grub/normal.h (grub_arg_show_help): New prototype.
40799 (grub_help_init): Likewise.
40800 (grub_help_fini): Likewise.
40801 * util/grub-emu.c (main): Initialize and deinitialize the help
40802 command.
40803
40804 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40805
40806 * normal/command.c (grub_command_init): Fixed the description of
40807 the `set' and `unset' commands.
40808
408092005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 40810
40811 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40812 function.
40813 * commands/ieee1275/halt.c: New file.
40814 * commands/ieee1275/reboot.c: Likewise.
40815 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40816 `__attribute__ ((unused))'. Some GCS related fixed.
40817 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40818 (grub_suspend_fini): Likewise.
40819 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40820 and `halt.mod'.
40821 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40822 (halt_mod_CFLAGS): New variables.
40823 * include/grub/powerpc/ieee1275/ieee1275.h
40824 (grub_ieee1275_interpret): New prototype.
40825
1ab09cc7 408262005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40827
40828 * include/grub/misc.h (memmove): New prototype.
40829 (memcpy): Likewise.
40830
8b8cbdb2 408312005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40832
40833 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40834 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40835
e3741a27 408362005-01-22 Marco Gerards <metgerards@student.han.nl>
40837
40838 * kern/misc.c (grub_strndup): Function rewritten.
40839
776bd780 408402005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40841
40842 * normal/menu.c (TERM_WIDTH): Macro redefined.
40843 (TERM_TOP_BORDER_Y): Likewise.
40844 (draw_border): Replaced while-loop by a for-loop. Make the number
40845 of lines consistent with the number of lines displayed in
40846 print_entries. Added a margin below the rectangle.
40847 (print_entry): Make the entry fit in the rectangle.
40848 (print_entries): Display the scroll arrows next to the right
40849 border.
40850
78026bce 408512005-01-21 Marco Gerards <metgerards@student.han.nl>
40852
40853 * fs/minix.c (grub_minix_find_file): Reserve more space for
40854 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40855 `grub_strncpy' to copy `path' into it.
40856
67bbaf0f 408572005-01-21 Marco Gerards <metgerards@student.han.nl>
40858
40859 Add the loopback device, a device via which files can be accessed
40860 as devices.
f19dbdb7 40861
67bbaf0f 40862 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40863 (pkgdata_MODULES): Add loopback.mod.
40864 (loopback_mod_SOURCES): New variable.
40865 (loopback_mod_CFLAGS): Likewise.
40866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40867 `disk/loopback.c'.
40868 (pkgdata_MODULES): Add loopback.mod.
40869 (loopback_mod_SOURCES): New variable.
40870 (loopback_mod_CFLAGS): Likewise.
40871 * disk/loopback.c: new file.
40872 * include/grub/normal.h (grub_loop_init): New prototype.
40873 (grub_loop_fini): New prototype.
40874 * util/grub-emu.c (main): Initialize and de-initialize loopback
40875 support.
40876 * include/grub/disk.h (grub_disk_dev_id): Add
40877 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40878
6f1c18bd 408792005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40880
40881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40882 function.
40883 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40884 (suspend_mod_SOURCES): New variable.
40885 (suspend_mod_CFLAGS): Likewise.
40886 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40887 New prototype.
40888 * commands/ieee1275/suspend.c: New file.
40889
b38551da 408902005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40891
40892 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 40893 ((unused))' to `__attribute__ ((used))'.
b38551da 40894 (GRUB_MOD_FINI): Likewise.
40895 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40896 * genmk.rb (PModule): Assign space to common symbols when linking
40897 modules.
40898
777aff39 408992005-01-20 Marco Gerards <metgerards@student.han.nl>
40900
40901 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40902 `unsigned' arguments to `grub_size_t'.
40903 (grub_malloc): Likewise.
40904 (grub_realloc): Likewise.
40905 (grub_memalign): Likewise.
40906 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40907 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40908 * util/misc.c (grub_malloc): Likewise.
40909 (grub_realloc): Likewise.
40910 * kern/mm.c (get_header_from_pointer): Change the casts to
40911 `unsigned' into a cast to `grub_size_t'.
40912
40913 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40914 point to `currnode' when `currnode' is changed.
40915
40916 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40917 Schottelius <nico-linux@schottelius.org>.
40918
d0ff18e1 409192005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40920
40921 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40922 (note_path): Remove variable.
40923 (GRUB_IEEE1275_NOTE_NAME): New macro.
40924 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40925 (grub_ieee1275_note_hdr): New structure.
40926 (grub_ieee1275_note_desc): Likewise.
40927 (grub_ieee1275_note): Likewise.
40928 (load_note): Remove `dir' argument. All callers updated. Remove
40929 `note_img' and `path'. Do not load a file from `note_path'.
40930 Initialize a struct grub_ieee1275_note and write that to `out'.
40931 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40932
4ca7004c 409332005-01-05 Marco Gerards <metgerards@student.han.nl>
40934
40935 * util/misc.c (grub_util_read_image): Revert last change. It
40936 called `grub_util_read_at', which seeks from the beginning of the
40937 file.
40938
0b412211 409392005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40940
40941 * TODO: Add note about endianness in grub-mkimage.
40942 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40943 section.
40944 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40945 (grub_mkimage_SOURCES): New target.
40946 * include/grub/kernel.h (grub_start_addr): Remove variable.
40947 (grub_end_addr): Likewise.
40948 (grub_total_module_size): Likewise.
40949 (grub_kernel_image_size): Likewise.
40950 (GRUB_MODULE_MAGIC): New constant.
40951 (grub_module_info): New structure.
40952 (grub_arch_modules_addr): New prototype.
40953 (grub_get_end_addr): Remove prototype.
40954 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40955 * include/grub/powerpc/ieee1275/kernel.h: New file.
40956 * include/grub/util/misc.h (grub_util_get_fp_size): New
40957 prototype.
40958 (grub_util_read_at): Likewise.
40959 (grub_util_write_image_at): Likewise.
40960 * kern/main.c (grub_get_end_addr): Remove function.
40961 (grub_load_modules): Call grub_arch_modules_addr instead of using
40962 grub_end_addr. Look for a grub_module_info struct in memory. Use
40963 the grub_module_info fields instead of calling grub_get_end_addr
40964 as loop conditions. Move grub_add_unused_region code here.
40965 (grub_add_unused_region): Remove function.
40966 * kern/i386/pc/init.c: Include grub/cache.h.
40967 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40968 one call to add_mem_region.
40969 (grub_arch_modules_addr): New function.
40970 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40971 (grub_total_module_size): Likewise.
40972 Include grub/machine/kernel.h.
40973 (grub_arch_modules_addr): New function.
40974 * util/grub-emu.c (grub_end_addr): Remove variable.
40975 (grub_total_module_size): Likewise.
40976 (grub_arch_modules_addr): New function.
40977 * util/misc.c: Include unistd.h.
40978 (grub_util_get_fp_size): New function.
40979 (grub_util_read_at): Likewise.
40980 (grub_util_write_image_at): Likewise.
40981 (grub_util_read_image): Call grub_util_read_at.
40982 (grub_util_write_image): Call grub_util_write_image_at.
40983 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40984 additional memory in kernel_img for a struct grub_module_info.
40985 Fill in that grub_module_info.
40986 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40987
458786f8 409882005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40989
40990 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40991 New function.
40992 * include/grub/powerpc/ieee1275/ieee1275.h
40993 (grub_ieee1275_milliseconds): New prototype.
40994 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40995 Change to 1000.
40996 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40997 grub_ieee1275_milliseconds.
40998
ac507d1b 409992005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41000
41001 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
41002 variable.
41003 (find_options): New function.
41004 (cmain): Call find_options.
41005 * include/grub/powerpc/ieee1275/ieee1275.h
41006 (grub_ieee1275_realmode): New extern variable.
41007 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
41008 grub_map if grub_ieee1275_realmode is false.
41009
6b8fd1c4 410102004-12-29 Marco Gerards <metgerards@student.han.nl>
41011
41012 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
41013 lines are inserted and make it work like readline. Reported by
41014 Vincent Pelletier <subdino2004@yahoo.fr>.
41015
8514a1e0 410162004-12-28 Marco Gerards <metgerards@student.han.nl>
41017
41018 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
41019
41020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
41021 `kern/powerpc/cache.S'.
41022
924b6140 410232004-12-27 Marco Gerards <metgerards@student.han.nl>
41024
41025 * genmk.rb: Handle the `Program' class in the main loop. Written
41026 by Johan Rydberg <jrydberg@gnu.org>.
41027 (Program): New class.
41028 (programs): New variable.
41029 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
41030 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
41031 instead of "grub/kernel.h". Include <grub/machine/init.h>.
41032 (help_arch): Function removed.
41033 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
41034 `powerpc/libgcc.h' and `loader.h'.
41035 (pkgdata_PROGRAMS): New variable.
41036 (sbin_UTILITIES): Variable removed.
41037 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
41038 (grubof_SOURCES): Variable re-defined so it only includes the
41039 core functionality.
41040 (grubof_CFLAGS): Remove `-DGRUBOF'.
41041 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
41042 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
41043 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
41044 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
41045 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
41046 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
41047 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
41048 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
41049 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
41050 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
41051 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41052 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
41053 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
41054 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
41055 (pc_mod_CFLAGS): New variables.
41056 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
41057 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
41058 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
41059 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
41060 Moved from here...
41061 * include/grub/i386/pc/init.h (grub_os_area_addr)
41062 (rub_os_area_size): ... to here.
41063 * include/grub/powerpc/ieee1275/ieee1275.h
41064 (grub_ieee1275_entry_fn): Export symbol.
41065 * include/grub/powerpc/ieee1275/init.h: New file.
41066 * include/grub/powerpc/libgcc.h: Likewise.
41067 * include/grub/cache.h: Likewise.
41068 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
41069 <hollis@penguinppc.org>.
41070 * kern/dl.c: Include <grub/cache.h>.
41071 (grub_dl_flush_cache): New function.
41072 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
41073 for this module.
41074 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
41075 (grub_console_init): Removed prototypes.
41076 (grub_machine_init): Don't initialize the modules anymore.
41077 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
41078 static.
41079 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
41080 Macro undef removed.
41081 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
41082 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
41083 relocation `R_PPC_REL32'. Return an error when the relocation is
41084 unknown.
41085 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
41086 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
41087 * util/misc.c (grub_arch_sync_caches): Likewise.
41088
e4b47e0c 410892004-12-19 Marco Gerards <metgerards@student.han.nl>
41090
41091 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
41092 `symlist.c', add `grubof_symlist.c'.
41093 (symlist.c): Variable removed.
41094 (grubof_HEADERS): Variable added.
41095 (grubof_symlist.c): New target.
41096 (kernel_syms.lst): Use `grubof_HEADERS' instead of
41097 `kernel_img_HEADERS'.
41098 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
41099 * kern/powerpc/dl.c: New file.
41100 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
41101 Function removed.
41102 (grub_arch_dl_relocate_symbols): Likewise.
41103 (grub_register_exported_symbols): Likewise.
41104
4ceb3636 411052004-12-13 Marco Gerards <metgerards@student.han.nl>
41106
41107 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
41108 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
41109 to fail instead. Reported by Vincent Pelletier
41110 <subdino2004@yahoo.fr>.
41111
41112 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
41113 it is not allocated. Reported by Vincent Pelletier
41114 <subdino2004@yahoo.fr>.
41115
41116 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
41117 output so the output looks better.
f19dbdb7 41118
3f1578fe 411192004-12-04 Marco Gerards <metgerards@student.han.nl>
41120
41121 Modulize the partition map support and add support for the amiga
41122 partition map.
f19dbdb7 41123
3f1578fe 41124 * commands/ls.c: Include <grub/partition.h> instead of
41125 <grub/machine/partition.h>.
41126 * kern/disk.c: Likewise.
41127 * kern/rescue.c: Likewise.
41128 * loader/i386/pc/chainloader.c: Likewise.
41129 * normal/cmdline.c: Likewise.
41130 * kern/powerpc/ieee1275/init.c: Likewise.
41131 (grub_machine_init): Call `grub_pc_partition_map_init',
41132 `grub_amiga_partition_map_init' and
41133 `grub_apple_partition_map_init'.
41134 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41135 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41136 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41137 `partition.h' and `pc_partition.h'.
41138 (grub_setup_SOURCES): Remove
41139 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41140 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41141 (grub_emu_SOURCES): Likewise.
41142 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41143 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41144 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41146 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41147 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41148 (grubof_SOURCES): Likewise.
41149 * disk/i386/pc/partition.c: File removed.
41150 * disk/powerpc/ieee1275/partition.c: Likewise.
41151 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41152 * include/grub/i386/pc/partition.h: Likewise.
41153 * kern/partition.c: New file.
41154 * partmap/amiga.c: Likewise.
41155 * partmap/apple.c: Likewise.
41156 * partmap/pc.c: Likewise.
41157 * include/grub/partition.h: Likewise..
41158 * include/grub/pc_partition.h: Likewise.
41159 * util/grub-emu.c: Include <grub/partition.h> instead of
41160 <grub/machine/partition.h>.
41161 (main): Call `grub_pc_partition_map_init',
41162 `grub_amiga_partition_map_init' and
41163 `grub_apple_partition_map_init' and deinitialize afterwards.
41164 * util/i386/pc/biosdisk.c: Include `#include
41165 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41166 `<grub/machine/partition.h>'.
41167 * util/i386/pc/grub-setup.c: Likewise.
41168 * util/i386/pc/biosdisk.c: Likewise.
41169 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41170 partition information in case of a PC partition.
41171 * util/i386/pc/grub-setup.c: Include `#include
41172 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41173 `<grub/machine/partition.h>'.
41174 (setup): Only access the PC specific partition information in case
41175 of a PC partition.
41176
0ef4ced9 411772004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41178
0ef4ced9 41179 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41180 (grub_longjmp): Likewise.
41181 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41182 20.
41183 * normal/powerpc/setjmp.S: New file.
41184 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41185 `normal/powerpc/setjmp.S'.
41186 (grubof_CFLAGS): Add `-DGRUBOF'.
41187 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41188 [GRUB_UTIL && !GRUBOF].
f19dbdb7 41189
19950e29 411902004-11-16 Marco Gerards <metgerards@student.han.nl>
41191
41192 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41193 property named `name'. Correctly handle the error returned by
41194 `grub_ieee1275_finddevice' if a device can not be opened.
41195
a2fea427 411962004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41197
41198 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41199 `actual' for negativity.
41200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41201 kern/fshelp.c.
41202
41ea0ea3 412032004-11-01 Marco Gerards <metgerards@student.han.nl>
41204
41205 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41206 (PAGE_OFFSET): New macro.
41207 (CRTC_ADDR_PORT): Likewise.
41208 (CRTC_DATA_PORT): Likewise.
41209 (START_ADDR_HIGH_REGISTER): Likewise.
41210 (START_ADDR_LOW_REGISTER): Likewise.
41211 (GRAPHICS_ADDR_PORT): Likewise.
41212 (GRAPHICS_DATA_PORT): Likewise.
41213 (READ_MAP_REGISTER): Likewise.
41214 (INPUT_STATUS1_REGISTER): Likewise.
41215 (INPUT_STATUS1_VERTR_BIT): Likewise.
41216 (page): New variable.
41217 (wait_vretrace): New function.
41218 (set_read_map): Likewise.
41219 (set_start_address): Likewise.
41220 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41221 the right page.
41222 (check_vga_mem): Take the page into account.
41223 (write_char): Likewise.
41224 (write_cursor): Likewise.
41225 (scroll_up): Likewise. Copy the page to the page that is not
41226 shown and switch between both pages.
41227 (grub_vga_putchar): Fix off by one error.
41228 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41229 account.
41230
ad0bd20b 412312004-11-01 Marco Gerards <metgerards@student.han.nl>
41232
41233 Add support for iso9660 (including rockridge).
f19dbdb7 41234
ad0bd20b 41235 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41236 (iso9660_mod_SOURCES): New variable.
41237 (iso9660_mod_CFLAGS): Likewise.
41238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41239 * include/grub/fs.h (grub_iso9660_init): New prototype.
41240 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41241 * fs/iso9660.c: New file.
41242
41243 * include/grub/misc.h (grub_strncat): New prototype.
41244 * kern/misc.c (grub_strncat): New function.
f19dbdb7 41245
ad0bd20b 41246 * fs/hfs.c (grub_hfs_mount): Translate the error
41247 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41248 * fs/jfs.c (grub_jfs_mount): Likewise.
41249 * fs/ufs.c (grub_ufs_mount): Likewise.
41250
a5477a59 412512004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41252
41253 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41254 which initialized BAT registers.
41255 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41256 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41257 Move from here...
41258 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41259 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41260 ... to here.
41261 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41262 (grub_mapclaim): Likewise.
41263 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41264 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41265 hand.
41266
9304c1f8 412672004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41268
41269 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41270 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41271 -ffreestanding and -msoft-float.
41272
86f4ae25 412732004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41274
41275 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41276 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41277 set in grub_ieee1275_flags.
41278
38912228 412792004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41280
41281 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41282 prototype.
41283 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41284 grub_console_init first.
41285 Change the memory range used for grub_ieee1275_claim and
41286 grub_mm_init_region.
41287 Print an error message if the claim fails.
41288 Include <grub/misc.h>.
41289
d1923dc8 412902004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41291
41292 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41293 Call grub_children_iterate for device nodes of type `scsi',
41294 `ide', or `ata'.
41295 (grub_ofdisk_open): Remove manual device alias resolution.
41296 Fix memory leak when device cannot be opened.
f19dbdb7 41297 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 41298 (grub_children_iterate): New prototype.
41299 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41300 New function.
41301 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41302 Return -1 if args.size was -1.
41303
4512e4f3 413042004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41305
41306 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41307 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41308 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41309 Open Firmware's memory for it; claim memory from _start to _end.
41310 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41311 (_end): New extern.
41312 (_start): Zero BSS from __bss_start to _end.
41313 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41314 New extern.
41315 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41316
4d61feb0 413172004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41318
ad0bd20b 41319 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41320 -1 if args.base was -1.
4d61feb0 41321
026fa2f9 413222004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41323
41324 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41325 escape sequence instead of a literal ^L. Also call
41326 grub_ofconsole_gotoxy.
41327
9f2220ef 413282004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41329
41330 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41331 void * arguments to grub_addr_t. All callers updated. Also make
41332 the `result' argument optional.
41333 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41334 All callers updated.
41335
8a572cd7 413362004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41337
41338 * commands/ls.c (grub_ls_list_files): Use the string following the
41339 initial ')', if present, as the filesystem path.
41340 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41341
41342 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41343
18aa81f2 413442004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41345
41346 Make the source code of the menu interface more readable.
f19dbdb7 41347
18aa81f2 41348 * normal/menu.c: Include grub/mm.h.
41349 (TERM_WIDTH): New macro.
41350 (TERM_HEIGHT): Likewise.
41351 (TERM_INFO_HEIGHT): Likewise.
41352 (TERM_MARGIN): Likewise.
41353 (TERM_SCROLL_WIDTH): Likewise.
41354 (TERM_TOP_BORDER_Y): Likewise.
41355 (TERM_LEFT_BORDER_X): Likewise.
41356 (TERM_BORDER_WIDTH): Likewise.
41357 (TERM_MESSAGE_HEIGHT): Likewise.
41358 (TERM_BORDER_HEIGHT): Likewise.
41359 (TERM_NUM_ENTRIES): Likewise.
41360 (TERM_FIRST_ENTRY_Y): Likewise.
41361 (TERM_ENTRY_WIDTH): Likewise.
41362 (TERM_CURSOR_X): Likewise.
41363 (draw_border): Use macros instead of magic numbers.
41364 (print_entry): Likewise.
41365 (print_entries): Likewise.
41366 (run_menu): Likewise. Also, handle the key 'e'.
41367 (run_menu_entry): Ignore empty command lines.
41368 (print_message): Added a new argument EDIT. If EDIT is true,
41369 print a different message.
41370 (init_page): Likewise.
41371 (edit_menu_entry): New function. Not implemented yet.
41372
b47efe30 413732004-09-17 Marco Gerards <metgerards@student.han.nl>
41374
41375 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41376 can be loaded from normal mode.
f19dbdb7 41377
b47efe30 41378 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41379 `multiboot.mod'.
41380 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41381 (multiboot_mod_CFLAGS): New variables.
41382 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 41383 * loader/i386/pc/multiboot_normal.c: Likewise.
41384
b47efe30 41385 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41386 attribute `unused'.
f19dbdb7 41387
b47efe30 41388 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41389 `fdiro' to read the mode information from instead of `diro'.
41390
41391 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41392 looking up a symlink.
41393
41394 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41395 macro.
41396 * normal/command.c (grub_command_execute): Don't parse the
41397 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41398 flags of the command.
41399
41400 * normal/menu.c (grub_menu_run): Fix typo.
41401
da75ac71 414022004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41403
41404 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41405
41406 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41407 `y + 1' instead of `y - 1'.
41408
41409 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 41410
062b24c2 414112004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41412
41413 From Hollis Blanchard <hollis@penguinppc.org>:
41414 * kern/misc.c (memmove): New alias for grub_memmove.
41415 (memcmp): New alias for grub_memcmp.
41416 (memset): New alias for grub_memset.
f19dbdb7 41417 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 41418 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 41419 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 41420 (grub_ieee1275_get_property): Likewise.
f19dbdb7 41421
8ddad845 414222004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41423
41424 Added normal mode command `chainloader' as module chain.mod, which
41425 depends on normal.mod and _chain.mod.
f19dbdb7 41426
8ddad845 41427 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41428 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41429 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41430 Deleted prototype.
41431 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41432 but arguments parsing moved to ...
41433 (grub_chainloader_cmd): ... here. New function.
41434 * include/grub/i386/pc/chainloader.h: New file.
41435 * loader/i386/pc/chainloader_normal.c: Likewise.
41436
2c1f4ce3 414372004-09-11 Marco Gerards <metgerards@student.han.nl>
41438
41439 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41440 (grub_mkimage_LDFLAGS): Likewise.
41441 (grub_emu_SOURCES): Likewise.
41442 (kernel_img_HEADERS): Added fshelp.h.
41443 * fs/ext2.c: Include <grub/fshelp.h>.
41444 (FILETYPE_REG): New macro.
41445 (FILETYPE_INO_REG): Likewise.
41446 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41447 Changed all users.
41448 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41449 all users.
41450 (grub_fshelp_node): New struct.
41451 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41452 to a pointer.
41453 (grub_ext2_get_file_block): Removed function.
41454 (grub_ext2_read_block): New function.
41455 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41456 This function was written.
41457 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41458 (grub_ext2_find_file): Removed function.
41459 (grub_ext2_read_symlink): New function.
41460 (grub_ext2_iterate_dir): Likewise.
41461 (grub_ext2_open): Rewritten.
41462 (grub_ext2_dir): Rewritten.
41463 * include/grub/fshelp.h: New file.
41464 * fs/fshelp.c: Likewise.
41465
3c52136a 414662004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41467
41468 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41469 (print_message): Add a missing newline.
41470 (run_menu): Added timeout support.
41471 (run_menu_entry): New local function.
41472 (grub_menu_run): Added support for booting.
41473
41474 * kern/loader.c (grub_loader_is_loaded): New function.
41475
41476 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41477 (grub_get_rtc): Exported.
41478
41479 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41480 (grub_get_rtc): Exported.
41481
41482 * include/grub/normal.h (struct grub_command_list): Remove
41483 constant from the member `command'.
41484
41485 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41486
41487 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41488
41489 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41490
aa033560 414912004-08-28 Marco Gerards <metgerards@student.han.nl>
41492
41493 Add support for the JFS filesystem.
41494
41495 * fs/jfs.c: New file.
41496 * include/grub/fs.h (grub_jfs_init): New prototype.
41497 (grub_jfs_fini): New prototype.
41498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41499 (grub_emu_SOURCES): Likewise.
41500 (pkgdata_MODULES): Add jfs.mod.
41501 (jfs_mod_SOURCES): New variable.
41502 (jfs_mod_CFLAGS): Likewise.
41503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41504 (grubof_SOURCES): Likewise.
41505 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41506
41507 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41508 endian to the host endian.
41509 (grub_fat_utf16_to_utf8): Move function from there...
41510 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 41511 the endianness of the source string anymore.
aa033560 41512 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41513
94bc45af 415142004-08-24 Marco Gerards <metgerards@student.han.nl>
41515
41516 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41517 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41518 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41519 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 41520
94bc45af 41521 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41522 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41523 for `node_found' and `it_dir'.
41524 (grub_hfs_dir): Add prototype for `dir_hook'.
41525
41526 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41527 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41528 and `indir32' to silence a gcc warning.
41529
41530 * include/grub/fs.h (grub_hfs_init): New prototype.
41531 (grub_hfs_fini): Likewise.
f19dbdb7 41532
41533
97543f08 415342004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41535
41536 Each disk device has its own id now. This is useful to make use
41537 of multiple disk devices.
f19dbdb7 41538
97543f08 41539 * include/grub/disk.h (grub_disk_dev_id): New enum.
41540 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41541 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41542
41543 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41544 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41545
41546 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41547 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41548
41549 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41550 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41551
41552 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41553 "id" which is used by the cache manager.
41554
41555 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41556 of just "GRUB".
41557
64372eb4 415582004-08-18 Marco Gerards <metgerards@student.han.nl>
41559
41560 * fs/hfs.c: New file.
41561 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41562 (grub_emu_SOURCES): Likewise.
41563 (pkgdata_MODULES): Add hfs.mod.
41564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41565 (grubof_SOURCES): Likewise.
41566 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41567
41568 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41569 * kern/misc.c (grub_strncasecmp): Add function.
41570
cc61b58f 415712004-08-14 Marco Gerards <metgerards@student.han.nl>
41572
41573 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41574 with parentheses.
41575
41576 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41577 (grub_ext2_dir): In case the directory entry type is unknown, read
41578 it from the inode.
41579
0ef123f6 415802004-08-02 Peter Bruin <pjbruin@dds.nl>
41581
41582 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41583 grub_load_linux instead of grub_rescue_cmd_linux as second
41584 argument of grub_rescue_register_command.
41585
41586 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41587
a447c5df 415882004-07-27 Marco Gerards <metgerards@student.han.nl>
41589
41590 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41591 function.
41592 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41593 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41594 `loader/powerpc/ieee1275/linux.c',
41595 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41596 * include/grub/powerpc/ieee1275/ieee1275.h
41597 (grub_ieee1275_release): New prototype.
41598 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41599 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41600 normal, boot, linux and linux_normal.
41601 * loader/powerpc/ieee1275/linux.c: New file.
41602 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41603
5a9e3546 416042004-07-12 Marco Gerards <metgerards@student.han.nl>
41605
41606 * normal/arg.c (grub_arg_parse): Correct error handling after
41607 reallocating the argumentlist (check if `argl' is not null instead
41608 of checking if `args' is not null).
41609 * kern/mm.c (grub_realloc): Return the same pointer when using the
41610 same region, instead of returning the header address.
41611
e15199cb 416122004-07-11 Marco Gerards <metgerards@student.han.nl>
41613
41614 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41615 one block instead of two when looking for the initial partition.
41616 (grub_partition_probe): Initialize the local variable `p' with 0.
41617 Use base 10 for the grub_strtoul call.
41618 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41619 need for one local variable.
41620 (grub_strtoul): Don't add the new value to `num', instead of that
41621 just assign it.
41622
020616c2 416232004-07-11 Marco Gerards <metgerards@student.han.nl>
41624
41625 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41626 (pxeboot_img_SOURCES): New variable.
41627 (pxeboot_img_ASFLAGS): Likewise.
41628 (pxeboot_img_LDFLAGS): Likewise.
41629 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41630 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41631 <lode_leroy@hotmail.com>.
41632
6c51eb64 416332004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41634
41635 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41636 there was no input.
41637
cfb12aff 416382004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41639
41640 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41641 the history buffer logic.
41642
6eabba74 416432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41644
41645 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41646 (FILETYPE_INO_SYMLINK): New macros.
41647 (grub_ext2_find_file): Check if the node is a directory using the
41648 inode stat information instead of using the filetype in the
41649 dirent. Exclude the first character of an absolute symlink.
41650 (grub_ext2_dir): Mask out the filetype part of the mode member of
41651 the inode.
41652
66e19ef8 416532004-05-24 Marco Gerards <metgerards@student.han.nl>
41654
41655 Add support for UFS version 1 and 2. Add support for the minix
41656 filesystem version 1 and 2, both the variants with 14 and 30 long
41657 filenames.
f19dbdb7 41658
66e19ef8 41659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41660 fs/minix.c.
41661 (grub_emu_SOURCES): Likewise.
41662 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41663 (ufs_mod_SOURCES): New variable.
41664 (ufs_mod_CFLAGS): Likewise.
41665 (minix_mod_SOURCES): Likewise.
41666 (minix_mod_CFLAGS): Likewise.
41667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41668 fs/minix.c.
41669 (grubof_SOURCES): Likewise.
41670 * fs/ufs.c: New file.
41671 * fs/minix.c: New file.
41672 * include/grub/fs.h (grub_ufs_init): New prototype.
41673 (grub_ufs_fini): Likewise.
41674 (grub_minix_init): Likewise.
41675 (grub_minix_fini): Likewise.
41676 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41677 minix fs.
41678
cc2e748a 416792004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41680
41681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41682 commands/ls.c, commands/terminal.c, commands/boot.c,
41683 commands/cmp.c and commands/cat.c.
41684 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41685
41686 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41687 "env.h"
41688
4b13b216 416892004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41690
41691 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41692 and grub_, respectively. Because the conversion is trivial and
41693 mechanical, I omit the details here. Please refer to the CVS
41694 if you need more information.
41695
6a142551 416962004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41697
41698 * include/pupa: Renamed to ...
41699 * include/grub: ... this.
41700 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41701 * util/i386/pc/grub-mkimage.c: ... this.
41702 * util/i386/pc/pupa-setup.c: Renamed to ...
41703 * util/i386/pc/grub-setup.c: ... this.
41704 * util/pupa-emu.c: Renamed to ...
41705 * util/grub-emu.c: ... this.
41706
e56cdf21 417072004-03-29 Marco Gerards <metgerards@student.han.nl>
41708
41709 Add support for the newworld apple macintosh (PPC). This has been
41710 tested on the powerbook 2000 only. It only adds support for
41711 generic ieee1275 functions, console and disk support. This should
41712 be easy to port to other architectures with support for Open
41713 Firmware.
f19dbdb7 41714
e56cdf21 41715 * configure.ac: Accept the powerpc as host_cpu. In the case of
41716 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41717 specific tests are only executed while building for the i386.
41718 Inverse test for crosscompile.
41719 * genmk.rb (Utility): Allow assembler files.
41720 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41721 * conf/powerpc-ieee1275.rmk: New file.
41722 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41723 * disk/powerpc/ieee1275/partition.c: Likewise.
41724 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41725 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41726 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41727 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41728 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41729 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41730 * include/pupa/powerpc/ieee1275/loader.h
41731 * include/pupa/powerpc/setjmp.h: Likewise.
41732 * include/pupa/powerpc/types.h: Likewise.
41733 * kern/powerpc/ieee1275/init.c: Likewise.
41734 * kern/powerpc/ieee1275/openfw.c: Likewise.
41735 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41736
41737 These files were written by Johan Rydberg
41738 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 41739
e56cdf21 41740 * boot/powerpc/ieee1275/cmain.c: New file.
41741 * boot/powerpc/ieee1275/crt0.S: Likewise.
41742 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41743 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41744
8c8cc205 417452004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41746
41747 * Makefile.in: Update copyright.
41748 * genmodsrc.sh: Likewise.
41749 * gensymlist.sh: Likewise.
41750 * term/i386/pc/vga.c: Indent correctly.
41751
41752 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41753 bugreporting address.
41754 * util/i386/pc/pupa-setup.c (usage): Likewise,
41755 (main): Call pupa_ext2_init and pupa_ext2_fini.
41756
f19dbdb7 41757 * fs/fat.c (log2): Renamed to ...
8c8cc205 41758 (fat_log2): ... this.
41759 All callers changed.
41760 * kern/misc.c (memcpy): Alias to pupa_memmove.
41761 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41762 lvalue cast.
41763 * util/console.c (pupa_ncurses_fini): Return 0.
41764
41765 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41766 Move fail label here.
41767 [__GNU__]: Don't warn when using stat.
41768 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41769 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41770 long int. Use strtol instead of strtoul.
f19dbdb7 41771
db1771cf 417722004-03-14 Marco Gerards <metgerards@student.han.nl>
41773
41774 * commands/boot.c: New file.
41775 * commands/cat.c: Likewise.
41776 * commands/cmp.c: Likewise.
41777 * commands/ls.c: Likewise.
41778 * commands/terminal.c: Likewise.
41779 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41780 (pupa_register_command): Changed interface to match the new
41781 argument parser.
41782 (pupa_command_execute): Changed (almost rewritten) so it uses
41783 pupa_split_command. Added support for setting variables using the
41784 syntax `foo=bar'.
41785 (rescue_command): Changed to work with the new argument parser.
41786 (terminal_command): Moved from here to commands/terminal.c.
41787 (set_command): New function.
41788 (unset_command): New function.
41789 (insmod_command): New function.
41790 (rmmod_command): New function.
41791 (lsmod_command): New function.
41792 (pupa_command_init): Don't initialize the command terminal
41793 anymore. Initialize the commands set, unset, insmod, rmmod and
41794 lsmod.
41795 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41796 (kernel_img_HEADERS): Add arg.h and env.h.
41797 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41798 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41799 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41800 normal/arg.c.
41801 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41802 terminal.mod.
41803 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41804 (boot_mod_SOURCES): New variable.
41805 (terminal_mod_SOURCES): Likewise.
41806 (ls_mod_SOURCES): Likewise.
41807 (cmp_mod_SOURCES): Likewise.
41808 (cat_mod_SOURCES): Likewise.
41809
41810 * normal/arg.c: New file.
41811 * kern/env.c: Likewise.
41812 * include/pupa/arg.h: Likewise.
41813 * include/pupa/env.h: Likewise.
41814 * font/manager.c (font_command): Changed to match argument parsing
41815 interface changes.
41816 (PUPA_MOD_INIT): Likewise.
41817 * hello/hello.c (pupa_cmd_hello): Likewise.
41818 (PUPA_MOD_INIT): Likewise.
41819 * include/pupa/disk.h: Include <pupa/device.h>.
41820 (pupa_print_partinfo): New prototype.
41821 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41822 (pupa_dl_get_prefix): Likewise.
41823 * include/pupa/misc.h: Include <pupa/err.h>.
41824 (pupa_isgraph): New prototype.
41825 (pupa_isdigit): Likewise.
41826 (pupa_split_cmdline): Likewise.
41827 * include/pupa/normal.h: Include <pupa/arg.h>.
41828 (pupa_command): Changed the prototype of the member `func' to
41829 match the argument parsing interface. Added member `options'.
41830 (pupa_register_command): Updated to match function.
41831 (pupa_arg_parse): New prototype.
41832 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41833 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41834 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41835 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41836 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41837 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41838 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41839 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41840 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41841 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41842 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41843 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41844 * kern/disk.c: Include <pupa/file.h>.
41845 (pupa_print_partinfo): New function.
41846 * kern/dl.c: Include <pupa/env.h>.
41847 (pupa_dl_dir): Variable removed.
41848 (pupa_dl_load): Use the environment variable `prefix' instead of
41849 the variable pupa_dl_dir.
41850 (pupa_dl_set_prefix): Function removed.
41851 (pupa_dl_get_prefix): Likewise.
41852 * kern/i386/pc/init.c: Include <pupa/env.h>.
41853 (pupa_machine_init): Use the environment variable `prefix' instead of
41854 using pupa_dl_set_prefix to set the prefix.
41855 * kern/main.c: Include <pupa/env.h>.
41856 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41857 using pupa_dl_get_prefix to get the prefix.
41858 * kern/misc.c: Include <pupa/env.h>.
41859 (pupa_isdigit): New function.
41860 (pupa_isgraph): Likewise.
41861 (pupa_ftoa): Likewise.
41862 (pupa_vsprintf): Added support for printing values of the type
41863 `double'. Make it possible to format variable output when using
41864 formatting like `%1.2%f'.
41865 (pupa_split_cmdline): New function.
41866 * kern/rescue.c: Include <pupa/env.h>.
41867 (next_word): Removed function.
41868 (pupa_rescue_cmd_prefix): Likewise.
41869 (pupa_rescue_cmd_set): New function.
41870 (pupa_rescue_cmd_unset): New function.
41871 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41872 split the command line instead of splitting it here. Added
41873 support for setting variables using the syntax `foo=bar'. Don't
41874 initialize the prefix command anymore. Initialized the set and
41875 unset commands.
41876 * normal/cmdline.c: Include <pupa/env.h>.
41877 (pupa_tab_complete): Added prototypes for print_simple_completion,
41878 print_partition_completion, add_completion, iterate_commands,
41879 iterate_dev, iterate_part and iterate_dir. Moved code to print
41880 partition information from here to kern/disk.c.
fe6b695a 41881 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 41882 * normal/main.c: Include <pupa/env.h>.
41883 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41884 instead of using pupa_dl_get_prefix to get the prefix.
41885 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41886 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41887 warning.
41888 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41889 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41890 ((unused))' to silence a gcc warning.
41891 (pupa_vga_setcolor): Likewise.
41892 (debug_command): Changed to match argument parsing
41893 interface changes.
41894 * util/pupa-emu.c: Include <pupa/env.h>.
41895 (options): Added 0's for unused fields to silence a gcc warning.
41896 (argp): Likewise.
41897 (main): Use the environment variable `prefix' instead of using
41898 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41899 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41900 and terminal.
41901
41902 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41903 * util/misc.c: Include <malloc.h>.
41904 (pupa_malloc): Rewritten so errors are correctly reported.
41905 (pupa_realloc): Likewise.
41906 (pupa_memalign): Likewise.
41907 (pupa_mm_init_region): Declare unused variables with
41908 `__attribute__ ((unused))' to silence a gcc warning.
41909 * normal/i386/setjmp.S: Remove tab at the end of the file to
41910 silence a gcc warning.
41911 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41912 variables with `__attribute__ ((unused))' to silence a gcc
41913 warning.
41914 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41915 local variable i unsigned to silence a gcc warning.
41916
41917 * kern/term.c: Include <pupa/misc.h>.
41918 (pupa_more_lines): New variable.
41919 (pupa_more): Likewise.
41920 (pupa_putcode): When the pager is active pause at the end of every
41921 screen.
41922 (pupa_set_more): New function.
41923 * include/pupa/term.h (pupa_set_more): New prototype.
41924
41925
3b1139cb 419262004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41927
41928 Now this project is GRUB 2 rather than PUPA. The location of
41929 the CVS repository was moved to GRUB's.
f19dbdb7 41930
3b1139cb 41931 * configure.ac: Use bug-grub as the reporting address.
41932 Use GRUB instead of PUPA.
41933 Change the version number to 1.90.
41934
8367695c 419352004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41936
41937 * genkernsyms.sh: Updated copyright information.
41938 * genmk.rb: Likewise.
41939 * genmodsrc.sh: Likewise.
41940 * gensymlist.sh: Likewise.
41941 * boot/i386/pc/boot.S: Likewise.
41942 * boot/i386/pc/diskboot.S: Likewise.
41943 * disk/i386/pc/biosdisk.c: Likewise.
41944 * disk/i386/pc/partition.c: Likewise.
41945 * font/manager.c: Likewise.
41946 * fs/ext2.c: Likewise.
41947 * fs/fat.c: Likewise.
41948 * include/pupa/boot.h: Likewise.
41949 * include/pupa/device.h: Likewise.
41950 * include/pupa/disk.h: Likewise.
41951 * include/pupa/dl.h: Likewise.
41952 * include/pupa/elf.h: Likewise.
41953 * include/pupa/err.h: Likewise.
41954 * include/pupa/file.h: Likewise.
41955 * include/pupa/font.h: Likewise.
41956 * include/pupa/fs.h: Likewise.
41957 * include/pupa/kernel.h: Likewise.
41958 * include/pupa/loader.h: Likewise.
41959 * include/pupa/misc.h: Likewise.
41960 * include/pupa/mm.h: Likewise.
41961 * include/pupa/net.h: Likewise.
41962 * include/pupa/normal.h: Likewise.
41963 * include/pupa/rescue.h: Likewise.
41964 * include/pupa/setjmp.h: Likewise.
41965 * include/pupa/symbol.h: Likewise.
41966 * include/pupa/term.h: Likewise.
41967 * include/pupa/types.h: Likewise.
41968 * include/pupa/i386/setjmp.h: Likewise.
41969 * include/pupa/i386/types.h: Likewise.
41970 * include/pupa/i386/pc/biosdisk.h: Likewise.
41971 * include/pupa/i386/pc/boot.h: Likewise.
41972 * include/pupa/i386/pc/console.h: Likewise.
41973 * include/pupa/i386/pc/init.h: Likewise.
41974 * include/pupa/i386/pc/kernel.h: Likewise.
41975 * include/pupa/i386/pc/linux.h: Likewise.
41976 * include/pupa/i386/pc/loader.h: Likewise.
41977 * include/pupa/i386/pc/memory.h: Likewise.
41978 * include/pupa/i386/pc/multiboot.h: Likewise.
41979 * include/pupa/i386/pc/partition.h: Likewise.
41980 * include/pupa/i386/pc/time.h: Likewise.
41981 * include/pupa/i386/pc/vga.h: Likewise.
41982 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41983 * include/pupa/util/getroot.h: Likewise.
41984 * include/pupa/util/misc.h: Likewise.
41985 * include/pupa/util/resolve.h: Likewise.
41986 * kern/device.c: Likewise.
41987 * kern/disk.c: Likewise.
41988 * kern/dl.c: Likewise.
41989 * kern/err.c: Likewise.
41990 * kern/file.c: Likewise.
41991 * kern/fs.c: Likewise.
41992 * kern/loader.c: Likewise.
41993 * kern/main.c: Likewise.
41994 * kern/misc.c: Likewise.
41995 * kern/mm.c: Likewise.
41996 * kern/rescue.c: Likewise.
41997 * kern/term.c: Likewise.
41998 * kern/i386/dl.c: Likewise.
41999 * kern/i386/pc/init.c: Likewise.
42000 * kern/i386/pc/lzo1x.S: Likewise.
42001 * kern/i386/pc/startup.S: Likewise.
42002 * loader/i386/pc/chainloader.c: Likewise.
42003 * loader/i386/pc/linux.c: Likewise.
42004 * loader/i386/pc/multiboot.c: Likewise.
42005 * normal/cmdline.c: Likewise.
42006 * normal/command.c: Likewise.
42007 * normal/main.c: Likewise.
42008 * normal/menu.c: Likewise.
42009 * normal/i386/setjmp.S: Likewise.
42010 * term/i386/pc/console.c: Likewise.
42011 * term/i386/pc/vga.c: Likewise.
42012 * util/console.c: Likewise.
42013 * util/genmoddep.c: Likewise.
42014 * util/misc.c: Likewise.
42015 * util/pupa-emu.c: Likewise.
42016 * util/resolve.c: Likewise.
42017 * util/unifont2pff.rb: Likewise.
42018 * util/i386/pc/biosdisk.c: Likewise.
42019 * util/i386/pc/getroot.c: Likewise.
42020 * util/i386/pc/pupa-mkimage.c: Likewise.
42021 * util/i386/pc/pupa-setup.c: Likewise.
42022
e6eced71 420232004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
42024
42025 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
42026 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
42027 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
42028 reading and reset it after reading.
42029 (pupa_ext2_close): Return PUPA_ERR_NONE.
42030
42031 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
42032 Correct value.
42033 (struct linux_kernel_header): Add kernel_version and
42034 initrd_addr_max.
42035 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
42036 pupa_file_read succeeds.
42037 (pupa_rescue_cmd_initrd): Implement.
42038
5aded270 420392003-12-03 Marco Gerards <metgerards@student.han.nl>
42040
42041 * fs/ext2.c (pupa_ext2_label): New function.
42042 (pupa_ext2_fs): Added label.
42043 * fs/fat.c (pupa_fat_label): New function.
42044 (pupa_fat_fs): Added label.
42045 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
42046
42047 * kern/misc.c (pupa_strndup): New function.
42048 * include/pupa/misc.h (pupa_strndup): New prototype.
42049
42050 * include/pupa/normal.h: Include <pupa/err.h>.
42051 (pupa_set_history): New prototype.
42052 (pupa_iterate_commands): New prototype.
42053 * normal/cmdline.c: Include <pupa/machine/partition.h>,
42054 <pupa/disk.h>, <pupa/file.h>.
42055 (hist_size): New variable.
42056 (hist_lines): Likewise.
42057 (hist_end): Likewise.
42058 (hist_used): Likewise.
42059 (pupa_set_history): New function.
42060 (pupa_history_get): Likewise.
42061 (pupa_history_add): Likewise.
42062 (pupa_history_replace): Likewise.
42063 (pupa_tab_complete): Likewise.
42064 (pupa_cmdline_run): Added tab completion and history buffer. Tab
42065 completion shows partitionnames while completing partitions, this
42066 feature was suggested by Jeff Bailey.
42067 * normal/command.c (pupa_iterate_commands): New function.
42068 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
42069 (pupa_normal_init): Initialize history buffer.
42070 (PUPA_MOD_INIT): Likewise.
42071 (pupa_normal_fini): Free the history buffer.
42072 (PUPA_MOD_FINI): Likewise.
42073
42074 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
42075 key.
42076
42077 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
42078 * configure.ac [i386]: Check for regparam bug.
42079 (NESTED_FUNC_ATTR) [! i386]: Defined.
42080
1f7315a3 420812003-11-17 Marco Gerards <metgerards@student.han.nl>
42082
42083 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
42084 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
42085 (pupa_emu_SOURCES): New variable.
42086 (pupa_emu_LDFLAGS): Likewise.
42087 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
42088 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
42089 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
42090 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42091 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
42092 (pupa_jmp_buf): New typedef.
42093 (pupa_setjmp) [PUPA_UTIL]: New macro.
42094 (pupa_longjmp) [PUPA_UTIL]: Likewise.
42095 * include/pupa/term.h (struct pupa_term): New member `refresh'.
42096 (pupa_refresh): New prototype.
42097 * include/pupa/util/getroot.h: New file.
42098 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
42099 it.
42100 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
42101 (pupa_rescue_cmd_cat): Likewise.
42102 (pupa_rescue_cmd_ls): Likewise.
42103 (pupa_rescue_cmd_testload): Likewise.
42104 (pupa_rescue_cmd_lsmod): Likewise.
42105 * normal/cmdline.c (pupa_cmdline_get): Likewise.
42106 * normal/menu.c (run_menu): Likewise.
42107 * kern/term.c (pupa_cls): Likewise.
42108 (pupa_refresh): New function.
42109 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
42110 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42111 * util/console.c: New file.
f19dbdb7 42112
1f7315a3 42113 * util/i386/pc/getroot.c: New file.
42114 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
42115 (pupa_putchar): New function.
42116 (pupa_refresh): Likewise.
42117 (xgetcwd): Function moved to ...
42118 (strip_extra_slashes): Likewise.
42119 (get_prefix): Likewise.
f19dbdb7 42120 * util/i386/pc/getroot.c: ... here.
1f7315a3 42121 (find_root_device): Function moved and renamed to...
42122 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42123 Changed all callers.
42124 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42125 and renamed to...
42126 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42127 Changed all callers.
42128 * util/misc.c (pupa_memalign): New function.
42129 (pupa_mm_init_region): Likewise.
42130 (pupa_register_exported_symbols): Likewise.
42131 (pupa_putchar): Function removed.
42132 * util/pupa-emu.c: New file.
42133
9a5c1ade 421342003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42135
42136 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42137 (_multiboot_mod_SOURCES): New variable.
42138 (_multiboot_mod_CFLAGS): Likewise.
42139 * loader/i386/pc/multiboot.c: New file.
42140 * include/pupa/i386/pc/multiboot.h: Likewise.
42141 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42142 (pupa_multiboot_real_boot): New function.
42143 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42144 (pupa_multiboot_real_boot): New prototype.
42145 (pupa_rescue_cmd_multiboot): Likewise
42146 (pupa_rescue_cmd_module): Likewise.
42147
42148 * kern/loader.c (pupa_loader_set): Continue when
42149 pupa_loader_unload_func() fails.
42150 (pupa_loader_unset): New function.
42151 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42152
42153 * kern/misc.c (pupa_stpcpy): New function.
42154 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42155
8e72a9c0 421562003-11-12 Marco Gerards <metgerards@student.han.nl>
42157
42158 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42159 for available extensions.
42160
42161 * include/pupa/i386/pc/time.h: New file.
42162 * kern/disk.c: Include <pupa/machine/time.h>.
42163 (PUPA_CACHE_TIMEOUT): New macro.
42164 (pupa_last_time): New variable.
42165 (pupa_disk_open): Flush the cache when there was a timeout.
42166 (pupa_disk_close): Reset the timer.
42167 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42168 pupa_currticks.
42169 * util/misc.c: Include <sys/times.h>
42170 (pupa_get_rtc): New function.
42171
c4adbd32 421722003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42173
42174 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42175 as blocks.
42176 (pupa_ext2_get_file_block): Use blocks member.
42177
42178 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42179 first block. Return -1 instead of pupa_errno on error.
42180
bfd30f06 421812003-10-27 Marco Gerards <metgerards@student.han.nl>
42182
42183 * README: In the pupa-mkimage example use _chain instead of chain
42184 and ext2 instead of fat.
42185 * TODO: Replace ext2fs with jfs as an example. Add an item for
42186 adding journal playback for ext2fs.
42187 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42188 (pkgdata_MODULES): Added ext2.mod.
42189 (ext2_mod_SOURCES): New variable.
42190 (ext2_mod_CFLAGS): Likewise.
42191 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42192 * include/pupa/misc.h (pupa_strncpy): New prototype.
42193 (pupa_strcat): Likewise.
42194 (pupa_strncmp): Likewise.
42195 * kern/misc.c (pupa_strcat): Enable function.
42196 (pupa_strncpy): New function.
42197 (pupa_strncmp): Likewise.
42198 * fs/ext2.c: New file.
f19dbdb7 42199
bfd30f06 42200 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42201 when the read failed before retrying.
42202 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42203 (_FILE_OFFSET_BITS): Likewise.
42204 * configure.ac: Added AC_SYS_LARGEFILE.
42205
98d15063 422062003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42207
42208 * genmk.rb (PModule#rule): Make sure to get only symbol names
42209 from the output of nm.
59cad637 42210 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 42211
18d9c7cd 422122003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42213
42214 I forgot to check in these changes for a long time. This adds
42215 incomplete support for VGA console, and this is still very
42216 buggy. Also, a lot of consideration is required for I18N,
42217 UNICODE, and VGA font issues. Therefore, assume that this is
42218 such that "better than nothing".
f19dbdb7 42219
18d9c7cd 42220 * font/manager.c: New file.
42221 * include/pupa/font.h: Likewise.
42222 * include/pupa/i386/pc/vga.h: Likewise.
42223 * term/i386/pc/vga.c: Likewise.
42224 * util/unifont2pff.rb: Likewise.
42225
42226 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42227 (pkgdata_MODULES): Added vga.mod and font.mod.
42228 (vga_mod_SOURCES): New variables.
42229 (vga_mod_CFLAGS): Likewise.
42230 (font_mod_SOURCES): Likewise.
42231 (font_mod_CFLAGS): Likewise.
42232
42233 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42234
42235 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 42236 (struct pupa_term): Added init and fini.
18d9c7cd 42237 Changed the argument of putchar to pupa_uint32_t.
42238
42239 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42240 (pupa_console_real_putchar): New prototype.
42241 (pupa_console_putchar): Removed.
42242 (pupa_console_checkkey): Exported.
42243 (pupa_console_getkey): Likewise.
42244
42245 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42246 characters.
42247
42248 * kern/term.c (pupa_term_set_current): Rewritten.
42249 (pupa_putchar): Likewise.
42250 (pupa_putcode): New function.
42251
42252 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42253 (pupa_console_real_putchar): ... this.
42254 (pupa_vga_set_mode): New function.
42255 (pupa_vga_get_font): Likewise.
42256
42257 * normal/command.c: Include pupa/term.h.
42258 (terminal_command): New function.
42259 (pupa_command_init): Register the command "terminal".
42260
42261 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42262 (DISP_UP): Likewise.
42263 (DISP_RIGHT): Likewise.
42264 (DISP_DOWN): Likewise.
42265 (DISP_HLINE): Likewise.
42266 (DISP_VLINE): Likewise.
42267 (DISP_UL): Likewise.
42268 (DISP_UR): Likewise.
42269 (DISP_LL): Likewise.
42270 (DISP_LR): Likewise.
42271
42272 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 42273
977329f5 422742003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42275
42276 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42277 FIX. Reverse the path_list.
42278
42279 * include/pupa/normal.h: Export pupa_register_command and
42280 pupa_unregister_command.
42281
42282 * hello/hello.c (pupa_cmd_hello): New module.
42283 * conf/i386-pc.rmk: Added hello.mod.
42284
1f5ab428 422852003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42286
42287 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 42288
1f5ab428 42289 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42290 (compress_kernel): New variable.
42291 (generate_image): Heavily modified to support compressing a
42292 large part of the core image.
42293
42294 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42295 leak.
42296 (pupa_util_load_image): New function.
42297
42298 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42299 (pupa_compressed_size): New variable.
42300 (codestart): Enable Gate A20 here.
42301 Decompress the compressed part of the core image.
42302 Rearrange the code to put functions and variables which are
42303 required for initialization in the non-compressed part.
42304 Include lzo1x.S.
42305
42306 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42307 here.
42308
42309 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42310
f19dbdb7 42311 * include/pupa/i386/pc/kernel.h
1f5ab428 42312 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42313 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42314 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42315 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42316 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42317
42318 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42319
42320 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42321 (Utility#rule): Likewise.
42322
42323 * configure.ac: Check if LZO is available.
42324
ce5bf700 423252003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42326
42327 * include/pupa/normal.h: New file.
42328 * include/pupa/setjmp.h: Likewise.
42329 * include/pupa/i386/setjmp.h: Likewise.
42330 * normal/cmdline.c: Likewise.
42331 * normal/command.c: Likewise.
42332 * normal/main.c: Likewise.
42333 * normal/menu.c: Likewise.
42334 * normal/i386/setjmp.S: Likewise.
f19dbdb7 42335
ce5bf700 42336 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42337 (pupa_rescue_cmd_initrd): Likewise.
42338
42339 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42340 Likewise.
42341
42342 * kern/i386/pc/startup.S (translation_table): New variable.
42343 (translate_keycode): New function.
42344 (pupa_console_getkey): Call translate_keycode.
42345
42346 * kern/rescue.c (attempt_normal_mode): New function.
42347 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42348 it failed, print a message.
42349
42350 * kern/mm.c (pupa_real_malloc): Print more information when a
42351 free magic is broken.
42352 (pupa_free): If the first free header is not free actually, set
42353 it to P.
42354
42355 * kern/main.c (pupa_load_normal_mode): Just load the module
42356 "normal".
42357 (pupa_main): Don't print the message
42358 "Entering into rescue mode..." here.
42359
42360 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42361 Declared.
42362 (pupa_rescue_cmd_initrd): Likewise.
42363 (pupa_rescue_cmd_initrd): Likewise.
42364
42365 * include/pupa/symbol.h (FUNCTION): Specify the type.
42366 (VARIABLE): Likewise.
42367
42368 * include/pupa/err.h (pupa_err_t): Added
42369 PUPA_ERR_UNKNOWN_COMMAND.
42370
42371 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42372 (pupa_dl_get_prefix): Likewise.
42373
42374 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42375 Added _chain.mod and _linux.mod instead of chain.mod and
42376 linux.mod.
42377 (chain_mod_SOURCES): Renamed to ...
42378 (_chain_mod_SOURCES): ... this.
42379 (chain_mod_CFLAGS): Renamed to ...
42380 (_chain_mod_CFLAGS): ... this.
42381 (linux_mod_SOURCES): Renamed to ...
42382 (_linux_mod_SOURCES): ... this.
42383 (linux_mod_CFLAGS): Renamed to ...
42384 (_linux_mod_CFLAGS): ... this.
42385 (normal_mod_SOURCES): New variable.
42386 (normal_mod_CFLAGS): Likewise.
42387 (normal_mod_ASFLAGS): Likewise.
42388
423892003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42390
42391 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42392 possible.
42393
fe6b695a 42394 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 42395 recursively.
42396 (pupa_dl_unref): Unrefer depending modules recursively.
42397 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42398 a module is unloaded before one depending on that module is
42399 unloaded.
42400 (pupa_dl_unload): Unload depending modules explicitly,
42401 if possible.
42402
c04da074 424032003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42404
42405 * include/pupa/i386/pc/linux.h: New file.
42406 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 42407
c04da074 42408 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42409 Removed.
42410 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42411 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42412 of PUPA_CHAINLOADER_BOOT_SECTOR.
42413
42414 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42415 (pupa_linux_prot_size): New variable.
42416 (pupa_linux_tmp_addr): Likewise.
42417 (pupa_linux_real_addr): Likewise.
42418 (pupa_linux_boot_zimage): New function.
42419 (pupa_linux_boot_bzimage): Likewise.
42420
42421 * kern/i386/pc/init.c (struct mem_region): New structure.
42422 (MAX_REGIONS): New macro.
42423 (mem_regions): New variable.
42424 (num_regions): Likewise.
42425 (pupa_os_area_addr): Likewise.
42426 (pupa_os_area_size): Likewise.
42427 (pupa_lower_mem): Likewise.
42428 (pupa_upper_mem): Likewise.
42429 (add_mem_region): New function.
42430 (compact_mem_regions): Likewise.
42431 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42432 the size of the conventional memory and that of so-called upper
42433 memory (before the first memory hole).
42434 Instead of adding each found region to free memory, use
42435 add_mem_region and add them after removing overlaps.
42436 Also, add only 1/4 of the upper memory to free memory. The rest
42437 is used for loading OS images. Maybe this is ad hoc, but this
42438 makes it much easier to relocate OS images when booting.
42439
42440 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42441 (pupa_enter_rescue_mode): Don't register initrd and module.
42442
42443 * kern/mm.c: Include pupa/dl.h.
42444
42445 * kern/main.c: Include pupa/file.h and pupa/device.h.
42446
42447 * kern/loader.c (pupa_loader_load_module_func): Removed.
42448 (pupa_loader_load_module): Likewise.
42449
42450 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42451 ``.o''.
42452
42453 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42454 (pupa_linux_tmp_addr): Likewise.
42455 (pupa_linux_real_addr): Likewise.
42456 (pupa_linux_boot_zimage): Likewise.
42457 (pupa_linux_boot_bzimage): Likewise.
42458
42459 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42460 (pupa_upper_mem): Likewise.
42461 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42462 module is too dangerous.
42463
42464 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42465 (pupa_os_area_size): Likewise.
42466 (pupa_loader_set): Remove the first argument. Loader doesn't
42467 manage modules or initrd any longer.
42468 (pupa_loader_load_module): Removed.
42469
42470 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42471 (linux_mod_SOURCES): New variable.
42472 (linux_mod_CFLAGS): Likewise.
42473
a13f9237 424742003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42475
42476 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42477 the length of a blocklist correctly.
42478
42479 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42480 Use ioctl only if the OS file is a block device.
42481 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42482 not very useful for normal files.
42483
42484 * kern/main.c (pupa_set_root_dev): New function.
42485 (pupa_load_normal_mode): Likewise.
42486 (pupa_main): Call those above.
42487
42488 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42489 pupa_uint16_t.
42490
42491 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42492
a5ffe966 424932003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42494
42495 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42496 (setup): Configure the installed partition information and the
42497 dl prefix.
42498
42499 * loader/i386/pc/chainloader.c (my_mod): New variable.
42500 (pupa_chainloader_unload): New function.
42501 (pupa_rescue_cmd_chainloader): Refer itself.
42502 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42503
42504 * kern/i386/pc/startup.S (install_partition): Removed.
42505 (version_string): Likewise.
42506 (config_file): Likewise.
42507 (pupa_install_dos_part): New variable.
42508 (pupa_install_bsd_part): Likewise.
42509 (pupa_prefix): Likewise.
42510 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42511
42512 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42513 and pupa/misc.h.
42514 (make_install_device): New function.
42515 (pupa_machine_init): Set the dl prefix.
42516
42517 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42518 (buf): Renamed to ...
42519 (linebuf): ... this.
42520 (pupa_rescue_cmd_prefix): New function.
42521 (pupa_rescue_cmd_insmod): Likewise.
42522 (pupa_rescue_cmd_rmmod): Likewise.
42523 (pupa_rescue_cmd_lsmod): Likewise.
42524 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42525 rmmod and lsmod.
42526
42527 * kern/mm.c (pupa_memalign): If failed even after invalidating
42528 disk caches, unload unneeded modules and retry.
42529
42530 * kern/misc.c (pupa_memmove): New function.
42531 (pupa_memcpy): Removed.
42532 (pupa_strcpy): New function.
42533 (pupa_itoa): Made static.
42534
42535 * kern/dl.c (pupa_dl_iterate): New function.
42536 (pupa_dl_ref): Likewise.
42537 (pupa_dl_unref): Likewise.
42538 (pupa_dl_unload): Return if succeeded or not.
42539 (pupa_dl_unload_unneeded): New function.
42540 (pupa_dl_unload_all): Likewise.
42541 (pupa_dl_init): Renamed to ...
42542 (pupa_dl_set_prefix): ... this.
42543 (pupa_dl_get_prefix): New function.
42544
42545 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42546 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42547 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42548 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42549 (pupa_install_dos_part): Declared.
42550 (pupa_install_bsd_part): Likewise.
42551 (pupa_prefix): Likewise.
42552 (pupa_boot_drive): Likewise.
42553
42554 * include/pupa/types.h: Fix a typo.
42555
42556 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42557 pupa_memmove.
42558 (pupa_memmove): Declared.
42559 (pupa_strcpy): Likewise.
42560
42561 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42562 pupa_mod_init takes one argument, its own module.
42563 (pupa_dl_unload_unneeded): Declared.
42564 (pupa_dl_unload_all): Likewise.
42565 (pupa_dl_ref): Likewise.
42566 (pupa_dl_unref): Likewise.
42567 (pupa_dl_iterate): Likewise.
42568 (pupa_dl_init): Renamed to ...
42569 (pupa_dl_set_prefix): ... this.
42570 (pupa_dl_get_prefix): Declared.
42571
42572 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 42573 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 42574 unloaded.
42575 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42576 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42577
42578 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42579 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42580
012d7999 425812003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42582
42583 * util/i386/pc/pupa-setup.c (setup): Define the internal
42584 function find_first_partition_start at the top level, because GCC
42585 3.0.x cannot compile internal functions in deeper scopes
42586 correctly.
42587 (find_root_device): Use lstat instead of stat.
42588 Don't follow symbolic links.
42589 Fix the path-constructing code.
42590
42591 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42592 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42593 by a BLKGETSIZE ioctl first, because block devices don't fill
42594 the member st_mode of the structure stat on Linux.
42595 [__linux__] (linux_find_partition): Use a temporary buffer
42596 REAL_DEV for the working space. Copy it to DEV before returning.
42597 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42598 buffer cache consistent.
42599 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42600 strncmp. The previous value was merely wrong.
42601 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42602
42603 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42604 FAT size is 12. The previous value was merely wrong.
42605
42606 * kern/main.c (pupa_main): Don't split the starting message from
42607 newlines.
42608
42609 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42610 LF, because BIOS goes crazy about character attributes in this
42611 case.
42612
1cc73a62 426132003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42614
42615 * include/i386/pc/util/biosdisk.h: New file.
42616 * util/i386/pc/biosdisk.c: Likewise.
42617 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 42618
1cc73a62 42619 * Makefile.in (INCLUDE_DISTFILES): Added
42620 include/pupa/i386/pc/util/biosdisk.h.
42621 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42622 directory util/i386/pc.
42623 (install-local): Added a rule for sbin_UTILITIES.
42624 (uninstall): Likewise.
42625
42626 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42627
42628 * util/misc.c (xrealloc): New function.
42629 (pupa_malloc): Likewise.
42630 (pupa_free): Likewise.
42631 (pupa_realloc): Likewise.
42632 (pupa_stop): Likewise.
42633 (pupa_putchar): Likewise.
42634
42635 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42636
42637 * include/pupa/util/misc.h (xrealloc): Declared.
42638
42639 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42640 macro.
42641 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42642 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42643
42644 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42645 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42646
42647 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42648 way should be implemented.
42649 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42650
42651 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42652 the size of NAME for safety.
42653 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42654 0x88.
42655
42656 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42657 (pupa_setup_SOURCES): Likewise.
42658
42659 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42660
08b70fe8 426612002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42662
42663 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42664 bunch of pushl's from pusha, because this destroys the return
42665 value.
42666
62ddcc8f 426672002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42668
42669 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42670 This means that any missing prototypes could be fatal. Also, you
42671 must take care when writing assembly code. See the comments at
42672 the beginning of startup.S, for more details.
f19dbdb7 42673
62ddcc8f 42674 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42675 compilation mechanism.
42676 (pupa_chainloader_real_boot): Likewise.
42677 (pupa_biosdisk_rw_int13_extensions): Likewise.
42678 (pupa_biosdisk_rw_standard): Likewise.
42679 (pupa_biosdisk_check_int13_extensions): Likewise.
42680 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42681 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42682 (pupa_get_memsize): Likewise.
42683 (pupa_get_mmap_entry): Likewise.
42684 (pupa_console_putchar): Likewise.
42685 (pupa_console_setcursor): Likewise.
42686 (pupa_getrtsecs): Use pushl instead of push.
42687
42688 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42689 memory instead of the stack for a mmap entry, because some
42690 BIOSes may ignore the maximum size and overflow.
42691
42692 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42693
42694 * genmk.rb (PModule#rule): Compile automatically generated
42695 sources with module-specific CFLAGS as well as other sources.
42696
9962ed99 426972002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42698
42699 * configure.ac: Check ld.
42700 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42701 respectively, before checking endianness and sizes.
42702
42703 * Makefile.in (LD): New variable.
f19dbdb7 42704
abdfc3c5 427052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42706
42707 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42708
6a161fa9 427092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42710
42711 * Changelog: New file.
42712